5 #ifndef BPP_PHYL_SIMULATION_GIVENDATASUBSTITUTIONPROCESSSEQUENCESIMULATOR_H
6 #define BPP_PHYL_SIMULATION_GIVENDATASUBSTITUTIONPROCESSSEQUENCESIMULATOR_H
22 std::shared_ptr<LikelihoodCalculationSingleProcess>
calcul_;
31 std::vector<std::shared_ptr<GivenDataSubstitutionProcessSiteSimulator>>
vSiteSim_;
37 for (
size_t i = 0; i <
calcul_->getNumberOfDistinctSites(); i++)
39 vSiteSim_.push_back(std::make_shared<GivenDataSubstitutionProcessSiteSimulator>(
calcul_, i,
true));
61 std::unique_ptr<SiteContainerInterface>
simulate()
const
66 std::unique_ptr<SiteContainerInterface>
simulate(
size_t numberOfSites)
const override;
98 return calcul_->getNumberOfSites();
113 siteSim->outputInternalSites(yn);
Sequences simulation under a unique substitution process, but with site specific posterior probabilit...
GivenDataSubstitutionProcessSequenceSimulator * clone() const override
void outputInternalSequences(bool yn) override
Sets whether we will output the internal sequences or not.
GivenDataSubstitutionProcessSequenceSimulator(std::shared_ptr< LikelihoodCalculationSingleProcess > calcul)
const SiteSimulatorInterface & siteSimulator(size_t pos) const override
std::shared_ptr< const Alphabet > getAlphabet() const override
std::vector< std::shared_ptr< GivenDataSubstitutionProcessSiteSimulator > > vSiteSim_
GivenDataSubstitutionProcessSequenceSimulator(const GivenDataSubstitutionProcessSequenceSimulator &nhss)
std::unique_ptr< SiteContainerInterface > simulate() const
std::vector< std::string > getSequenceNames() const override
virtual ~GivenDataSubstitutionProcessSequenceSimulator()
std::shared_ptr< LikelihoodCalculationSingleProcess > calcul_
const Alphabet & alphabet() const override
size_t getNumberOfSites() const
the number of mapped sites.
The SequenceSimulator interface. SequenceSimulator classes can simulate whole datasets.
The SiteSimulator interface. SiteSimulator classes can simulate single sites.
Defines the basic types of data flow nodes.