Matrix Science header

ms_mascotresparams.hpp

00001 /*
00002 ##############################################################################
00003 # file: ms_mascotresparams.hpp                                               #
00004 # 'msparser' toolkit                                                         #
00005 # Encapsulates the parameters & masses sections from the mascot results file #
00006 ##############################################################################
00007 # COPYRIGHT NOTICE                                                           #
00008 # Copyright 1998-2019 Matrix Science Limited  All Rights Reserved.           #
00009 #                                                                            #
00010 ##############################################################################
00011 #    $Archive:: /MowseBranches/ms_mascotresfile_1.2/include/ms_mascotrespa $ #
00012 #     $Author: francoisr@matrixscience.com $ #
00013 #       $Date: 2021-07-22 14:03:31 +0100 $ #
00014 #   $Revision: 0ea29aa2aa389c9ba7d3f7b5485b56c02719f01e | MSPARSER_REL_2_8_1-0-gea32989045 $ #
00015 # $NoKeywords::                                                            $ #
00016 ##############################################################################
00017 */
00018 
00019 #ifndef MS_MASCOTRESPARAMS_HPP
00020 #define MS_MASCOTRESPARAMS_HPP
00021 
00022 
00023 // Includes from the standard template library
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             // Returns the name of the specified variable modification selected by the user.
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             // Returns the name of the specified fixed modification selected by the user.
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             // Not safe to copy or assign this object.
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     }; // end of resfile_group
00377 }   // matrix_science namespace
00378 
00379 #endif // MS_MASCOTRESPARAMS_HPP
00380 
00381 /*------------------------------- End of File -------------------------------*/

Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:29