Matrix Science header

ms_quant_specificity.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_quant_specificity.hpp                                             #
00004 # 'msparser' toolkit                                                         #
00005 # Describes \c specificity element from "quantitation.xml"-file               #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2006 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011  * @(#)$Source: parser/inc/ms_quant_specificity.hpp $
00012  * @(#)$Revision: 1b450440f9c97e1e41d0fc6016a27d68951d4532 | MSPARSER_REL_2_8_1-0-gea32989045 $
00013  * @(#)$Date: 2018-07-30 16:23:53 +0100 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_QUANT_SPECIFICITY_HPP
00018 #define MS_QUANT_SPECIFICITY_HPP
00019 
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 // forward declarations
00025 namespace msparser_internal {
00026     class ms_quant_xmlloader;
00027 }
00028 
00029 namespace matrix_science {
00030 
00031     class ms_quant_neutralloss; // forward declaration
00032     class ms_quant_pepneutralloss; // forward declaration
00033     class ms_xml_schema; // forward declaration
00034 
00040 
00041 
00044     class MS_MASCOTRESFILE_API ms_quant_specificity: public ms_xml_IValidatable // defined in "ms_xml_typeinfo.hpp"
00045     {
00046         friend class msparser_internal::ms_quant_xmlloader;
00047 
00048     public:
00050         ms_quant_specificity();
00051 
00053         ms_quant_specificity(const ms_quant_specificity& src);
00054 
00056         virtual ~ms_quant_specificity();
00057 
00059         void defaultValues();
00060 
00062         void copyFrom(const ms_quant_specificity* right);
00063 
00064 #ifndef SWIG
00065 
00066         ms_quant_specificity& operator=(const ms_quant_specificity& right);
00067 #endif
00068         // methods of ms_quant_IValidatable interface
00069 
00071         virtual std::string getSchemaType() const;
00072 
00074         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00075 
00077         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00078 
00079 
00081         int getNumberOfNeutralLosses() const;
00082 
00084         void clearNeutralLosses();
00085 
00087         void appendNeutralLoss(const ms_quant_neutralloss *neutralloss);
00088 
00090         const ms_quant_neutralloss * getNeutralLoss(const int idx) const;
00091 
00093         bool updateNeutralLoss(const int idx, const ms_quant_neutralloss* neutralloss);
00094 
00096         bool deleteNeutralLoss(const int idx);
00097 
00099         std::string getNeutralLossSchemaType() const;
00100 
00101 
00103         int getNumberOfPepNeutralLosses() const;
00104 
00106         void clearPepNeutralLosses();
00107 
00109         void appendPepNeutralLoss(const ms_quant_pepneutralloss *neutralloss);
00110 
00112         const ms_quant_pepneutralloss* getPepNeutralLoss(const int idx) const;
00113 
00115         bool updatePepNeutralLoss(const int idx, const ms_quant_pepneutralloss* neutralloss);
00116 
00118         bool deletePepNeutralLoss(const int idx);
00119 
00121         std::string getPepNeutralLossSchemaType() const;
00122 
00123 
00125         bool haveSite() const;
00126 
00128         std::string getSite() const;
00129 
00131         void setSite(const char* site);
00132 
00134         void dropSite();
00135 
00137         std::string getSiteSchemaType() const;
00138 
00139 
00141         bool havePosition() const;
00142 
00144         std::string getPosition() const;
00145 
00147         void setPosition(const char* position);
00148 
00150         void dropPosition();
00151 
00153         std::string getPositionSchemaType() const;
00154 
00155     private:
00156         typedef std::vector< ms_quant_neutralloss* > neutralloss_vector;
00157         neutralloss_vector _neutrallosses;
00158         
00159         typedef std::vector< ms_quant_pepneutralloss* > pepneutralloss_vector;
00160         pepneutralloss_vector _pepneutrallosses;
00161 
00162         std::string _site;
00163         bool _site_set;
00164 
00165         std::string _position;
00166         bool _position_set;
00167     }; // class ms_quant_specificity
00168  // end of config_group
00170 
00171 } // namespace matrix_science
00172 
00173 #endif // MS_QUANT_SPECIFICITY_HPP
00174 
00175 /*------------------------------- End of File -------------------------------*/

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:30