OpenMS
|
Representation of an amino acid residue. More...
#include <OpenMS/CHEMISTRY/Residue.h>
Public Member Functions | |
Constructors | |
Residue () | |
Default constructor (needed by pyOpenMS) More... | |
Residue (const Residue &)=default | |
Copy constructor. More... | |
Residue (Residue &&)=default | |
Move constructor. More... | |
Residue (const String &name, const String &three_letter_code, const String &one_letter_code, const EmpiricalFormula &formula, double pka=0, double pkb=0, double pkc=-1, double gb_sc=0, double gb_bb_l=0, double gb_bb_r=0, const std::set< String > &synonyms=std::set< String >()) | |
virtual | ~Residue () |
Destructor. More... | |
Assignment | |
Residue & | operator= (const Residue &)=default |
Assignment operator. More... | |
Residue & | operator= (Residue &&) &=default |
Move assignment operator. More... | |
Accessors | |
void | setName (const String &name) |
sets the name of the residue More... | |
const String & | getName () const |
returns the name of the residue More... | |
void | setSynonyms (const std::set< String > &synonyms) |
sets the synonyms More... | |
void | addSynonym (const String &synonym) |
adds a synonym More... | |
const std::set< String > & | getSynonyms () const |
returns the synonyms More... | |
void | setThreeLetterCode (const String &three_letter_code) |
sets the name of the residue as three letter code (String of size 3) More... | |
const String & | getThreeLetterCode () const |
returns the name of the residue as three letter code (String of size 3) More... | |
void | setOneLetterCode (const String &one_letter_code) |
sets the name as one letter code (String of size 1) More... | |
const String & | getOneLetterCode () const |
returns the name as one letter code (String of size 1) More... | |
void | addLossFormula (const EmpiricalFormula &) |
adds a neutral loss formula More... | |
void | setLossFormulas (const std::vector< EmpiricalFormula > &) |
sets the neutral loss formulas More... | |
void | addNTermLossFormula (const EmpiricalFormula &) |
adds N-terminal losses More... | |
void | setNTermLossFormulas (const std::vector< EmpiricalFormula > &) |
sets the N-terminal losses More... | |
const std::vector< EmpiricalFormula > & | getLossFormulas () const |
returns the neutral loss formulas More... | |
const std::vector< EmpiricalFormula > & | getNTermLossFormulas () const |
returns N-terminal loss formulas More... | |
void | setLossNames (const std::vector< String > &name) |
set the neutral loss molecule name More... | |
void | setNTermLossNames (const std::vector< String > &name) |
sets the N-terminal loss names More... | |
void | addLossName (const String &name) |
add neutral loss molecule name More... | |
void | addNTermLossName (const String &name) |
adds a N-terminal loss name More... | |
const std::vector< String > & | getLossNames () const |
gets neutral loss name (if there is one, else returns an empty string) More... | |
const std::vector< String > & | getNTermLossNames () const |
returns the N-terminal loss names More... | |
void | setFormula (const EmpiricalFormula &formula) |
set empirical formula of the residue (must be full, with N and C-terminus) More... | |
EmpiricalFormula | getFormula (ResidueType res_type=Full) const |
returns the empirical formula of the residue More... | |
void | setAverageWeight (double weight) |
sets average weight of the residue (must be full, with N and C-terminus) More... | |
double | getAverageWeight (ResidueType res_type=Full) const |
returns average weight of the residue More... | |
void | setMonoWeight (double weight) |
sets monoisotopic weight of the residue (must be full, with N and C-terminus) More... | |
double | getMonoWeight (ResidueType res_type=Full) const |
returns monoisotopic weight of the residue More... | |
const ResidueModification * | getModification () const |
returns a pointer to the modification, or a null pointer if none is set More... | |
void | setModification (const String &name) |
sets the modification by name; the mod should be present in ModificationsDB More... | |
void | setModification (const ResidueModification *mod) |
sets the modification by existing ResMod (make sure it exists in ModificationsDB) More... | |
void | setModification (const ResidueModification &mod) |
void | setModificationByDiffMonoMass (double diffMonoMass) |
const String & | getModificationName () const |
returns the name (ID) of the modification, or an empty string if none is set More... | |
void | setLowMassIons (const std::vector< EmpiricalFormula > &low_mass_ions) |
sets the low mass marker ions as a vector of formulas More... | |
const std::vector< EmpiricalFormula > & | getLowMassIons () const |
returns a vector of formulas with the low mass markers of the residue More... | |
void | setResidueSets (const std::set< String > &residues_sets) |
sets the residue sets the amino acid is contained in (e.g. Natural20) More... | |
void | addResidueSet (const String &residue_sets) |
adds a residue set to the residue sets (e.g. Natural20) More... | |
const std::set< String > & | getResidueSets () const |
returns the residue sets this residue is contained in (e.g. Natural20) More... | |
double | getPka () const |
returns the pka of the residue More... | |
double | getPkb () const |
returns the pkb of the residue More... | |
double | getPkc () const |
returns the pkc of the residue if it exists otherwise -1 More... | |
double | getPiValue () const |
calculates the isoelectric point using the pk* values More... | |
void | setPka (double value) |
sets the pka of the residue More... | |
void | setPkb (double value) |
sets the pkb of the residue More... | |
void | setPkc (double value) |
sets the pkc of the residue More... | |
double | getSideChainBasicity () const |
returns the side chain basicity More... | |
void | setSideChainBasicity (double gb_sc) |
sets the side chain basicity More... | |
double | getBackboneBasicityLeft () const |
returns the backbone basicity if located in N-terminal direction More... | |
void | setBackboneBasicityLeft (double gb_bb_l) |
sets the N-terminal direction backbone basicity More... | |
double | getBackboneBasicityRight () const |
returns the C-terminal direction backbone basicity More... | |
void | setBackboneBasicityRight (double gb_bb_r) |
sets the C-terminal direction backbone basicity More... | |
Static Public Member Functions | |
Formula conversion | |
Computes empirical formula required to add to the desired type Computes the empirical formula required to be added to convert an internal residue (inside an AA sequence) to that of a residue of the desired type. For example, to obtain the conversion formula for an internal ion to a "y ion", use getInternalToYTerm(). Formulae that need to be added to the internal residues to get to fragment type from http://www.matrixscience.com/help/fragmentation_help.html Which means that we follow Biemann nomenclature. For a small description of the differernt ion types, see the enum ResidueType. | |
static const EmpiricalFormula & | getInternalToFull () |
static const EmpiricalFormula & | getInternalToNTerm () |
static const EmpiricalFormula & | getInternalToCTerm () |
static const EmpiricalFormula & | getInternalToAIon () |
static const EmpiricalFormula & | getInternalToBIon () |
static const EmpiricalFormula & | getInternalToCIon () |
static const EmpiricalFormula & | getInternalToXIon () |
static const EmpiricalFormula & | getInternalToYIon () |
static const EmpiricalFormula & | getInternalToZIon () |
static const EmpiricalFormula & | getInternalToZp1Ion () |
static const EmpiricalFormula & | getInternalToZp2Ion () |
Friends | |
class | ResidueDB |
Enums | |
enum | ResidueType { Full = 0 , Internal , NTerminal , CTerminal , AIon , BIon , CIon , XIon , YIon , ZIon , Zp1Ion , Zp2Ion , Precursor , BIonMinusH20 , YIonMinusH20 , BIonMinusNH3 , YIonMinusNH3 , NonIdentified , Unannotated , SizeOfResidueType } |
static std::array< std::string_view, Residue::ResidueType::SizeOfResidueType > | names_of_residuetype |
Names corresponding to the ResidueType enum. More... | |
static String | getResidueTypeName (const ResidueType res_type) |
returns the ion name given as a residue type More... | |
Predicates | |
std::ostream & | operator<< (std::ostream &os, const Residue &residue) |
ostream iterator to write the residue to a stream More... | |
String | name_ = "unknown" |
the name of the residue More... | |
std::set< String > | synonyms_ |
String | three_letter_code_ |
String | one_letter_code_ |
EmpiricalFormula | formula_ |
EmpiricalFormula | internal_formula_ |
double | average_weight_ = 0 |
double | mono_weight_ = 0 |
const ResidueModification * | modification_ = nullptr |
pointer to the modification More... | |
std::vector< String > | loss_names_ |
std::vector< EmpiricalFormula > | loss_formulas_ |
std::vector< String > | NTerm_loss_names_ |
std::vector< EmpiricalFormula > | NTerm_loss_formulas_ |
std::vector< EmpiricalFormula > | low_mass_ions_ |
low mass markers like immonium ions More... | |
double | pka_ = 0 |
double | pkb_ = 0 |
double | pkc_ = -1.0 |
double | gb_sc_ = 0 |
SideChainBasicity. More... | |
double | gb_bb_l_ = 0 |
BackboneBasicityLeft. More... | |
double | gb_bb_r_ = 0 |
BackboneBasicityRight. More... | |
std::set< String > | residue_sets_ |
residue sets this amino acid is contained in More... | |
static const double | internal_to_full_monoweight_ |
static const double | internal_to_nterm_monoweight_ |
static const double | internal_to_cterm_monoweight_ |
static const double | internal_to_a_monoweight_ |
static const double | internal_to_b_monoweight_ |
static const double | internal_to_c_monoweight_ |
static const double | internal_to_x_monoweight_ |
static const double | internal_to_y_monoweight_ |
static const double | internal_to_z_monoweight_ |
static const double | internal_to_zp1_monoweight_ |
static const double | internal_to_zp2_monoweight_ |
static std::string | residueTypeToIonLetter (const ResidueType &res_type) |
helper for mapping residue types to letters for Text annotations and labels More... | |
bool | hasNeutralLoss () const |
true if the residue has neutral loss More... | |
bool | hasNTermNeutralLosses () const |
true if N-terminal neutral losses are set More... | |
bool | operator== (const Residue &residue) const |
equality operator More... | |
bool | operator!= (const Residue &residue) const |
inequality operator More... | |
bool | operator== (char one_letter_code) const |
equality operator for one letter code More... | |
bool | operator!= (char one_letter_code) const |
equality operator for one letter code More... | |
bool | isModified () const |
true if the residue is a modified one More... | |
bool | isInResidueSet (const String &residue_set) |
true if the residue is contained in the set More... | |
String | toString () const |
Representation of an amino acid residue.
This class represents an amino acid. These can have many different attributes, like the formula physico-chemical values of properties and so on.
A very important property of amino acid residues are their modifications. By default no modification is present. Any modification which is present in the ModificationsDB can be applied, if appropriate.
enum ResidueType |
Residue types: Note that all weights and elemental compositions of fragment "ions" are given for their neutral forms. Furthermore, all fragment ion types are based on the Biemann nomenclature (http://www.matrixscience.com/help/fragmentation_help.html) See https://github.com/OpenMS/OpenMS/issues/7219 for a discussion with more details and links.
Enumerator | |
---|---|
Full | with N-terminus and C-terminus |
Internal | internal residue, without any termini |
NTerminal | only N-terminus |
CTerminal | only C-terminus |
AIon | MS:1001229 N-terminus up to the C-alpha/carbonyl carbon bond. |
BIon | MS:1001224 N-terminus up to the peptide bond. |
CIon | MS:1001231 N-terminus up to the amide/C-alpha bond. |
XIon | MS:1001228 amide/C-alpha bond up to the C-terminus. |
YIon | MS:1001220 peptide bond up to the C-terminus. |
ZIon | MS:1001230 C-alpha/carbonyl carbon bond [CID fragment]. |
Zp1Ion | MS:1001230 C-alpha/carbonyl carbon bond (free radical, z+1 "ion") [main EAD fragment]. |
Zp2Ion | MS:1001230 C-alpha/carbonyl carbon bond (free radical, z+2 "ion" with additional abstracted hydrogen) [EAD fragment at higher precursor charges]. |
Precursor | MS:1001523 Precursor ion. |
BIonMinusH20 | MS:1001222 b ion without water. |
YIonMinusH20 | MS:1001223 y ion without water. |
BIonMinusNH3 | MS:1001232 b ion without ammonia. |
YIonMinusNH3 | MS:1001233 y ion without ammonia. |
NonIdentified | MS:1001240 Non-identified ion. |
Unannotated | no stored annotation |
SizeOfResidueType |
Residue | ( | ) |
Default constructor (needed by pyOpenMS)
Residue | ( | const String & | name, |
const String & | three_letter_code, | ||
const String & | one_letter_code, | ||
const EmpiricalFormula & | formula, | ||
double | pka = 0 , |
||
double | pkb = 0 , |
||
double | pkc = -1 , |
||
double | gb_sc = 0 , |
||
double | gb_bb_l = 0 , |
||
double | gb_bb_r = 0 , |
||
const std::set< String > & | synonyms = std::set< String >() |
||
) |
|
virtual |
Destructor.
void addLossFormula | ( | const EmpiricalFormula & | ) |
adds a neutral loss formula
void addLossName | ( | const String & | name | ) |
add neutral loss molecule name
void addNTermLossFormula | ( | const EmpiricalFormula & | ) |
adds N-terminal losses
void addNTermLossName | ( | const String & | name | ) |
adds a N-terminal loss name
void addResidueSet | ( | const String & | residue_sets | ) |
adds a residue set to the residue sets (e.g. Natural20)
void addSynonym | ( | const String & | synonym | ) |
adds a synonym
double getAverageWeight | ( | ResidueType | res_type = Full | ) | const |
returns average weight of the residue
double getBackboneBasicityLeft | ( | ) | const |
returns the backbone basicity if located in N-terminal direction
double getBackboneBasicityRight | ( | ) | const |
returns the C-terminal direction backbone basicity
EmpiricalFormula getFormula | ( | ResidueType | res_type = Full | ) | const |
returns the empirical formula of the residue
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
const std::vector<EmpiricalFormula>& getLossFormulas | ( | ) | const |
returns the neutral loss formulas
const std::vector<String>& getLossNames | ( | ) | const |
gets neutral loss name (if there is one, else returns an empty string)
const std::vector<EmpiricalFormula>& getLowMassIons | ( | ) | const |
returns a vector of formulas with the low mass markers of the residue
const ResidueModification* getModification | ( | ) | const |
returns a pointer to the modification, or a null pointer if none is set
const String& getModificationName | ( | ) | const |
returns the name (ID) of the modification, or an empty string if none is set
double getMonoWeight | ( | ResidueType | res_type = Full | ) | const |
returns monoisotopic weight of the residue
const String& getName | ( | ) | const |
returns the name of the residue
const std::vector<EmpiricalFormula>& getNTermLossFormulas | ( | ) | const |
returns N-terminal loss formulas
const std::vector<String>& getNTermLossNames | ( | ) | const |
returns the N-terminal loss names
const String& getOneLetterCode | ( | ) | const |
returns the name as one letter code (String of size 1)
Referenced by AAIndex::calculateGB().
double getPiValue | ( | ) | const |
calculates the isoelectric point using the pk* values
double getPka | ( | ) | const |
returns the pka of the residue
double getPkb | ( | ) | const |
returns the pkb of the residue
double getPkc | ( | ) | const |
returns the pkc of the residue if it exists otherwise -1
const std::set<String>& getResidueSets | ( | ) | const |
returns the residue sets this residue is contained in (e.g. Natural20)
|
static |
returns the ion name given as a residue type
double getSideChainBasicity | ( | ) | const |
returns the side chain basicity
const std::set<String>& getSynonyms | ( | ) | const |
returns the synonyms
const String& getThreeLetterCode | ( | ) | const |
returns the name of the residue as three letter code (String of size 3)
bool hasNeutralLoss | ( | ) | const |
true if the residue has neutral loss
bool hasNTermNeutralLosses | ( | ) | const |
true if N-terminal neutral losses are set
bool isInResidueSet | ( | const String & | residue_set | ) |
true if the residue is contained in the set
bool isModified | ( | ) | const |
true if the residue is a modified one
bool operator!= | ( | char | one_letter_code | ) | const |
equality operator for one letter code
bool operator!= | ( | const Residue & | residue | ) | const |
inequality operator
bool operator== | ( | char | one_letter_code | ) | const |
equality operator for one letter code
bool operator== | ( | const Residue & | residue | ) | const |
equality operator
|
static |
helper for mapping residue types to letters for Text annotations and labels
void setAverageWeight | ( | double | weight | ) |
sets average weight of the residue (must be full, with N and C-terminus)
void setBackboneBasicityLeft | ( | double | gb_bb_l | ) |
sets the N-terminal direction backbone basicity
void setBackboneBasicityRight | ( | double | gb_bb_r | ) |
sets the C-terminal direction backbone basicity
void setFormula | ( | const EmpiricalFormula & | formula | ) |
set empirical formula of the residue (must be full, with N and C-terminus)
void setLossFormulas | ( | const std::vector< EmpiricalFormula > & | ) |
sets the neutral loss formulas
void setLossNames | ( | const std::vector< String > & | name | ) |
set the neutral loss molecule name
void setLowMassIons | ( | const std::vector< EmpiricalFormula > & | low_mass_ions | ) |
sets the low mass marker ions as a vector of formulas
void setModification | ( | const ResidueModification & | mod | ) |
sets the modification by looking for an exact match in the DB first, otherwise creating a new entry
void setModification | ( | const ResidueModification * | mod | ) |
sets the modification by existing ResMod (make sure it exists in ModificationsDB)
void setModification | ( | const String & | name | ) |
sets the modification by name; the mod should be present in ModificationsDB
void setModificationByDiffMonoMass | ( | double | diffMonoMass | ) |
sets a modification by monoisotopic mass difference. Searches in DBs first with a tolerance. If not found, creates a new entry with name = OneLetterResidueCode[+/-diffMonoMass] and adds this as user-defined mod.
void setMonoWeight | ( | double | weight | ) |
sets monoisotopic weight of the residue (must be full, with N and C-terminus)
void setName | ( | const String & | name | ) |
sets the name of the residue
void setNTermLossFormulas | ( | const std::vector< EmpiricalFormula > & | ) |
sets the N-terminal losses
void setNTermLossNames | ( | const std::vector< String > & | name | ) |
sets the N-terminal loss names
void setOneLetterCode | ( | const String & | one_letter_code | ) |
sets the name as one letter code (String of size 1)
void setPka | ( | double | value | ) |
sets the pka of the residue
void setPkb | ( | double | value | ) |
sets the pkb of the residue
void setPkc | ( | double | value | ) |
sets the pkc of the residue
void setResidueSets | ( | const std::set< String > & | residues_sets | ) |
sets the residue sets the amino acid is contained in (e.g. Natural20)
void setSideChainBasicity | ( | double | gb_sc | ) |
sets the side chain basicity
void setSynonyms | ( | const std::set< String > & | synonyms | ) |
sets the synonyms
void setThreeLetterCode | ( | const String & | three_letter_code | ) |
sets the name of the residue as three letter code (String of size 3)
String toString | ( | ) | const |
Write as Origin+Modification, e.g. M(Oxidation), or X[945.34] or N[+14.54] for user-defined mods. This requires the Residue to have a valid OneLetterCode and an optional (but valid) ResidueModification (see ResidueModification::toString())
|
friend |
ostream iterator to write the residue to a stream
|
friend |
|
protected |
|
protected |
|
protected |
BackboneBasicityLeft.
|
protected |
BackboneBasicityRight.
|
protected |
SideChainBasicity.
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
low mass markers like immonium ions
|
protected |
pointer to the modification
|
protected |
|
protected |
the name of the residue
|
inlinestatic |
Names corresponding to the ResidueType enum.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
residue sets this amino acid is contained in
|
protected |
|
protected |