00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MS_MASCOTRESPARAMS_HPP
00020 #define MS_MASCOTRESPARAMS_HPP
00021
00022
00023
00024 #include <string>
00025
00026 namespace matrix_science {
00027
00033
00034
00040 class MS_MASCOTRESFILE_API ms_searchparams
00041 {
00042 public:
00043
00045
00052 enum MULTI_SITE_MODS {
00053 MSM_NOT_PERMITTED = 0x0000,
00054 MSM_EXCLUSIVE_PLUS_VARIABLE = 0x0001
00055 };
00056
00058 ms_searchparams(const ms_mascotresfile &resfile);
00059
00061 ~ms_searchparams() {};
00062
00064 std::string getLICENSE();
00065 #ifndef SWIGCSHARP
00066
00067 std::string getCOM();
00068 #else
00069 std::wstring getCOM() {
00070 return getCOMWide();
00071 };
00072 #endif
00073
00074 int getSEG();
00075
00077 double getTOL();
00078
00080 std::string getTOLU();
00081
00083 double getITOL();
00084
00086 std::string getITOLU();
00087
00089 int getPFA();
00090
00092 std::string getDB(int idx = 1);
00093
00095 int getNumberOfDatabases();
00096
00098 std::string getMODS();
00099
00101 std::string getMASS();
00102
00104 MASS_TYPE getMassType();
00105
00107 std::string getCLE();
00108
00110 std::string getFILENAME();
00111
00113 std::string getDATAURL();
00114
00116 std::string getQUE();
00117
00119 std::string getSEARCH();
00120
00121 #ifndef SWIGCSHARP
00122
00123 std::string getUSERNAME();
00124 #else
00125 std::wstring getUSERNAME() {
00126 return getUSERNAMEWide();
00127 };
00128 #endif
00129
00130 #ifndef SWIGCSHARP
00131
00132 std::string getUSEREMAIL();
00133 #else
00134 std::wstring getUSEREMAIL() {
00135 return getUSEREMAILWide();
00136 };
00137 #endif
00138
00140 int getUSERID();
00141
00143 std::string getCHARGE();
00144
00146 std::string getINTERMEDIATE();
00147
00149 int getREPORT();
00150
00152 bool getOVERVIEW();
00153
00155 std::string getFORMAT();
00156
00158 std::string getFORMVER();
00159
00161 std::string getIT_MODS();
00162
00164 std::string getUSERField(int num);
00165
00167 std::string getAllUSERParams() const;
00168
00170 double getPRECURSOR();
00171
00173 std::string getTAXONOMY();
00174
00176 std::string getREPTYPE();
00177
00179 std::string getACCESSION();
00180
00182 int getSUBCLUSTER();
00183
00185 bool getICAT();
00186
00188 std::string getINSTRUMENT();
00189
00191 bool getERRORTOLERANT();
00192
00194 std::string getRULES();
00195
00197 double getMinInternalMass();
00198
00200 double getMaxInternalMass();
00201
00203 double getResidueMass(char residue);
00204
00206 double getCTermMass();
00207
00209 double getNTermMass();
00210
00212 double getHydrogenMass() const;
00213
00215 double getOxygenMass() const;
00216
00218 double getCarbonMass() const;
00219
00221 double getNitrogenMass() const;
00222
00224 double getElectronMass() const;
00225
00226
00227 std::string getVarModsName(int num) const;
00228
00230 double getVarModsDelta(int num);
00231
00233 double getVarModsNeutralLoss(int num);
00234
00236 std::vector<double> getVarModsNeutralLosses(int num) const;
00237
00239 std::vector<double> getVarModsPepNeutralLoss(int num);
00240
00242 std::vector<double> getVarModsReqPepNeutralLoss(int num);
00243
00244
00245 std::string getFixedModsName(int num) const;
00246
00248 double getFixedModsDelta(int num);
00249
00251 double getFixedModsNeutralLoss(int num);
00252
00254 std::string getFixedModsResidues(int num) const;
00255
00257 int getNumberOfLibraryMods() const;
00258
00260 std::string getLibraryModName(int num) const;
00261
00263 double getLibraryModDelta(int num) const;
00264
00266 std::string getErrTolParentFilename();
00267
00269 std::string getQUANTITATION() const;
00270
00272 std::string getCROSSLINKING() const;
00273
00275 int getPEP_ISOTOPE_ERROR() const;
00276
00278 int getDECOY() const;
00279
00281 double getTARGET_FDR_PERCENT() const;
00282
00284 int getLIBRARY_SEARCH() const;
00285
00287 unsigned int getMULTI_SITE_MODS() const;
00288
00289 protected:
00290
00291 #ifndef SWIG
00292 ms_searchparams(const ms_searchparams & rhs);
00293 ms_searchparams & operator=(const ms_searchparams & rhs);
00294 #endif
00295
00296 private:
00297 std::wstring getCOMWide();
00298 std::wstring getUSERNAMEWide();
00299 std::wstring getUSEREMAILWide();
00300 std::string decryptNumber(const std::string & input) const;
00301 bool parseLibraryMod(const ms_mascotresfile & resfile, int num, std::string & name, double & delta) const;
00302
00303
00304 int numDB_;
00305 std::string license_;
00306 std::string com_;
00307 int seg_;
00308 double tol_;
00309 std::string tolu_;
00310 double itol_;
00311 std::string itolu_;
00312 int PFA_;
00313 std::vector<std::string> DBnames_;
00314 std::string mods_;
00315 std::string massTypeStr_;
00316 std::string cle_;
00317 std::string FILENAME_;
00318 std::string DATAURL_;
00319 std::string QUE_;
00320 std::string SEARCH_;
00321 std::string USERNAME_;
00322 int USERID_;
00323 std::string USEREMAIL_;
00324 std::string CHARGE_;
00325 std::string INTERMEDIATE_;
00326 int REPORT_;
00327 bool OVERVIEW_;
00328 std::string FORMAT_;
00329 std::string FORMVER_;
00330 std::string IT_MODS_;
00331 std::vector<std::string> userField_;
00332 std::string allUserParams_;
00333 double PRECURSOR_;
00334 std::string TAXONOMY_;
00335 std::string REPTYPE_;
00336 std::string ACCESSION_;
00337 int SUBCLUSTER_;
00338 bool ICAT_;
00339 std::string INSTRUMENT_;
00340 bool ERRORTOLERANT_;
00341 std::string RULES_;
00342 double minInternalMass_;
00343 double maxInternalMass_;
00344 std::map<char, double> residueMasses_;
00345 double C_term_;
00346 double N_term_;
00347 double HydrogenMass_;
00348 double OxygenMass_;
00349 double CarbonMass_;
00350 double NitrogenMass_;
00351 double ElectronMass_;
00352 std::map<int, std::string> varModsName_;
00353 std::map<int, double> varModsDelta_;
00354 std::map<int, std::vector<double> > varModsNeutralLosses_;
00355 std::map<int, std::vector<double> > pepNeutralLoss_;
00356 std::map<int, std::vector<double> > reqPepNeutralLoss_;
00357 std::map<int, std::string> fixedModsName_;
00358 std::map<int, double> fixedModsDelta_;
00359 std::map<int, double> fixedModsNeutralLoss_;
00360 std::map<int, std::string> fixedModsResidues_;
00361 std::vector<std::string> libraryModNames_;
00362 std::vector<double> libraryModDeltas_;
00363 int numLibraryMods_;
00364 std::string errTolParentFilename_;
00365 std::string QUANTITATION_;
00366 std::string CROSSLINKING_;
00367 int PEP_ISOTOPE_ERROR_;
00368 int decoy_;
00369 double TARGET_FDR_PERCENT_;
00370 int LIBRARY_SEARCH_;
00371 int MULTI_SITE_MODS_;
00372
00373 int getNumberOfDatabases(const ms_mascotresfile & resfile) const;
00374
00375 };
00377 }
00378
00379 #endif // MS_MASCOTRESPARAMS_HPP
00380
00381