bpp-phyl3 3.0.0
AutoCorrelationSequenceEvolution.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_AUTOCORRELATIONSEQUENCEEVOLUTION_H
6#define BPP_PHYL_LIKELIHOOD_AUTOCORRELATIONSEQUENCEEVOLUTION_H
7
8
11
12// From Numeric
14
15#include <memory>
16
17namespace bpp
18{
26{
27private:
28 std::shared_ptr<HmmProcessAlphabet> hmmAlph_;
29 std::shared_ptr<AutoCorrelationTransitionMatrix> autoCorrTransMat_;
30
31public:
33 std::shared_ptr<SubstitutionProcessCollection> processColl,
34 std::vector<size_t>& nProc);
35
38 hmmAlph_(mlc.hmmAlph_->clone()),
40
42 {
44
45 hmmAlph_ = std::shared_ptr<HmmProcessAlphabet>(new HmmProcessAlphabet(*mlc.hmmAlph_.get()));
46 autoCorrTransMat_ = std::shared_ptr<AutoCorrelationTransitionMatrix>(new AutoCorrelationTransitionMatrix(*mlc.autoCorrTransMat_.get()));
47
48 return *this;
49 }
50
52
54
55public:
56 void setNamespace(const std::string& nameSpace);
57
58 void fireParameterChanged(const ParameterList& parameters);
59
61 {
62 return *autoCorrTransMat_.get();
63 }
64
66 {
67 return *autoCorrTransMat_.get();
68 }
69
70 std::shared_ptr<AutoCorrelationTransitionMatrix> getHmmTransitionMatrix()
71 {
72 return autoCorrTransMat_;
73 }
74
75 std::shared_ptr<const AutoCorrelationTransitionMatrix> getHmmTransitionMatrix() const
76 {
77 return autoCorrTransMat_;
78 }
79
81 {
82 return *hmmAlph_.get();
83 }
84
86 {
87 return *hmmAlph_.get();
88 }
89
90 std::shared_ptr<HmmProcessAlphabet> getHmmProcessAlphabet()
91 {
92 return hmmAlph_;
93 }
94
95 std::shared_ptr<const HmmProcessAlphabet> getHmmProcessAlphabet() const
96 {
97 return hmmAlph_;
98 }
99
101};
102} // end of namespace bpp.
103#endif // BPP_PHYL_LIKELIHOOD_AUTOCORRELATIONSEQUENCEEVOLUTION_H
Sequence evolution framework based on an auto-correlation of substitution processes.
std::shared_ptr< const HmmProcessAlphabet > getHmmProcessAlphabet() const
std::shared_ptr< HmmProcessAlphabet > hmmAlph_
ParameterList getNonDerivableParameters() const
All non derivable parameters.
AutoCorrelationSequenceEvolution(const AutoCorrelationSequenceEvolution &mlc)
std::shared_ptr< const AutoCorrelationTransitionMatrix > getHmmTransitionMatrix() const
AutoCorrelationSequenceEvolution(std::shared_ptr< SubstitutionProcessCollection > processColl, std::vector< size_t > &nProc)
std::shared_ptr< AutoCorrelationTransitionMatrix > getHmmTransitionMatrix()
void fireParameterChanged(const ParameterList &parameters)
AutoCorrelationSequenceEvolution & operator=(const AutoCorrelationSequenceEvolution &mlc)
AutoCorrelationTransitionMatrix & hmmTransitionMatrix()
std::shared_ptr< HmmProcessAlphabet > getHmmProcessAlphabet()
const HmmProcessAlphabet & hmmProcessAlphabet() const
const AutoCorrelationTransitionMatrix & hmmTransitionMatrix() const
std::shared_ptr< AutoCorrelationTransitionMatrix > autoCorrTransMat_
AutoCorrelationSequenceEvolution * clone() const
Hidden states alphabet.
Partial implementation of multiple processes of sequences.
MultiProcessSequenceEvolution & operator=(const MultiProcessSequenceEvolution &lik)
Defines the basic types of data flow nodes.