bpp-phyl3  3.0.0
bpp::AbstractPhyloLikelihoodSet Class Referenceabstract

The PhyloLikelihoodSet class, to manage a subset of PhyloLikelihoods from a given PhyloLikelihoodContainer. More...

#include <Bpp/Phyl/Likelihood/PhyloLikelihoods/PhyloLikelihoodSet.h>

+ Inheritance diagram for bpp::AbstractPhyloLikelihoodSet:
+ Collaboration diagram for bpp::AbstractPhyloLikelihoodSet:

Public Member Functions

 AbstractPhyloLikelihoodSet (Context &context, std::shared_ptr< PhyloLikelihoodContainer > pC, bool inCollection=true, const std::string &prefix="")
 
 AbstractPhyloLikelihoodSet (Context &context, std::shared_ptr< PhyloLikelihoodContainer > pC, const std::vector< size_t > &nPhylo, bool inCollection=true, const std::string &prefix="")
 
virtual ~AbstractPhyloLikelihoodSet ()
 
std::shared_ptr< PhyloLikelihoodContainergetPhyloContainer () override
 
std::shared_ptr< const PhyloLikelihoodContainergetPhyloContainer () const override
 
const std::vector< size_t > & getNumbersOfPhyloLikelihoods () const override
 
virtual bool addPhyloLikelihood (size_t nPhyl, const std::string &suff="") override
 adds a PhyloLikelihood already stored in the PhyloLikelihoodContainer, iff it is an AbstractPhyloLikelihood. More...
 
virtual PhyloLikelihoodSetInterfaceclone () const =0
 
virtual LikelihoodCalculationlikelihoodCalculation () const =0
 
virtual std::shared_ptr< LikelihoodCalculationgetLikelihoodCalculation () const =0
 
virtual void enableSecondOrderDerivatives (bool yn)=0
 
virtual bool enableSecondOrderDerivatives () const=0
 
virtual double getSecondOrderDerivative (const std::string &variable) const=0
 
virtual double getSecondOrderDerivative (const std::string &variable1, const std::string &variable2) const=0
 
virtual double d2f (const std::string &variable, const ParameterList &parameters)
 
virtual double d2f (const std::string &variable1, const std::string &variable2, const ParameterList &parameters)
 
virtual void enableFirstOrderDerivatives (bool yn)=0
 
virtual bool enableFirstOrderDerivatives () const=0
 
virtual double getFirstOrderDerivative (const std::string &variable) const=0
 
virtual double df (const std::string &variable, const ParameterList &parameters)
 
virtual void setParameters (const ParameterList &parameters)=0
 
virtual double getValue () const=0
 
virtual double f (const ParameterList &parameters)
 
virtual bool hasParameter (const std::string &name) const=0
 
virtual const ParameterListgetParameters () const=0
 
virtual const Parameterparameter (const std::string &name) const=0
 
virtual double getParameterValue (const std::string &name) const=0
 
virtual void setAllParametersValues (const ParameterList &parameters)=0
 
virtual void setParameterValue (const std::string &name, double value)=0
 
virtual void setParametersValues (const ParameterList &parameters)=0
 
virtual bool matchParametersValues (const ParameterList &parameters)=0
 
virtual void removeConstraint (const std::string &name)=0
 
virtual void setConstraint (const std::string &name, std::shared_ptr< ConstraintInterface > constraint)=0
 
virtual size_t getNumberOfParameters () const=0
 
virtual void setNamespace (const std::string &prefix)=0
 
virtual std::string getNamespace () const=0
 
virtual std::string getParameterNameWithoutNamespace (const std::string &name) const=0
 
const Contextcontext () const override
 
Contextcontext () override
 
void shareParameters (const ParameterList &variableNodes)
 Share Parameters, that are DF_parameters. More...
 
void setParameters (const ParameterList &parameters) override
 
ValueRef< DataLikgetLikelihoodNode () const override
 
virtual void enableFirstOrderDerivatives (bool yn) override
 Tell if derivatives must be computed: for Function inheritance. More...
 
bool enableFirstOrderDerivatives () const override
 
virtual void enableSecondOrderDerivatives (bool yn) override
 
bool enableSecondOrderDerivatives () const override
 
double getValue () const override
 
double getFirstOrderDerivative (const std::string &variable) const override
 
ValueRef< DataLikfirstOrderDerivativeNode (const std::string &variable) const
 
double getSecondOrderDerivative (const std::string &variable) const override
 
double getSecondOrderDerivative (const std::string &variable1, const std::string &variable2) const override
 
ValueRef< DataLiksecondOrderDerivativeNode (const std::string &variable1, const std::string &variable2) const
 
bool hasParameter (const std::string &name) const override
 
const ParameterListgetParameters () const override
 
const Parameterparameter (const std::string &name) const override
 
const std::shared_ptr< Parameter > & getParameter (const std::string &name) const
 
double getParameterValue (const std::string &name) const override
 
void setAllParametersValues (const ParameterList &parameters) override
 
void setParameterValue (const std::string &name, double value) override
 
void setParametersValues (const ParameterList &parameters) override
 
bool matchParametersValues (const ParameterList &parameters) override
 
void removeConstraint (const std::string &name) override
 
void setConstraint (const std::string &name, std::shared_ptr< ConstraintInterface > constraint) override
 
size_t getNumberOfParameters () const override
 
void setNamespace (const std::string &prefix) override
 
std::string getNamespace () const override
 
std::string getParameterNameWithoutNamespace (const std::string &name) const override
 
virtual Clonableclone () const=0
 
The PhyloLikelihood storage.
bool hasPhyloLikelihood (size_t nPhyl) override
 
std::shared_ptr< const PhyloLikelihoodInterfacegetPhyloLikelihood (size_t nPhyl) const override
 
std::shared_ptr< PhyloLikelihoodInterfacegetPhyloLikelihood (size_t nPhyl) override
 
Inherited from PhyloLikelihood
bool isInitialized () const override
 
virtual void fireParameterChanged (const ParameterList &params) override
 
Retrieve some particular parameters subsets.
ParameterList getNonDerivableParameters () const override
 
ParameterList getDerivableParameters () const override
 
ParameterList getBranchLengthParameters () const override
 Get the branch lengths parameters. More...
 
ParameterList getSubstitutionModelParameters () const override
 Get the parameters associated to substitution model(s). More...
 
ParameterList getRateDistributionParameters () const override
 Get the parameters associated to the rate distribution(s). More...
 
ParameterList getRootFrequenciesParameters () const override
 Get the parameters associated to the root frequencies(s). More...
 
The data functions
virtual const Contextcontext () const =0
 
virtual Contextcontext ()=0
 
The likelihood functions.
virtual ValueRef< DataLikgetLikelihoodNode () const =0
 
double getLogLikelihood () const
 Get the logarithm of the likelihood for the whole dataset. More...
 

Protected Member Functions

 AbstractPhyloLikelihoodSet (const AbstractPhyloLikelihoodSet &sd)
 
AbstractPhyloLikelihoodSetoperator= (const AbstractPhyloLikelihoodSet &sd)
 
virtual ParameterListgetParameters_ ()=0
 
Node_DFaccessVariableNode (const std::string &name) const
 
const std::shared_ptr< Parameter > & getParameter (size_t i) const
 
std::shared_ptr< Parameter > & getParameter (size_t i)
 
virtual void addParameter_ (Parameter *parameter)
 
virtual void addParameters_ (const ParameterList &parameters)
 
virtual void shareParameter_ (const std::shared_ptr< Parameter > &parameter)
 
virtual void shareParameters_ (const ParameterList &parameters)
 
virtual void includeParameters_ (const ParameterList &parameters)
 
virtual void deleteParameter_ (size_t index)
 
virtual void deleteParameter_ (std::string &name)
 
virtual void deleteParameters_ (const std::vector< std::string > &names)
 
void resetParameters_ ()
 
ParametergetParameter_ (const std::string &name)
 
ParametergetParameter_ (size_t index)
 
const ParametergetParameter_ (size_t index) const
 
ParametergetParameterWithNamespace_ (const std::string &name)
 
const ParametergetParameterWithNamespace_ (const std::string &name) const
 
ParameterListgetParameters_ () override
 

Static Protected Member Functions

static Node_DFaccessVariableNode (const Parameter &param)
 

Protected Attributes

std::shared_ptr< PhyloLikelihoodContainerpPhyloCont_
 pointer to a PhyloLikelihoodContainer More...
 
std::vector< size_t > nPhylo_
 vector of AbstractPhyloLikelihood numbers More...
 
std::vector< std::shared_ptr< LikelihoodCalculation > > vLikCal_
 
Contextcontext_
 
DataLik minusLogLik_
 the value More...
 
std::unordered_map< std::string, ValueRef< DataLik > > firstOrderDerivativeNodes_
 For Dataflow computing. More...
 
std::unordered_map< std::pair< std::string, std::string >, ValueRef< DataLik >, StringPairHashsecondOrderDerivativeNodes_
 

Private Attributes

ParameterList parameters_
 
std::string prefix_
 

Detailed Description

The PhyloLikelihoodSet class, to manage a subset of PhyloLikelihoods from a given PhyloLikelihoodContainer.

Definition at line 65 of file PhyloLikelihoodSet.h.

Constructor & Destructor Documentation

◆ AbstractPhyloLikelihoodSet() [1/3]

AbstractPhyloLikelihoodSet::AbstractPhyloLikelihoodSet ( Context context,
std::shared_ptr< PhyloLikelihoodContainer pC,
bool  inCollection = true,
const std::string &  prefix = "" 
)
Parameters
contextthe Context
pCPhyloLikelihoodContainer from which the Set is buit
inCollection: avoid suffix addition to parameter names
prefixoptional string

Definition at line 10 of file PhyloLikelihoodSet.cpp.

References addPhyloLikelihood(), getNumbersOfPhyloLikelihoods(), getPhyloContainer(), and bpp::TextTools::toString().

◆ AbstractPhyloLikelihoodSet() [2/3]

AbstractPhyloLikelihoodSet::AbstractPhyloLikelihoodSet ( Context context,
std::shared_ptr< PhyloLikelihoodContainer pC,
const std::vector< size_t > &  nPhylo,
bool  inCollection = true,
const std::string &  prefix = "" 
)

Definition at line 27 of file PhyloLikelihoodSet.cpp.

References addPhyloLikelihood(), and bpp::TextTools::toString().

◆ ~AbstractPhyloLikelihoodSet()

virtual bpp::AbstractPhyloLikelihoodSet::~AbstractPhyloLikelihoodSet ( )
inlinevirtual

Definition at line 107 of file PhyloLikelihoodSet.h.

◆ AbstractPhyloLikelihoodSet() [3/3]

bpp::AbstractPhyloLikelihoodSet::AbstractPhyloLikelihoodSet ( const AbstractPhyloLikelihoodSet sd)
inlineprotected

Definition at line 110 of file PhyloLikelihoodSet.h.

Member Function Documentation

◆ accessVariableNode() [1/2]

◆ accessVariableNode() [2/2]

Node_DF& bpp::AbstractPhyloLikelihood::accessVariableNode ( const std::string &  name) const
inlineprotectedinherited

◆ addPhyloLikelihood()

bool AbstractPhyloLikelihoodSet::addPhyloLikelihood ( size_t  nPhyl,
const std::string &  suff = "" 
)
overridevirtual

◆ clone()

◆ context() [1/4]

virtual const Context& bpp::PhyloLikelihoodInterface::context ( ) const
pure virtualinherited

◆ context() [2/4]

◆ context() [3/4]

Context& bpp::AbstractPhyloLikelihood::context ( )
inlineoverridevirtualinherited

◆ context() [4/4]

virtual Context& bpp::PhyloLikelihoodInterface::context ( )
pure virtualinherited

◆ enableFirstOrderDerivatives() [1/2]

bool bpp::AbstractPhyloLikelihood::enableFirstOrderDerivatives ( ) const
inlineoverridevirtualinherited

Implements bpp::SecondOrderDerivable.

Definition at line 115 of file AbstractPhyloLikelihood.h.

◆ enableFirstOrderDerivatives() [2/2]

virtual void bpp::AbstractPhyloLikelihood::enableFirstOrderDerivatives ( bool  yn)
inlineoverridevirtualinherited

Tell if derivatives must be computed: for Function inheritance.

Implements bpp::SecondOrderDerivable.

Definition at line 113 of file AbstractPhyloLikelihood.h.

