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
static String getDiffMonoMassString(const double diff_mono_mass)
double average_mass_
Definition ResidueModification.h:403
const String & getFormula() const
returns the chemical formula if set
void setDiffFormula(const EmpiricalFormula &diff_formula)
sets diff formula (no masses will be changed)
const EmpiricalFormula & getDiffFormula() const
returns the diff formula if one was set
ResidueModification & operator=(ResidueModification &&) &=default
Move assignment operator.
ResidueModification(ResidueModification &&)=default
Move constructor.
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::vector< double > getNeutralLossAverageMasses() const
returns the neutral loss average weight
const String & getFullId() const
returns the full identifier of the mod (Unimod accession + origin, if available)
bool hasNeutralLoss() const
returns true if a neutral loss formula is set
void setSourceClassification(SourceClassification classification)
sets the source classification
void setDiffAverageMass(double mass)
set the difference average mass
Int unimod_record_id_
Definition ResidueModification.h:391
String name_
Definition ResidueModification.h:395
static String getDiffMonoMassWithBracket(const double diff_mono_mass)
return a string of the form '[+>mass<] (the '+' might be a '-', if mass is negative).
String formula_
Definition ResidueModification.h:411
void setNeutralLossMonoMasses(std::vector< double > mono_masses)
set the neutral loss mono weight
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
void setPSIMODAccession(const String &id)
set the MOD:XXXXX accession of PSI-MOD
String psi_mod_accession_
Definition ResidueModification.h:388
double diff_average_mass_
Definition ResidueModification.h:407
void setSynonyms(const std::set< String > &synonyms)
sets the synonyms of that modification
TermSpecificity
Position where the modification is allowed to occur.
Definition ResidueModification.h:74
void setDiffMonoMass(double mass)
sets the difference monoisotopic mass
TermSpecificity term_spec_
Definition ResidueModification.h:397
void setNeutralLossDiffFormulas(const std::vector< EmpiricalFormula > &diff_formulas)
sets the neutral loss formula
ResidueModification()
Default constructor.
bool operator<(const ResidueModification &modification) const
less operator
const std::set< String > & getSynonyms() const
returns the set of synonyms
void setName(const String &name)
sets the name of modification
String full_name_
Definition ResidueModification.h:393
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
String full_id_
Definition ResidueModification.h:386
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
const String & getName() const
returns the PSI-MS-label if available; e.g. Mascot uses this name
void setTermSpecificity(const String &name)
Sets the terminal specificity using a name.
void setFullId(const String &full_id="")
Sets the full identifier (Unimod Accession + origin, if available)
double diff_mono_mass_
Definition ResidueModification.h:409
std::vector< double > getNeutralLossMonoMasses() const
returns the neutral loss mono weight
void setUniModRecordId(const Int &id)
sets the unimod record id
static String getMonoMassWithBracket(const double mono_mass)
return a string of the form '[>mass<]
void setFormula(const String &composition)
set the formula (no masses will be changed)
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::set< String > synonyms_
Definition ResidueModification.h:415
void setSourceClassification(const String &classification)
classification as defined by the PSI-MOD
const String getUniModAccession() const
returns the unimod accession if available
const String & getId() const
returns the identifier of the modification
double getMonoMass() const
return the monoisotopic mass, or 0.0 if not set
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,...
String getTermSpecificityName(TermSpecificity term_spec=NUMBER_OF_TERM_SPECIFICITY) const
Returns the name of the terminal specificity.
double getAverageMass() const
returns the average mass if set
const String & getPSIMODAccession() const
returns the PSI-MOD accession if available
void addSynonym(const String &synonym)
adds a synonym to the unique list
void setFullName(const String &full_name)
sets the full name of the modification; must NOT contain the origin (or . for terminals!...
String id_
Definition ResidueModification.h:384
static const ResidueModification * createUnknownFromMassString(const String &mod, const double mass, const bool delta_mass, const TermSpecificity specificity, const Residue *residue=nullptr)
void setTermSpecificity(TermSpecificity term_spec)
Sets the term specificity.
void setId(const String &id)
set the identifier of the modification
EmpiricalFormula diff_formula_
Definition ResidueModification.h:413
String getSourceClassificationName(SourceClassification classification=NUMBER_OF_SOURCE_CLASSIFICATIONS) const
returns the classification
double getDiffAverageMass() const
returns the difference average mass, or 0.0 if not set
const Int & getUniModRecordId() const
gets the unimod record id
const String & getFullName() const
returns the full name of the modification
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:40
A more convenient string class.
Definition String.h:34
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