OpenMS  2.5.0
Public Types | List of all members
ResidueModification Class Reference

Representation of a modification. More...

#include <OpenMS/CHEMISTRY/ResidueModification.h>

Public Types

enum  TermSpecificity {
  ANYWHERE = 0, C_TERM = 1, N_TERM = 2, PROTEIN_C_TERM = 3,
  PROTEIN_N_TERM = 4, NUMBER_OF_TERM_SPECIFICITY
}
 Position where the modification is allowed to occur. More...
 
enum  SourceClassification {
  ARTIFACT = 0, HYPOTHETICAL, NATURAL, POSTTRANSLATIONAL,
  MULTIPLE, CHEMICAL_DERIVATIVE, ISOTOPIC_LABEL, PRETRANSLATIONAL,
  OTHER_GLYCOSYLATION, NLINKED_GLYCOSYLATION, AA_SUBSTITUTION, OTHER,
  NONSTANDARD_RESIDUE, COTRANSLATIONAL, OLINKED_GLYCOSYLATION, UNKNOWN,
  NUMBER_OF_SOURCE_CLASSIFICATIONS
}
 Classification of the modification. More...
 

Public Member Functions

Constructors and Destructors
 ResidueModification ()
 Default constructor. More...
 
 ResidueModification (const ResidueModification &)=default
 Copy constructor. More...
 
 ResidueModification (ResidueModification &&)=default
 Move constructor. More...
 
virtual ~ResidueModification ()
 Destructor. More...
 
Assignment operator
ResidueModificationoperator= (const ResidueModification &)=default
 Assignment operator. More...
 
ResidueModificationoperator= (ResidueModification &&) &=default
 Move assignment operator. More...
 
Accessors
void setId (const String &id)
 set the identifier of the modification More...
 
const StringgetId () const
 returns the identifier of the modification More...
 
void setFullId (const String &full_id="")
 Sets the full identifier (Unimod Accession + origin, if available) More...
 
const StringgetFullId () const
 returns the full identifier of the mod (Unimod accession + origin, if available) More...
 
void setUniModRecordId (const Int &id)
 sets the unimod record id More...
 
const IntgetUniModRecordId () const
 gets the unimod record id More...
 
const String getUniModAccession () const
 returns the unimod accession if available More...
 
void setPSIMODAccession (const String &id)
 set the MOD:XXXXX accession of PSI-MOD More...
 
const StringgetPSIMODAccession () const
 returns the PSI-MOD accession if available More...
 
void setFullName (const String &full_name)
 sets the full name of the modification More...
 
const StringgetFullName () const
 returns the full name of the modification More...
 
void setName (const String &name)
 sets the name of modification More...
 
const StringgetName () const
 returns the PSI-MS-label if available; e.g. Mascot uses this name More...
 
void setTermSpecificity (TermSpecificity term_spec)
 Sets the term specificity. More...
 
void setTermSpecificity (const String &name)
 Sets the terminal specificity using a name. More...
 
TermSpecificity getTermSpecificity () const
 returns terminal specificity More...
 
String getTermSpecificityName (TermSpecificity term_spec=NUMBER_OF_TERM_SPECIFICITY) const
 Returns the name of the terminal specificity. More...
 
void setOrigin (char origin)
 Sets the origin (i.e. modified amino acid) More...
 
char getOrigin () const
 Returns the origin (i.e. modified amino acid) More...
 
void setSourceClassification (const String &classification)
 classification as defined by the PSI-MOD More...
 
void setSourceClassification (SourceClassification classification)
 sets the source classification More...
 
SourceClassification getSourceClassification () const
 returns the source classification, if none was set, it is unspecific More...
 
String getSourceClassificationName (SourceClassification classification=NUMBER_OF_SOURCE_CLASSIFICATIONS) const
 returns the classification More...
 
void setAverageMass (double mass)
 sets the average mass More...
 
double getAverageMass () const
 returns the average mass if set More...
 
void setMonoMass (double mass)
 sets the monoisotopic mass More...
 
double getMonoMass () const
 return the monoisotopic mass, if set More...
 
void setDiffAverageMass (double mass)
 set the difference average mass More...
 
double getDiffAverageMass () const
 returns the difference average mass if set More...
 
