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
15namespace bpp
16{
28{
29public:
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
60public:
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.