bpp-phyl3  3.0.0
TripletSubstitutionModel.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_MODEL_CODON_TRIPLETSUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_CODON_TRIPLETSUBSTITUTIONMODEL_H
7 
8 
9 #include "../Nucleotide/NucleotideSubstitutionModel.h"
10 #include "../WordSubstitutionModel.h"
11 
12 // From SeqLib:
14 
15 namespace bpp
16 {
28 {
29 public:
39  std::shared_ptr<const CodonAlphabet> palph,
40  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod);
41 
51  std::shared_ptr<const CodonAlphabet> palph,
52  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod1,
53  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod2,
54  std::unique_ptr<NucleotideSubstitutionModelInterface> pmod3);
55 
57 
58  TripletSubstitutionModel* clone() const override { return new TripletSubstitutionModel(*this);}
59 
60 public:
61  std::string getName() const override;
62 };
63 } // end of namespace bpp.
64 #endif // BPP_PHYL_MODEL_CODON_TRIPLETSUBSTITUTIONMODEL_H
Class for neutral substitution models on triplets, which correspond to codons that do not have any si...
TripletSubstitutionModel * clone() const override
std::string getName() const override
Get the name of the model.
TripletSubstitutionModel(std::shared_ptr< const CodonAlphabet > palph, std::unique_ptr< NucleotideSubstitutionModelInterface > pmod)
Build a new TripletSubstitutionModel object from a pointer to a NucleotideSubstitutionModel.
Basal class for words of substitution models.
Defines the basic types of data flow nodes.