bpp-seq3
3.0.0
|
This alphabet is used to deal with proteins. More...
#include <Bpp/Seq/Alphabet/ProteicAlphabet.h>
Public Member Functions | |
ProteicAlphabet () | |
ProteicAlphabet (const ProteicAlphabet &bia) | |
ProteicAlphabet & | operator= (const ProteicAlphabet &bia) |
ProteicAlphabet * | clone () const |
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. More... | |
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. More... | |
int | getUnknownCharacterCode () const |
bool | isResolvedIn (int state1, int state2) const |
Tells if a given (potentially unresolved) state can be resolved in another resolved state. More... | |
std::vector< int > | getAlias (int state) const |
Get all resolved states that match a generic state. More... | |
std::vector< std::string > | getAlias (const std::string &state) const |
Get all resolved states that match a generic state. More... | |
int | getGeneric (const std::vector< int > &states) const |
Get the generic state that match a set of states. More... | |
std::string | getGeneric (const std::vector< std::string > &states) const |
Get the generic state that match a set of states. More... | |
bool | isUnresolved (int state) const |
bool | isUnresolved (const std::string &state) const |
std::string | getAlphabetType () const |
Identification method. More... | |
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. More... | |
int | charToInt (const std::string &state) const |
Give the int description of a state given its string description. More... | |
Specific methods | |
std::string | getAbbr (const std::string &aa) const |
Get the abbreviation (3 letter code) for a state coded as char. More... | |
std::string | getAbbr (int aa) const |
Get the abbreviation (3 letter code) for a state coded as int. More... | |
Implement these methods from the Alphabet interface. | |
size_t | getNumberOfStates () const |
This is a convenient alias for getNumberOfChars(), returning a size_t instead of unsigned int. More... | |
unsigned int | getNumberOfChars () const |
Get the number of supported characters in this alphabet, including generic characters (e.g. return 20 for DNA alphabet). More... | |
std::string | getName (const std::string &state) const |
Get the complete name of a state given its string description. More... | |
std::string | getName (int state) const |
Get the complete name of a state given its int description. More... | |
std::string | intToChar (int state) const |
Give the string description of a state given its int description. More... | |
bool | isIntInAlphabet (int state) const |
Tell if a state (specified by its int description) is allowed by the the alphabet. More... | |
const std::vector< int > & | getSupportedInts () const |
const std::vector< std::string > & | getSupportedChars () const |
const std::vector< std::string > & | getResolvedChars () const |
int | getGapCharacterCode () const |
bool | isGap (int state) const |
bool | isGap (const std::string &state) const |
Specific methods to access AlphabetState | |
AlphabetState & | getState (const std::string &letter) |
AlphabetState & | getState (int num) |
int | getIntCodeAt (size_t stateIndex) const |
const std::string & | getCharCodeAt (size_t stateIndex) const |
size_t | getStateIndex (int state) const |
size_t | getStateIndex (const std::string &state) const |
Protected Member Functions | |
void | registerState (AlphabetState *st) |
Add a state to the Alphabet. More... | |
void | setState (size_t pos, AlphabetState *st) |
Set a state in the Alphabet. More... | |
void | resize (size_t size) |
Resize the private alphabet_ vector. More... | |
void | remap () |
Re-update the maps using the alphabet_ vector content. More... | |
unsigned int | getStateCodingSize () const |
Get the size of the string coding a state. More... | |
bool | equals (const Alphabet &alphabet) const |
Comparison of alphabets. More... | |
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_ |
Private Member Functions | |
void | updateMaps_ (size_t pos, const AlphabetState &st) |
Update the private maps letters_ and nums_ when adding a state. More... | |
Private Attributes | |
std::vector< int > | letters_ |
bool | caseSensitive_ |
std::vector< AlphabetState * > | alphabet_ |
Alphabet: vector of AlphabetState. More... | |
maps used to quick search for letter and num. | |
std::map< int, size_t > | nums_ |
Static Private Attributes | |
static const int | LETTER_UNDEF_VALUE = -99 |
Overloaded methods from AbstractAlphabet | |
const ProteicAlphabetState & | getState (const std::string &letter) const |
Get a state by its letter. More... | |
const ProteicAlphabetState & | getState (int num) const |
Get a state by its num. More... | |
const ProteicAlphabetState & | getStateAt (size_t pos) const |
Get a state at a position in the alphabet_ vector. More... | |
ProteicAlphabetState & | getStateAt (size_t pos) |
Get a state at a position in the alphabet_ vector. More... | |
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'. Generic characters: B={N,D}, Z={Q,E}, J={I,L}.
Definition at line 22 of file ProteicAlphabet.h.
ProteicAlphabet::ProteicAlphabet | ( | ) |
Definition at line 19 of file ProteicAlphabet.cpp.
Referenced by clone().
|
inline |
Definition at line 65 of file ProteicAlphabet.h.
|
inlinevirtual |
Definition at line 79 of file ProteicAlphabet.h.
|
inlinevirtualinherited |
Give the int description of a state given its string description.
state | The string description. |
BadCharException | When state is not a valid char description. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 60 of file LetterAlphabet.h.
References bpp::LetterAlphabet::isCharInAlphabet(), and bpp::LetterAlphabet::letters_.
Referenced by bpp::CaseMaskedAlphabet::getMaskedEquivalentState(), bpp::NucleicAlphabet::getOverlap(), bpp::NucleicAlphabet::isUnresolved(), isUnresolved(), and bpp::NucleicAlphabet::subtract().
|
inlinevirtual |
Implements bpp::LetterAlphabet.
Definition at line 73 of file ProteicAlphabet.h.
References ProteicAlphabet().
|
inlineprotectedvirtualinherited |
Comparison of alphabets.
Implements bpp::Alphabet.
Definition at line 243 of file AbstractAlphabet.h.
References bpp::Alphabet::getAlphabetType().
string ProteicAlphabet::getAbbr | ( | const std::string & | aa | ) | const |
Get the abbreviation (3 letter code) for a state coded as char.
aa | Char description of the amino-acid to analyse. |
Definition at line 55 of file ProteicAlphabet.cpp.
References bpp::TextTools::toUpper().
string ProteicAlphabet::getAbbr | ( | int | aa | ) | const |
Get the abbreviation (3 letter code) for a state coded as int.
aa | Int description of the amino-acid to analyse. |
Definition at line 63 of file ProteicAlphabet.cpp.
|
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.
state | The alias to resolve. |
BadCharException | When state is not a valid char description. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 130 of file ProteicAlphabet.cpp.
References bpp::TextTools::toUpper().
|
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.
state | The alias to resolve. |
BadIntException | When state is not a valid integer. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 96 of file ProteicAlphabet.cpp.
|
inlinevirtual |
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.
Implements bpp::Alphabet.
Definition at line 92 of file ProteicAlphabet.h.
|
inlinevirtualinherited |
stateIndex | The index of the state to fetch. |
Implements bpp::Alphabet.
Definition at line 192 of file AbstractAlphabet.h.
References bpp::AlphabetState::getLetter(), and bpp::AbstractAlphabet::getStateAt().
|
inlinevirtualinherited |
Implements bpp::Alphabet.
Definition at line 130 of file AbstractAlphabet.h.
|
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.
states | A vector of states to resolve. |
BadIntException | When a state is not a valid integer. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 168 of file ProteicAlphabet.cpp.
References bpp::MapTools::getKeys(), and bpp::TextTools::toString().
|
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.
states | A vector of states to resolve. |
BadCharException | when a state is not a valid char description. |
CharStateNotSupportedException | when the alphabet does not support Char state for unresolved state. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 211 of file ProteicAlphabet.cpp.
References bpp::MapTools::getKeys(), and bpp::TextTools::toString().
|
inlinevirtualinherited |
stateIndex | The index of the state to fetch. |
Implements bpp::Alphabet.
Definition at line 187 of file AbstractAlphabet.h.
References bpp::AlphabetState::getNum(), and bpp::AbstractAlphabet::getStateAt().
|
virtualinherited |
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.
state | The string description of the given state. |
BadCharException | When state is not a valid char description. |
Implements bpp::Alphabet.
Reimplemented in bpp::WordAlphabet.
Definition at line 139 of file AbstractAlphabet.cpp.
Referenced by bpp::WordAlphabet::getName(), and bpp::LexicalAlphabet::LexicalAlphabet().
|
virtualinherited |
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.
state | The int description of the given state. |
BadIntException | When state is not a valid integer. |
Implements bpp::Alphabet.
Definition at line 146 of file AbstractAlphabet.cpp.
|
inlinevirtualinherited |
Get the number of supported characters in this alphabet, including generic characters (e.g. return 20 for DNA alphabet).
Implements bpp::Alphabet.
Definition at line 115 of file AbstractAlphabet.h.
References bpp::AbstractAlphabet::alphabet_.
Referenced by bpp::LexicalAlphabet::getNumberOfTypes(), bpp::AllelicAlphabet::getNumberOfTypes(), bpp::WordAlphabet::getNumberOfTypes(), bpp::LexicalAlphabet::getSize(), bpp::AllelicAlphabet::getSize(), bpp::WordAlphabet::getSize(), and bpp::NucleicAlphabet::registerState().
|
inlinevirtualinherited |
This is a convenient alias for getNumberOfChars(), returning a size_t instead of unsigned int.
This function is typically used il loops over all states of an alphabet.
Implements bpp::Alphabet.
Definition at line 114 of file AbstractAlphabet.h.
References bpp::AbstractAlphabet::alphabet_.
Referenced by bpp::LexicalAlphabet::getAlphabetType().
|
inlinevirtual |
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.
Implements bpp::Alphabet.
Definition at line 83 of file ProteicAlphabet.h.
|
virtualinherited |
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 327 of file AbstractAlphabet.cpp.
|
inlinevirtual |
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.
Implements bpp::Alphabet.
Definition at line 82 of file ProteicAlphabet.h.
|
inherited |
Definition at line 101 of file AbstractAlphabet.cpp.
|
inlinevirtual |
Get a state by its letter.
This method must be overloaded in specialized classes to send back a reference of the correct type.
letter | The letter of the state to find. |
BadCharException | If the letter is not in the Alphabet. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 31 of file ProteicAlphabet.h.
References bpp::AbstractAlphabet::getState().
|
inherited |
Definition at line 111 of file AbstractAlphabet.cpp.
|
inlinevirtual |
Get a state by its num.
This method must be overloaded in specialized classes to send back a reference of the correct type.
num | The num of the state to find. |
BadIntException | If the num is not in the Alphabet. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 38 of file ProteicAlphabet.h.
References bpp::AbstractAlphabet::getState().
|
inlineprotectedvirtual |
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 correct type.
stateIndex | The index of the state in the alphabet_ vector. |
IndexOutOfBoundsException | If the index is invalid. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 53 of file ProteicAlphabet.h.
References bpp::AbstractAlphabet::getStateAt().
|
inlineprotectedvirtual |
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 correct type.
stateIndex | The index of the state in the alphabet_ vector. |
IndexOutOfBoundsException | If the index is invalid. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 46 of file ProteicAlphabet.h.
References bpp::AbstractAlphabet::getStateAt().
|
inlineprotectedvirtualinherited |
Get the size of the string coding a state.
Implements bpp::Alphabet.
Reimplemented in bpp::WordAlphabet, bpp::CodonAlphabet, and bpp::AllelicAlphabet.
Definition at line 241 of file AbstractAlphabet.h.
|
virtualinherited |
Implements bpp::Alphabet.
Definition at line 71 of file AbstractAlphabet.cpp.
|
virtualinherited |
Implements bpp::Alphabet.
Definition at line 91 of file AbstractAlphabet.cpp.
|
virtualinherited |
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 310 of file AbstractAlphabet.cpp.
Referenced by bpp::AllelicAlphabet::getAlias().
|
virtualinherited |
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 293 of file AbstractAlphabet.cpp.
Referenced by bpp::AllelicAlphabet::getAlias().
|
inlinevirtual |
Implements bpp::Alphabet.
Definition at line 84 of file ProteicAlphabet.h.
|
virtualinherited |
Give the string description of a state given its int description.
state | The int description. |
BadIntException | When state is not a valid integer. |
Implements bpp::Alphabet.
Reimplemented in bpp::RNY.
Definition at line 160 of file AbstractAlphabet.cpp.
Referenced by bpp::RNY::getAlias(), bpp::WordAlphabet::getAlias(), bpp::CaseMaskedAlphabet::getMaskedEquivalentState(), bpp::WordAlphabet::getNPosition(), bpp::NucleicAlphabet::getOverlap(), bpp::WordAlphabet::getPositions(), bpp::WordAlphabet::getWord(), bpp::BinaryAlphabet::isResolvedIn(), and bpp::NucleicAlphabet::subtract().
|
inlineinherited |
Definition at line 52 of file LetterAlphabet.h.
References bpp::LetterAlphabet::LETTER_UNDEF_VALUE, and bpp::LetterAlphabet::letters_.
Referenced by bpp::LetterAlphabet::charToInt(), bpp::CaseMaskedAlphabet::getMaskedEquivalentState(), and bpp::LetterAlphabet::isCharInAlphabet().
|
inlinevirtualinherited |
Tell if a state (specified by its string description) is allowed by the the alphabet.
state | The string description. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 56 of file LetterAlphabet.h.
References bpp::LetterAlphabet::isCharInAlphabet().
|
inlinevirtualinherited |
state | The state to test. |
Implements bpp::Alphabet.
Definition at line 132 of file AbstractAlphabet.h.
References bpp::AbstractAlphabet::charToInt().
|
inlinevirtualinherited |
state | The state to test. |
Implements bpp::Alphabet.
Reimplemented in bpp::RNY, and bpp::NumericAlphabet.
Definition at line 131 of file AbstractAlphabet.h.
Referenced by bpp::WordAlphabet::containsGap().
|
virtualinherited |
Tell if a state (specified by its int description) is allowed by the the alphabet.
state | The int description. |
Implements bpp::Alphabet.
Definition at line 167 of file AbstractAlphabet.cpp.
Referenced by bpp::BinaryAlphabet::getAlias(), bpp::RNY::getAlias(), bpp::AllelicAlphabet::getAlias(), bpp::WordAlphabet::getAlias(), bpp::CaseMaskedAlphabet::getMaskedEquivalentState(), bpp::BinaryAlphabet::isResolvedIn(), bpp::RNY::isResolvedIn(), bpp::AllelicAlphabet::isResolvedIn(), and bpp::WordAlphabet::isResolvedIn().
|
virtual |
Tells if a given (potentially unresolved) state can be resolved in another resolved state.
state1 | The alias to resolve. |
state2 | The candidate for resolution. |
BadIntException | When state is not a valid integer. |
Reimplemented from bpp::AbstractAlphabet.
Definition at line 70 of file ProteicAlphabet.cpp.
|
inlinevirtual |
state | The state to test. |
Implements bpp::Alphabet.
Definition at line 91 of file ProteicAlphabet.h.
References bpp::LetterAlphabet::charToInt().
|
inlinevirtual |
state | The state to test. |
Implements bpp::Alphabet.
Definition at line 90 of file ProteicAlphabet.h.
|
inline |
Definition at line 67 of file ProteicAlphabet.h.
References bpp::LetterAlphabet::operator=().
|
inlineprotectedvirtualinherited |
Add a state to the Alphabet.
st | The state to add. |
Exception | If a wrong alphabet state is provided. |
Reimplemented from bpp::AbstractAlphabet.
Reimplemented in bpp::NucleicAlphabet.
Definition at line 68 of file LetterAlphabet.h.
References bpp::LetterAlphabet::caseSensitive_, bpp::AlphabetState::getLetter(), bpp::AlphabetState::getNum(), bpp::LetterAlphabet::letters_, and bpp::AbstractAlphabet::registerState().
Referenced by bpp::CaseMaskedAlphabet::CaseMaskedAlphabet(), bpp::DefaultAlphabet::DefaultAlphabet(), and bpp::NucleicAlphabet::registerState().
|
inlineprotectedinherited |
Re-update the maps using the alphabet_ vector content.
Definition at line 231 of file AbstractAlphabet.h.
References bpp::AbstractAlphabet::alphabet_, bpp::AbstractAlphabet::letters_, bpp::AbstractAlphabet::nums_, and bpp::AbstractAlphabet::updateMaps_().
Referenced by bpp::NumericAlphabet::remap().
|
inlineprotectedinherited |
Resize the private alphabet_ vector.
size | The new size of the Alphabet. |
Definition at line 226 of file AbstractAlphabet.h.
References bpp::AbstractAlphabet::alphabet_.
|
inlineprotectedvirtualinherited |
Set a state in the Alphabet.
pos | The index of the state in the alphabet_ vector. |
st | The new state to put in the Alphabet. |
Exception | If a wrong alphabet state is provided. |
IndexOutOfBoundsException | If an incorrect index is provided. |
Reimplemented from bpp::AbstractAlphabet.
Reimplemented in bpp::NucleicAlphabet.
Definition at line 82 of file LetterAlphabet.h.
References bpp::LetterAlphabet::caseSensitive_, bpp::AlphabetState::getLetter(), bpp::AlphabetState::getNum(), bpp::LetterAlphabet::letters_, and bpp::AbstractAlphabet::setState().
Referenced by bpp::NucleicAlphabet::setState().
|
privateinherited |
Update the private maps letters_ and nums_ when adding a state.
pos | The index of the state in the alphabet_ vector. |
st | The state that has been added or modified |
Definition at line 22 of file AbstractAlphabet.cpp.
References bpp::AlphabetState::getLetter(), and bpp::AlphabetState::getNum().
Referenced by bpp::AbstractAlphabet::remap().
|
privateinherited |
Alphabet: vector of AlphabetState.
Definition at line 37 of file AbstractAlphabet.h.
Referenced by bpp::AbstractAlphabet::AbstractAlphabet(), bpp::AbstractAlphabet::getNumberOfChars(), bpp::AbstractAlphabet::getNumberOfStates(), bpp::AbstractAlphabet::operator=(), bpp::AbstractAlphabet::remap(), bpp::AbstractAlphabet::resize(), and bpp::AbstractAlphabet::~AbstractAlphabet().
|
privateinherited |
Definition at line 31 of file LetterAlphabet.h.
Referenced by bpp::LetterAlphabet::operator=(), bpp::LetterAlphabet::registerState(), and bpp::LetterAlphabet::setState().
|
mutableprotectedinherited |
Definition at line 63 of file AbstractAlphabet.h.
Referenced by bpp::AbstractAlphabet::operator=().
|
mutableprotectedinherited |
Definition at line 64 of file AbstractAlphabet.h.
Referenced by bpp::AbstractAlphabet::operator=().
|
staticprivateinherited |
Definition at line 29 of file LetterAlphabet.h.
Referenced by bpp::LetterAlphabet::isCharInAlphabet().
|
privateinherited |
Definition at line 30 of file LetterAlphabet.h.
Referenced by bpp::LetterAlphabet::charToInt(), bpp::LetterAlphabet::isCharInAlphabet(), bpp::LetterAlphabet::operator=(), bpp::LetterAlphabet::registerState(), and bpp::LetterAlphabet::setState().
|
privateinherited |
Definition at line 44 of file AbstractAlphabet.h.
Referenced by bpp::AbstractAlphabet::operator=(), and bpp::AbstractAlphabet::remap().