bpp-phyl3 3.0.0
MixtureSequenceEvolution.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: The Bio++ Development Group
2//
3// SPDX-License-Identifier: CECILL-2.1
4
5#ifndef BPP_PHYL_LIKELIHOOD_MIXTURESEQUENCEEVOLUTION_H
6#define BPP_PHYL_LIKELIHOOD_MIXTURESEQUENCEEVOLUTION_H
7
9
11
12namespace bpp
13{
23{
24private:
26
27public:
29 std::shared_ptr<SubstitutionProcessCollection> processColl,
30 std::vector<size_t>& nProc);
31
34 simplex_(mlc.simplex_) {}
35
37 {
39 simplex_ = mlc.simplex_;
40 return *this;
41 }
42
44
45 MixtureSequenceEvolution* clone() const override { return new MixtureSequenceEvolution(*this); }
46
47public:
48 void setNamespace(const std::string& nameSpace) override;
49
50 void fireParameterChanged(const ParameterList& parameters) override;
51
53
54 const std::vector<double>& getSubProcessProbabilities() const
55 {
56 return simplex_.getFrequencies();
57 }
58
60 {
61 return simplex_;
62 }
63
69 double getSubProcessProb(size_t i) const
70 {
71 return simplex_.prob(i);
72 }
73
77 void setSubProcessProb(const Simplex& si);
78};
79} // end of namespace bpp.
80#endif // BPP_PHYL_LIKELIHOOD_MIXTURESEQUENCEEVOLUTION_H
Sequence evolution framework based on a mixture of substitution processes.
double getSubProcessProb(size_t i) const
return the probability of a subprocess
MixtureSequenceEvolution & operator=(const MixtureSequenceEvolution &mlc)
ParameterList getNonDerivableParameters() const override
All non derivable parameters.
void fireParameterChanged(const ParameterList &parameters) override
void setNamespace(const std::string &nameSpace) override
const std::vector< double > & getSubProcessProbabilities() const
MixtureSequenceEvolution * clone() const override
MixtureSequenceEvolution(std::shared_ptr< SubstitutionProcessCollection > processColl, std::vector< size_t > &nProc)
MixtureSequenceEvolution(const MixtureSequenceEvolution &mlc)
void setSubProcessProb(const Simplex &si)
Set the probabilities of the subprocess.
Partial implementation of multiple processes of sequences.
MultiProcessSequenceEvolution & operator=(const MultiProcessSequenceEvolution &lik)
double prob(size_t i) const
const std::vector< double > & getFrequencies() const
Defines the basic types of data flow nodes.