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)
AbstractProteinSubstitutionModel * clone() const override=0
std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const override
virtual ~AbstractProteinSubstitutionModel()
Specialisation abstract class for reversible protein substitution model.
AbstractReversibleProteinSubstitutionModel * clone() const override=0
virtual ~AbstractReversibleProteinSubstitutionModel()
std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const override
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.
ProteinReversibleSubstitutionModelInterface * clone() const override=0
virtual ~ProteinReversibleSubstitutionModelInterface()
Specialized interface for protein substitution model.
virtual ProteinSubstitutionModelInterface * clone() const override=0
virtual ~ProteinSubstitutionModelInterface()
virtual std::shared_ptr< const ProteicAlphabet > getProteicAlphabet() const =0
Interface for reversible substitution models.
Interface for all substitution models.
Defines the basic types of data flow nodes.