bpp-phyl3
3.0.0
|
Generally used mutation process model. More...
#include <Bpp/Phyl/Simulation/MutationProcess.h>
Public Member Functions | |
SimpleMutationProcess (std::shared_ptr< const SubstitutionModelInterface > model) | |
Build a new SimpleMutationProcess object. More... | |
virtual | ~SimpleMutationProcess () |
size_t | evolve (size_t initialState, double time) const |
Method redefinition for better performance. More... | |
size_t | mutate (size_t state) const |
Mutate a character in state i. More... | |
size_t | mutate (size_t state, unsigned int n) const |
Mutate a character in state i n times. More... | |
double | getTimeBeforeNextMutationEvent (size_t state) const |
Get the time before next mutation event. More... | |
MutationPath | detailedEvolve (size_t initialState, double time) const |
Simulation a character evolution during a specified time according to the given substitution model and send the total path with all intermediate states and times between mutation events. More... | |
MutationPath | detailedEvolve (size_t initialState, size_t finalState, double time) const |
Simulation a character evolution during a specified time according to the given substitution model and send the total path with all intermediate states and times between mutation events, conditional to the final state.q. More... | |
std::shared_ptr< const SubstitutionModelInterface > | getSubstitutionModel () const |
Get the substitution model associated to the mutation process. More... | |
Protected Attributes | |
std::shared_ptr< const SubstitutionModelInterface > | model_ |
The substitution model to use: More... | |
size_t | size_ |
The number of states allowed for the character to mutate. More... | |
VVdouble | repartition_ |
The repartition function for states probabilities. More... | |
Generally used mutation process model.
This builds a MutationProcess according to a given SubstitutionModel. The underlying mutation process is the following:
Definition at line 325 of file MutationProcess.h.
SimpleMutationProcess::SimpleMutationProcess | ( | std::shared_ptr< const SubstitutionModelInterface > | model | ) |
Build a new SimpleMutationProcess object.
model | The substitution model to use. |
Definition at line 137 of file MutationProcess.cpp.
References bpp::abs(), bpp::AbstractMutationProcess::repartition_, bpp::AbstractMutationProcess::size_, and bpp::NumConstants::TINY().
|
virtual |
Definition at line 178 of file MutationProcess.cpp.
|
virtualinherited |
Simulation a character evolution during a specified time according to the given substitution model and send the total path with all intermediate states and times between mutation events.
initialState | The state before beginning evolution. |
time | The time during which evolution must occur. |
Implements bpp::MutationProcess.
Definition at line 70 of file MutationProcess.cpp.
References bpp::MutationPath::addEvent().
Referenced by bpp::NonHomogeneousSequenceSimulator::dEvolveInternal(), and bpp::SimpleSubstitutionProcessSiteSimulator::evolveInternal().
|
virtualinherited |
Simulation a character evolution during a specified time according to the given substitution model and send the total path with all intermediate states and times between mutation events, conditional to the final state.q.
initialState | The state before beginning evolution. |
finalState | The state after evolution. |
time | The time during which evolution must occur. |
Implements bpp::MutationProcess.
Definition at line 89 of file MutationProcess.cpp.
References bpp::MutationPath::addEvent(), bpp::MutationPath::clear(), bpp::exp(), bpp::RandomTools::giveRandomNumberBetweenZeroAndEntry(), and bpp::log().
|
virtual |
Method redefinition for better performance.
initialState | The state before beginning evolution. |
time | The time during which evolution must occur. |
Reimplemented from bpp::AbstractMutationProcess.
Definition at line 182 of file MutationProcess.cpp.
References bpp::RandomTools::giveRandomNumberBetweenZeroAndEntry(), bpp::AbstractMutationProcess::model_, bpp::AbstractMutationProcess::size_, and bpp::TextTools::toString().
|
inlinevirtualinherited |
Get the substitution model associated to the mutation process.
Implements bpp::MutationProcess.
Definition at line 309 of file MutationProcess.h.
References bpp::AbstractMutationProcess::model_.
|
virtualinherited |
Get the time before next mutation event.
state | The actual state of the chain; |
Implements bpp::MutationProcess.
Definition at line 48 of file MutationProcess.cpp.
References bpp::RandomTools::randExponential().
|
virtualinherited |
Mutate a character in state i.
state | The current state of the character. |
Implements bpp::MutationProcess.
Definition at line 15 of file MutationProcess.cpp.
References bpp::RandomTools::giveRandomNumberBetweenZeroAndEntry(), and bpp::TextTools::toString().
|
virtualinherited |
Mutate a character in state i n times.
state | The current state of the character. |
n | The number of mutations to perform. |
Implements bpp::MutationProcess.
Definition at line 28 of file MutationProcess.cpp.
References bpp::RandomTools::giveRandomNumberBetweenZeroAndEntry().
|
protectedinherited |
The substitution model to use:
Definition at line 282 of file MutationProcess.h.
Referenced by evolve(), and bpp::AbstractMutationProcess::getSubstitutionModel().
|
protectedinherited |
The repartition function for states probabilities.
repartition_[i][j] = probability that, being in state i at time t, we'll be in state <= j at time t+1.
Definition at line 295 of file MutationProcess.h.
Referenced by bpp::SelfMutationProcess::SelfMutationProcess(), and SimpleMutationProcess().
|
protectedinherited |
The number of states allowed for the character to mutate.
Definition at line 287 of file MutationProcess.h.
Referenced by evolve(), bpp::SelfMutationProcess::SelfMutationProcess(), and SimpleMutationProcess().