bpp-phyl  2.2.0
bpp::GCSynonymousSubstitutionRegister Class Reference

Distinguishes AT->GC vs GC->AT inside synonymous substitutions on third codon position. More...

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

+ Inheritance diagram for bpp::GCSynonymousSubstitutionRegister:
+ Collaboration diagram for bpp::GCSynonymousSubstitutionRegister:

Public Member Functions

 GCSynonymousSubstitutionRegister (const CodonSubstitutionModel *model, bool within=false)
 
 GCSynonymousSubstitutionRegister (const GCSynonymousSubstitutionRegister &reg)
 
GCSynonymousSubstitutionRegisteroperator= (const GCSynonymousSubstitutionRegister &reg)
 
GCSynonymousSubstitutionRegisterclone () const
 
size_t getNumberOfSubstitutionTypes () const
 
size_t getType (size_t fromState, size_t toState) const
 Get the substitution type far a given pair of model states. More...
 
std::string getTypeName (size_t type) const
 Get the name of a given substitution type. More...
 
virtual size_t getCategory (size_t state) const
 
virtual size_t getCategoryFrom (size_t type) const
 
virtual size_t getCategoryTo (size_t type) const
 
virtual std::string getCategoryName (size_t category) const
 
virtual bool allowWithin () const
 
size_t getNumberOfCategories () const
 
const SubstitutionModelgetSubstitutionModel () const
 
const Alphabet * getAlphabet () const
 

Protected Member Functions

template<class T >
void setCategories (const std::map< int, T > &categories)
 

Protected Attributes

bool within_
 
size_t nbCategories_
 
std::map< int, size_t > categories_
 
std::vector< std::string > categoryNames_
 
std::vector< std::vector< size_t > > index_
 
std::vector< std::vector< size_t > > revIndex_
 
const SubstitutionModelmodel_
 

Private Attributes

const GeneticCode * code_
 

Detailed Description

Distinguishes AT->GC vs GC->AT inside synonymous substitutions on third codon position.

This register has two substitution types, mapped as:

  • 0 not a counted substitution
  • 1 a AT->GC synonymous substitution
  • 2 a GC->AT synonymous substitution

Multiple substitutions are forbidden.

Definition at line 953 of file SubstitutionRegister.h.

Constructor & Destructor Documentation

◆ GCSynonymousSubstitutionRegister() [1/2]

bpp::GCSynonymousSubstitutionRegister::GCSynonymousSubstitutionRegister ( const CodonSubstitutionModel model,
bool  within = false 
)
inline

Definition at line 960 of file SubstitutionRegister.h.

References code_.

Referenced by clone().

◆ GCSynonymousSubstitutionRegister() [2/2]

bpp::GCSynonymousSubstitutionRegister::GCSynonymousSubstitutionRegister ( const GCSynonymousSubstitutionRegister reg)
inline

Definition at line 985 of file SubstitutionRegister.h.

Member Function Documentation

◆ allowWithin()

virtual bool bpp::CategorySubstitutionRegister::allowWithin ( ) const
inlinevirtualinherited

◆ clone()

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

Implements bpp::SubstitutionRegister.

Definition at line 997 of file SubstitutionRegister.h.

References GCSynonymousSubstitutionRegister().

◆ getAlphabet()

const Alphabet* bpp::AbstractSubstitutionRegister::getAlphabet ( ) const
inlinevirtualinherited
Returns
The alphabet associated to this instance.

Implements bpp::SubstitutionRegister.

Definition at line 147 of file SubstitutionRegister.h.

References bpp::SubstitutionModel::getAlphabet(), and bpp::AbstractSubstitutionRegister::model_.

◆ getCategory()

virtual size_t bpp::CategorySubstitutionRegister::getCategory ( size_t  state) const
inlinevirtualinherited

◆ getCategoryFrom()

virtual size_t bpp::CategorySubstitutionRegister::getCategoryFrom ( size_t  type) const
inlinevirtualinherited

◆ getCategoryName()

virtual std::string bpp::CategorySubstitutionRegister::getCategoryName ( size_t  category) const
inlinevirtualinherited

◆ getCategoryTo()

virtual size_t bpp::CategorySubstitutionRegister::getCategoryTo ( size_t  type) const
inlinevirtualinherited

◆ getNumberOfCategories()

size_t bpp::CategorySubstitutionRegister::getNumberOfCategories ( ) const
inlineinherited

◆ getNumberOfSubstitutionTypes()

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

Reimplemented from bpp::CategorySubstitutionRegister.

Definition at line 1000 of file SubstitutionRegister.h.

◆ getSubstitutionModel()

const SubstitutionModel* bpp::AbstractSubstitutionRegister::getSubstitutionModel ( ) const
inlinevirtualinherited
Returns
The substitution model associated to this instance.

Implements bpp::SubstitutionRegister.

Definition at line 145 of file SubstitutionRegister.h.

References bpp::AbstractSubstitutionRegister::model_.

◆ getType()

size_t bpp::GCSynonymousSubstitutionRegister::getType ( size_t  fromState,
size_t  toState 
) const
inlinevirtual

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.

Reimplemented from bpp::CategorySubstitutionRegister.

Definition at line 1002 of file SubstitutionRegister.h.

References bpp::CategorySubstitutionRegister::categories_, code_, bpp::SubstitutionModel::getAlphabetStateAsInt(), bpp::CategorySubstitutionRegister::index_, and bpp::AbstractSubstitutionRegister::model_.

◆ getTypeName()

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

Get the name of a given substitution type.

This method is only used for user-friendlyness purposes, not computational goal. I can therefore be left unimplemented in some cases.

Parameters
typeIndex of the substitution (should be an size_t contained in the register).
Returns
A string describing the substitution type.

Reimplemented from bpp::CategorySubstitutionRegister.

Definition at line 1025 of file SubstitutionRegister.h.

◆ operator=()

GCSynonymousSubstitutionRegister& bpp::GCSynonymousSubstitutionRegister::operator= ( const GCSynonymousSubstitutionRegister reg)
inline

◆ setCategories()

Member Data Documentation

◆ categories_

std::map<int, size_t> bpp::CategorySubstitutionRegister::categories_
mutableprotectedinherited

◆ categoryNames_

std::vector<std::string> bpp::CategorySubstitutionRegister::categoryNames_
protectedinherited

◆ code_

const GeneticCode* bpp::GCSynonymousSubstitutionRegister::code_
private

Definition at line 957 of file SubstitutionRegister.h.

Referenced by GCSynonymousSubstitutionRegister(), getType(), and operator=().

◆ index_

std::vector< std::vector<size_t> > bpp::CategorySubstitutionRegister::index_
protectedinherited

◆ model_

◆ nbCategories_

◆ revIndex_

std::vector< std::vector<size_t> > bpp::CategorySubstitutionRegister::revIndex_
protectedinherited

◆ within_


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