Max-tree PD#

Max-tree diversity measure implementation.

class phypanda.measure.max_tree.MaxTreeDiversity#

Bases: object

Maximum displayed-tree diversity measure.

Examples

>>> import phypanda as pp
>>> # pp.max_tree.compute_diversity(network, {"a"})
compute_diversity(network: DirectedPhyNetwork, taxa: Set[str], **kwargs: Any) float#

Compute maximum diversity over all displayed trees.

Parameters:
  • network (DirectedPhyNetwork) – Input phylogenetic network.

  • taxa (Set[str]) – Selected taxa.

  • **kwargs (Any) – Unused measure-specific keyword arguments.

Returns:

Maximum all-paths diversity value across displayed trees.

Return type:

float

Examples

>>> import phypanda as pp
>>> # pp.max_tree.compute_diversity(network, {"a", "b"})
solve_maximization(network: DirectedPhyNetwork, budget: int, costs: Mapping[str, int] | None = None, tree_extension: TreeExtension | None = None, *, numba: bool = True, **kwargs: Any) tuple[float, Set[str]]#

Solve budgeted MaxTreePD maximization.

Parameters:

numba (bool, default=True) – Use Numba-accelerated child-table merges inside the DP. Set to False to force the pure Python merge (useful for debugging).

Examples

>>> import phypanda as pp
>>> # pp.max_tree.solve_maximization(network, budget=5)