7 #include "../Likelihood/AutoCorrelationSequenceEvolution.h"
8 #include "../Likelihood/HmmSequenceEvolution.h"
9 #include "../Likelihood/MixtureSequenceEvolution.h"
10 #include "../Likelihood/OneProcessSequenceEvolution.h"
11 #include "../Likelihood/PartitionSequenceEvolution.h"
28 vMap_.resize(numberOfSites);
35 for (
size_t i = 0; i < numberOfSites; i++)
49 for (
size_t i = 0; i < numberOfSites; i++)
82 vector<size_t> vInd = htm->
sample(numberOfSites);
83 for (
size_t i = 0; i < numberOfSites; i++)
85 vMap_[i] = nProc[vInd[i]];
89 throw Exception(
"EvolutionSequenceSimulator::resetSiteSimulators : unknown Sequence Evolution.");
std::vector< size_t > sample(size_t size) const
Sequence evolution framework based on an auto-correlation of substitution processes.
const AutoCorrelationTransitionMatrix & hmmTransitionMatrix() const
EvolutionSequenceSimulator(const SequenceEvolution &evol)
void resetSiteSimulators(size_t numberOfSites) const
Reset the succession of site simulators (useful in case of HMM).
const SequenceEvolution * seqEvol_
Sequence evolution framework based on a hmm.
const FullHmmTransitionMatrix & hmmTransitionMatrix() const
Sequence evolution framework based on a mixture of substitution processes.
const std::vector< double > & getSubProcessProbabilities() const
Evolution of a sequence performed by a unique SubstitutionProcess all along the sequence.
const std::vector< size_t > & getSubstitutionProcessNumbers() const override
Sequence evolution framework based on a mixture of substitution processes.
size_t getNumberOfSites() const
size_t getSubstitutionProcessNumber(size_t i) const
This interface describes the evolution process of a sequence.
virtual const std::vector< size_t > & getSubstitutionProcessNumbers() const =0
Sequences simulation under position specific substitution process.
std::vector< size_t > vMap_
The vector of the site specific process in mProcess_; is mutable because can be changed for each simu...
Defines the basic types of data flow nodes.