bpp-seq  2.1.0
bpp::ProteicAlphabet Class Reference

This alphabet is used to deal with proteins. More...

#include <Bpp/Seq/Alphabet/ProteicAlphabet.h>

+ Inheritance diagram for bpp::ProteicAlphabet:
+ Collaboration diagram for bpp::ProteicAlphabet:

List of all members.

Public Member Functions

 ProteicAlphabet ()
virtual ~ProteicAlphabet ()
unsigned int getSize () const
 Get the number of resolved states in the alphabet (e.g. return 4 for DNA alphabet). This is the method you'll need in most cases.
unsigned int getNumberOfTypes () const
 Get the number of distinct states in alphabet (e.g. return 15 for DNA alphabet). This is the number of integers used for state description.
int getUnknownCharacterCode () const
std::vector< int > getAlias (int state) const throw (BadIntException)
 Get all resolved states that match a generic state.
std::vector< std::string > getAlias (const std::string &state) const throw (BadCharException)
 Get all resolved states that match a generic state.
int getGeneric (const std::vector< int > &states) const throw (BadIntException)
 Get the generic state that match a set of states.
std::string getGeneric (const std::vector< std::string > &states) const throw (BadCharException)
 Get the generic state that match a set of states.
bool isUnresolved (int state) const
bool isUnresolved (const std::string &state) const
std::string getAlphabetType () const
 Identification method.
bool isCharInAlphabet (char state) const
bool isCharInAlphabet (const std::string &state) const
 Tell if a state (specified by its string description) is allowed by the the alphabet.
int charToInt (const std::string &state) const throw (BadCharException)
 Give the int description of a state given its string description.
Specific methods
std::string getAbbr (const std::string &aa) const throw (AlphabetException)
 Get the abbreviation (3 letter code) for a state coded as char.
std::string getAbbr (int aa) const throw (AlphabetException)
 Get the abbreviation (3 letter code) for a state coded as int.
Implement these methods from the Alphabet interface.
unsigned int getNumberOfChars () const
 Get the number of supported characters in this alphabet, including generic characters (e.g. return 20 for DNA alphabet).
std::string getName (const std::string &state) const throw (BadCharException)
 Get the complete name of a state given its string description.
std::string getName (int state) const throw (BadIntException)
 Get the complete name of a state given its int description.
std::string intToChar (int state) const throw (BadIntException)
 Give the string description of a state given its int description.
bool isIntInAlphabet (int state) const
 Tell if a state (specified by its int description) is allowed by the the alphabet.
const std::vector< int > & getSupportedInts () const
const std::vector< std::string > & getSupportedChars () const
int getGapCharacterCode () const
bool isGap (int state) const
bool isGap (const std::string &state) const

Protected Member Functions

void registerState (const AlphabetState &st)
 Add a state to the Alphabet.
void setState (size_t pos, const AlphabetState &st) throw (IndexOutOfBoundsException)
 Set a state in the Alphabet.
void resize (unsigned int size)
 Resize the private alphabet_ vector.
virtual AlphabetStategetStateAt (size_t pos) throw (IndexOutOfBoundsException)
 Get a state at a position in the alphabet_ vector.
virtual const AlphabetStategetStateAt (size_t pos) const throw (IndexOutOfBoundsException)
 Get a state at a position in the alphabet_ vector.
void remap ()
 Re-update the maps using the alphabet_ vector content.
unsigned int getStateCodingSize () const
 Get the size of the string coding a state.

Protected Attributes

Available codes

These vectors will be computed the first time you call the getAvailableInts or getAvailableChars method.

std::vector< std::string > charList_
std::vector< int > intList_

Overloaded methods from AbstractAlphabet

const ProteicAlphabetStategetState (const std::string &letter) const throw (BadCharException)
 Get a state by its letter.
const ProteicAlphabetStategetState (int num) const throw (BadIntException)
 Get a state by its num.
const ProteicAlphabetStategetStateAt (unsigned int pos) const throw (IndexOutOfBoundsException)
ProteicAlphabetStategetStateAt (unsigned int pos) throw (IndexOutOfBoundsException)

Detailed Description

This alphabet is used to deal with proteins.

It supports all 20 amino-acids with their standard denomination. Gaps are coded by '-', unresolved characters are coded by 'X'.

Definition at line 59 of file ProteicAlphabet.h.


Constructor & Destructor Documentation

Definition at line 55 of file ProteicAlphabet.cpp.

virtual bpp::ProteicAlphabet::~ProteicAlphabet ( ) [inline, virtual]

Definition at line 95 of file ProteicAlphabet.h.


Member Function Documentation

