Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

ResidueModification.h (Maintainer: Andreas Bertsch)

Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // --------------------------------------------------------------------------
00005 //                   OpenMS Mass Spectrometry Framework
00006 // --------------------------------------------------------------------------
00007 //  Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert
00008 //
00009 //  This library is free software; you can redistribute it and/or
00010 //  modify it under the terms of the GNU Lesser General Public
00011 //  License as published by the Free Software Foundation; either
00012 //  version 2.1 of the License, or (at your option) any later version.
00013 //
00014 //  This library is distributed in the hope that it will be useful,
00015 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 //  Lesser General Public License for more details.
00018 //
00019 //  You should have received a copy of the GNU Lesser General Public
00020 //  License along with this library; if not, write to the Free Software
00021 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 //
00023 // --------------------------------------------------------------------------
00024 // $Maintainer: Andreas Bertsch $
00025 // --------------------------------------------------------------------------
00026 //
00027 
00028 #ifndef OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
00029 #define OPENMS_CHEMISTRY_RESIDUEMODIFICATION_H
00030 
00031 #include <OpenMS/CHEMISTRY/EmpiricalFormula.h>
00032 #include <OpenMS/CONCEPT/Types.h>
00033 #include <OpenMS/DATASTRUCTURES/String.h>
00034 
00035 #include <set>
00036 
00037 namespace OpenMS
00038 {
00039   // forward declaration
00040   class Residue;
00041 
00045   class ResidueModification
00046   {
00047     public:
00048     
00052 
00053       ResidueModification();
00054       
00056       ResidueModification(const ResidueModification& modification);
00057 
00059       virtual ~ResidueModification();
00061 
00064 
00065       ResidueModification& operator = (const ResidueModification& modification);
00067 
00071 
00072       void setName(const String& name);
00073 
00075       const String& getName() const;
00076 
00078       void setShortName(const String& name);
00079 
00081       const String& getShortName() const;
00082 
00084       void setNamePrefix(const String& name_prefix);
00085 
00087       const String& getNamePrefix() const;
00088 
00090       void setSynonyms(const std::set<String>& synonyms);
00091 
00093       void addSynonym(const String& synonym);
00094 
00096       const std::set<String>& getSynonyms() const;
00097         
00099       void setAddFormula(const EmpiricalFormula& formula);
00100         
00102       const EmpiricalFormula& getAddFormula() const;
00103 
00105       void setAddAverageWeight(DoubleReal weight);
00106         
00108       DoubleReal getAddAverageWeight() const;
00109 
00111       void setAddMonoWeight(DoubleReal weight);
00112 
00114       DoubleReal getAddMonoWeight() const;
00115 
00117       void setDelFormula(const EmpiricalFormula& formula);
00118         
00120       const EmpiricalFormula& getDelFormula() const;
00121 
00123       void setDelAverageWeight(DoubleReal weight);
00124 
00126       DoubleReal getDelAverageWeight() const;
00127 
00129       void setDelMonoWeight(DoubleReal weight);
00130 
00132       DoubleReal getDelMonoWeight() const;
00133 
00135       void setValidResidues(const std::set<Residue*>& valid_residues);
00136 
00138       void addValidResidue(Residue* valid_residue);
00139         
00141       const std::set<Residue*>& getValidResidues() const;
00143 
00147 
00148       bool operator == (const ResidueModification& modification) const;
00149 
00151       bool operator != (const ResidueModification& modification) const;
00153         
00154     protected:
00155 
00156       // basic
00157       String name_;
00158       
00159       String short_name_;
00160       
00161       String name_prefix_;
00162 
00163       std::set<String> synonyms_;
00164 
00165       // additions
00166       EmpiricalFormula add_formula_;
00167 
00168       DoubleReal add_average_weight_;
00169 
00170       DoubleReal add_mono_weight_;
00171         
00172       // deletions
00173       EmpiricalFormula del_formula_;
00174 
00175       DoubleReal del_average_weight_;
00176 
00177       DoubleReal del_mono_weight_;
00178 
00179       // residues 
00180       std::set<Residue*> valid_residues_;
00181   };
00182 }
00183 
00184 #endif

Generated Tue Apr 1 15:36:37 2008 -- using doxygen 1.5.4 OpenMS / TOPP 1.1