Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
00037 #define OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
00038
00039 #include <OpenMS/DATASTRUCTURES/String.h>
00040 #include <OpenMS/CHEMISTRY/EmpiricalFormula.h>
00041
00042 #include <set>
00043
00044 namespace OpenMS
00045 {
00046
00047 class Residue;
00048
00058 class OPENMS_DLLAPI ResidueModification
00059 {
00060 public:
00061
00078 enum Term_Specificity
00079 {
00080 ANYWHERE = 0,
00081 C_TERM = 1,
00082 N_TERM = 2,
00083 NUMBER_OF_TERM_SPECIFICITY
00084 };
00085
00089 enum Source_Classification
00090 {
00091 ARTIFACT = 0,
00092 HYPOTHETICAL,
00093 NATURAL,
00094 POSTTRANSLATIONAL,
00095 MULTIPLE,
00096 CHEMICAL_DERIVATIVE,
00097 ISOTOPIC_LABEL,
00098 PRETRANSLATIONAL,
00099 OTHER_GLYCOSYLATION,
00100 NLINKED_GLYCOSYLATION,
00101 AA_SUBSTITUTION,
00102 OTHER,
00103 NONSTANDARD_RESIDUE,
00104 COTRANSLATIONAL,
00105 OLINKED_GLYCOSYLATION,
00106 UNKNOWN,
00107 NUMBER_OF_SOURCE_CLASSIFICATIONS
00108 };
00110
00111
00112
00116
00117 ResidueModification();
00118
00120 ResidueModification(const ResidueModification & modification);
00121
00123 virtual ~ResidueModification();
00125
00129
00130 ResidueModification & operator=(const ResidueModification & modification);
00132
00136
00137 void setId(const String & id);
00138
00140 const String & getId() const;
00141
00143 void setFullId(const String & full_id);
00144
00146 const String & getFullId() const;
00147
00149 void setUniModAccession(const String & id);
00150
00152 const String & getUniModAccession() const;
00153
00155 void setPSIMODAccession(const String & id);
00156
00158 const String & getPSIMODAccession() const;
00159
00161 void setFullName(const String & full_name);
00162
00164 const String & getFullName() const;
00165
00167 void setName(const String & name);
00168
00170 const String & getName() const;
00171
00173 void setTermSpecificity(Term_Specificity term_spec);
00174
00176 void setTermSpecificity(const String & name);
00177
00179 Term_Specificity getTermSpecificity() const;
00180
00182 String getTermSpecificityName(Term_Specificity = NUMBER_OF_TERM_SPECIFICITY) const;
00183
00185 void setOrigin(const String & origin);
00186
00188 const String & getOrigin() const;
00189
00191 void setSourceClassification(const String & classification);
00192
00194 void setSourceClassification(Source_Classification classification);
00195
00197 Source_Classification getSourceClassification() const;
00198
00200 String getSourceClassificationName(Source_Classification classification = NUMBER_OF_SOURCE_CLASSIFICATIONS) const;
00201
00203 void setAverageMass(DoubleReal mass);
00204
00206 DoubleReal getAverageMass() const;
00207
00209 void setMonoMass(DoubleReal mass);
00210
00212 DoubleReal getMonoMass() const;
00213
00215 void setDiffAverageMass(DoubleReal mass);
00216
00218 DoubleReal getDiffAverageMass() const;
00219
00221 void setDiffMonoMass(DoubleReal mass);
00222
00224 DoubleReal getDiffMonoMass() const;
00225
00227 void setFormula(const String & composition);
00228
00230 const String & getFormula() const;
00231
00233 void setDiffFormula(const EmpiricalFormula & diff_formula);
00234
00236 const EmpiricalFormula & getDiffFormula() const;
00237
00239 void setSynonyms(const std::set<String> & synonyms);
00240
00242 void addSynonym(const String & synonym);
00243
00245 const std::set<String> & getSynonyms() const;
00246
00248 void setNeutralLossDiffFormula(const EmpiricalFormula & loss);
00249
00251 const EmpiricalFormula & getNeutralLossDiffFormula() const;
00252
00254 void setNeutralLossMonoMass(DoubleReal mono_mass);
00255
00257 DoubleReal getNeutralLossMonoMass() const;
00258
00260 void setNeutralLossAverageMass(DoubleReal average_mass);
00261
00263 DoubleReal getNeutralLossAverageMass() const;
00265
00269
00270 bool hasNeutralLoss() const;
00271
00273 bool operator==(const ResidueModification & modification) const;
00274
00276 bool operator!=(const ResidueModification & modification) const;
00278
00279 protected:
00280
00281 String id_;
00282
00283 String full_id_;
00284
00285 String psi_mod_accession_;
00286
00287 String unimod_accession_;
00288
00289 String full_name_;
00290
00291 String name_;
00292
00293 Term_Specificity term_spec_;
00294
00295 String origin_;
00296
00297 Source_Classification classification_;
00298
00299 DoubleReal average_mass_;
00300
00301 DoubleReal mono_mass_;
00302
00303 DoubleReal diff_average_mass_;
00304
00305 DoubleReal diff_mono_mass_;
00306
00307 String formula_;
00308
00309 EmpiricalFormula diff_formula_;
00310
00311 std::set<String> synonyms_;
00312
00313 EmpiricalFormula neutral_loss_diff_formula_;
00314
00315 DoubleReal neutral_loss_mono_mass_;
00316
00317 DoubleReal neutral_loss_average_mass_;
00318 };
00319 }
00320
00321 #endif