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: /vol/cvsroot/parser/inc/ms_quant_specificity.hpp,v $
00012  * @(#)$Revision: 1.9 $
00013  * @(#)$Date: 2010/09/06 16:18:57 $
00014 ##############################################################################
00015  */
00016 
00017 #ifndef MS_QUANT_SPECIFICITY_HPP
00018 #define MS_QUANT_SPECIFICITY_HPP
00019 
00020 #ifdef _WIN32
00021 #pragma warning(disable:4251)   // Don't want all classes to be exported
00022 #pragma warning(disable:4786)   // Debug symbols too long
00023 #   ifndef _MATRIX_USE_STATIC_LIB
00024 #       ifdef MS_MASCOTRESFILE_EXPORTS
00025 #           define MS_MASCOTRESFILE_API __declspec(dllexport)
00026 #       else
00027 #           define MS_MASCOTRESFILE_API __declspec(dllimport)
00028 #       endif
00029 #   else
00030 #       define MS_MASCOTRESFILE_API
00031 #   endif
00032 #else
00033 #   define MS_MASCOTRESFILE_API
00034 #endif
00035 
00036 #include <string>
00037 #include <vector>
00038 
00039 // forward declarations
00040 namespace msparser_internal {
00041     class ms_quant_xmlloader;
00042 }
00043 
00044 namespace matrix_science {
00045 
00046     class ms_quant_neutralloss; // forward declaration
00047     class ms_quant_pepneutralloss; // forward declaration
00048     class ms_xml_schema; // forward declaration
00049 
00055 
00056 
00059     class MS_MASCOTRESFILE_API ms_quant_specificity: public ms_xml_IValidatable // defined in "ms_xml_typeinfo.hpp"
00060     {
00061         friend class msparser_internal::ms_quant_xmlloader;
00062 
00063     public:
00065         ms_quant_specificity();
00066 
00068         ms_quant_specificity(const ms_quant_specificity& src);
00069 
00071         virtual ~ms_quant_specificity();
00072 
00074         void defaultValues();
00075 
00077         void copyFrom(const ms_quant_specificity* right);
00078 
00079 #ifndef SWIG
00080 
00081         ms_quant_specificity& operator=(const ms_quant_specificity& right);
00082 #endif
00083         // methods of ms_quant_IValidatable interface
00084 
00086         virtual std::string getSchemaType() const;
00087 
00089         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00090 
00092         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00093 
00094 
00096         int getNumberOfNeutralLosses() const;
00097 
00099         void clearNeutralLosses();
00100 
00102         void appendNeutralLoss(const ms_quant_neutralloss *neutralloss);
00103 
00105         const ms_quant_neutralloss * getNeutralLoss(const int idx) const;
00106 
00108         bool updateNeutralLoss(const int idx, const ms_quant_neutralloss* neutralloss);
00109 
00111         bool deleteNeutralLoss(const int idx);
00112 
00114         std::string getNeutralLossSchemaType() const;
00115 
00116 
00118         int getNumberOfPepNeutralLosses() const;
00119 
00121         void clearPepNeutralLosses();
00122 
00124         void appendPepNeutralLoss(const ms_quant_pepneutralloss *neutralloss);
00125 
00127         const ms_quant_pepneutralloss* getPepNeutralLoss(const int idx) const;
00128 
00130         bool updatePepNeutralLoss(const int idx, const ms_quant_pepneutralloss* neutralloss);
00131 
00133         bool deletePepNeutralLoss(const int idx);
00134 
00136         std::string getPepNeutralLossSchemaType() const;
00137 
00138 
00140         bool haveSite() const;
00141 
00143         std::string getSite() const;
00144 
00146         void setSite(const char* site);
00147 
00149         void dropSite();
00150 
00152         std::string getSiteSchemaType() const;
00153 
00154 
00156         bool havePosition() const;
00157 
00159         std::string getPosition() const;
00160 
00162         void setPosition(const char* position);
00163 
00165         void dropPosition();
00166 
00168         std::string getPositionSchemaType() const;
00169 
00170     private:
00171         typedef std::vector< ms_quant_neutralloss* > neutralloss_vector;
00172         neutralloss_vector _neutrallosses;
00173         
00174         typedef std::vector< ms_quant_pepneutralloss* > pepneutralloss_vector;
00175         pepneutralloss_vector _pepneutrallosses;
00176 
00177         std::string _site;
00178         bool _site_set;
00179 
00180         std::string _position;
00181         bool _position_set;
00182     }; // class ms_quant_specificity
00183  // end of config_group
00185 
00186 } // namespace matrix_science
00187 
00188 #endif // MS_QUANT_SPECIFICITY_HPP
00189 
00190 /*------------------------------- End of File -------------------------------*/
Copyright © 2016 Matrix Science Ltd.  All Rights Reserved. Generated on Fri Jun 2 2017 01:44:51