string ProteicAlphabet::getAbbr ( const std::string &  aa) const throw (AlphabetException)

Get the abbreviation (3 letter code) for a state coded as char.

Parameters:
aaChar description of the amino-acid to analyse.

Definition at line 93 of file ProteicAlphabet.cpp.

References bpp::TextTools::toUpper().

string ProteicAlphabet::getAbbr ( int  aa) const throw (AlphabetException)

Get the abbreviation (3 letter code) for a state coded as int.

Parameters:
aaInt description of the amino-acid to analyse.

Definition at line 101 of file ProteicAlphabet.cpp.

vector< int > ProteicAlphabet::getAlias ( int  state) const throw (BadIntException) [virtual]

Get all resolved states that match a generic state.

If the given state is not a generic code then the output vector will contain this unique code.

Parameters:
stateThe alias to resolve.
Returns:
A vector of resolved states.
Exceptions:
BadIntExceptionWhen state is not a valid integer.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 108 of file ProteicAlphabet.cpp.

vector< string > ProteicAlphabet::getAlias ( const std::string &  state) const throw (BadCharException) [virtual]

Get all resolved states that match a generic state.

If the given state is not a generic code then the output vector will contain this unique code.

Parameters:
stateThe alias to resolve.
Returns:
A vector of resolved states.
Exceptions:
BadCharExceptionWhen state is not a valid char description.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 127 of file ProteicAlphabet.cpp.

References bpp::TextTools::toUpper().

std::string bpp::ProteicAlphabet::getAlphabetType ( ) const [inline, virtual]

Identification method.

Used to tell if two alphabets describe the same type of sequences. For instance, this method is used by sequence containers to compare two alphabets and allow or deny addition of sequences.

Returns:
A text describing the alphabet.

Implements bpp::Alphabet.

Definition at line 107 of file ProteicAlphabet.h.

int bpp::AbstractAlphabet::getGapCharacterCode ( ) const [inline, virtual, inherited]
Returns:
The int code for gap characters.

Implements bpp::Alphabet.

Definition at line 132 of file AbstractAlphabet.h.

Referenced by bpp::SequenceTools::replaceStopsWithGaps().

int ProteicAlphabet::getGeneric ( const std::vector< int > &  states) const throw (BadIntException) [virtual]

Get the generic state that match a set of states.

If the given states contain generic code, each generic code is first resolved and then the new generic state is returned. If only a single resolved state is given the function return this state.

Parameters:
statesA vector of states to resolve.
Returns:
A int code for the computed state.
Exceptions:
BadIntExceptionWhen a state is not a valid integer.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 150 of file ProteicAlphabet.cpp.

References bpp::MapTools::getKeys(), and bpp::TextTools::toString().

string ProteicAlphabet::getGeneric ( const std::vector< std::string > &  states) const throw (BadCharException) [virtual]

Get the generic state that match a set of states.

If the given states contain generic code, each generic code is first resolved and then the new generic state is returned. If only a single resolved state is given the function return this state.

Parameters:
statesA vector of states to resolve.
Returns:
A string code for the computed state.
Exceptions:
BadCharExceptionwhen a state is not a valid char description.
CharStateNotSupportedExceptionwhen the alphabet does not support Char state for unresolved state.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 182 of file ProteicAlphabet.cpp.

References bpp::MapTools::getKeys(), and bpp::TextTools::toString().

std::string AbstractAlphabet::getName ( const std::string &  state) const throw (BadCharException) [virtual, inherited]

Get the complete name of a state given its string description.

In case of several states with identical number (i.e. N and X for nucleic alphabets), this method will return the name of the first found in the vector.

Parameters:
stateThe string description of the given state.
Returns:
The name of the state.
Exceptions:
BadCharExceptionWhen state is not a valid char description.

Implements bpp::Alphabet.

Reimplemented in bpp::WordAlphabet.

Definition at line 123 of file AbstractAlphabet.cpp.

Referenced by bpp::WordAlphabet::getName().

std::string AbstractAlphabet::getName ( int  state) const throw (BadIntException) [virtual, inherited]

Get the complete name of a state given its int description.

In case of several states with identical number (i.e. N and X for nucleic alphabets), this method returns the name of the first found in the vector.

Parameters:
stateThe int description of the given state.
Returns:
The name of the state.
Exceptions:
BadIntExceptionWhen state is not a valid integer.

Implements bpp::Alphabet.

Definition at line 130 of file AbstractAlphabet.cpp.

unsigned int bpp::ProteicAlphabet::getNumberOfTypes ( ) const [inline, virtual]

