bpp-phyl3 3.0.0
SequenceEvolution.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_SEQUENCEEVOLUTION_H
6#define BPP_PHYL_LIKELIHOOD_SEQUENCEEVOLUTION_H
7
8
10
11// From bpp-core:
14
15// From bpp-seq:
16
18
19// From the STL:
20#include <memory>
21
22namespace bpp
23{
34 public virtual ParameterAliasable
35{
36public:
37 virtual SequenceEvolution* clone() const override = 0;
38
39public:
40 virtual bool isCompatibleWith(const AlignmentDataInterface& data) const = 0;
41
42 virtual const std::vector<size_t>& getSubstitutionProcessNumbers() const = 0;
43
44 virtual const SubstitutionProcessInterface& substitutionProcess(size_t number) const = 0;
45
46 virtual std::shared_ptr<const SubstitutionProcessInterface> getSubstitutionProcess(size_t number) const = 0;
47
49 {
51 }
52
53 std::shared_ptr<const StateMapInterface> getStateMap() const
54 {
56 }
57
63 virtual ParameterList getBranchLengthParameters(bool independent) const = 0;
64
70 virtual ParameterList getSubstitutionModelParameters(bool independent) const = 0;
71
77 virtual ParameterList getSubstitutionProcessParameters(bool independent) const = 0;
78
84 virtual ParameterList getRateDistributionParameters(bool independent) const = 0;
85
91 virtual ParameterList getRootFrequenciesParameters(bool independent) const = 0;
92
93
103};
104} // end namespace bpp
105#endif // BPP_PHYL_LIKELIHOOD_SEQUENCEEVOLUTION_H
This interface describes the evolution process of a sequence.
virtual const std::vector< size_t > & getSubstitutionProcessNumbers() const =0
virtual ParameterList getBranchLengthParameters(bool independent) const =0
Get the branch lengths parameters.
virtual ParameterList getNonDerivableParameters() const =0
All non derivable parameters.
virtual SequenceEvolution * clone() const override=0
virtual const SubstitutionProcessInterface & substitutionProcess(size_t number) const =0
virtual ParameterList getSubstitutionProcessParameters(bool independent) const =0
Get the parameters associated to substitution processes(s).
virtual std::shared_ptr< const SubstitutionProcessInterface > getSubstitutionProcess(size_t number) const =0
virtual bool isCompatibleWith(const AlignmentDataInterface &data) const =0
std::shared_ptr< const StateMapInterface > getStateMap() const
virtual ParameterList getSubstitutionModelParameters(bool independent) const =0
Get the parameters associated to substitution model(s).
virtual ParameterList getRateDistributionParameters(bool independent) const =0
Get the parameters associated to the rate distribution(s).
const StateMapInterface & stateMap() const
virtual ParameterList getRootFrequenciesParameters(bool independent) const =0
Get the parameters associated to the root frequencies(s).
Map the states of a given alphabet which have a model state.
Definition: StateMap.h:25
This interface describes the substitution process along the tree and sites of the alignment.
virtual std::shared_ptr< const StateMapInterface > getStateMap() const =0
virtual const StateMapInterface & stateMap() const =0
Defines the basic types of data flow nodes.