void setDiffMonoMass (double mass)
 sets the difference monoisotopic mass More...
 
double getDiffMonoMass () const
 returns the diff monoisotopic mass if set More...
 
void setFormula (const String &composition)
 set the formula More...
 
const StringgetFormula () const
 returns the chemical formula if set More...
 
void setDiffFormula (const EmpiricalFormula &diff_formula)
 sets diff formula More...
 
const EmpiricalFormulagetDiffFormula () const
 returns the diff formula if one was set More...
 
void setSynonyms (const std::set< String > &synonyms)
 sets the synonyms of that modification More...
 
void addSynonym (const String &synonym)
 adds a synonym to the unique list More...
 
const std::set< String > & getSynonyms () const
 returns the set of synonyms More...
 
void setNeutralLossDiffFormula (const EmpiricalFormula &loss)
 sets the neutral loss formula More...
 
const EmpiricalFormulagetNeutralLossDiffFormula () const
 returns the neutral loss diff formula (if available) More...
 
void setNeutralLossMonoMass (double mono_mass)
 set the neutral loss mono weight More...
 
double getNeutralLossMonoMass () const
 returns the neutral loss mono weight More...
 
void setNeutralLossAverageMass (double average_mass)
 set the neutral loss average weight More...
 
double getNeutralLossAverageMass () const
 returns the neutral loss average weight More...
 

Predicates

String id_
 
String full_id_
 
String psi_mod_accession_
 
Int unimod_record_id_
 
String full_name_
 
String name_
 
TermSpecificity term_spec_
 
char origin_
 
SourceClassification classification_
 
double average_mass_
 
double mono_mass_
 
double diff_average_mass_
 
double diff_mono_mass_
 
String formula_
 
EmpiricalFormula diff_formula_
 
std::set< Stringsynonyms_
 
EmpiricalFormula neutral_loss_diff_formula_
 
double neutral_loss_mono_mass_
 
double neutral_loss_average_mass_
 
bool hasNeutralLoss () const
 returns true if a neutral loss formula is set More...
 
bool isUserDefined () const
 returns true if it is a user-defined modification (empty id) More...
 
bool operator== (const ResidueModification &modification) const
 equality operator More...
 
bool operator!= (const ResidueModification &modification) const
 inequality operator More...
 
bool operator< (const ResidueModification &modification) const
 less operator More...
 

Detailed Description

Representation of a modification.

This class represents a modification of a residue. A residue modification has several attributes like the diff formula, a terminal specificity a mass and maybe an origin which means a specific residue which it can be applied to. A residue modification can be represented by its Unimod name identifier, e.g. "Oxidation (M)" or "Oxidation". This is a unique key which only occurs once in an OpenMS instance stored in the ModificationsDB.

Example: methionine sulfoxide formation by oxidation of methionine

Function | Result ---------------------------------------------------- getFullId() | "Oxidation (M)" getId() | "Oxidation" getFullName() | "Oxidation or Hydroxylation" getUniModAccession() | "UniMod:312"

Note that some modifications are not explicitly defined from an input file but get added on the fly when reading amino acid sequences with bracket notation, e.g. "PEPTX[999]IDE". If there is no known modification corresponding to the indicated mass, then a new ResidueModification will be created which will return the initial string through "getFullId()" – which will either be "[999]" for internal modifications or ".[999]" for N/C-terminal modifications. Please use "isUserDefined" to check for user-defined modifications.

Member Enumeration Documentation

◆ SourceClassification

Classification of the modification.

Enumerator
ARTIFACT 
HYPOTHETICAL 
NATURAL 
POSTTRANSLATIONAL 
MULTIPLE 
CHEMICAL_DERIVATIVE 
ISOTOPIC_LABEL 
PRETRANSLATIONAL 
OTHER_GLYCOSYLATION 
NLINKED_GLYCOSYLATION 
AA_SUBSTITUTION 
OTHER 
NONSTANDARD_RESIDUE 
COTRANSLATIONAL 
OLINKED_GLYCOSYLATION 
UNKNOWN 
NUMBER_OF_SOURCE_CLASSIFICATIONS 

◆ TermSpecificity

Position where the modification is allowed to occur.