Get the number of distinct states in alphabet (e.g. return 15 for DNA alphabet). This is the number of integers used for state description.

Returns:
The number of distinct states.

Implements bpp::Alphabet.

Definition at line 99 of file ProteicAlphabet.h.

unsigned int bpp::ProteicAlphabet::getSize ( ) const [inline, virtual]

Get the number of resolved states in the alphabet (e.g. return 4 for DNA alphabet). This is the method you'll need in most cases.

Returns:
The number of resolved states.

Implements bpp::Alphabet.

Definition at line 98 of file ProteicAlphabet.h.

const ProteicAlphabetState& bpp::ProteicAlphabet::getState ( const std::string &  letter) const throw (BadCharException) [inline, virtual]

Get a state by its letter.

This method must be overloaded in specialized classes to send back a reference of the corect type.

Parameters:
letterThe letter of the state to find.
Exceptions:
BadCharExceptionIf the letter is not in the Alphabet.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 67 of file ProteicAlphabet.h.

Referenced by getState().

const ProteicAlphabetState& bpp::ProteicAlphabet::getState ( int  num) const throw (BadIntException) [inline, virtual]

Get a state by its num.

This method must be overloaded in specialized classes to send back a reference of the corect type.

Parameters:
numThe num of the state to find.
Exceptions:
BadIntExceptionIf the num is not in the Alphabet.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 73 of file ProteicAlphabet.h.

References getState().

const ProteicAlphabetState& bpp::ProteicAlphabet::getStateAt ( unsigned int  pos) const throw (IndexOutOfBoundsException) [inline, protected]

Definition at line 80 of file ProteicAlphabet.h.

Referenced by getStateAt().

ProteicAlphabetState& bpp::ProteicAlphabet::getStateAt ( unsigned int  pos) throw (IndexOutOfBoundsException) [inline, protected]

Definition at line 86 of file ProteicAlphabet.h.

References getStateAt().

AlphabetState & AbstractAlphabet::getStateAt ( size_t  pos) throw (IndexOutOfBoundsException) [protected, virtual, inherited]

Get a state at a position in the alphabet_ vector.

This method must be overloaded in specialized classes to send back a reference of the corect type.

Parameters:
posThe index of the state in the alphabet_ vector.
Exceptions:
IndexOutOfBoundsExceptionIf pos is out of the vector.

Definition at line 107 of file AbstractAlphabet.cpp.

Referenced by bpp::WordAlphabet::build_(), bpp::EchinodermMitochondrialCodonAlphabet::EchinodermMitochondrialCodonAlphabet(), bpp::InvertebrateMitochondrialCodonAlphabet::InvertebrateMitochondrialCodonAlphabet(), bpp::StandardCodonAlphabet::StandardCodonAlphabet(), bpp::VertebrateMitochondrialCodonAlphabet::VertebrateMitochondrialCodonAlphabet(), and bpp::YeastMitochondrialCodonAlphabet::YeastMitochondrialCodonAlphabet().

const AlphabetState & AbstractAlphabet::getStateAt ( size_t  pos) const throw (IndexOutOfBoundsException) [protected, virtual, inherited]

Get a state at a position in the alphabet_ vector.

This method must be overloaded in specialized classes to send back a reference of the corect type.

Parameters:
posThe index of the state in the alphabet_ vector.
Exceptions:
IndexOutOfBoundsExceptionIf pos is out of the vector.

Definition at line 115 of file AbstractAlphabet.cpp.

unsigned int bpp::AbstractAlphabet::getStateCodingSize ( ) const [inline, protected, virtual, inherited]

Get the size of the string coding a state.

Returns:
The size of the tring coding each states in the Alphabet.
Author:
Sylvain Gaillard

Implements bpp::Alphabet.

Reimplemented in bpp::WordAlphabet.

Definition at line 213 of file AbstractAlphabet.h.

const std::vector< std::string > & AbstractAlphabet::getSupportedChars ( ) const [virtual, inherited]
Returns:
A list of all supported character codes.

Note for developers of new alphabets: we return a const reference here since the list is supposed to be stored within the class and should not be modified outside the class.

Implements bpp::Alphabet.

Definition at line 260 of file AbstractAlphabet.cpp.

Referenced by bpp::CaseMaskedAlphabet::CaseMaskedAlphabet().

const std::vector< int > & AbstractAlphabet::getSupportedInts ( ) const [virtual, inherited]
Returns:
A list of all supported int codes.

Note for developers of new alphabets: we return a const reference here since the list is supposed to be stored within the class and should not be modified outside the class.

Implements bpp::Alphabet.

Definition at line 243 of file AbstractAlphabet.cpp.

