bpp-phyl3  3.0.0
bpp::SelectedSubstitutionRegister Class Reference

Class inheriting from GeneralSubstitutionRegister, this one uses a special constructor which allows it to build a substitution matrix from string input specifying a desired substitutions. More...

#include <Bpp/Phyl/Mapping/SubstitutionRegister.h>

+ Inheritance diagram for bpp::SelectedSubstitutionRegister:
+ Collaboration diagram for bpp::SelectedSubstitutionRegister:

Public Member Functions

 SelectedSubstitutionRegister (std::shared_ptr< const StateMapInterface > stateMap, std::string selectedSubstitutions)
 
SelectedSubstitutionRegisterclone () const
 
 ~SelectedSubstitutionRegister ()
 
std::string getTypeName (size_t type) const
 names of the types are their number. More...
 
size_t getType (size_t i, size_t j) const override
 Get the substitution type far a given pair of model states. More...
 
size_t getNumberOfSubstitutionTypes () const override
 
const StateMapInterfacestateMap () const override
 
std::shared_ptr< const StateMapInterfacegetStateMap () const override
 
const Alphabetalphabet () const override
 
std::shared_ptr< const AlphabetgetAlphabet () const override
 
const std::string & getName () const override
 Get the name of the register. More...
 

Protected Member Functions

void updateTypes_ ()
 

Protected Attributes

size_t size_
 The size of the matrix, i.e. the number of states. More...
 
RowMatrix< size_t > matrix_
 The matrix of the substitution register. More...
 
std::map< size_t, std::map< size_t, std::vector< size_t > > > types_
 The map from substitution types to the map of from states to the vector of target states. More...
 
std::shared_ptr< const StateMapInterfacestateMap_
 
std::string name_
 

Private Attributes

std::map< size_t, std::string > categoryNames_
 

Detailed Description

Class inheriting from GeneralSubstitutionRegister, this one uses a special constructor which allows it to build a substitution matrix from string input specifying a desired substitutions.

Author
Juraj Michalik

Definition at line 484 of file SubstitutionRegister.h.

Constructor & Destructor Documentation

◆ SelectedSubstitutionRegister()

bpp::SelectedSubstitutionRegister::SelectedSubstitutionRegister ( std::shared_ptr< const StateMapInterface stateMap,
std::string  selectedSubstitutions 
)
inline

This constructor creates an empty square matrix (nrow = ncol = length of alphabet) and takes a string with specific syntax to mark a substitutions with a certain index depending on the string entered.

The same group of substitution is delimited by parentheses. The name, if entered, is entered at the start of a string and followed by ";". Substitutions are delimited by ",", and each substitution is defined with a "->" symbol.

Definition at line 490 of file SubstitutionRegister.h.

References bpp::StateMapInterface::alphabet(), categoryNames_, bpp::Alphabet::getStateIndex(), bpp::StringTokenizer::hasMoreToken(), bpp::GeneralSubstitutionRegister::matrix_, bpp::StringTokenizer::nextToken(), bpp::StringTokenizer::numberOfRemainingTokens(), bpp::AbstractSubstitutionRegister::stateMap(), bpp::TextTools::toString(), and bpp::GeneralSubstitutionRegister::updateTypes_().

Referenced by clone().

◆ ~SelectedSubstitutionRegister()

bpp::SelectedSubstitutionRegister::~SelectedSubstitutionRegister ( )
inline

Definition at line 540 of file SubstitutionRegister.h.

Member Function Documentation

◆ alphabet()

const Alphabet& bpp::AbstractSubstitutionRegister::alphabet ( ) const
inlineoverridevirtualinherited
Returns
The alphabet associated to this instance.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 133 of file SubstitutionRegister.h.

References bpp::AbstractSubstitutionRegister::stateMap_.

◆ clone()

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

Reimplemented from bpp::GeneralSubstitutionRegister.

Definition at line 538 of file SubstitutionRegister.h.

References SelectedSubstitutionRegister().

◆ getAlphabet()

std::shared_ptr<const Alphabet> bpp::AbstractSubstitutionRegister::getAlphabet ( ) const
inlineoverridevirtualinherited
Returns
A shared_ptr toward the alphabet associated to this instance.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 135 of file SubstitutionRegister.h.

References bpp::AbstractSubstitutionRegister::stateMap_.

◆ getName()

const std::string& bpp::AbstractSubstitutionRegister::getName ( ) const
inlineoverridevirtualinherited

Get the name of the register.

Returns
A string describing the register.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 137 of file SubstitutionRegister.h.

References bpp::AbstractSubstitutionRegister::name_.

◆ getNumberOfSubstitutionTypes()

size_t bpp::GeneralSubstitutionRegister::getNumberOfSubstitutionTypes ( ) const
inlineoverridevirtualinherited
Returns
The number of substitution types supported by this class.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 456 of file SubstitutionRegister.h.

References bpp::GeneralSubstitutionRegister::types_.

◆ getStateMap()

std::shared_ptr<const StateMapInterface> bpp::AbstractSubstitutionRegister::getStateMap ( ) const
inlineoverridevirtualinherited
Returns
A shared_ptr toward the state map associated to this instance.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 131 of file SubstitutionRegister.h.

References bpp::AbstractSubstitutionRegister::stateMap_.

◆ getType()

size_t bpp::GeneralSubstitutionRegister::getType ( size_t  fromState,
size_t  toState 
) const
inlineoverridevirtualinherited

Get the substitution type far a given pair of model states.

Parameters
fromStateInitial state (should be a state supported by the specified alphabet).
toStateFinal state (should be a state supported by the specified alphabet).
Returns
The index of the corresponding substitution type, ranging from 0 to 'getNumberOfSubstitutionTypes' + 1, as non-substitution (that is when fromState == toState) will always return 0.

Implements bpp::SubstitutionRegisterInterface.

Definition at line 451 of file SubstitutionRegister.h.

References bpp::GeneralSubstitutionRegister::matrix_.

◆ getTypeName()

std::string bpp::SelectedSubstitutionRegister::getTypeName ( size_t  type) const
inlinevirtual

names of the types are their number.

Reimplemented from bpp::GeneralSubstitutionRegister.

Definition at line 542 of file SubstitutionRegister.h.

References categoryNames_, bpp::TextTools::toString(), and bpp::GeneralSubstitutionRegister::types_.

◆ stateMap()

◆ updateTypes_()

Member Data Documentation

◆ categoryNames_

std::map<size_t, std::string> bpp::SelectedSubstitutionRegister::categoryNames_
private

Definition at line 487 of file SubstitutionRegister.h.

Referenced by getTypeName(), and SelectedSubstitutionRegister().

◆ matrix_

◆ name_

std::string bpp::AbstractSubstitutionRegister::name_
protectedinherited

◆ size_

size_t bpp::GeneralSubstitutionRegister::size_
protectedinherited

The size of the matrix, i.e. the number of states.

Definition at line 392 of file SubstitutionRegister.h.

Referenced by bpp::GeneralSubstitutionRegister::GeneralSubstitutionRegister(), and bpp::GeneralSubstitutionRegister::operator=().

◆ stateMap_

◆ types_

std::map<size_t, std::map<size_t, std::vector<size_t> > > bpp::GeneralSubstitutionRegister::types_
protectedinherited

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