Matrix Science header

ms_quant_method.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_quant_method.hpp                                                  #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates method-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_method.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_METHOD_HPP
00018 #define MS_QUANT_METHOD_HPP
00019 
00020 
00021 #include <string>
00022 #include <vector>
00023 
00024 // forward declarations
00025 namespace msparser_internal {
00026     class ms_quant_xmlloader;
00027     class ms_quant_method_impl;
00028     class ms_quant_configfile_impl;
00029 }
00030 
00031 namespace matrix_science {
00032 
00033     class ms_quant_modgroup; // forward declaration
00034     class ms_quant_component; // forward declaration
00035     class ms_quant_quality; // forward declaration
00036     class ms_quant_integration; // forward delcaration
00037     class ms_quant_outliers; // forward declaration
00038     class ms_quant_normalisation; // forward declaration
00039     class ms_quant_protocol; // forward declaration
00040     class ms_quant_ratio; // forward declaration
00041     class ms_xml_schema; // forward declaration
00042     class ms_quant_localdef; // forward declaration
00043 
00049 
00050     class MS_MASCOTRESFILE_API ms_quant_method: public ms_xml_IValidatable
00051     {
00052         friend class msparser_internal::ms_quant_xmlloader;
00053         friend class msparser_internal::ms_quant_configfile_impl;
00054 
00055     public:
00057 
00063         enum METHOD_COMPATIBLE{
00064             COMPATIBLE,                             
00065             COMPATIBLE_DIFF_PROTOCOL,               
00066             COMPATIBLE_DIFF_NUM_COMPONENTS,         
00067             COMPATIBLE_MISSING_COMPONENT,           
00068             COMPATIBLE_DIFF_NUM_MOD_GROUPS,         
00069             COMPATIBLE_MISSING_MOD_GROUP,           
00070             COMPATIBLE_DIFF_NUM_LOCAL_MODS,         
00071             COMPATIBLE_DIFF_LOCAL_MOD,              
00072             COMPATIBLE_DIFF_NUM_MODS,               
00073             COMPATIBLE_MISSING_MOD,                 
00074             COMPATIBLE_MISSING_INTEGRATION,         
00075             COMPATIBLE_MISSING_INTEGRATION_PARAM,   
00076             COMPATIBLE_DIFF_INTEGRATION_PARAM,      
00077             COMPATIBLE_DIFF_NUM_ISOTOPES            
00078         };
00079 
00081         ms_quant_method();
00082 
00084         ms_quant_method(const ms_quant_method& src);
00085 
00087         virtual ~ms_quant_method();
00088 
00090         void defaultValues();
00091 
00093         void copyFrom(const ms_quant_method* right);
00094 
00095 #ifndef SWIG
00096 
00097         ms_quant_method& operator=(const ms_quant_method& right);
00098 #endif
00099 
00100         virtual std::string getSchemaType() const;
00101 
00103         virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00104 
00106         virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00107 
00108 
00110         int getNumberOfModificationGroups() const;
00111 
00113         void clearModificationGroups();
00114 
00116         void appendModificationGroup(const ms_quant_modgroup *item);
00117 
00119         const ms_quant_modgroup * getModificationGroupByNumber(const int idx) const;
00120 
00122         const ms_quant_modgroup * getModificationGroupByName(const char *name) const;
00123 
00125         bool updateModificationGroupByNumber(const int idx, const ms_quant_modgroup* modgroup);
00126 
00128         bool updateModificationGroupByName(const char *name, const ms_quant_modgroup* modgroup);
00129 
00131         bool deleteModificationGroupByNumber(const int idx);
00132 
00134         bool deleteModificationGroupByName(const char *name);
00135 
00137         std::string getModificationGroupSchemaType() const;
00138 
00140         void getLocalModifications(std::vector<const ms_quant_localdef *> &localDefVector);
00141 
00143         int getNumberOfComponents() const;
00144 
00146         void clearComponents();
00147 
00149         void appendComponent(const ms_quant_component *item);
00150 
00152         const ms_quant_component * getComponentByNumber(const int idx) const;
00153 
00155         const ms_quant_component * getComponentByName(const char *name) const;
00156 
00158         bool updateComponentByNumber(const int idx, const ms_quant_component* comp);
00159 
00161         bool updateComponentByName(const char *name, const ms_quant_component* comp);
00162 
00164         bool deleteComponentByNumber(const int idx);
00165 
00167         bool deleteComponentByName(const char *name);
00168 
00170         std::string getComponentSchemaType() const;
00171 
00172 
00174         int getNumberOfReportRatios() const;
00175 
00177         void clearReportRatios();
00178 
00180         void appendReportRatio(const ms_quant_ratio *ratio);
00181 
00183         const ms_quant_ratio * getReportRatioByNumber(const int idx) const;
00184 
00186         const ms_quant_ratio * getReportRatioByName(const char *name) const;
00187 
00189         bool updateReportRatioByNumber(const int idx, const ms_quant_ratio* ratio);
00190 
00192         bool updateReportRatioByName(const char *name, const ms_quant_ratio* ratio);
00193 
00195         bool deleteReportRatioByNumber(const int idx);
00196 
00198         bool deleteReportRatioByName(const char *name);
00199 
00201         std::string getReportRatioSchemaType() const;
00202 
00203 
00205         int getNumberOfExclusions() const;
00206 
00208         void clearExclusions();
00209 
00211         void appendExclusion(const char* exclusion);
00212 
00214         std::string getExclusion(const int idx) const;
00215 
00217         bool updateExclusion(const int idx, const char* exclusion);
00218 
00220         bool deleteExclusion(const int idx);
00221 
00223         std::string getExclusionSchemaType() const;
00224 
00225 
00227         int getNumberOfSeqs() const;
00228 
00230         void clearSeqs();
00231 
00233         void appendSeq(const char* seq);
00234 
00236         std::string getSeq(const int idx) const;
00237 
00239         bool updateSeq(const int idx, const char* seq);
00240 
00242         bool deleteSeq(const int idx);
00243 
00245         std::string getSeqSchemaType() const;
00246 
00247 
00249         bool haveComp() const;
00250 
00252         std::string getComp() const;
00253 
00255         void setComp(const char* value);
00256 
00258         void dropComp();
00259 
00261         std::string getCompSchemaType() const;
00262 
00263 
00265         bool haveQuality() const;
00266 
00268         const ms_quant_quality* getQuality() const;
00269 
00271         void setQuality(const ms_quant_quality* quality);
00272 
00274         void dropQuality();
00275 
00277         std::string getQualitySchemaType() const;
00278 
00279 
00281         bool haveIntegration() const;
00282 
00284         const ms_quant_integration* getIntegration() const;
00285 
00287         void setIntegration(const ms_quant_integration* integration);
00288 
00290         void dropIntegration();
00291 
00293         std::string getIntegrationSchemaType() const;
00294 
00295 
00297         bool haveOutliers() const;
00298 
00300         const ms_quant_outliers* getOutliers() const;
00301 
00303         void setOutliers(const ms_quant_outliers* outliers);
00304 
00306         void dropOutliers();
00307 
00309         std::string getOutliersSchemaType() const;
00310 
00311 
00313         bool haveNormalisation() const;
00314 
00316         const ms_quant_normalisation* getNormalisation() const;
00317 
00319         void setNormalisation(const ms_quant_normalisation* normalisation);
00320 
00322         void dropNormalisation();
00323 
00325         std::string getNormalisationSchemaType() const;
00326 
00327 
00329         bool haveProtocol() const;
00330 
00332         const ms_quant_protocol* getProtocol() const;
00333 
00335         void setProtocol(const ms_quant_protocol* protocol);
00336 
00338         void dropProtocol();
00339 
00341         std::string getProtocolSchemaType() const;
00342 
00343 
00345         bool haveName() const;
00346 
00348         std::string getName() const;
00349 
00351         void setName(const char* value);
00352 
00354         void dropName();
00355 
00357         std::string getNameSchemaType() const;
00358 
00359 
00361         bool haveDescription() const;
00362 
00364         std::string getDescription() const;
00365 
00367         void setDescription(const char* value);
00368 
00370         void dropDescription();
00371 
00373         std::string getDescriptionSchemaType() const;
00374 
00375 
00377         bool haveConstrainSearch() const;
00378 
00380         bool isConstrainSearch() const;
00381 
00383         void setConstrainSearch(const bool value);
00384 
00386         void dropConstrainSearch();
00387 
00389         std::string getConstrainSearchSchemaType() const;
00390 
00391 
00393         bool haveProteinRatioType() const;
00394 
00396         std::string getProteinRatioType() const;
00397 
00399         void setProteinRatioType(const char* value);
00400 
00402         void dropProteinRatioType();
00403 
00405         std::string getProteinRatioTypeSchemaType() const;
00406 
00407 
00409         bool haveReportDetail() const;
00410 
00412         bool isReportDetail() const;
00413 
00415         void setReportDetail(const bool value);
00416 
00418         void dropReportDetail();
00419 
00421         std::string getReportDetailSchemaType() const;
00422 
00423 
00425         bool haveMinNumPeptides() const;
00426 
00428         int getMinNumPeptides() const;
00429 
00431         void setMinNumPeptides(const int value);
00432 
00434         void dropMinNumPeptides();
00435 
00437         std::string getMinNumPeptidesSchemaType() const;
00438 
00439 
00441         bool haveProtScoreType() const;
00442 
00444         std::string getProtScoreType() const;
00445 
00447         void setProtScoreType(const char* value);
00448 
00450         void dropProtScoreType();
00451 
00453         std::string getProtScoreTypeSchemaType() const;
00454 
00455 
00457         bool haveSigThresholdValue() const;
00458 
00460         std::string getSigThresholdValue() const;
00461 
00463         void setSigThresholdValue(const char* value);
00464 
00466         void dropSigThresholdValue();
00467 
00469         std::string getSigThresholdValueSchemaType() const;
00470 
00471 
00473         bool haveShowSubSets() const;
00474 
00476         std::string getShowSubSets() const;
00477 
00479         void setShowSubSets(const char* value);
00480 
00482         void dropShowSubSets();
00483 
00485         std::string getShowSubSetsSchemaType() const;
00486 
00487 
00489         bool haveRequireBoldRed() const;
00490 
00492         bool isRequireBoldRed() const;
00493 
00495         void setRequireBoldRed(const bool value);
00496 
00498         void dropRequireBoldRed();
00499 
00501         std::string getRequireBoldRedSchemaType() const;
00502 #ifndef SWIG
00503 
00504         int isMethodCompatible(const ms_quant_method &other, std::string & reasonStrRef) const;
00505 #else // SWIG Multiple return values
00506         int isMethodCompatible(const ms_quant_method &other, std::string & OUTPUT) const;
00507 #endif
00508     private:
00509         msparser_internal::ms_quant_method_impl * m_pImpl;
00510     }; // class ms_quant_method
00511  // end of config_group
00513 
00514 } // namespace matrix_science
00515 
00516 #endif // MS_QUANT_METHOD_HPP
00517 
00518 /*------------------------------- End of File -------------------------------*/
00519 

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