80 NUMBER_OF_TERM_SPECIFICITY
103 NUMBER_OF_SOURCE_CLASSIFICATIONS
364 const bool delta_mass,
366 const Residue* residue =
nullptr);
385 const std::set<const ResidueModification*>& addons,
386 bool allow_unknown_masses =
false,
387 const Residue* residue =
nullptr);
522 const auto& synonyms = mod.getSynonyms();
524 for (
const auto& syn : synonyms)
530 const auto& nl_formulas = mod.getNeutralLossDiffFormulas();
532 for (
const auto& nlf : nl_formulas)
538 const auto& nl_mono = mod.getNeutralLossMonoMasses();
540 for (
double mass : nl_mono)
546 const auto& nl_avg = mod.getNeutralLossAverageMasses();
548 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:454
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)
Provenance getProvenance() const
returns where the definition of this modification came from
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:468
SourceClassification getSourceClassification() const
returns the source classification, if none was set, it is unspecific
std::set< std::string > synonyms_
Definition ResidueModification.h:466
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:444
Provenance
Where the definition of this modification came from.
Definition ResidueModification.h:115
@ MASS_ONLY
Anonymous mass or formula modification; reconstructible from its own serialised form.
Definition ResidueModification.h:121
@ CV
From a controlled vocabulary shipped with OpenMS (Unimod, PSI-MOD, XLMOD, custom_mods....
Definition ResidueModification.h:119
Int unimod_record_id_
Definition ResidueModification.h:442
std::string name_
Definition ResidueModification.h:446
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:437
std::vector< double > neutral_loss_average_masses_
Definition ResidueModification.h:472
static ResidueModification fromDefinitionString(const std::string &record)
std::vector< double > neutral_loss_mono_masses_
Definition ResidueModification.h:470
double mono_mass_
Definition ResidueModification.h:456
double diff_average_mass_
Definition ResidueModification.h:458
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:448
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:452
const std::vector< EmpiricalFormula > & getNeutralLossDiffFormulas() const
returns the neutral loss diff formula (if available)
char origin_
Definition ResidueModification.h:450
double diff_mono_mass_
Definition ResidueModification.h:460
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
static std::vector< std::string > splitDefinitionRecords(const std::string &records)
Split a ';'-joined sequence of records, honouring '\' escapes. Empty input yields no records.
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 toDefinitionString() const
Serialise this modification as a version-1 definition record.
std::string psi_mod_accession_
Definition ResidueModification.h:439
double getMonoMass() const
return the monoisotopic mass, or 0.0 if not set
std::string formula_
Definition ResidueModification.h:462
void setOrigin(char origin)
Sets the origin (i.e. modified amino acid)
bool operator==(const ResidueModification &modification) const
equality operator
Provenance provenance_
not part of operator==, operator< or std::hash (see operator==)
Definition ResidueModification.h:475
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:435
static std::string getMonoMassWithBracket(const double mono_mass)
return a string of the form '[>mass<]
void setProvenance(Provenance provenance)
sets where the definition of this modification came from
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:464
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:496