bpp-phyl  2.2.0
bpp::FullNucleotideFrequenciesSet Class Referenceabstract

Nucleotide FrequenciesSet using three independent parameters (theta, theta1, theta2) to modelize the four frequencies: More...

#include <Bpp/Phyl/Model/FrequenciesSet/NucleotideFrequenciesSet.h>

+ Inheritance diagram for bpp::FullNucleotideFrequenciesSet:
+ Collaboration diagram for bpp::FullNucleotideFrequenciesSet:

Public Member Functions

 FullNucleotideFrequenciesSet (const NucleicAlphabet *alphabet, bool allowNullFreqs=false, const std::string &name="Full")
 
 FullNucleotideFrequenciesSet (const NucleicAlphabet *alphabet, double theta, double theta1, double theta2, bool allowNullFreqs=false, const std::string &name="Full")
 
FullNucleotideFrequenciesSetclone () const
 
const NucleicAlphabet * getAlphabet () const
 
void setFrequencies (const std::vector< double > &frequencies)
 Set the parameters in order to match a given set of frequencies. More...
 
virtual const StateMapgetStateMap () const =0
 
virtual const std::vector< double > getFrequencies () const =0
 
virtual const std::map< int, double > getAlphabetStatesFrequencies () const =0
 
virtual void setFrequenciesFromAlphabetStatesFrequencies (const std::map< int, double > &frequencies)=0
 Set the Frequencies from the one of the map which keys match with a letter of the Alphabet. The frequencies are normalized so that the matching values sum 1. More...
 
virtual std::string getName () const =0
 
virtual size_t getNumberOfFrequencies () const =0
 
const StateMapgetStateMap () const
 
const std::vector< double > getFrequencies () const
 
const std::map< int, double > getAlphabetStatesFrequencies () const
 
void setFrequenciesFromAlphabetStatesFrequencies (const std::map< int, double > &frequencies)
 Set the Frequencies from the one of the map which keys match with a letter of the Alphabet. The frequencies are normalized so that the matching values sum 1. More...
 
size_t getNumberOfFrequencies () const
 
std::string getName () const
 
void normalize ()
 

Static Public Attributes

static IntervalConstraint FREQUENCE_CONSTRAINT_SMALL
 
static IntervalConstraint FREQUENCE_CONSTRAINT_MILLI
 

Protected Member Functions

void fireParameterChanged (const ParameterList &parameters)
 
std::vector< double > & getFrequencies_ ()
 
double & getFreq_ (size_t i)
 
const double & getFreq_ (size_t i) const
 
void setFrequencies_ (const std::vector< double > &frequencies)
 

Detailed Description

Nucleotide FrequenciesSet using three independent parameters (theta, theta1, theta2) to modelize the four frequencies:

\[ \begin{cases} \theta = \pi_C + \pi_G\\ \theta_1 = \frac{\pi_A}{1 - \theta} = \frac{\pi_A}{\pi_A + \pi_T}\\ \theta_2 = \frac{\pi_G}{\theta} = \frac{\pi_G}{\pi_C + \pi_G}\\ \end{cases} \Longleftrightarrow \begin{cases} \pi_A = \theta_1 (1 - \theta)\\ \pi_C = (1 - \theta_2) \theta\\ \pi_G = \theta_2 \theta\\ \pi_T = (1 - \theta_1)(1 - \theta). \end{cases} \]

with $\pi_x$ the frequency of nucleotide $x$.

Definition at line 128 of file NucleotideFrequenciesSet.h.

Constructor & Destructor Documentation

◆ FullNucleotideFrequenciesSet() [1/2]

FullNucleotideFrequenciesSet::FullNucleotideFrequenciesSet ( const NucleicAlphabet *  alphabet,
bool  allowNullFreqs = false,
const std::string &  name = "Full" 
)

◆ FullNucleotideFrequenciesSet() [2/2]

FullNucleotideFrequenciesSet::FullNucleotideFrequenciesSet ( const NucleicAlphabet *  alphabet,
double  theta,
double  theta1,
double  theta2,
bool  allowNullFreqs = false,
const std::string &  name = "Full" 
)

Member Function Documentation

◆ clone()

FullNucleotideFrequenciesSet* bpp::FullNucleotideFrequenciesSet::clone ( ) const
inlinevirtual

◆ fireParameterChanged()

void FullNucleotideFrequenciesSet::fireParameterChanged ( const ParameterList &  parameters)
protected

◆ getAlphabet()

const NucleicAlphabet* bpp::FullNucleotideFrequenciesSet::getAlphabet ( ) const
inlinevirtual
Returns
The alphabet associated to this set.

Reimplemented from bpp::AbstractFrequenciesSet.

Definition at line 146 of file NucleotideFrequenciesSet.h.

References bpp::AbstractFrequenciesSet::getAlphabet().

◆ getAlphabetStatesFrequencies() [1/2]

virtual const std::map<int, double> bpp::FrequenciesSet::getAlphabetStatesFrequencies ( ) const
pure virtualinherited
Returns
The frequencies of each alphabet states according to this model.

Implemented in bpp::AbstractFrequenciesSet.

Referenced by bpp::CodonDistanceFitnessPhaseFrequenciesSubstitutionModel::setFreq().

◆ getAlphabetStatesFrequencies() [2/2]

const std::map< int, double > AbstractFrequenciesSet::getAlphabetStatesFrequencies ( ) const
virtualinherited
Returns
The frequencies of each alphabet states according to this model.

Implements bpp::FrequenciesSet.

