<｜begin▁of▁sentence｜>### Instruction:
Given a directed graph with edges [(0, 1), (0, 2), (1, 3), (2, 3), (3, 4)] and roots at vertex 0, how can we use the `bfsiter` method from igraph to perform a breadth-first search that provides the distance of each vertex from the root along with the parent of the vertex in the BFS tree?
### Response:
import igraph as ig

# Create a graph with vertices and directed edges
g = ig.Graph(edges=[(0, 1), (0, 2), (1, 3), (2, 3), (3, 4)], directed=True)

# Run BFS starting from vertex 0
bfs_iter = g.bfsiter(vid=0, mode='out', advanced=True)

# Print the vertices in BFS order along with their distances and parents
for dist, parent, vertex in bfs_iter:
    print(f'Vertex: {vertex}, Distance from root: {dist}, Parent in BFS tree: {parent}')
<|EOT|>