◆ enableSecondOrderDerivatives() [1/2]

bool bpp::AbstractPhyloLikelihood::enableSecondOrderDerivatives ( ) const
inlineoverridevirtualinherited

Implements bpp::SecondOrderDerivable.

Definition at line 116 of file AbstractPhyloLikelihood.h.

◆ enableSecondOrderDerivatives() [2/2]

virtual void bpp::AbstractPhyloLikelihood::enableSecondOrderDerivatives ( bool  yn)
inlineoverridevirtualinherited

Implements bpp::SecondOrderDerivable.

Definition at line 114 of file AbstractPhyloLikelihood.h.

◆ fireParameterChanged()

virtual void bpp::AbstractPhyloLikelihoodSet::fireParameterChanged ( const ParameterList params)
inlineoverridevirtual

◆ firstOrderDerivativeNode()

◆ getBranchLengthParameters()

ParameterList AbstractPhyloLikelihoodSet::getBranchLengthParameters ( ) const
overridevirtual

Get the branch lengths parameters.

Returns
A ParameterList with all branch lengths.

Implements bpp::PhyloLikelihoodInterface.

Definition at line 107 of file PhyloLikelihoodSet.cpp.

References getPhyloLikelihood(), bpp::ParameterList::includeParameters(), and nPhylo_.

◆ getDerivableParameters()

ParameterList AbstractPhyloLikelihoodSet::getDerivableParameters ( ) const
overridevirtual

◆ getFirstOrderDerivative()

double bpp::AbstractPhyloLikelihood::getFirstOrderDerivative ( const std::string &  variable) const
inlineoverridevirtualinherited

◆ getLikelihoodCalculation()

◆ getLikelihoodNode() [1/2]

virtual ValueRef<DataLik> bpp::PhyloLikelihoodInterface::getLikelihoodNode ( ) const
pure virtualinherited
Returns
the LikDF node where the Likelihood is computed.

Implemented in bpp::AbstractPhyloLikelihood.

◆ getLikelihoodNode() [2/2]

ValueRef<DataLik> bpp::AbstractPhyloLikelihood::getLikelihoodNode ( ) const
inlineoverridevirtualinherited

◆ getLogLikelihood()

double bpp::PhyloLikelihoodInterface::getLogLikelihood ( ) const
inlineinherited

Get the logarithm of the likelihood for the whole dataset.

Returns
The logarithm of the likelihood of the dataset.

Definition at line 66 of file PhyloLikelihood.h.

References bpp::SecondOrderDerivable::getValue().

◆ getNonDerivableParameters()

ParameterList AbstractPhyloLikelihoodSet::getNonDerivableParameters ( ) const
overridevirtual

◆ getNumbersOfPhyloLikelihoods()

const std::vector<size_t>& bpp::AbstractPhyloLikelihoodSet::getNumbersOfPhyloLikelihoods ( ) const
inlineoverridevirtual

◆ getPhyloContainer() [1/2]

std::shared_ptr<const PhyloLikelihoodContainer> bpp::AbstractPhyloLikelihoodSet::getPhyloContainer ( ) const
inlineoverridevirtual

Implements bpp::PhyloLikelihoodSetInterface.

Definition at line 134 of file PhyloLikelihoodSet.h.

References pPhyloCont_.

◆ getPhyloContainer() [2/2]

◆ getPhyloLikelihood() [1/2]

◆ getPhyloLikelihood() [2/2]

std::shared_ptr<PhyloLikelihoodInterface> bpp::AbstractPhyloLikelihoodSet::getPhyloLikelihood ( size_t  nPhyl)
inlineoverridevirtual

Implements bpp::PhyloLikelihoodSetInterface.

Definition at line 175 of file PhyloLikelihoodSet.h.

References pPhyloCont_.

◆ getRateDistributionParameters()

ParameterList AbstractPhyloLikelihoodSet::getRateDistributionParameters ( ) const
overridevirtual

Get the parameters associated to the rate distribution(s).

Returns
A ParameterList.

Implements bpp::PhyloLikelihoodInterface.

Definition at line 129 of file PhyloLikelihoodSet.cpp.

References getPhyloLikelihood(), bpp::ParameterList::includeParameters(), and nPhylo_.

◆ getRootFrequenciesParameters()

