bpp-phyl
2.2.0
|
Site and sequences simulation under homogeneous models. More...
#include <Bpp/Phyl/Simulation/HomogeneousSequenceSimulator.h>
Public Member Functions | |
HomogeneousSequenceSimulator (const SubstitutionModel *model, const DiscreteDistribution *rate, const Tree *tree) | |
virtual | ~HomogeneousSequenceSimulator () |
const SubstitutionModel * | getSubstitutionModel () const |
const SubstitutionModelSet * | getSubstitutionModelSet () const |
Get the substitution model associated to this instance. More... | |
const DiscreteDistribution * | getRateDistribution () const |
Get the rate distribution associated to this instance. More... | |
const Tree * | getTree () const |
Get the tree associated to this instance. More... | |
void | enableContinuousRates (bool yn) |
Enable the use of continuous rates instead of discrete rates. More... | |
Stores intermediate results. | |
NonHomogeneousSequenceSimulator * | clone () const |
The SiteSimulator interface | |
Site * | simulateSite () const |
Site * | simulateSite (size_t ancestralStateIndex) const |
Site * | simulateSite (size_t ancestralStateIndex, double rate) const |
Site * | simulateSite (double rate) const |
std::vector< std::string > | getSequencesNames () const |
Functions with rate classes instead of absolute rates. | |
virtual Site * | simulateSite (size_t ancestralStateIndex, size_t rateClass) const |
virtual RASiteSimulationResult * | dSimulateSite (size_t ancestralStateIndex, size_t rateClass) const |
The DetailedSiteSimulator interface. | |
RASiteSimulationResult * | dSimulateSite () const |
Get a detailed simulation result for one site. More... | |
RASiteSimulationResult * | dSimulateSite (size_t ancestralStateIndex) const |
RASiteSimulationResult * | dSimulateSite (size_t ancestralStateIndex, double rate) const |
RASiteSimulationResult * | dSimulateSite (double rate) const |
The SequenceSimulator interface | |
SiteContainer * | simulate (size_t numberOfSites) const |
SiteSimulator and SequenceSimulator interface | |
const Alphabet * | getAlphabet () const |
Protected Member Functions | |
size_t | evolve (const SNode *node, size_t initialStateIndex, size_t rateClass) const |
Evolve from an initial state along a branch, knowing the evolutionary rate class. More... | |
size_t | evolve (const SNode *node, size_t initialStateIndex, double rate) const |
Evolve from an initial state along a branch, knowing the evolutionary rate. More... | |
void | multipleEvolve (const SNode *node, const std::vector< size_t > &initialStateIndices, const std::vector< size_t > &rateClasses, std::vector< size_t > &finalStates) const |
The same as the evolve(initialState, rateClass) function, but for several sites at a time. More... | |
SiteContainer * | multipleEvolve (const std::vector< size_t > &initialStates, const std::vector< size_t > &rateClasses) const |
void | dEvolve (size_t initialState, double rate, RASiteSimulationResult &rassr) const |
The 'Internal' methods. | |
void | evolveInternal (SNode *node, size_t rateClass) const |
void | evolveInternal (SNode *node, double rate) const |
void | multipleEvolveInternal (SNode *node, const std::vector< size_t > &rateClasses) const |
void | dEvolveInternal (SNode *node, double rate, RASiteSimulationResult &rassr) const |
Site and sequences simulation under homogeneous models.
This is an alias class, for clarity and backward compatibility.
Definition at line 53 of file HomogeneousSequenceSimulator.h.
|
inline |
Definition at line 58 of file HomogeneousSequenceSimulator.h.
|
inlinevirtual |
Definition at line 64 of file HomogeneousSequenceSimulator.h.
|
inlinevirtualinherited |
Implements bpp::SequenceSimulator.
Definition at line 185 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::NonHomogeneousSequenceSimulator().
|
protectedinherited |
Definition at line 515 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), and bpp::NonHomogeneousSequenceSimulator::tree_.
Referenced by bpp::NonHomogeneousSequenceSimulator::dSimulateSite().
|
protectedinherited |
This method uses the states_ variable for saving ancestral states.
Definition at line 528 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::SiteSimulationResult::addNode(), bpp::Node::getDistanceToFather(), bpp::NodeTemplate< NodeInfos >::getFather(), bpp::Node::getId(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), and bpp::Node::hasFather().
Referenced by bpp::NonHomogeneousSequenceSimulator::dEvolve().
|
virtualinherited |
Get a detailed simulation result for one site.
Implements bpp::DetailedSiteSimulator.
Definition at line 300 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::SubstitutionModelSet::getRootFrequencies(), bpp::NonHomogeneousSequenceSimulator::modelSet_, and bpp::NonHomogeneousSequenceSimulator::nbStates_.
Referenced by bpp::NonHomogeneousSequenceSimulator::dSimulateSite().
|
virtualinherited |
Implements bpp::DetailedSiteSimulator.
Definition at line 322 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::continuousRates_, bpp::NonHomogeneousSequenceSimulator::dSimulateSite(), and bpp::NonHomogeneousSequenceSimulator::rate_.
|
virtualinherited |
Implements bpp::DetailedSiteSimulator.
Definition at line 340 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::dEvolve(), bpp::SubstitutionModelSet::getAlphabet(), bpp::NonHomogeneousSequenceSimulator::modelSet_, and bpp::NonHomogeneousSequenceSimulator::templateTree_.
|
virtualinherited |
Implements bpp::DetailedSiteSimulator.
Definition at line 357 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::dSimulateSite(), bpp::SubstitutionModelSet::getRootFrequencies(), bpp::NonHomogeneousSequenceSimulator::modelSet_, and bpp::NonHomogeneousSequenceSimulator::nbStates_.
|
virtualinherited |
Definition at line 350 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::dSimulateSite(), and bpp::NonHomogeneousSequenceSimulator::rate_.
|
inlineinherited |
Enable the use of continuous rates instead of discrete rates.
To work, the DiscreteDistribution object used should implement the randC method.
yn | Tell if we should use continuous rates. |
Definition at line 280 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::continuousRates_.
|
protectedinherited |
Evolve from an initial state along a branch, knowing the evolutionary rate class.
This method is fast since all pijt have been computed in the constructor of the class. This method is used for the implementation of the SiteSimulator interface.
Definition at line 378 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NodeTemplate< NodeInfos >::getInfos(), and bpp::NonHomogeneousSequenceSimulator::nbStates_.
Referenced by bpp::NonHomogeneousSequenceSimulator::evolveInternal().
|
protectedinherited |
Evolve from an initial state along a branch, knowing the evolutionary rate.
This method is slower than the previous one since exponential terms must be computed. This method is used for the implementation of the SiteSimulator interface.
Definition at line 391 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::Node::getDistanceToFather(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::SubstitutionModel::getPij_t(), bpp::NonHomogeneousSequenceSimulator::nbStates_, and bpp::SubstitutionModel::Pij_t().
|
protectedinherited |
This method uses the states_ variable for saving ancestral states.
Definition at line 432 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::evolve(), bpp::NodeTemplate< NodeInfos >::getFather(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), and bpp::Node::hasFather().
Referenced by bpp::NonHomogeneousSequenceSimulator::evolveInternal(), and bpp::NonHomogeneousSequenceSimulator::simulateSite().
|
protectedinherited |
This method uses the states_ variable for saving ancestral states.
Definition at line 448 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::evolve(), bpp::NonHomogeneousSequenceSimulator::evolveInternal(), bpp::NodeTemplate< NodeInfos >::getFather(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), and bpp::Node::hasFather().
|
inlinevirtualinherited |
Implements bpp::SequenceSimulator.
Definition at line 240 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::alphabet_.
|
inlineinherited |
Get the rate distribution associated to this instance.
Definition at line 264 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::rate_.
|
inlinevirtualinherited |
Implements bpp::SiteSimulator.
Definition at line 210 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::seqNames_.
|
inline |
Definition at line 67 of file HomogeneousSequenceSimulator.h.
References bpp::SubstitutionModelSet::getModel(), and bpp::NonHomogeneousSequenceSimulator::getSubstitutionModelSet().
|
inlineinherited |
Get the substitution model associated to this instance.
Definition at line 257 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::modelSet_.
Referenced by getSubstitutionModel().
|
inlineinherited |
Get the tree associated to this instance.
Definition at line 271 of file NonHomogeneousSequenceSimulator.h.
References bpp::NonHomogeneousSequenceSimulator::templateTree_.
|
protectedinherited |
The same as the evolve(initialState, rateClass) function, but for several sites at a time.
This method is used for the implementation of the SequenceSimulator interface.
Definition at line 408 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NodeTemplate< NodeInfos >::getInfos(), and bpp::NonHomogeneousSequenceSimulator::nbStates_.
Referenced by bpp::NonHomogeneousSequenceSimulator::multipleEvolveInternal(), and bpp::NonHomogeneousSequenceSimulator::simulate().
|
protectedinherited |
Definition at line 483 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::alphabet_, bpp::SubstitutionModel::getAlphabetStateAsInt(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), bpp::NonHomogeneousSequenceSimulator::leaves_, bpp::NonHomogeneousSequenceSimulator::multipleEvolveInternal(), and bpp::NonHomogeneousSequenceSimulator::tree_.
|
protectedinherited |
This method uses the multipleStates_ variable for saving ancestral states.
Definition at line 464 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NodeTemplate< NodeInfos >::getFather(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), bpp::Node::hasFather(), and bpp::NonHomogeneousSequenceSimulator::multipleEvolve().
Referenced by bpp::NonHomogeneousSequenceSimulator::multipleEvolve().
|
virtualinherited |
Implements bpp::SequenceSimulator.
Definition at line 251 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::alphabet_, bpp::NonHomogeneousSequenceSimulator::continuousRates_, bpp::SubstitutionModelSet::getRootFrequencies(), bpp::NonHomogeneousSequenceSimulator::modelSet_, bpp::NonHomogeneousSequenceSimulator::multipleEvolve(), bpp::NonHomogeneousSequenceSimulator::nbStates_, bpp::NonHomogeneousSequenceSimulator::rate_, bpp::NonHomogeneousSequenceSimulator::seqNames_, and bpp::NonHomogeneousSequenceSimulator::simulateSite().
|
virtualinherited |
Implements bpp::SiteSimulator.
Definition at line 148 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::SubstitutionModelSet::getRootFrequencies(), bpp::NonHomogeneousSequenceSimulator::modelSet_, and bpp::NonHomogeneousSequenceSimulator::nbStates_.
Referenced by bpp::NonHomogeneousSequenceSimulator::simulate(), and bpp::NonHomogeneousSequenceSimulator::simulateSite().
|
virtualinherited |
Implements bpp::SiteSimulator.
Definition at line 169 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::continuousRates_, bpp::NonHomogeneousSequenceSimulator::rate_, and bpp::NonHomogeneousSequenceSimulator::simulateSite().
|
virtualinherited |
Implements bpp::SiteSimulator.
Definition at line 209 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::alphabet_, bpp::NonHomogeneousSequenceSimulator::evolveInternal(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), bpp::NonHomogeneousSequenceSimulator::leaves_, and bpp::NonHomogeneousSequenceSimulator::tree_.
|
virtualinherited |
Implements bpp::SiteSimulator.
Definition at line 229 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::SubstitutionModelSet::getRootFrequencies(), bpp::NonHomogeneousSequenceSimulator::modelSet_, bpp::NonHomogeneousSequenceSimulator::nbStates_, and bpp::NonHomogeneousSequenceSimulator::simulateSite().
|
virtualinherited |
Definition at line 189 of file NonHomogeneousSequenceSimulator.cpp.
References bpp::NonHomogeneousSequenceSimulator::alphabet_, bpp::NonHomogeneousSequenceSimulator::evolveInternal(), bpp::NodeTemplate< NodeInfos >::getInfos(), bpp::Node::getNumberOfSons(), bpp::NodeTemplate< NodeInfos >::getSon(), bpp::NonHomogeneousSequenceSimulator::leaves_, and bpp::NonHomogeneousSequenceSimulator::tree_.