package phylogenetics

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type matrix_decomposition = [ `Mat of Linear_algebra.mat | `Transpose of Linear_algebra.mat | `Diag of Linear_algebra.vec ] list
val matrix_decomposition_reduce : dim:int -> matrix_decomposition -> Linear_algebra.mat
type shifted_vector =
  1. | SV of Linear_algebra.vec * float
val pruning : ('n, 'l, 'b) Tree.t -> nstates:int -> transition_probabilities:('b -> matrix_decomposition) -> leaf_state:('l -> int) -> root_frequencies:Linear_algebra.vec -> float

pruning t ~nstates ~transition_probabilities ~leaf_state ~root_frequencies returns the probability of observing the states returned by leaf_state at the leaves of t given the CTMC specified by nstates, transition_probabilities and root_frequencies.

val pruning_with_missing_values : ('n, 'l, 'b) Tree.t -> nstates:int -> transition_probabilities:('b -> matrix_decomposition) -> leaf_state:('l -> int option) -> root_frequencies:Linear_algebra.vec -> float

pruning t ~nstates ~transition_probabilities ~leaf_state ~root_frequencies returns the probability of observing the states returned by leaf_state at the leaves of t given the CTMC specified by nstates, transition_probabilities and root_frequencies. With this variant, one can specify that some leaves are unobserved.

val conditional_likelihoods : ('n, 'l, 'b) Tree.t -> nstates:int -> leaf_state:('l -> int) -> transition_probabilities:('b -> Linear_algebra.mat) -> (shifted_vector, int, 'b * Linear_algebra.mat) Tree.t
val conditional_simulation : Gsl.Rng.t -> (shifted_vector, int, 'b * Linear_algebra.mat) Tree.t -> root_frequencies:Linear_algebra.vec -> (int, int, 'b * Linear_algebra.mat) Tree.t
module Ambiguous : sig ... end

In this variant implementation, one can specify some uncertainty for a given leaf, by letting leaf_state return true for several states. In that case, it is understood that each state has equal probability. If leaf_state always returns false for a given leaf, it is interpreted as the leaf being unobserved.

module Uniformized_process : sig ... end
module Path_sampler : sig ... end
val substitution_mapping : rng:Gsl.Rng.t -> path_sampler:('b -> Path_sampler.t) -> (int, int, 'b * Linear_algebra.mat) Tree.t -> (int, int, 'b * (int * float) array) Tree.t