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 
12 namespace bpp
13 {
23 {
24 private:
26 
27 public:
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 
47 public:
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.
MixtureSequenceEvolution & operator=(const MixtureSequenceEvolution &mlc)
double getSubProcessProb(size_t i) const
return the probability of a subprocess
const std::vector< double > & getSubProcessProbabilities() const
ParameterList getNonDerivableParameters() const override
All non derivable parameters.
void fireParameterChanged(const ParameterList &parameters) override
void setNamespace(const std::string &nameSpace) override
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.