00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_QUANT_NORMALISATION_PROTEIN_HPP
00018 #define MS_QUANT_NORMALISATION_PROTEIN_HPP
00019
00020
00021 #include <string>
00022 #include <vector>
00023
00024
00025 namespace msparser_internal {
00026 class ms_quant_xmlloader;
00027 }
00028
00029 namespace matrix_science {
00030
00031 class ms_quant_modgroup;
00032 class ms_xml_schema;
00033
00039
00040
00043 class MS_MASCOTRESFILE_API ms_quant_normalisation_protein: public ms_xml_IValidatable
00044 {
00045 friend class msparser_internal::ms_quant_xmlloader;
00046
00047 public:
00049 ms_quant_normalisation_protein();
00050
00052 ms_quant_normalisation_protein(const ms_quant_normalisation_protein& src);
00053
00055 virtual ~ms_quant_normalisation_protein();
00056
00058 void defaultValues();
00059
00061 void copyFrom(const ms_quant_normalisation_protein* right);
00062
00063 #ifndef SWIG
00064
00065 ms_quant_normalisation_protein& operator=(const ms_quant_normalisation_protein& right);
00066 #endif
00067
00068 virtual std::string getSchemaType() const;
00069
00071 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00072
00074 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00075
00076
00078 bool haveAccession() const;
00079
00081 std::string getAccession() const;
00082
00084 void setAccession(const char * value);
00085
00087 void dropAccession();
00088
00090 std::string getAccessionSchemaType() const;
00091
00092 private:
00093
00094 std::string _accession;
00095 bool _accession_set;
00096 };
00097
00099 class MS_MASCOTRESFILE_API ms_quant_normalisation_proteins: public ms_xml_IValidatable
00100 {
00101 friend class msparser_internal::ms_quant_xmlloader;
00102
00103 public:
00105 ms_quant_normalisation_proteins();
00106
00108 ms_quant_normalisation_proteins(const ms_quant_normalisation_proteins& src);
00109
00111 virtual ~ms_quant_normalisation_proteins();
00112
00114 void defaultValues();
00115
00117 void copyFrom(const ms_quant_normalisation_proteins* right);
00118
00119 #ifndef SWIG
00120
00121 ms_quant_normalisation_proteins& operator=(const ms_quant_normalisation_proteins& right);
00122 #endif
00123
00124 virtual std::string getSchemaType() const;
00125
00127 virtual std::string validateShallow(const ms_xml_schema *pSchemaFileObj) const;
00128
00130 virtual std::string validateDeep(const ms_xml_schema *pSchemaFileObj) const;
00131
00132
00134 int getNumberOfProteins() const;
00135
00137 void clearProteins();
00138
00140 void appendProtein(const ms_quant_normalisation_protein* protein);
00141
00143 const ms_quant_normalisation_protein* getProtein(const int idx) const;
00144
00146 bool updateProtein(const int idx, const ms_quant_normalisation_protein* protein);
00147
00149 bool deleteProtein(const int idx);
00150
00152 std::string getProteinSchemaType() const;
00153
00154 private:
00155
00156 typedef std::vector< ms_quant_normalisation_protein* > prot_vector;
00157 prot_vector _proteins;
00158 };
00159
00161
00162 }
00163
00164 #endif // MS_QUANT_NORMALISATION_PROTEIN_HPP
00165
00166
00167