17#ifndef MS_QUANT_METHOD_HPP
18#define MS_QUANT_METHOD_HPP
25namespace msparser_internal {
26 class ms_quant_xmlloader;
27 class ms_quant_method_impl;
28 class ms_quant_configfile_impl;
31namespace matrix_science {
33 class ms_quant_modgroup;
34 class ms_quant_component;
35 class ms_quant_quality;
36 class ms_quant_integration;
37 class ms_quant_outliers;
38 class ms_quant_normalisation;
39 class ms_quant_protocol;
42 class ms_quant_localdef;
52 friend class msparser_internal::ms_quant_xmlloader;
53 friend class msparser_internal::ms_quant_configfile_impl;
77 COMPATIBLE_DIFF_NUM_ISOTOPES
100 virtual std::string getSchemaType()
const;
103 virtual std::string validateShallow(
const ms_xml_schema *pSchemaFileObj)
const;
106 virtual std::string validateDeep(
const ms_xml_schema *pSchemaFileObj)
const;
110 int getNumberOfModificationGroups()
const;
113 void clearModificationGroups();
125 bool updateModificationGroupByNumber(
const int idx,
const ms_quant_modgroup* modgroup);
128 bool updateModificationGroupByName(
const char *name,
const ms_quant_modgroup* modgroup);
131 bool deleteModificationGroupByNumber(
const int idx);
134 bool deleteModificationGroupByName(
const char *name);
137 std::string getModificationGroupSchemaType()
const;
140 void getLocalModifications(std::vector<const ms_quant_localdef *> &localDefVector);
143 int getNumberOfComponents()
const;
146 void clearComponents();
164 bool deleteComponentByNumber(
const int idx);
167 bool deleteComponentByName(
const char *name);
170 std::string getComponentSchemaType()
const;
174 int getNumberOfReportRatios()
const;
177 void clearReportRatios();
183 const ms_quant_ratio * getReportRatioByNumber(
const int idx)
const;
186 const ms_quant_ratio * getReportRatioByName(
const char *name)
const;
189 bool updateReportRatioByNumber(
const int idx,
const ms_quant_ratio* ratio);
192 bool updateReportRatioByName(
const char *name,
const ms_quant_ratio* ratio);
195 bool deleteReportRatioByNumber(
const int idx);
198 bool deleteReportRatioByName(
const char *name);
201 std::string getReportRatioSchemaType()
const;
205 int getNumberOfExclusions()
const;
208 void clearExclusions();
211 void appendExclusion(
const char* exclusion);
214 std::string getExclusion(
const int idx)
const;
217 bool updateExclusion(
const int idx,
const char* exclusion);
220 bool deleteExclusion(
const int idx);
223 std::string getExclusionSchemaType()
const;
227 int getNumberOfSeqs()
const;
233 void appendSeq(
const char* seq);
236 std::string getSeq(
const int idx)
const;
239 bool updateSeq(
const int idx,
const char* seq);
242 bool deleteSeq(
const int idx);
245 std::string getSeqSchemaType()
const;
249 bool haveComp()
const;
252 std::string getComp()
const;
255 void setComp(
const char* value);
261 std::string getCompSchemaType()
const;
265 bool haveQuality()
const;
277 std::string getQualitySchemaType()
const;
281 bool haveIntegration()
const;
290 void dropIntegration();
293 std::string getIntegrationSchemaType()
const;
297 bool haveOutliers()
const;
309 std::string getOutliersSchemaType()
const;
313 bool haveNormalisation()
const;
322 void dropNormalisation();
325 std::string getNormalisationSchemaType()
const;
329 bool haveProtocol()
const;
341 std::string getProtocolSchemaType()
const;
345 bool haveName()
const;
348 std::string getName()
const;
351 void setName(
const char* value);
357 std::string getNameSchemaType()
const;
361 bool haveDescription()
const;
364 std::string getDescription()
const;
367 void setDescription(
const char* value);
370 void dropDescription();
373 std::string getDescriptionSchemaType()
const;
377 bool haveConstrainSearch()
const;
380 bool isConstrainSearch()
const;
383 void setConstrainSearch(
const bool value);
386 void dropConstrainSearch();
389 std::string getConstrainSearchSchemaType()
const;
393 bool haveProteinRatioType()
const;
396 std::string getProteinRatioType()
const;
399 void setProteinRatioType(
const char* value);
402 void dropProteinRatioType();
405 std::string getProteinRatioTypeSchemaType()
const;
409 bool haveReportDetail()
const;
412 bool isReportDetail()
const;
415 void setReportDetail(
const bool value);
418 void dropReportDetail();
421 std::string getReportDetailSchemaType()
const;
425 bool haveMinNumPeptides()
const;
428 int getMinNumPeptides()
const;
431 void setMinNumPeptides(
const int value);
434 void dropMinNumPeptides();
437 std::string getMinNumPeptidesSchemaType()
const;
441 bool haveProtScoreType()
const;
444 std::string getProtScoreType()
const;
447 void setProtScoreType(
const char* value);
450 void dropProtScoreType();
453 std::string getProtScoreTypeSchemaType()
const;
457 bool haveSigThresholdValue()
const;
460 std::string getSigThresholdValue()
const;
463 void setSigThresholdValue(
const char* value);
466 void dropSigThresholdValue();
469 std::string getSigThresholdValueSchemaType()
const;
473 bool haveShowSubSets()
const;
476 std::string getShowSubSets()
const;
479 void setShowSubSets(
const char* value);
482 void dropShowSubSets();
485 std::string getShowSubSetsSchemaType()
const;
489 bool haveRequireBoldRed()
const;
492 bool isRequireBoldRed()
const;
495 void setRequireBoldRed(
const bool value);
498 void dropRequireBoldRed();
501 std::string getRequireBoldRedSchemaType()
const;
504 int isMethodCompatible(
const ms_quant_method &other, std::string & reasonStrRef)
const;
506 int isMethodCompatible(
const ms_quant_method &other, std::string & OUTPUT)
const;
509 msparser_internal::ms_quant_method_impl * m_pImpl;
An object of this class represent a single component element in quantitation.xml.
Definition: ms_quant_component.hpp:48
An object of this class represent a single integration element in quantitation.xml.
Definition: ms_quant_integration.hpp:46
An object of this class represent a single quantitation method from quantitation.xml.
Definition: ms_quant_method.hpp:51
METHOD_COMPATIBLE
Enum used by isMethodCompatible()
Definition: ms_quant_method.hpp:63
@ COMPATIBLE_DIFF_NUM_LOCAL_MODS
Methods 'x' and 'y' are incompatible: Different number of local modification definitions ('mg1' and '...
Definition: ms_quant_method.hpp:70
@ COMPATIBLE_MISSING_INTEGRATION
Methods 'x' and 'y' are incompatible: One method has integration parameters and the other has none.
Definition: ms_quant_method.hpp:74
@ COMPATIBLE_MISSING_INTEGRATION_PARAM
Methods 'x' and 'y' are incompatible: "Method 'x' has integration parameter 'p' but method 'y' does n...
Definition: ms_quant_method.hpp:75
@ COMPATIBLE_DIFF_NUM_COMPONENTS
Methods 'x' and 'y' are incompatible: Different number of components ('c1' and 'c2').
Definition: ms_quant_method.hpp:66
@ COMPATIBLE_MISSING_MOD
Methods 'x' and 'y' are incompatible: Modification 'mod' is missing from modification group 'mg'.
Definition: ms_quant_method.hpp:73
@ COMPATIBLE_MISSING_COMPONENT
Methods 'x' and 'y' are incompatible: Component 'c1' is missing from method 'y'.
Definition: ms_quant_method.hpp:67
@ COMPATIBLE_DIFF_NUM_MODS
Methods 'x' and 'y' are incompatible: Different number of modifications ('mg1' and 'mg2') for modific...
Definition: ms_quant_method.hpp:72
@ COMPATIBLE_DIFF_PROTOCOL
Methods 'x' and 'y' are incompatible: Different protocols ('p1' and 'p2') for the methods.
Definition: ms_quant_method.hpp:65
@ COMPATIBLE
Methods are compatible.
Definition: ms_quant_method.hpp:64
@ COMPATIBLE_DIFF_LOCAL_MOD
Methods 'x' and 'y' are incompatible: Local modification 'lm' definition differs.
Definition: ms_quant_method.hpp:71
@ COMPATIBLE_DIFF_NUM_MOD_GROUPS
Methods 'x' and 'y' are incompatible: Different number of modification groups ('mg1' and 'mg2') for c...
Definition: ms_quant_method.hpp:68
@ COMPATIBLE_MISSING_MOD_GROUP
Methods 'x' and 'y' are incompatible: Modification group mg is missing from component 'c'.
Definition: ms_quant_method.hpp:69
@ COMPATIBLE_DIFF_INTEGRATION_PARAM
Methods 'x' and 'y' are incompatible: Method 'x' has integration parameter 'p1'='v1' but method 'y' h...
Definition: ms_quant_method.hpp:76
An object of this class represent a single modification group element in quantitation....
Definition: ms_quant_modgroup.hpp:46
An object of this class represent a single normalisation element in quantitation.xml.
Definition: ms_quant_normalisation.hpp:42
An object of this class represent a single OUTLIERS element in quantitation.xml.
Definition: ms_quant_outliers.hpp:44
An object of this class represent a protocol element in quantitation.xml.
Definition: ms_quant_protocol.hpp:55
An object of this class represent a single quality element in quantitation.xml.
Definition: ms_quant_quality.hpp:40
Represents the ratioType type for the report_ratio element in quantitation.xml.
Definition: ms_quant_ratio.hpp:41