00001 #ifndef __MGFP_INCLUDE_MGFHEADER_H__
00002 #define __MGFP_INCLUDE_MGFHEADER_H__
00003
00004 #include <mgfp/config.h>
00005
00006 #include <map>
00007 #include <ostream>
00008 #include <string>
00009 #include <vector>
00010
00011 #include <mgfp/utils.h>
00012
00013 namespace mgf {
00014
00022 class MGFP_EXPORT MgfHeader
00023 {
00024 public:
00025
00030 std::string getCLE(void) const;
00031
00040 void setCLE(const std::string& cle);
00041
00046 std::string getCOM(void) const;
00047
00052 void setCOM(const std::string& com);
00053
00058 std::string getDB(void) const;
00059
00065 void setDB(const std::string& db);
00066
00072 std::string getFORMAT(void) const;
00073
00079 void setFORMAT(const std::string& format);
00080
00087 std::string getINSTRUMENT(void) const;
00088
00095 void setINSTRUMENT(const std::string& instrument);
00096
00102 std::string getIT_MODS(void) const;
00103
00109 void setIT_MODS(const std::string& it_mods);
00110
00115 std::string getITOLU(void) const;
00116
00122 void setITOLU(const std::string& itolu);
00123
00127 std::string getMASS(void) const;
00128
00132 void setMASS(const std::string& mass);
00133
00141 std::string getMODS(void) const;
00142
00152 void setMODS(const std::string& mods);
00153
00158 std::string getQUANTITATION(void) const;
00159
00164 void setQUANTITATION(const std::string& quantitation);
00165
00170 std::string getREPORT(void) const;
00171
00176 void setREPORT(const std::string& report);
00177
00188 std::string getREPTYPE(void) const;
00189
00202 void setREPTYPE(const std::string& reptype);
00203
00208 std::string getSEARCH(void) const;
00209
00215 void setSEARCH(const std::string& search);
00216
00221 std::string getTAXONOMY(void) const;
00222
00227 void setTAXONOMY(const std::string& taxonomy);
00228
00233 std::string getTOLU(void) const;
00234
00239 void setTOLU(const std::string& tolu);
00240
00244 std::string getUSEREMAIL(void) const;
00245
00249 void setUSEREMAIL(const std::string& useremail);
00250
00254 std::string getUSERNAME(void) const;
00255
00259 void setUSERNAME(const std::string& username);
00260
00266 int getPFA(void) const;
00267
00273 void setPFA(const int pfa);
00274
00278 int getDECOY(void) const;
00279
00283 void setDECOY(const int decoy);
00284
00289 int getERRORTOLERANT(void) const;
00290
00296 void setERRORTOLERANT(const int errortolerant);
00297
00304 double getPEP_ISOTOPE_ERROR(void) const;
00305
00313 void setPEP_ISOTOPE_ERROR(const double pep_isotope_error);
00314
00320 double getITOL(void) const;
00321
00327 void setITOL(const double itol);
00328
00333 double getPRECURSOR(void) const;
00334
00339 void setPRECURSOR(const double precursor);
00340
00346 double getSEG(void) const;
00347
00355 void setSEG(const double seg);
00356
00362 double getTOL(void) const;
00363
00369 void setTOL(const double tol);
00370
00375 void getCHARGE(std::vector<int>& charges) const;
00376
00381 void setCHARGE(const std::vector<int>& charges);
00382
00389 void getFRAMES(std::vector<int>& frames) const;
00390
00397 void setFRAMES(const std::vector<int>& frames);
00398
00401 void clear();
00402
00403 private:
00409 friend std::ostream& operator<<(std::ostream& os, const MgfHeader& mgf);
00410
00413 std::map<std::string, std::string> strings;
00414
00417 std::map<std::string, int> ints;
00418
00421 std::map<std::string, double> doubles;
00422
00425 std::vector<int> charges_;
00426
00429 std::vector<int> frames_;
00430 };
00431
00434 std::ostream& operator<<(std::ostream& os, const MgfHeader& mgf);
00435
00436 }
00437
00438 #endif
00439