phylox.cherrypicking.tree_child_sequences.check_cherry_picking_sequence

phylox.cherrypicking.tree_child_sequences.check_cherry_picking_sequence(N, cherry_picking_sequence, labels=False)

Check if a cherry picking sequence is valid for a network.

Parameters:
  • N (phylox.DiNetwork) – The network to check the cherry picking sequence for.

  • cherry_picking_sequence (list) – The cherry picking sequence to check.

  • labels (bool) – Whether the cherry picking sequence is given as a list of labels instead of a list of nodes.

Returns:

True if the cherry picking sequence reduces the network to a single edge, False otherwise.

Return type:

bool

Example:

>>> from phylox import DiNetwork
>>> N = DiNetwork(
...     edges=[(-1, 0), (0, 1), (0, 2), (1, 2), (1, 3), (2, 4)],
...     labels=[(3, "A"), (4, "B")],
... )
>>> check_cherry_picking_sequence(N, [("B", "A"), ("B", "A")], labels=True)
True