00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef MS_DISTILLER_DATA_HPP
00018 #define MS_DISTILLER_DATA_HPP
00019
00020
00021
00022 #include <string>
00023 #include <vector>
00024
00025 namespace msparser_internal
00026 {
00027 class ms_XMLHelper;
00028 class ms_XMLElement;
00029 }
00030
00031 namespace matrix_science
00032 {
00033 class ms_distiller_data_quant;
00034 class ms_distiller_data_search;
00035
00036
00043
00044
00047 class MS_MASCOTRESFILE_API ms_distiller_data :
00048 public matrix_science::ms_errors
00049 {
00050 public:
00051
00053 static time_t getDistillerResfileTimestamp();
00054
00056 static std::vector<std::string> getRequiredSchemaFileNames();
00057
00059 static std::string getDistillerProjectStreamName();
00060
00061 ms_distiller_data();
00062 virtual ~ms_distiller_data();
00063 ms_distiller_data(const ms_distiller_data & copy);
00064
00066 virtual std::string getDistillerVersion() const;
00067
00069 void copyFrom(const ms_distiller_data* right);
00070
00071 #ifndef SWIG
00072 const ms_distiller_data & operator=(const ms_distiller_data & copy);
00073 #endif
00074
00076 virtual int getSearchCount() const;
00078 virtual const ms_distiller_data_search & getSearch(int index) const;
00080 virtual int getLoadedSearchIndex() const;
00081
00083 virtual int getQuantCount() const;
00085 virtual const ms_distiller_data_quant & getQuant(int index) const;
00086
00088 virtual const ms_distiller_data_quant * getQuantForSearch(const std::string & taskId) const;
00089
00091 virtual const ms_datfile & getDatfile() const;
00092
00094 virtual const ms_fragrulesfile & getFragRulesFile() const;
00095
00097 virtual const ms_quant_method & getQuantMethod() const;
00098
00100 virtual ms_mascotresults_params get_ms_mascotresults_params(const int searchIndex) const;
00101
00103 virtual bool loadXml(const char * xmlSchemaPath, const std::string & xmlText);
00105 virtual bool loadXmlFile(const char * xmlSchemaPath, const std::string & xmlFilename);
00107 virtual bool loadXmlStream(const char * xmlSchemaPath, matrix_science::ms_input_string_stream * xmlStream);
00108
00109 virtual bool saveXmlFile(const char * xmlSchemaPath, const std::string & xmlFilename);
00110 virtual int addQuant(const std::string & taskId);
00111
00112 private:
00113 bool extractXml(const char * xmlSchemaPath, msparser_internal::ms_XMLHelper & helper);
00114 bool saveXml(const char * xmlSchemaPath, msparser_internal::ms_XMLHelper & helper);
00115
00116 int quantStreamCounter_;
00117 std::vector<ms_distiller_data_search> searches_;
00118 std::vector<ms_distiller_data_quant> quantStreams_;
00119 ms_datfile datfile_;
00120 ms_fragrulesfile fragfile_;
00121 ms_quant_method quantMethod_;
00122
00123 msparser_internal::ms_XMLHelper * helper_;
00124 std::string distillerVersion_;
00125 std::string serverURL_;
00126 std::string serverVersion_;
00127 };
00128
00130
00131
00132 }
00133
00134 #endif // MS_DISTILLER_DATA_HPP
00135
00136