int bpp::ProteicAlphabet::getUnknownCharacterCode ( ) const [inline, virtual]
Returns:
The int code for unknown characters.

Implements bpp::Alphabet.

Definition at line 100 of file ProteicAlphabet.h.

bool bpp::LetterAlphabet::isCharInAlphabet ( const std::string &  state) const [inline, virtual, inherited]

Tell if a state (specified by its string description) is allowed by the the alphabet.

Parameters:
stateThe string description.
Returns:
'true' if the state in known.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 73 of file LetterAlphabet.h.

References bpp::LetterAlphabet::isCharInAlphabet().

bool bpp::AbstractAlphabet::isGap ( int  state) const [inline, virtual, inherited]
Parameters:
stateThe state to test.
Returns:
'True' if the state is a gap.

Implements bpp::Alphabet.

Reimplemented in bpp::RNY.

Definition at line 133 of file AbstractAlphabet.h.

bool bpp::AbstractAlphabet::isGap ( const std::string &  state) const [inline, virtual, inherited]
Parameters:
stateThe state to test.
Returns:
'True' if the state is a gap.

Implements bpp::Alphabet.

Definition at line 134 of file AbstractAlphabet.h.

References bpp::AbstractAlphabet::charToInt().

bool AbstractAlphabet::isIntInAlphabet ( int  state) const [virtual, inherited]

Tell if a state (specified by its int description) is allowed by the the alphabet.

Parameters:
stateThe int description.
Returns:
'true' if the state in known.

Implements bpp::Alphabet.

Definition at line 151 of file AbstractAlphabet.cpp.

bool bpp::ProteicAlphabet::isUnresolved ( int  state) const [inline, virtual]
Parameters:
stateThe state to test.
Returns:
'True' if the state is unresolved.

Implements bpp::Alphabet.

Definition at line 105 of file ProteicAlphabet.h.

bool bpp::ProteicAlphabet::isUnresolved ( const std::string &  state) const [inline, virtual]
Parameters:
stateThe state to test.
Returns:
'True' if the state is unresolved.

Implements bpp::Alphabet.

Definition at line 106 of file ProteicAlphabet.h.

References bpp::LetterAlphabet::charToInt().

void bpp::LetterAlphabet::registerState ( const AlphabetState st) [inline, protected, virtual, inherited]

Add a state to the Alphabet.

Parameters:
stThe state to add.

Reimplemented from bpp::AbstractAlphabet.

Reimplemented in bpp::DefaultAlphabet.

Definition at line 83 of file LetterAlphabet.h.

References bpp::LetterAlphabet::caseSensitive_, bpp::AlphabetState::getLetter(), bpp::AlphabetState::getNum(), and bpp::LetterAlphabet::letters_.

Referenced by bpp::CaseMaskedAlphabet::CaseMaskedAlphabet().

void bpp::AbstractAlphabet::remap ( ) [inline, protected, inherited]

Re-update the maps using the alphabet_ vector content.

Definition at line 207 of file AbstractAlphabet.h.

References bpp::AbstractAlphabet::alphabet_, and bpp::AbstractAlphabet::updateMaps_().

Referenced by bpp::WordAlphabet::build_().

void bpp::AbstractAlphabet::resize ( unsigned int  size) [inline, protected, inherited]

Resize the private alphabet_ vector.

Parameters:
sizeThe new size of the Alphabet.

Definition at line 182 of file AbstractAlphabet.h.

References bpp::AbstractAlphabet::alphabet_.

Referenced by bpp::BinaryAlphabet::BinaryAlphabet(), bpp::WordAlphabet::build_(), bpp::DefaultAlphabet::DefaultAlphabet(), and bpp::RNY::RNY().

void bpp::LetterAlphabet::setState ( size_t  pos,
const AlphabetState st 
) throw (IndexOutOfBoundsException) [inline, protected, virtual, inherited]

Set a state in the Alphabet.

Parameters:
posThe index of the state in the alphabet_ vector.
stThe new state to put in the Alphabet.

Reimplemented from bpp::AbstractAlphabet.

Definition at line 93 of file LetterAlphabet.h.

References bpp::LetterAlphabet::caseSensitive_, and bpp::LetterAlphabet::letters_.

Referenced by bpp::DefaultAlphabet::DefaultAlphabet().


Member Data Documentation

std::vector<std::string> bpp::AbstractAlphabet::charList_ [mutable, protected, inherited]

Definition at line 99 of file AbstractAlphabet.h.

std::vector<int> bpp::AbstractAlphabet::intList_ [mutable, protected, inherited]

Definition at line 100 of file AbstractAlphabet.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends