00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MS_MASCOTRESPEPTIDE_HPP
00021 #define MS_MASCOTRESPEPTIDE_HPP
00022
00023
00024
00025 #include <string>
00026 #include <vector>
00027
00028 namespace msparser_internal {
00029 class ms_peptide_impl;
00030 }
00031
00032 namespace matrix_science {
00033 class ms_protein;
00034 class ms_mascotresults;
00035 class ms_linker_site;
00036 class ms_linker_site_vector;
00037
00043
00044
00055 class MS_MASCOTRESFILE_API ms_peptide
00056 {
00057 public:
00059 ms_peptide();
00060
00062 ms_peptide( int query,
00063 int rank,
00064 int missedCleavages,
00065 double mrCalc,
00066 double delta,
00067 double observed,
00068 int charge,
00069 int numIonsMatched,
00070 std::string peptideStr,
00071 int peaksUsedFromIons1,
00072 std::string varModsStr,
00073 double ionsScore,
00074 std::string seriesUsedStr,
00075 int peaksUsedFromIons2,
00076 int peaksUsedFromIons3,
00077 const ms_mascotresults * pResults = 0,
00078 bool storeReloadableInfo = true);
00079
00080 enum SEARCH_PHASE {
00081 SEARCH_PHASE_PRIMARY = 0,
00082 SEARCH_PHASE_ERRTOL = 1,
00083 SEARCH_PHASE_LIBRARY = 2
00084 };
00085
00087
00097 enum PSM {
00098 PSM_COMPLETE = 0,
00099 PSM_CROSSLINK_ALPHA = 1,
00100 PSM_CROSSLINK_BETA = 2
00101 };
00102
00104 ms_peptide( const int query,
00105 const int rank,
00106 const SEARCH_PHASE searchPhase,
00107 const int missedCleavages,
00108 const double mrCalc,
00109 const double delta,
00110 const double observed,
00111 const int charge,
00112 const int numIonsMatched,
00113 const std::string & peptideStr,
00114 const int peaksUsedFromIons1,
00115 const std::string & varModsStr,
00116 const std::string & summedModsStr,
00117 const std::string & localModsStr,
00118 const std::string & monoLinkStr,
00119 const ms_linker_site_vector & loopLinks,
00120 const double ionsScore,
00121 const std::string & seriesUsedStr,
00122 const int peaksUsedFromIons2,
00123 const int peaksUsedFromIons3,
00124 const std::string & primaryNlStr,
00125 const std::string & summedModsNlStr,
00126 const std::string & localModsNlStr,
00127 const std::string & substStr,
00128 const std::string & componentStr,
00129 const ms_mascotresults * pResults = 0,
00130 const bool storeReloadableInfo = true);
00131
00133 ms_peptide( const int query,
00134 const int rank,
00135 const SEARCH_PHASE searchPhase,
00136 const double delta,
00137 const double observed,
00138 const int charge,
00139 const int numIonsMatched,
00140 const int peaksUsedFromIons1,
00141 const double ionsScore,
00142 const std::string & seriesUsedStr,
00143 const int peaksUsedFromIons2,
00144 const int peaksUsedFromIons3,
00145 const ms_peptide & pepAlpha,
00146 const ms_peptide & pepBeta,
00147 const ms_linker_site & linkerSite,
00148 const ms_mascotresults * pResults = 0,
00149 const bool storeReloadableInfo = true);
00150
00152 ms_peptide(const ms_peptide& src);
00153
00155 ms_peptide(msparser_internal::ms_peptide_impl *pImpl);
00156
00158 ~ms_peptide();
00159
00160 #ifndef SWIG
00161
00162 ms_peptide& operator=(const ms_peptide& right);
00163 #endif
00164
00165 void copyFrom(const ms_peptide* src);
00166
00168 bool clearReloadableInfo();
00169
00170 #ifndef SWIG
00171
00172 bool getAllProperties(int & outQuery,
00173 int & outRank,
00174 int & outPrettyRank,
00175 int & outMissedCleavages,
00176 double & outMrCalc,
00177 double & outDelta,
00178 double & outObserved,
00179 int & outCharge,
00180 int & outNumIonsMatched,
00181 std::string & outPeptideStr,
00182 int & outPeaksUsedFromIons1,
00183 std::string & outVarModsStr,
00184 std::string & outSummedModsStr,
00185 std::string & outLocalModsStr,
00186 std::string & outMonoLinkStr,
00187 double & outIonsScore,
00188 std::string & outSeriesUsedStr,
00189 int & outPeaksUsedFromIons2,
00190 int & outPeaksUsedFromIons3,
00191 std::string & outPrimaryNlStr,
00192 std::string & outSummedModsNlStr,
00193 std::string & outLocalModsNlStr,
00194 std::string & outComponentStr) const;
00195 #else // SWIG Multiple return values
00196 bool getAllProperties(int & OUTPUT,
00197 int & OUTPUT,
00198 int & OUTPUT,
00199 int & OUTPUT,
00200 double & OUTPUT,
00201 double & OUTPUT,
00202 double & OUTPUT,
00203 int & OUTPUT,
00204 int & OUTPUT,
00205 std::string & OUTPUT,
00206 int & OUTPUT,
00207 std::string & OUTPUT,
00208 std::string & OUTPUT,
00209 std::string & OUTPUT,
00210 std::string & OUTPUT,
00211 double & OUTPUT,
00212 std::string & OUTPUT,
00213 int & OUTPUT,
00214 int & OUTPUT,
00215 std::string & OUTPUT,
00216 std::string & OUTPUT,
00217 std::string & OUTPUT,
00218 std::string & OUTPUT) const;
00219 #endif
00220
00221 int getQuery() const;
00222
00224 int getRank() const;
00225 void setRank(int rank);
00226
00228 int getPrettyRank() const;
00229 void setPrettyRank(int rank);
00230
00232 int getAmbiguityGroupId() const;
00234 void setAmbiguityGroupId(int group);
00235
00237 bool getAnyMatch() const;
00238
00240 int getMissedCleavages(const PSM psmComponent = PSM_COMPLETE) const;
00241
00243 double getMrCalc(const PSM psmComponent = PSM_COMPLETE) const;
00244
00246 double getDelta() const;
00247
00249 double getObserved() const;
00250
00252 double getMrExperimental() const;
00253
00255 int getCharge() const;
00256
00258 int getNumIonsMatched() const;
00259
00261 std::string getPeptideStr(bool substituteAmbiguous = true, const PSM psmComponent = PSM_COMPLETE) const;
00262
00264 int getPeptideLength(const PSM psmComponent = PSM_COMPLETE) const;
00265
00267 int getPeaksUsedFromIons1() const;
00268
00270 int getPeaksUsedFromIons2() const;
00271
00273 int getPeaksUsedFromIons3() const;
00274
00276 std::string getVarModsStr(const PSM psmComponent = PSM_COMPLETE) const;
00277
00279 void setVarModsStr(const std::string str, const PSM psmComponent = PSM_COMPLETE);
00280
00282 std::string getSummedModsStr(const PSM psmComponent = PSM_COMPLETE) const;
00283
00285 void setSummedModsStr(const std::string str, const PSM psmComponent = PSM_COMPLETE);
00286
00288 std::string getLocalModsStr(const PSM psmComponent = PSM_COMPLETE) const;
00289
00291 void setLocalModsStr(const std::string str, const PSM psmComponent = PSM_COMPLETE);
00292
00294 std::string getParsedLocalModsStr(const PSM psmComponent = PSM_COMPLETE) const;
00295
00297 double getIonsScore() const;
00298
00300 double getExpectationValue() const;
00301
00303 std::string getSeriesUsedStr() const;
00304
00306 bool isSamePeptideStr(ms_peptide * peptide,
00307 bool substituteAmbiguous = true) const;
00308
00310 bool isSameVarModsStr(ms_peptide * peptide) const;
00311
00313 bool isSameSummedModsStr(ms_peptide * peptide) const;
00314
00316 int getFirstProtAppearedIn() const;
00317
00320 void setFirstProtAppearedIn(int n);
00321
00324 void makeUnassigned();
00325
00327 double getIonsIntensity() const;
00329 void setIonsIntensity(double n);
00330
00332 const ms_protein * getProtein(int num) const;
00333
00335 const std::vector<int> getProteins() const;
00336
00338 int getNumProteins() const;
00339 void addProtein(const ms_protein * protein);
00340 void addProtein(const int hitNumber);
00341
00343 std::string getAmbiguityString(const PSM psmComponent = PSM_COMPLETE) const;
00345 bool setAmbiguityString(const std::string val, const PSM psmComponent = PSM_COMPLETE);
00346
00348 std::string getPrimaryNlStr(const PSM psmComponent = PSM_COMPLETE) const;
00350 void setPrimaryNlStr(const std::string value, const PSM psmComponent = PSM_COMPLETE);
00351
00353 std::string getSummedModsNlStr(const PSM psmComponent = PSM_COMPLETE) const;
00355 void setSummedModsNlStr(const std::string value, const PSM psmComponent = PSM_COMPLETE);
00356
00358 std::string getLocalModsNlStr(const PSM psmComponent = PSM_COMPLETE) const;
00360 void setLocalModsNlStr(const std::string value, const PSM psmComponent = PSM_COMPLETE);
00361
00363 std::string getMonoLinkStr(const PSM psmComponent = PSM_COMPLETE) const;
00365 void setMonoLinkStr(const std::string value, const PSM psmComponent = PSM_COMPLETE);
00366
00368 bool getIsFromErrorTolerant() const;
00370 void setIsFromErrorTolerant(const bool isFromErrorTolerant);
00371
00373 std::string getComponentStr(const PSM psmComponent = PSM_COMPLETE) const;
00375 void setComponentStr(const std::string value, const PSM psmComponent = PSM_COMPLETE);
00376
00378 bool getLessThanMinPepLen() const;
00379
00381 int getNum13C(const double tol, const std::string tolu, const std::string mass_type) const;
00382
00384 void setPercolatorScores(double posteriorErrorProbability,
00385 double qValue,
00386 double internalPercolatorScore);
00387
00389 bool anyPercolatorResults() const;
00390
00391 #ifndef SWIG
00392
00393 void getPercolatorScores(double * posteriorErrorProbability,
00394 double * qValue,
00395 double * internalPercolatorScore,
00396 double * mascotIonsScore) const;
00397 #else // SWIG Multiple return values
00398 void getPercolatorScores(double * OUTPUT,
00399 double * OUTPUT,
00400 double * OUTPUT,
00401 double * OUTPUT) const;
00402 #endif
00403
00405 bool getIsFromLibrary() const;
00407 void setIsFromLibrary(const bool isFromLibrary);
00408
00410 void getAnyProteinTermination(
00411 bool & isNterminus,
00412 bool & isCterminus,
00413 const PSM psmComponent = PSM_COMPLETE) const;
00414
00416 void setInternalSortingScore(double s);
00417
00419 double getInternalSortingScore() const;
00420
00422 int getNumberOfLinkedPeptides() const;
00423
00425 void getIntactLinks(ms_linker_site_vector &vec) const;
00426
00428 ms_linker_site_vector getIntactLinks() const;
00429
00431 void getLoopLinks(ms_linker_site_vector &vec, const PSM psmComponent = PSM_COMPLETE) const;
00432
00434 ms_linker_site_vector getLoopLinks(const PSM psmComponent = PSM_COMPLETE) const;
00435
00436 private:
00437 msparser_internal::ms_peptide_impl * pImpl_;
00438 };
00440 }
00441
00442 #endif // MS_MASCOTRESPEPTIDE_HPP
00443
00444