Enums The allowed sites are Anywhere Any C-term Any N-term Protein C-term Protein N-term

This does not describe the amino acids which are valid for a specific amino acid!

Enumerator
ANYWHERE 
C_TERM 
N_TERM 
PROTEIN_C_TERM 
PROTEIN_N_TERM 
NUMBER_OF_TERM_SPECIFICITY 

Constructor & Destructor Documentation

◆ ResidueModification() [1/3]

Default constructor.

◆ ResidueModification() [2/3]

Copy constructor.

◆ ResidueModification() [3/3]

Move constructor.

◆ ~ResidueModification()

virtual ~ResidueModification ( )
virtual

Destructor.

Member Function Documentation

◆ addSynonym()

void addSynonym ( const String synonym)

adds a synonym to the unique list

◆ getAverageMass()

double getAverageMass ( ) const

returns the average mass if set

◆ getDiffAverageMass()

double getDiffAverageMass ( ) const

returns the difference average mass if set

◆ getDiffFormula()

const EmpiricalFormula& getDiffFormula ( ) const

returns the diff formula if one was set

◆ getDiffMonoMass()

double getDiffMonoMass ( ) const

returns the diff monoisotopic mass if set

◆ getFormula()

const String& getFormula ( ) const

returns the chemical formula if set

◆ getFullId()

const String& getFullId ( ) const

returns the full identifier of the mod (Unimod accession + origin, if available)

Returns the full identifier (Unimod Accession + origin, if available)

Note
This field is used for user-defined modifications as well and will be set to a string such as "[999]" for internal modifications or ".[999]" for N/C-terminal modifications. Please use "isUserDefined" to check for user-defined modifications.

◆ getFullName()

const String& getFullName ( ) const

returns the full name of the modification

◆ getId()

const String& getId ( ) const

returns the identifier of the modification

◆ getMonoMass()

double getMonoMass ( ) const

return the monoisotopic mass, if set

◆ getName()

const String& getName ( ) const

returns the PSI-MS-label if available; e.g. Mascot uses this name

◆ getNeutralLossAverageMass()

double getNeutralLossAverageMass ( ) const

returns the neutral loss average weight

◆ getNeutralLossDiffFormula()

const EmpiricalFormula& getNeutralLossDiffFormula ( ) const

returns the neutral loss diff formula (if available)

◆ getNeutralLossMonoMass()

double getNeutralLossMonoMass ( ) const

returns the neutral loss mono weight

◆ getOrigin()

char getOrigin ( ) const

Returns the origin (i.e. modified amino acid)

◆ getPSIMODAccession()

const String& getPSIMODAccession ( ) const

returns the PSI-MOD accession if available

◆ getSourceClassification()

SourceClassification getSourceClassification ( ) const

returns the source classification, if none was set, it is unspecific

◆ getSourceClassificationName()

String getSourceClassificationName ( SourceClassification  classification = NUMBER_OF_SOURCE_CLASSIFICATIONS) const

returns the classification

◆ getSynonyms()

const std::set<String>& getSynonyms ( ) const

returns the set of synonyms

◆ getTermSpecificity()

TermSpecificity getTermSpecificity ( ) const

returns terminal specificity

◆ getTermSpecificityName()

String getTermSpecificityName ( TermSpecificity  term_spec = NUMBER_OF_TERM_SPECIFICITY) const

Returns the name of the terminal specificity.

By default, returns the name of the specificity set in member term_spec_. Alternatively, returns the name corresponding to argument term_spec.

◆ getUniModAccession()

const String getUniModAccession ( ) const

returns the unimod accession if available

◆ getUniModRecordId()

const Int& getUniModRecordId ( ) const

gets the unimod record id

◆ hasNeutralLoss()

bool hasNeutralLoss ( ) const

returns true if a neutral loss formula is set

◆ isUserDefined()

bool isUserDefined ( ) const

returns true if it is a user-defined modification (empty id)

◆ operator!=()

bool operator!= ( const ResidueModification modification) const

inequality operator

◆ operator<()

bool operator< ( const ResidueModification modification) const

less operator

◆ operator=() [1/2]

ResidueModification& operator= ( const ResidueModification )
default

Assignment operator.

