5#ifndef BPP_PHYL_MODEL_FREQUENCYSET_NUCLEOTIDEFREQUENCYSET_H
6#define BPP_PHYL_MODEL_FREQUENCYSET_NUCLEOTIDEFREQUENCYSET_H
63 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
66 void setFrequencies(
const std::vector<double>& frequencies)
override;
99 std::shared_ptr<const NucleicAlphabet>
alphabet,
100 bool allowNullFreqs =
false,
101 const std::string& name =
"Full");
104 std::shared_ptr<const NucleicAlphabet>
alphabet,
105 double theta,
double theta1,
double theta2,
106 bool allowNullFreqs =
false,
107 const std::string& name =
"Full");
114 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
117 void setFrequencies(
const std::vector<double>& frequencies)
override;
135 std::shared_ptr<const NucleicAlphabet>
alphabet,
136 const std::vector<double>& initFreqs,
137 const std::string& name =
"Fixed") :
145 std::shared_ptr<const NucleicAlphabet>
alphabet,
146 const std::string& name =
"Fixed") :
153 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
168 std::shared_ptr<const NucleicAlphabet>
alphabet,
169 const std::string& path,
177 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
Basic implementation of the FrequencySet interface.
const Alphabet & alphabet() const override
double & getFreq_(size_t i)
std::shared_ptr< const Alphabet > getAlphabet() const override
void addParameter_(Parameter *parameter)
This class implements a state map where all resolved states are modeled.
FrequencySet useful for homogeneous and stationary models.
FrequencySet useful for homogeneous and stationary models, nucleotide implementation.
FixedNucleotideFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, const std::string &name="Fixed")
Construction with uniform frequencies on the letters of the alphabet.
FixedNucleotideFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, const std::vector< double > &initFreqs, const std::string &name="Fixed")
FixedNucleotideFrequencySet * clone() const override
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Parametrize a set of state frequencies.
virtual const Alphabet & alphabet() const =0
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
Nucleotide FrequencySet using three independent parameters (theta, theta1, theta2) to modelize the fo...
void fireParameterChanged(const ParameterList ¶meters) override
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
FullNucleotideFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, bool allowNullFreqs=false, const std::string &name="Full")
void setFrequencies(const std::vector< double > &frequencies) override
Set the parameters in order to match a given set of frequencies.
FullNucleotideFrequencySet * clone() const override
Nucleotide FrequencySet using only one parameter, the GC content (denoted as 'GC.theta')
GCFrequencySet(const GCFrequencySet &gcf)
GCFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, double theta)
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
void setFrequencies(const std::vector< double > &frequencies) override
Set the parameters in order to match a given set of frequencies.
void fireParameterChanged(const ParameterList ¶meters) override
GCFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet)
GCFrequencySet * clone() const override
Parametrize a set of state frequencies for nucleotides.
virtual std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const =0
NucleotideFrequencySetInterface * clone() const override=0
static const std::shared_ptr< IntervalConstraint > PROP_CONSTRAINT_IN
FrequencySet to be read in a file. More specifically, a frequency set is read in a column of a given ...
FrequencySet useful for homogeneous and stationary models, nucleotide implementation.
UserNucleotideFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, const std::string &path, size_t nCol=1)
UserNucleotideFrequencySet * clone() const override
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Defines the basic types of data flow nodes.