Definition at line 79 of file FrequenciesSet.cpp.

◆ getFreq_() [1/2]

◆ getFreq_() [2/2]

const double& bpp::AbstractFrequenciesSet::getFreq_ ( size_t  i) const
inlineprotectedinherited

Definition at line 204 of file FrequenciesSet.h.

References bpp::AbstractFrequenciesSet::freq_.

◆ getFrequencies() [1/2]

◆ getFrequencies() [2/2]

const std::vector<double> bpp::AbstractFrequenciesSet::getFrequencies ( ) const
inlinevirtualinherited
Returns
The frequencies values of the set.

Implements bpp::FrequenciesSet.

Definition at line 174 of file FrequenciesSet.h.

References bpp::AbstractFrequenciesSet::freq_.

Referenced by bpp::MvaFrequenciesSet::updateFrequencies().

◆ getFrequencies_()

std::vector<double>& bpp::AbstractFrequenciesSet::getFrequencies_ ( )
inlineprotectedinherited

Definition at line 202 of file FrequenciesSet.h.

References bpp::AbstractFrequenciesSet::freq_.

◆ getName() [1/2]

◆ getName() [2/2]

std::string bpp::AbstractFrequenciesSet::getName ( ) const
inlinevirtualinherited

◆ getNumberOfFrequencies() [1/2]

virtual size_t bpp::FrequenciesSet::getNumberOfFrequencies ( ) const
pure virtualinherited
Returns
The number of frequencies in the set. This is equivalent to getStateMap().getNumberOfModelStates().

Implemented in bpp::AbstractFrequenciesSet.

◆ getNumberOfFrequencies() [2/2]

size_t bpp::AbstractFrequenciesSet::getNumberOfFrequencies ( ) const
inlinevirtualinherited
Returns
The number of frequencies in the set. This is equivalent to getStateMap().getNumberOfModelStates().

Implements bpp::FrequenciesSet.

Definition at line 189 of file FrequenciesSet.h.

References bpp::AbstractFrequenciesSet::freq_.

Referenced by bpp::FixedFrequenciesSet::setFrequencies().

◆ getStateMap() [1/2]

virtual const StateMap& bpp::FrequenciesSet::getStateMap ( ) const
pure virtualinherited
Returns
The mapping of model states with alphabet states.

Implemented in bpp::AbstractFrequenciesSet.

◆ getStateMap() [2/2]

const StateMap& bpp::AbstractFrequenciesSet::getStateMap ( ) const
inlinevirtualinherited
Returns
The mapping of model states with alphabet states.

Implements bpp::FrequenciesSet.

Definition at line 172 of file FrequenciesSet.h.

References bpp::AbstractFrequenciesSet::stateMap_.

Referenced by bpp::FullPerAACodonFrequenciesSet::updateFrequencies().

◆ normalize()

void bpp::AbstractFrequenciesSet::normalize ( )
inlineinherited

◆ setFrequencies()

void FullNucleotideFrequenciesSet::setFrequencies ( const std::vector< double > &  frequencies)
virtual

Set the parameters in order to match a given set of frequencies.

Parameters
frequenciesThe set of frequencies to match.
Exceptions
DimensionExceptionIf the number of frequencies does not match the size of the alphabet.
ExceptionIf the frequencies do not sum to 1.

Implements bpp::FrequenciesSet.

Definition at line 105 of file NucleotideFrequenciesSet.cpp.

References bpp::AbstractFrequenciesSet::setFrequencies_().

◆ setFrequencies_()

void bpp::AbstractFrequenciesSet::setFrequencies_ ( const std::vector< double > &  frequencies)
inlineprotectedinherited

◆ setFrequenciesFromAlphabetStatesFrequencies() [1/2]

virtual void bpp::FrequenciesSet::setFrequenciesFromAlphabetStatesFrequencies ( const std::map< int, double > &  frequencies)
pure virtualinherited

Set the Frequencies from the one of the map which keys match with a letter of the Alphabet. The frequencies are normalized so that the matching values sum 1.

Parameters
frequenciesThe set of frequencies to match.

Implemented in bpp::AbstractFrequenciesSet.

Referenced by bpp::BppOFrequenciesSetFormat::initialize_(), bpp::AbstractCodonFitnessSubstitutionModel::setFreq(), bpp::AbstractCodonFrequenciesSubstitutionModel::setFreq(), and bpp::AbstractCodonPhaseFrequenciesSubstitutionModel::setFreq().

◆ setFrequenciesFromAlphabetStatesFrequencies() [2/2]

void AbstractFrequenciesSet::setFrequenciesFromAlphabetStatesFrequencies ( const std::map< int, double > &  frequencies)
virtualinherited

Set the Frequencies from the one of the map which keys match with a letter of the Alphabet. The frequencies are normalized so that the matching values sum 1.

In this implementation, all model states with the same alphabet state are given the same frequency.

Parameters
frequenciesThe set of frequencies to match.

Implements bpp::FrequenciesSet.

Definition at line 58 of file FrequenciesSet.cpp.

Member Data Documentation

◆ FREQUENCE_CONSTRAINT_MILLI

IntervalConstraint FrequenciesSet::FREQUENCE_CONSTRAINT_MILLI
staticinherited

Definition at line 118 of file FrequenciesSet.h.

◆ FREQUENCE_CONSTRAINT_SMALL

IntervalConstraint FrequenciesSet::FREQUENCE_CONSTRAINT_SMALL
staticinherited

The documentation for this class was generated from the following files: