phylox.rearrangement.move.all_valid_moves
- phylox.rearrangement.move.all_valid_moves(network, move_type=MoveType.ALL)
Generates all possible valid moves for a given network and move type.
- Parameters:
network – a phylogenetic network (phylox.DiNetwork).
move_type – the type of moves to generate (phylox.rearrangement.movetype.MoveType).
- Yield:
a move (phylox.rearrangement.move.Move).
- Example:
>>> from phylox import DiNetwork >>> from phylox.rearrangement.move import all_valid_moves >>> network = DiNetwork( ... edges=[(0,1),(1,2),(1,3)], ... ) >>> moves = list(all_valid_moves(network, MoveType.TAIL)) >>> len(moves) 4 >>> moves[0].is_type(MoveType.TAIL) True >>> moves = list(all_valid_moves(network, MoveType.VERT)) >>> len(moves) 4 >>> moves[0].is_type(MoveType.VPLU) True