errors.py
High-level description
This file defines a set of custom exception classes for the Cassiopeia software. These exceptions are used to handle various error conditions that may arise during the execution of the Cassiopeia pipeline, such as autocorrelation errors, tree errors, data simulator errors, distance solver errors, and more.
Code Structure
The code consists of a series of custom exception classes, each inheriting from the base Exception
class. These classes are named according to the specific error condition they represent, such as AutocorrelationError
, CassiopeiaTreeError
, DataSimulatorError
, etc. Each class has a simple pass
statement, indicating that they do not have any additional logic or attributes beyond the basic exception handling.
Symbols
AutocorrelationError
Description
An exception class for errors encountered in the tools.autocorrelation
module.
CassiopeiaError
Description
A general exception class for the Cassiopeia software.
CassiopeiaTreeError
Description
An exception class for errors encountered in the CassiopeiaTree
class. This class is used to handle errors related to tree manipulation, character state assignments, and other tree-related operations.
DataSimulatorError
Description
A generic exception class for errors encountered in the DataSimulator
subclasses. This class is used to handle errors related to data simulation, such as invalid parameters or data inconsistencies.
DistanceSolverError
Description
An exception class for errors encountered in the DistanceSolver
subclasses. This class is used to handle errors related to distance-based tree solving algorithms, such as Neighbor-Joining and UPGMA.
ecDNABirthDeathSimulatorError
Description
An exception class for errors encountered in the ecDNABirthDeathSimulator
class. This class is used to handle errors specific to the simulation of trees with extrachromosomal DNA (ecDNA).
FitchCountError
Description
An exception class for errors encountered in the FitchCount
algorithm. This algorithm is used to infer the number of transitions between categorical variables (e.g., tissues) in a tree.
GreedySolverError
Description
An exception class for errors encountered in the GreedySolver
class. This class represents the structure of top-down algorithms that build the reconstructed tree by recursively splitting the set of samples based on some split criterion.
HybridSolverError
Description
An exception class for errors encountered in the HybridSolver
subclasses. This class represents a hybrid approach to tree solving, combining a greedy algorithm with a more complex algorithm for subproblems.
ILPSolverError
Description
An exception class for errors encountered in the ILPSolver
subclasses. This class represents an integer linear programming (ILP) approach to tree solving.
iTOLError
Description
An exception class for errors encountered when interacting with the iTOL (Interactive Tree Of Life) software.
LeafSubsamplerError
Description
An exception class for errors encountered in the LeafSubsampler
class. This class is used to handle errors related to subsampling leaves from a tree.
PreprocessError
Description
An exception class for errors encountered during the preprocessing stage of the Cassiopeia pipeline.
PriorTransformationError
Description
An exception class for errors encountered when transforming prior probabilities into weights.
SharedMutationJoiningSolverError
Description
An exception class for errors encountered in the SharedMutationJoiningSolver
class. This class represents an agglomerative clustering procedure that joins samples based on shared mutations.
TreeSimulatorError
Description
An exception class for errors encountered in the TreeSimulator
subclasses. This class is used to handle errors related to tree simulation, such as invalid parameters or stopping conditions.
UnknownCigarStringError
Description
An exception class for errors encountered when parsing an unknown CIGAR string. A CIGAR string is a compact representation of an alignment between two sequences.
UnspecifiedConfigParameterError
Description
An exception class for errors encountered when a required configuration parameter is not specified.
BranchLengthEstimatorError
Description
An exception class for errors encountered in the BranchLengthEstimator
class. This class is used to estimate branch lengths on a tree.
IIDExponentialMLEError
Description
An exception class for errors encountered in the IIDExponentialMLE
class, a subclass of BranchLengthEstimator
. This class estimates branch lengths under a model of independent and identically distributed (IID) exponential waiting times for mutations.
TreeMetricError
Description
An exception class for errors encountered when calculating tree metrics.
ParameterEstimateError
Description
An exception class for errors encountered when estimating tree parameters.
PlottingError
Description
An exception class for errors encountered when plotting trees.