5 #ifndef BPP_PHYL_MODEL_PROTEIN_PROTEINSUBSTITUTIONMODEL_H
6 #define BPP_PHYL_MODEL_PROTEIN_PROTEINSUBSTITUTIONMODEL_H
9 #include "../AbstractSubstitutionModel.h"
10 #include "../SubstitutionModel.h"
55 std::shared_ptr<const ProteicAlphabet> alpha,
56 std::shared_ptr<const StateMapInterface>
stateMap,
57 const std::string& prefix) :
67 return std::dynamic_pointer_cast<const ProteicAlphabet>(
alphabet_);
80 std::shared_ptr<const ProteicAlphabet> alpha,
81 std::shared_ptr<const StateMapInterface>
stateMap,
82 const std::string& prefix) :
92 return std::dynamic_pointer_cast<const ProteicAlphabet>(
alphabet_);
Specialisation abstract class for protein substitution model.
AbstractProteinSubstitutionModel(std::shared_ptr< const ProteicAlphabet > alpha, std::shared_ptr< const StateMapInterface > stateMap, const std::string &prefix)
virtual ~AbstractProteinSubstitutionModel()
AbstractProteinSubstitutionModel * clone() const override=0
std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const override
Specialisation abstract class for reversible protein substitution model.
virtual ~AbstractReversibleProteinSubstitutionModel()
std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const override
AbstractReversibleProteinSubstitutionModel * clone() const override=0
AbstractReversibleProteinSubstitutionModel(std::shared_ptr< const ProteicAlphabet > alpha, std::shared_ptr< const StateMapInterface > stateMap, const std::string &prefix)
Partial implementation of the ReversibleSubstitutionModel interface.
std::shared_ptr< const Alphabet > alphabet_
The alphabet relevant to this model.
const StateMapInterface & stateMap() const override
Specialized interface for protein reversible substitution model.
virtual ~ProteinReversibleSubstitutionModelInterface()
ProteinReversibleSubstitutionModelInterface * clone() const override=0
Specialized interface for protein substitution model.
virtual ~ProteinSubstitutionModelInterface()
virtual std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const =0
virtual ProteinSubstitutionModelInterface * clone() const override=0
Interface for reversible substitution models.
Interface for all substitution models.
Defines the basic types of data flow nodes.