◆ operator=() [2/2]

ResidueModification& operator= ( ResidueModification &&  ) &
default

Move assignment operator.

◆ operator==()

bool operator== ( const ResidueModification modification) const

equality operator

◆ setAverageMass()

void setAverageMass ( double  mass)

sets the average mass

◆ setDiffAverageMass()

void setDiffAverageMass ( double  mass)

set the difference average mass

◆ setDiffFormula()

void setDiffFormula ( const EmpiricalFormula diff_formula)

sets diff formula

◆ setDiffMonoMass()

void setDiffMonoMass ( double  mass)

sets the difference monoisotopic mass

◆ setFormula()

void setFormula ( const String composition)

set the formula

◆ setFullId()

void setFullId ( const String full_id = "")

Sets the full identifier (Unimod Accession + origin, if available)

With empty argument, create a full ID based on (short) ID, terminal specificity and residue of origin.

Exceptions
Exception::MissingInformationif both argument full_id and member id_ are empty.

◆ setFullName()

void setFullName ( const String full_name)

sets the full name of the modification

◆ setId()

void setId ( const String id)

set the identifier of the modification

◆ setMonoMass()

void setMonoMass ( double  mass)

sets the monoisotopic mass

◆ setName()

void setName ( const String name)

sets the name of modification

◆ setNeutralLossAverageMass()

void setNeutralLossAverageMass ( double  average_mass)

set the neutral loss average weight

◆ setNeutralLossDiffFormula()

void setNeutralLossDiffFormula ( const EmpiricalFormula loss)

sets the neutral loss formula

◆ setNeutralLossMonoMass()

void setNeutralLossMonoMass ( double  mono_mass)

set the neutral loss mono weight

◆ setOrigin()

void setOrigin ( char  origin)

Sets the origin (i.e. modified amino acid)

origin must be a valid amino acid one-letter code or X, i.e. a letter from A to Y, excluding B and J. X represents any amino acid (for modifications with terminal specificity).

Exceptions
Exception::InvalidValueif origin is not in the valid range

◆ setPSIMODAccession()

void setPSIMODAccession ( const String id)

set the MOD:XXXXX accession of PSI-MOD

◆ setSourceClassification() [1/2]

void setSourceClassification ( const String classification)

classification as defined by the PSI-MOD

◆ setSourceClassification() [2/2]

void setSourceClassification ( SourceClassification  classification)

sets the source classification

◆ setSynonyms()

void setSynonyms ( const std::set< String > &  synonyms)

sets the synonyms of that modification

◆ setTermSpecificity() [1/2]

void setTermSpecificity ( const String name)

Sets the terminal specificity using a name.

Valid names: "C-term", "N-term", "none"

Exceptions
Exception::InvalidValueif no valid specificity was given

◆ setTermSpecificity() [2/2]

void setTermSpecificity ( TermSpecificity  term_spec)

Sets the term specificity.

Exceptions
Exception::InvalidValueif no valid specificity was given

◆ setUniModRecordId()

void setUniModRecordId ( const Int id)

sets the unimod record id

Member Data Documentation

◆ average_mass_

double average_mass_
protected

◆ classification_

SourceClassification classification_
protected

◆ diff_average_mass_

double diff_average_mass_
protected

◆ diff_formula_

EmpiricalFormula diff_formula_
protected

◆ diff_mono_mass_

double diff_mono_mass_
protected

◆ formula_

String formula_
protected

◆ full_id_

String full_id_
protected

◆ full_name_

String full_name_
protected

◆ id_

String id_
protected

◆ mono_mass_

double mono_mass_
protected

◆ name_

String name_
protected

◆ neutral_loss_average_mass_

double neutral_loss_average_mass_
protected

◆ neutral_loss_diff_formula_

EmpiricalFormula neutral_loss_diff_formula_
protected

◆ neutral_loss_mono_mass_

double neutral_loss_mono_mass_
protected

◆ origin_

char origin_
protected

◆ psi_mod_accession_

String psi_mod_accession_
protected

◆ synonyms_

std::set<String> synonyms_
protected

◆ term_spec_

TermSpecificity term_spec_
protected

◆ unimod_record_id_

Int unimod_record_id_
protected