High-level description
TheCassiopeiaSolver is an abstract base class for all phylogenetic inference algorithms in the Cassiopeia framework. It defines the basic structure and interface for solvers, requiring subclasses to implement the solve method, which performs the actual tree inference. It also handles the transformation of prior probabilities into weights used by some solvers.
Code Structure
TheCassiopeiaSolver class is an abstract base class. It doesn’t have any internal logic or complex interactions between symbols. The main purpose of this class is to define a common interface for all derived solver classes.
Symbols
CassiopeiaSolver
Description
This is an abstract base class for all phylogenetic inference algorithms. It defines the basic structure and interface for solvers.Inputs
| Name | Type | Description |
|---|---|---|
| prior_transformation | str | A string specifying the function to use for transforming prior probabilities into weights. Defaults to “negative_log”. |
Outputs
This class does not have any outputs.Internal Logic
This class does not have any internal logic.solve
Description
This is an abstract method that needs to be implemented by all derived solver classes. It performs the actual tree inference.Inputs
| Name | Type | Description |
|---|---|---|
| cassiopeia_tree | CassiopeiaTree | A CassiopeiaTree object storing character information for phylogenetic inference. |
| layer | Optional[str] | Layer storing the character matrix for solving. If None, the default character matrix is used in the CassiopeiaTree. |
| collapse_mutationless_edges | bool | Indicates if the final reconstructed tree should collapse mutationless edges based on internal states inferred by Camin-Sokal parsimony. Defaults to False. |
| logfile | str | File location to log output. Defaults to “stdout.log”. |
Outputs
This method does not have any outputs. It modifies the inputcassiopeia_tree object by populating its tree attribute.
