5 #ifndef BPP_PHYL_MODEL_FREQUENCYSET_NUCLEOTIDEFREQUENCYSET_H
6 #define BPP_PHYL_MODEL_FREQUENCYSET_NUCLEOTIDEFREQUENCYSET_H
61 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
64 void setFrequencies(
const std::vector<double>& frequencies)
override;
97 std::shared_ptr<const NucleicAlphabet>
alphabet,
98 bool allowNullFreqs =
false,
99 const std::string& name =
"Full");
102 std::shared_ptr<const NucleicAlphabet>
alphabet,
103 double theta,
double theta1,
double theta2,
104 bool allowNullFreqs =
false,
105 const std::string& name =
"Full");
112 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
115 void setFrequencies(
const std::vector<double>& frequencies)
override;
133 std::shared_ptr<const NucleicAlphabet>
alphabet,
134 const std::vector<double>& initFreqs,
135 const std::string& name =
"Fixed") :
143 std::shared_ptr<const NucleicAlphabet>
alphabet,
144 const std::string& name =
"Fixed") :
151 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
166 std::shared_ptr<const NucleicAlphabet>
alphabet,
167 const std::string& path,
175 return std::dynamic_pointer_cast<const NucleicAlphabet>(
getAlphabet());
Basic implementation of the FrequencySet interface.
const Alphabet & alphabet() const override
std::shared_ptr< const Alphabet > getAlphabet() const override
double & getFreq_(size_t i)
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 * clone() const override
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")
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Parametrize a set of state frequencies.
virtual std::shared_ptr< const Alphabet > getAlphabet() const =0
virtual const Alphabet & alphabet() const =0
Nucleotide FrequencySet using three independent parameters (theta, theta1, theta2) to modelize the fo...
void fireParameterChanged(const ParameterList ¶meters) override
FullNucleotideFrequencySet * clone() 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.
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Nucleotide FrequencySet using only one parameter, the GC content.
GCFrequencySet(const GCFrequencySet &gcf)
GCFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, double theta)
GCFrequencySet * clone() 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
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
GCFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet)
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 * clone() const override
UserNucleotideFrequencySet(std::shared_ptr< const NucleicAlphabet > alphabet, const std::string &path, size_t nCol=1)
std::shared_ptr< const NucleicAlphabet > getNucleicAlphabet() const override
Defines the basic types of data flow nodes.