80 NUMBER_OF_TERM_SPECIFICITY
103 NUMBER_OF_SOURCE_CLASSIFICATIONS
339 const bool delta_mass,
341 const Residue* residue =
nullptr);
360 const std::set<const ResidueModification*>& addons,
361 bool allow_unknown_masses =
false,
362 const Residue* residue =
nullptr);
468 const auto& synonyms = mod.getSynonyms();
470 for (
const auto& syn : synonyms)
476 const auto& nl_formulas = mod.getNeutralLossDiffFormulas();
478 for (
const auto& nlf : nl_formulas)
484 const auto& nl_mono = mod.getNeutralLossMonoMasses();
486 for (
double mass : nl_mono)
492 const auto& nl_avg = mod.getNeutralLossAverageMasses();
494 for (
double mass : nl_avg)
Representation of a modification on an amino acid residue.
Definition ResidueModification.h:55
const std::string & getPSIMODAccession() const
returns the PSI-MOD accession if available
double average_mass_
Definition ResidueModification.h:403
void setSourceClassification(const std::string &classification)
classification as defined by the PSI-MOD
void setFullId(const std::string &full_id="")
Sets the full identifier (Unimod Accession + origin, if available)
void setDiffFormula(const EmpiricalFormula &diff_formula)
sets diff formula (no masses will be changed)
std::string toString() const
const EmpiricalFormula & getDiffFormula() const
returns the diff formula if one was set
static const ResidueModification * createUnknownFromMassString(const std::string &mod, const double mass, const bool delta_mass, const TermSpecificity specificity, const Residue *residue=nullptr)
ResidueModification & operator=(ResidueModification &&) &=default
Move assignment operator.
ResidueModification(ResidueModification &&)=default
Move constructor.
void setId(const std::string &id)
set the identifier of the modification
static std::string getDiffMonoMassWithBracket(const double diff_mono_mass)
return a string of the form '[+>mass<] (the '+' might be a '-', if mass is negative).
std::vector< EmpiricalFormula > neutral_loss_diff_formulas_
Definition ResidueModification.h:417
SourceClassification getSourceClassification() const
returns the source classification, if none was set, it is unspecific
std::set< std::string > synonyms_
Definition ResidueModification.h:415
const std::string getUniModAccession() const
returns the unimod accession if available
std::vector< double > getNeutralLossAverageMasses() const
returns the neutral loss average weight
void setSynonyms(const std::set< std::string > &synonyms)
sets the synonyms of that modification
bool hasNeutralLoss() const
returns true if a neutral loss formula is set
const std::string & getId() const
returns the identifier of the modification
const std::string & getName() const
returns the PSI-MS-label if available; e.g. Mascot uses this name
void setSourceClassification(SourceClassification classification)
sets the source classification
void setDiffAverageMass(double mass)
set the difference average mass
std::string full_name_
Definition ResidueModification.h:393
Int unimod_record_id_
Definition ResidueModification.h:391
std::string name_
Definition ResidueModification.h:395
void setNeutralLossMonoMasses(std::vector< double > mono_masses)
set the neutral loss mono weight
void addSynonym(const std::string &synonym)
adds a synonym to the unique list
std::string full_id_
Definition ResidueModification.h:386
std::vector< double > neutral_loss_average_masses_
Definition ResidueModification.h:421
std::vector< double > neutral_loss_mono_masses_
Definition ResidueModification.h:419
double mono_mass_
Definition ResidueModification.h:405
double diff_average_mass_
Definition ResidueModification.h:407
TermSpecificity
Position where the modification is allowed to occur.
Definition ResidueModification.h:74
void setFormula(const std::string &composition)
set the formula (no masses will be changed)
void setPSIMODAccession(const std::string &id)
set the MOD:XXXXX accession of PSI-MOD
static std::string getDiffMonoMassString(const double diff_mono_mass)
void setDiffMonoMass(double mass)
sets the difference monoisotopic mass
TermSpecificity term_spec_
Definition ResidueModification.h:397
const std::string & getFullName() const
returns the full name of the modification
void setNeutralLossDiffFormulas(const std::vector< EmpiricalFormula > &diff_formulas)
sets the neutral loss formula
ResidueModification()
Default constructor.
bool operator<(const ResidueModification &modification) const
less operator
ResidueModification & operator=(const ResidueModification &)=default
Assignment operator.
void setAverageMass(double mass)
sets the average mass
ResidueModification(const ResidueModification &)=default
Copy constructor.
bool operator!=(const ResidueModification &modification) const
inequality operator
double getDiffMonoMass() const
returns the diff monoisotopic mass, or 0.0 if not set
SourceClassification
Classification of the modification.
Definition ResidueModification.h:86
@ NATURAL
A natural modification.
Definition ResidueModification.h:89
@ POSTTRANSLATIONAL
A post-translational modification.
Definition ResidueModification.h:90
@ COTRANSLATIONAL
A co-translational modification.
Definition ResidueModification.h:100
@ OTHER_GLYCOSYLATION
Other glycosylation (i.e. neither N nor O-linked)
Definition ResidueModification.h:95
@ NLINKED_GLYCOSYLATION
N-linked glycosylation.
Definition ResidueModification.h:96
@ UNKNOWN
An unknown modification.
Definition ResidueModification.h:102
@ HYPOTHETICAL
A hypothetical modification.
Definition ResidueModification.h:88
@ PRETRANSLATIONAL
A pre-translational modification.
Definition ResidueModification.h:94
@ CHEMICAL_DERIVATIVE
A chemical derivative.
Definition ResidueModification.h:92
@ AA_SUBSTITUTION
An amino acid substitution that presents like a modification.
Definition ResidueModification.h:97
@ MULTIPLE
A combination of multiple modifications.
Definition ResidueModification.h:91
@ ISOTOPIC_LABEL
A chemical label (artificial)
Definition ResidueModification.h:93
@ OLINKED_GLYCOSYLATION
A O-linked glycosylation.
Definition ResidueModification.h:101
@ OTHER
Other modification.
Definition ResidueModification.h:98
@ NONSTANDARD_RESIDUE
A non-standard amino acid.
Definition ResidueModification.h:99
TermSpecificity getTermSpecificity() const
returns terminal specificity
SourceClassification classification_
Definition ResidueModification.h:401
const std::vector< EmpiricalFormula > & getNeutralLossDiffFormulas() const
returns the neutral loss diff formula (if available)
char origin_
Definition ResidueModification.h:399
double diff_mono_mass_
Definition ResidueModification.h:409
void setName(const std::string &name)
sets the name of modification
std::vector< double > getNeutralLossMonoMasses() const
returns the neutral loss mono weight
std::string getSourceClassificationName(SourceClassification classification=NUMBER_OF_SOURCE_CLASSIFICATIONS) const
returns the classification
void setUniModRecordId(const Int &id)
sets the unimod record id
const std::string & getFullId() const
returns the full identifier of the mod (Unimod accession + origin, if available)
bool isUserDefined() const
returns true if it is a user-defined modification (empty id)
virtual ~ResidueModification()
Destructor.
char getOrigin() const
Returns the origin (i.e. modified amino acid)
std::string psi_mod_accession_
Definition ResidueModification.h:388
double getMonoMass() const
return the monoisotopic mass, or 0.0 if not set
std::string formula_
Definition ResidueModification.h:411
void setOrigin(char origin)
Sets the origin (i.e. modified amino acid)
bool operator==(const ResidueModification &modification) const
equality operator
static const ResidueModification * combineMods(const ResidueModification *base, const std::set< const ResidueModification * > &addons, bool allow_unknown_masses=false, const Residue *residue=nullptr)
Merge a set of mods to a given modification (usually the one which is already present,...
void setFullName(const std::string &full_name)
sets the full name of the modification; must NOT contain the origin (or . for terminals!...
double getAverageMass() const
returns the average mass if set
std::string id_
Definition ResidueModification.h:384
static std::string getMonoMassWithBracket(const double mono_mass)
return a string of the form '[>mass<]
const std::set< std::string > & getSynonyms() const
returns the set of synonyms
void setTermSpecificity(const std::string &name)
Sets the terminal specificity using a name.
void setTermSpecificity(TermSpecificity term_spec)
Sets the term specificity.
EmpiricalFormula diff_formula_
Definition ResidueModification.h:413
std::string getTermSpecificityName(TermSpecificity term_spec=NUMBER_OF_TERM_SPECIFICITY) const
Returns the name of the terminal specificity.
double getDiffAverageMass() const
returns the difference average mass, or 0.0 if not set
const Int & getUniModRecordId() const
gets the unimod record id
const std::string & getFormula() const
returns the chemical formula if set
void setNeutralLossAverageMasses(std::vector< double > average_masses)
set the neutral loss average weight
void setMonoMass(double mass)
sets the monoisotopic mass (this must include the weight of the residue itself!)
Representation of an amino acid residue.
Definition Residue.h:41
int Int
Signed integer type.
Definition Types.h:72
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::size_t hash_int(T value) noexcept
Hash for an integer type.
Definition HashUtils.h:107
void hash_combine(std::size_t &seed, std::size_t value) noexcept
Combine a hash value with additional data using golden ratio mixing.
Definition HashUtils.h:87
std::size_t hash_char(char c) noexcept
Hash for a character.
Definition HashUtils.h:119
std::size_t hash_float(T value) noexcept
Hash for a floating point type (float or double).
Definition HashUtils.h:142
std::size_t fnv1a_hash_string(const std::string &s) noexcept
FNV-1a hash for a string.
Definition HashUtils.h:70
std::size_t operator()(const OpenMS::ResidueModification &mod) const noexcept
Definition ResidueModification.h:442