ParameterList AbstractPhyloLikelihoodSet::getRootFrequenciesParameters ( ) const
overridevirtual

Get the parameters associated to the root frequencies(s).

Returns
A ParameterList.

Implements bpp::PhyloLikelihoodInterface.

Definition at line 140 of file PhyloLikelihoodSet.cpp.

References getPhyloLikelihood(), bpp::ParameterList::includeParameters(), and nPhylo_.

◆ getSecondOrderDerivative() [1/2]

double bpp::AbstractPhyloLikelihood::getSecondOrderDerivative ( const std::string &  variable) const
inlineoverridevirtualinherited

Implements bpp::SecondOrderDerivable.

Definition at line 155 of file AbstractPhyloLikelihood.h.

◆ getSecondOrderDerivative() [2/2]

double bpp::AbstractPhyloLikelihood::getSecondOrderDerivative ( const std::string &  variable1,
const std::string &  variable2 
) const
inlineoverridevirtualinherited

◆ getSubstitutionModelParameters()

ParameterList AbstractPhyloLikelihoodSet::getSubstitutionModelParameters ( ) const
overridevirtual

Get the parameters associated to substitution model(s).

Returns
A ParameterList.

Implements bpp::PhyloLikelihoodInterface.

Definition at line 118 of file PhyloLikelihoodSet.cpp.

References getPhyloLikelihood(), bpp::ParameterList::includeParameters(), and nPhylo_.

◆ getValue()

double bpp::AbstractPhyloLikelihood::getValue ( ) const
inlineoverridevirtualinherited

◆ hasPhyloLikelihood()

bool bpp::AbstractPhyloLikelihoodSet::hasPhyloLikelihood ( size_t  nPhyl)
inlineoverridevirtual

Implements bpp::PhyloLikelihoodSetInterface.

Definition at line 164 of file PhyloLikelihoodSet.h.

References nPhylo_.

Referenced by bpp::PhyloLikelihoodFormula::readFormula().

◆ isInitialized()

bool bpp::AbstractPhyloLikelihoodSet::isInitialized ( ) const
inlineoverridevirtual
Returns
'true' is the likelihood function has been initialized.

Reimplemented from bpp::AbstractPhyloLikelihood.

Definition at line 197 of file PhyloLikelihoodSet.h.

References getPhyloLikelihood(), and nPhylo_.

◆ likelihoodCalculation()

◆ operator=()

◆ secondOrderDerivativeNode()

ValueRef<DataLik> bpp::AbstractPhyloLikelihood::secondOrderDerivativeNode ( const std::string &  variable1,
const std::string &  variable2 
) const
inlineinherited

◆ setParameters()

void bpp::AbstractPhyloLikelihood::setParameters ( const ParameterList parameters)
inlineoverridevirtualinherited

◆ shareParameters()

void bpp::AbstractPhyloLikelihood::shareParameters ( const ParameterList variableNodes)
inlineinherited

Member Data Documentation

◆ context_

◆ firstOrderDerivativeNodes_

std::unordered_map<std::string, ValueRef<DataLik> > bpp::AbstractPhyloLikelihood::firstOrderDerivativeNodes_
mutableprotectedinherited

For Dataflow computing.

Definition at line 44 of file AbstractPhyloLikelihood.h.

Referenced by bpp::AbstractPhyloLikelihood::firstOrderDerivativeNode().

◆ minusLogLik_

DataLik bpp::AbstractPhyloLikelihood::minusLogLik_
mutableprotectedinherited

◆ nPhylo_

◆ pPhyloCont_

◆ secondOrderDerivativeNodes_

std::unordered_map<std::pair<std::string, std::string>, ValueRef<DataLik>, StringPairHash> bpp::AbstractPhyloLikelihood::secondOrderDerivativeNodes_
mutableprotectedinherited

◆ vLikCal_

std::vector<std::shared_ptr<LikelihoodCalculation> > bpp::AbstractPhyloLikelihoodSet::vLikCal_
mutableprotected

vector of pointers towards LikelihoodCalculation, used for the global likelihood.

Definition at line 85 of file PhyloLikelihoodSet.h.

Referenced by addPhyloLikelihood(), bpp::PartitionProcessPhyloLikelihood::makeLikCal_(), and operator=().


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