NCBI C++ ToolKit
omssaapp.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: omssaapp.cpp 92503 2021-01-26 19:16:59Z grichenk $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the authors in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Lewis Y. Geer
27  *
28  * File Description:
29  * base omssa application class
30  *
31  *
32  * ===========================================================================
33  */
34 
35 #include <ncbi_pch.hpp>
36 
37 #include <corelib/ncbi_system.hpp>
38 
39 #include "omssaapp.hpp"
40 
41 #include <fstream>
42 #include <string>
43 #include <list>
44 
45 
46 
49 USING_SCOPE(omssa);
50 
51 /////////////////////////////////////////////////////////////////////////////
52 //
53 // COMSSABase
54 //
55 // Main application
56 //
57 
58 
59 
61 {
62  SetVersion(CVersionInfo(2, 1, 8));
63 }
64 
65 
66 ///
67 /// print out a list of modification that can be used in OMSSA
68 ///
70 {
72  TModMap ModMap;
73  int i;
74  for(i = 0; i < eMSMod_max; i++) {
75  if(Modset->GetModMass(i) != 0.0)
76  ModMap.insert(TModMap::value_type(Modset->GetModName(i), i));
77  }
78 
79  cout << " # : Name" << endl;
80  ITERATE (TModMap, iModMap, ModMap) {
81  cout << setw(3) << iModMap->second << ": " << iModMap->first << endl;
82  }
83 }
84 
85 
86 ///
87 /// print out a list of enzymes that can be used in OMSSA
88 ///
90 {
91  int i;
92  for(i = 0; i < eMSEnzymes_max; i++)
93  cout << i << ": " << kEnzymeNames[i] << endl;
94 }
95 
96 ///
97 /// print out a list of ions that can be used in OMSSA
98 ///
100 {
101  int i;
102  for(i = 0; i < eMSIonType_parent; i++)
103  cout << i << ": " << kIonLabels[i] << endl;
104  for(i = eMSIonType_adot; i < eMSIonType_max; i++)
105  cout << i << ": " << kIonLabels[i] << endl;
106 
107 }
108 
109 
111 {
112 
113  unique_ptr<CArgDescriptions> argDesc(new CArgDescriptions);
114  argDesc->PrintUsageIfNoArgs();
115 
116  argDesc->AddDefaultKey("pm", "param",
117  "search parameter input in xml format (overrides command line)",
119 
120  argDesc->AddDefaultKey("d", "blastdb", "Blast sequence library to search. Do not include .p* filename suffixes.",
122  argDesc->AddFlag("umm", "use memory mapped sequence libraries");
123  argDesc->AddDefaultKey("f", "infile", "single dta file to search",
125  argDesc->AddDefaultKey("fx", "xmlinfile", "multiple xml-encapsulated dta files to search",
127  argDesc->AddDefaultKey("fb", "dtainfile", "multiple dta files separated by blank lines to search",
129  argDesc->AddDefaultKey("fp", "pklinfile", "pkl formatted file",
131  argDesc->AddDefaultKey("fm", "pklinfile", "mgf formatted file",
133  argDesc->AddDefaultKey("foms", "omsinfile", "omssa oms file",
135  argDesc->AddDefaultKey("fomx", "omxinfile", "omssa omx file",
137  argDesc->AddDefaultKey("fbz2", "bz2infile", "omssa omx file compressed by bzip2",
139  argDesc->AddDefaultKey("fxml", "omxinfile", "omssa xml search request file",
141  argDesc->AddDefaultKey("o", "textasnoutfile", "filename for text asn.1 formatted search results",
143  argDesc->AddDefaultKey("ob", "binaryasnoutfile", "filename for binary asn.1 formatted search results",
145  argDesc->AddDefaultKey("ox", "xmloutfile", "filename for xml formatted search results",
147  argDesc->AddDefaultKey("obz2", "bz2outfile", "filename for bzip2 compressed xml formatted search results",
149  argDesc->AddDefaultKey("op", "pepxmloutfile", "filename for pepXML formatted search results",
151  argDesc->AddDefaultKey("oc", "csvfile", "filename for csv formatted search summary",
153  argDesc->AddFlag("w", "include spectra and search params in search results");
154  argDesc->AddDefaultKey("to", "pretol", "product ion m/z tolerance in Da",
156  argDesc->AddDefaultKey("te", "protol", "precursor ion m/z tolerance in Da (or ppm if -teppm flag set)",
158  argDesc->AddDefaultKey("tom", "promass", "product ion search type (0 = mono, 1 = avg, 2 = N15, 3 = exact)",
160  argDesc->AddDefaultKey("tem", "premass", "precursor ion search type (0 = mono, 1 = avg, 2 = N15, 3 = exact, 4 = multiisotope)",
162  argDesc->AddDefaultKey("tez", "prozdep", "charge dependency of precursor mass tolerance (0 = none, 1 = linear)",
164  argDesc->AddDefaultKey("ti", "isotopes", "when doing multiisotope search, number of isotopic peaks to search. 0 = monoisotopic peak only",
166  argDesc->AddFlag("teppm", "search precursor masses in units of ppm");
167  argDesc->AddDefaultKey("ta", "autotol",
168  "automatic mass tolerance adjustment fraction",
170  "1.0");
171  argDesc->AddDefaultKey("tex", "exact",
172  "threshold in Da above which the mass of neutron should be added in exact mass search",
174  "1446.94");
175  argDesc->AddDefaultKey("i", "ions",
176  "id numbers of ions to search (comma delimited, no spaces)",
178  "1,4");
179  argDesc->AddDefaultKey("cl", "cutlo", "low intensity cutoff as a fraction of max peak",
181  argDesc->AddDefaultKey("ch", "cuthi", "high intensity cutoff as a fraction of max peak",
183  argDesc->AddDefaultKey("ci", "cutinc", "intensity cutoff increment as a fraction of max peak",
184  CArgDescriptions::eDouble, "0.0005");
185  argDesc->AddDefaultKey("cp", "precursorcull",
186  "eliminate charge reduced precursors in spectra (0=no, 1=yes)",
188  argDesc->AddDefaultKey("v", "cleave",
189  "number of missed cleavages allowed",
191  argDesc->AddDefaultKey("x", "taxid",
192  "comma delimited list of taxids to search (0 = all)",
194  argDesc->AddDefaultKey("w1", "window1",
195  "single charge window in Da",
197  argDesc->AddDefaultKey("w2", "window2",
198  "double charge window in Da",
200  argDesc->AddDefaultKey("h1", "hit1",
201  "number of peaks allowed in single charge window (0 = number of ion species)",
203  argDesc->AddDefaultKey("h2", "hit2",
204  "number of peaks allowed in double charge window (0 = number of ion species)",
206  argDesc->AddDefaultKey("hl", "hitlist",
207  "maximum number of hits retained per precursor charge state per spectrum during the search",
209  argDesc->AddDefaultKey("hc", "hitcount",
210  "maximum number of hits reported per spectrum (0 = all)",
212  argDesc->AddDefaultKey("ht", "tophitnum",
213  "number of m/z values corresponding to the most intense peaks that must include one match to the theoretical peptide",
215  argDesc->AddDefaultKey("hm", "minhit",
216  "the minimum number of m/z matches a sequence library peptide must have for the hit to the peptide to be recorded",
218  argDesc->AddDefaultKey("hs", "minspectra",
219  "the minimum number of m/z values a spectrum must have to be searched",
221  argDesc->AddDefaultKey("he", "evalcut",
222  "the maximum evalue allowed in the hit list",
224  argDesc->AddDefaultKey("mf", "fixedmod",
225  "comma delimited (no spaces) list of id numbers for fixed modifications",
227  "");
228  argDesc->AddDefaultKey("mv", "variablemod",
229  "comma delimited (no spaces) list of id numbers for variable modifications",
231  "");
232  argDesc->AddFlag("mnm", "n-term methionine should not be cleaved");
233  argDesc->AddDefaultKey("mm", "maxmod",
234  "the maximum number of mass ladders to generate per database peptide",
235  CArgDescriptions::eInteger, /*NStr::IntToString(MAXMOD2)*/ "128");
236  argDesc->AddDefaultKey("e", "enzyme",
237  "id number of enzyme to use",
240  argDesc->AddDefaultKey("zh", "maxcharge",
241  "maximum precursor charge to search when not 1+",
243  "3");
244  argDesc->AddDefaultKey("zl", "mincharge",
245  "minimum precursor charge to search when not 1+",
247  "1");
248  argDesc->AddDefaultKey("zoh", "maxprodcharge",
249  "maximum product charge to search",
251  "2");
252  argDesc->AddDefaultKey("zt", "chargethresh",
253  "minimum precursor charge to start considering multiply charged products",
255  "3");
256  argDesc->AddDefaultKey("z1", "plusone",
257  "fraction of peaks below precursor used to determine if spectrum is charge 1",
259  "0.95");
260  argDesc->AddDefaultKey("zc", "calcplusone",
261  "should charge plus one be determined algorithmically? (1=yes)",
264  argDesc->AddDefaultKey("zcc", "calccharge",
265  "how should precursor charges be determined? (1=believe the input file, 2=use a range)",
267  "2");
268  argDesc->AddDefaultKey("zn", "negions",
269  "search using negative or positive ions (1=positive, -1=negative)",
271  "1");
272  argDesc->AddDefaultKey("pc", "pseudocount",
273  "minimum number of precursors that match a spectrum",
275  "1");
276  argDesc->AddDefaultKey("sb1", "searchb1",
277  "should first forward (b1) product ions be in search (1=no)",
279  "1");
280  argDesc->AddDefaultKey("sct", "searchcterm",
281  "should c terminus ions be searched (1=no)",
283  "0");
284  argDesc->AddDefaultKey("sp", "productnum",
285  "max number of ions in each series being searched (0=all)",
287  "100");
288  argDesc->AddDefaultKey("scorr", "corrscore",
289  "turn off correlation correction to score (1=off, 0=use correlation)",
291  "0");
292  argDesc->AddDefaultKey("scorp", "corrprob",
293  "probability of consecutive ion (used in correlation correction)",
295  "0.5");
296  argDesc->AddDefaultKey("no", "minno",
297  "minimum size of peptides for no-enzyme and semi-tryptic searches",
299  "4");
300  argDesc->AddDefaultKey("nox", "maxno",
301  "maximum size of peptides for no-enzyme and semi-tryptic searches (0=none)",
303  "40");
304  argDesc->AddDefaultKey("is", "subsetthresh",
305  "evalue threshold to include a sequence in the iterative search, 0 = all",
307  "0.0");
308  argDesc->AddDefaultKey("ir", "replacethresh",
309  "evalue threshold to replace a hit, 0 = only if better",
311  "0.0");
312  argDesc->AddDefaultKey("ii", "iterativethresh",
313  "evalue threshold to iteratively search a spectrum again, 0 = always",
315  "0.01");
316  argDesc->AddDefaultKey("p", "prolineruleions",
317  "id numbers of ion series to apply no product ions at proline rule at (comma delimited, no spaces)",
319  "");
320 
321  argDesc->AddFlag("il", "print a list of ions and their corresponding id number");
322  argDesc->AddFlag("el", "print a list of enzymes and their corresponding id number");
323  argDesc->AddFlag("ml", "print a list of modifications and their corresponding id number");
324 
325  argDesc->AddDefaultKey("mx", "modinputfile",
326  "file containing modification data",
328  "mods.xml");
329  argDesc->AddDefaultKey("mux", "usermodinputfile",
330  "file containing user modification data",
332  "usermods.xml");
333  argDesc->AddDefaultKey("nt", "numthreads",
334  "number of search threads to use, 0=autodetect",
336  "0");
337  argDesc->AddFlag("ni", "don't print informational messages");
338 
339 
340  AppInit(argDesc.get());
341 
342  SetupArgDescriptions(argDesc.release());
343 
344  // allow info posts to be seen
346 }
347 
348 
350 {
351 }
352 
353 void COMSSABase::SetOutFile(bool IncludeSpectra,
354  EMSSerialDataFormat FileFormat,
355  string FileName,
356  CRef<CMSSearchSettings> &Settings)
357 {
358  CRef <CMSOutFile> Outfile;
359  Outfile = new CMSOutFile;
360 
361  Outfile->SetOutfile(FileName);
362  Outfile->SetOutfiletype(FileFormat);
363 
364  if(IncludeSpectra) {
365  Outfile->SetIncluderequest(true);
366  }
367  else {
368  Outfile->SetIncluderequest(false);
369  }
370 
371  Settings->SetOutfiles().push_back(Outfile);
372 }
373 
374 
376 {
377 
378  CRef <CMSInFile> Infile;
379  Infile = new CMSInFile;
380 
381  if (args["fx"].AsString().size() != 0) {
382  Infile->SetInfile(args["fx"].AsString());
383  Infile->SetInfiletype(eMSSpectrumFileType_dtaxml);
384  }
385  else if (args["f"].AsString().size() != 0) {
386  Infile->SetInfile(args["f"].AsString());
387  Infile->SetInfiletype(eMSSpectrumFileType_dta);
388  }
389  else if (args["fb"].AsString().size() != 0) {
390  Infile->SetInfile(args["fb"].AsString());
391  Infile->SetInfiletype(eMSSpectrumFileType_dtablank);
392  }
393  else if (args["fp"].AsString().size() != 0) {
394  Infile->SetInfile(args["fp"].AsString());
395  Infile->SetInfiletype(eMSSpectrumFileType_pkl);
396  }
397  else if (args["fm"].AsString().size() != 0) {
398  Infile->SetInfile(args["fm"].AsString());
399  Infile->SetInfiletype(eMSSpectrumFileType_mgf);
400  }
401  else if (args["fomx"].AsString().size() != 0) {
402  Infile->SetInfile(args["fomx"].AsString());
403  Infile->SetInfiletype(eMSSpectrumFileType_omx);
404  }
405  else if (args["fbz2"].AsString().size() != 0) {
406  Infile->SetInfile(args["fbz2"].AsString());
407  Infile->SetInfiletype(eMSSpectrumFileType_omxbz2);
408  }
409  else if (args["foms"].AsString().size() != 0) {
410  Infile->SetInfile(args["foms"].AsString());
411  Infile->SetInfiletype(eMSSpectrumFileType_oms);
412  }
413  else if (args["fxml"].AsString().size() != 0) {
414  Infile->SetInfile(args["fxml"].AsString());
415  Infile->SetInfiletype(eMSSpectrumFileType_xml);
416  }
417  else ERR_POST(Fatal << "no input file specified");
418 
419  Settings->SetInfiles().push_back(Infile);
420 
421 
422  bool IncludeSpectra = args["w"];
423 
424  // set up output files
425  if (args["o"].AsString() != "") {
426  SetOutFile(IncludeSpectra, eMSSerialDataFormat_asntext, args["o"].AsString(), Settings);
427  }
428  if (args["ob"].AsString() != "") {
429  SetOutFile(IncludeSpectra, eMSSerialDataFormat_asnbinary, args["ob"].AsString(), Settings);
430  }
431  if (args["ox"].AsString() != "") {
432  SetOutFile(IncludeSpectra, eMSSerialDataFormat_xml, args["ox"].AsString(), Settings);
433  }
434  if (args["obz2"].AsString() != "") {
435  SetOutFile(IncludeSpectra, eMSSerialDataFormat_xmlbz2, args["obz2"].AsString(), Settings);
436  }
437  if (args["op"].AsString() != "") {
438  SetOutFile(IncludeSpectra, eMSSerialDataFormat_pepxml, args["op"].AsString(), Settings);
439  }
440  if (args["oc"].AsString() != "") {
441  SetOutFile(IncludeSpectra, eMSSerialDataFormat_csv, args["oc"].AsString(), Settings);
442  }
443 
444  // set up rest of settings
445 
446  Settings->SetPrecursorsearchtype(args["tem"].AsInteger());
447  Settings->SetProductsearchtype(args["tom"].AsInteger());
448  Settings->SetPeptol(args["te"].AsDouble());
449  Settings->SetMsmstol(args["to"].AsDouble());
450  Settings->SetZdep(args["tez"].AsInteger());
451  Settings->SetExactmass(args["tex"].AsDouble());
452  Settings->SetAutomassadjust(args["ta"].AsDouble());
453  // new arguments set in spec only if turned on. allows for backward compatibility with browser
454  if(args["ti"].AsInteger() != 0)
455  Settings->SetNumisotopes(args["ti"].AsInteger());
456  if(args["teppm"])
457  Settings->SetPepppm(true);
458 
459  InsertList(args["i"].AsString(), Settings->SetIonstosearch(), "unknown ion");
460  Settings->SetCutlo(args["cl"].AsDouble());
461  Settings->SetCuthi(args["ch"].AsDouble());
462  Settings->SetCutinc(args["ci"].AsDouble());
463  Settings->SetPrecursorcull(args["cp"].AsInteger());
464  Settings->SetSinglewin(args["w1"].AsInteger());
465  Settings->SetDoublewin(args["w2"].AsInteger());
466  Settings->SetSinglenum(args["h1"].AsInteger());
467  Settings->SetDoublenum(args["h2"].AsInteger());
468  Settings->SetEnzyme(args["e"].AsInteger());
469  Settings->SetMissedcleave(args["v"].AsInteger());
470  InsertList(args["mv"].AsString(), Settings->SetVariable(), "unknown variable mod");
471  InsertList(args["mf"].AsString(), Settings->SetFixed(), "unknown fixed mod");
472  Settings->SetNmethionine(!args["mnm"]);
473  Settings->SetDb(args["d"].AsString());
474  Settings->SetHitlistlen(args["hl"].AsInteger());
475  Settings->SetTophitnum(args["ht"].AsInteger());
476  Settings->SetMinhit(args["hm"].AsInteger());
477  Settings->SetMinspectra(args["hs"].AsInteger());
478  Settings->SetScale(MSSCALE); // presently ignored
479  Settings->SetCutoff(args["he"].AsDouble());
480  if(args["hc"].AsInteger() != 0)
481  Settings->SetReportedhitcount(args["hc"].AsInteger());
482  Settings->SetMaxmods(args["mm"].AsInteger());
483  Settings->SetPseudocount(args["pc"].AsInteger());
484  Settings->SetSearchb1(args["sb1"].AsInteger());
485  Settings->SetSearchctermproduct(args["sct"].AsInteger());
486  Settings->SetMaxproductions(args["sp"].AsInteger());
487  Settings->SetNocorrelationscore(args["scorr"].AsInteger());
488  Settings->SetProbfollowingion(args["scorp"].AsDouble());
489 
490  Settings->SetMinnoenzyme(args["no"].AsInteger());
491  Settings->SetMaxnoenzyme(args["nox"].AsInteger());
492  if (args["x"].AsString() != "0") {
493  InsertList(args["x"].AsString(), Settings->SetTaxids(), "unknown tax id");
494  }
495 
496  Settings->SetChargehandling().SetCalcplusone(args["zc"].AsInteger());
497  Settings->SetChargehandling().SetConsidermult(args["zt"].AsInteger());
498  Settings->SetChargehandling().SetMincharge(args["zl"].AsInteger());
499  Settings->SetChargehandling().SetMaxcharge(args["zh"].AsInteger());
500  Settings->SetChargehandling().SetPlusone(args["z1"].AsDouble());
501  Settings->SetChargehandling().SetMaxproductcharge(args["zoh"].AsInteger());
502  Settings->SetChargehandling().SetCalccharge(args["zcc"].AsInteger());
503  Settings->SetChargehandling().SetNegative(args["zn"].AsInteger());
504 
505  Settings->SetIterativesettings().SetResearchthresh(args["ii"].AsDouble());
506  Settings->SetIterativesettings().SetSubsetthresh(args["is"].AsDouble());
507  Settings->SetIterativesettings().SetReplacethresh(args["ir"].AsDouble());
508 
509  InsertList(args["p"].AsString(), Settings->SetNoprolineions(), "unknown ion for proline rule");
510 
511  return;
512 }
513 
514 
515 void COMSSABase::SetThreadCount(int NumThreads)
516 {
517 #if defined(_MT)
518  SetnThreads() = NumThreads;
519  if (GetnThreads() == 0) SetnThreads() = GetCpuCount();
520  if (GetnThreads() > 1) {
521  ERR_POST(Info << "Using " << GetnThreads() << " search threads");
522  }
523 #else
524  SetnThreads() = 1;
525 #endif
526 }
527 
529 {
530  for (int i=1; i < GetnThreads(); i++) {
531  CRef <CSearch> SearchThread (new CSearch(i));
532  SearchThread->CopySettings(SearchEngine);
533  SetsearchThreads().push_back(SearchThread);
534  }
535 
536  _TRACE("omssa: search begin");
537  for (int i=0; i < GetnThreads(); i++) {
539  }
540 
541  bool* result;
542  for (int i=0; i < GetnThreads(); i++) {
543  SetsearchThreads()[i]->Join(reinterpret_cast<void**>(&result));
544  //cout << "Returned value: " << *result << endl;
545  }
546  SetsearchThreads()[0]->SetResult(SetsearchThreads()[0]->SharedPeakSet);
547 }
548 
549 
char const *const kEnzymeNames[eMSEnzymes_max]
@MSEnzymes.hpp User-defined methods of the data storage class.
Definition: MSEnzymes.hpp:55
#define MSSCALE
Definition: MSMod.hpp:63
map< TModPair, bool > TModMap
CArgDescriptions –.
Definition: ncbiargs.hpp:541
CArgs –.
Definition: ncbiargs.hpp:379
CMSInFile –.
Definition: MSInFile.hpp:66
const char * GetModName(int Mod) const
get modification friendly name
int GetModMass(int Mod) const
get modification mass
CMSOutFile –.
Definition: MSOutFile.hpp:66
virtual void AppInit(CArgDescriptions *argDesc)
application specific initialization
Definition: omssaapp.cpp:349
void SetThreadCount(int NumThreads)
set up number of threads
Definition: omssaapp.cpp:515
void RunSearch(CRef< CSearch > SearchEngine)
run multithreaded search
Definition: omssaapp.cpp:528
void PrintEnzymes(void)
print out a list of enzymes that can be used in OMSSA
Definition: omssaapp.cpp:89
void PrintMods(CRef< CMSModSpecSet > Modset)
print out a list of modification that can be used in OMSSA
Definition: omssaapp.cpp:69
void SetOutFile(bool IncludeSpectra, EMSSerialDataFormat FileFormat, std::string FileName, CRef< CMSSearchSettings > &Settings)
Set the out files.
Definition: omssaapp.cpp:353
void PrintIons(void)
print out a list of ions that can be used in OMSSA
Definition: omssaapp.cpp:99
TSearchThreads & SetsearchThreads(void)
return a settable list of search engine threads
Definition: omssaapp.hpp:167
virtual void Init()
Initialize the application.
Definition: omssaapp.cpp:110
const int GetnThreads(void) const
return number of threads
Definition: omssaapp.hpp:174
int & SetnThreads(void)
return settable number of threads
Definition: omssaapp.hpp:181
void SetSearchSettings(const CArgs &args, CRef< CMSSearchSettings > Settings)
Set search settings given args.
Definition: omssaapp.cpp:375
CSearch –.
Definition: Search.hpp:68
void CopySettings(CRef< CSearch > fromObj)
Definition: omssa.cpp:970
CVersionInfo –.
iterator_bool insert(const value_type &val)
Definition: map.hpp:165
container_type::value_type value_type
Definition: map.hpp:52
Definition: map.hpp:338
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
Definition: ncbiapp.cpp:1175
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
Definition: ncbimisc.hpp:815
void SetVersion(const CVersionInfo &version)
Set the version number for the program.
Definition: ncbiapp.cpp:1135
@ eDouble
Convertible into a floating point number (double)
Definition: ncbiargs.hpp:594
@ eString
An arbitrary string.
Definition: ncbiargs.hpp:589
@ eInteger
Convertible into an integer number (int or Int8)
Definition: ncbiargs.hpp:592
#define _TRACE(message)
Definition: ncbidbg.hpp:122
EDiagSev SetDiagPostLevel(EDiagSev post_sev=eDiag_Error)
Set the threshold severity for posting the messages.
Definition: ncbidiag.cpp:6129
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
Definition: ncbidiag.hpp:186
@ eDiag_Info
Informational message.
Definition: ncbidiag.hpp:651
void Fatal(CExceptionArgs_Base &args)
Definition: ncbiexpt.hpp:1209
void Info(CExceptionArgs_Base &args)
Definition: ncbiexpt.hpp:1185
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
Definition: ncbistr.hpp:5083
@ fRunAllowST
Allow threads to run in single thread builds.
Definition: ncbithr.hpp:549
void SetMaxmods(TMaxmods value)
Assign a value to Maxmods data member.
TFixed & SetFixed(void)
Assign a value to Fixed data member.
void SetMaxproductions(TMaxproductions value)
Assign a value to Maxproductions data member.
void SetIterativesettings(TIterativesettings &value)
Assign a value to Iterativesettings data member.
TVariable & SetVariable(void)
Assign a value to Variable data member.
void SetSinglenum(TSinglenum value)
Assign a value to Singlenum data member.
void SetPrecursorsearchtype(TPrecursorsearchtype value)
Assign a value to Precursorsearchtype data member.
TInfiles & SetInfiles(void)
Assign a value to Infiles data member.
void SetSearchctermproduct(TSearchctermproduct value)
Assign a value to Searchctermproduct data member.
void SetReportedhitcount(TReportedhitcount value)
Assign a value to Reportedhitcount data member.
void SetPrecursorcull(TPrecursorcull value)
Assign a value to Precursorcull data member.
TNoprolineions & SetNoprolineions(void)
Assign a value to Noprolineions data member.
void SetMinspectra(TMinspectra value)
Assign a value to Minspectra data member.
TOutfiles & SetOutfiles(void)
Assign a value to Outfiles data member.
TIonstosearch & SetIonstosearch(void)
Assign a value to Ionstosearch data member.
EMSSerialDataFormat
Access to EMSSerialDataFormat's attributes (values, names) as defined in spec.
void SetMinnoenzyme(TMinnoenzyme value)
Assign a value to Minnoenzyme data member.
void SetPseudocount(TPseudocount value)
Assign a value to Pseudocount data member.
void SetExactmass(TExactmass value)
Assign a value to Exactmass data member.
void SetDb(const TDb &value)
Assign a value to Db data member.
void SetMissedcleave(TMissedcleave value)
Assign a value to Missedcleave data member.
void SetCutinc(TCutinc value)
Assign a value to Cutinc data member.
void SetZdep(TZdep value)
Assign a value to Zdep data member.
void SetProductsearchtype(TProductsearchtype value)
Assign a value to Productsearchtype data member.
void SetProbfollowingion(TProbfollowingion value)
Assign a value to Probfollowingion data member.
void SetDoublewin(TDoublewin value)
Assign a value to Doublewin data member.
void SetCutlo(TCutlo value)
Assign a value to Cutlo data member.
void SetTophitnum(TTophitnum value)
Assign a value to Tophitnum data member.
void SetSinglewin(TSinglewin value)
Assign a value to Singlewin data member.
void SetDoublenum(TDoublenum value)
Assign a value to Doublenum data member.
void SetNocorrelationscore(TNocorrelationscore value)
Assign a value to Nocorrelationscore data member.
void SetMsmstol(TMsmstol value)
Assign a value to Msmstol data member.
void SetNmethionine(TNmethionine value)
Assign a value to Nmethionine data member.
TTaxids & SetTaxids(void)
Assign a value to Taxids data member.
void SetPepppm(TPepppm value)
Assign a value to Pepppm data member.
void SetCuthi(TCuthi value)
Assign a value to Cuthi data member.
void SetMaxnoenzyme(TMaxnoenzyme value)
Assign a value to Maxnoenzyme data member.
void SetSearchb1(TSearchb1 value)
Assign a value to Searchb1 data member.
void SetMinhit(TMinhit value)
Assign a value to Minhit data member.
void SetCutoff(TCutoff value)
Assign a value to Cutoff data member.
void SetAutomassadjust(TAutomassadjust value)
Assign a value to Automassadjust data member.
void SetEnzyme(TEnzyme value)
Assign a value to Enzyme data member.
void SetHitlistlen(THitlistlen value)
Assign a value to Hitlistlen data member.
void SetNumisotopes(TNumisotopes value)
Assign a value to Numisotopes data member.
void SetChargehandling(TChargehandling &value)
Assign a value to Chargehandling data member.
void SetPeptol(TPeptol value)
Assign a value to Peptol data member.
void SetScale(TScale value)
Assign a value to Scale data member.
@ eMSSerialDataFormat_csv
csv (excel)
@ eMSSerialDataFormat_xml
open XML format
@ eMSSerialDataFormat_asnbinary
open ASN.1 binary format
@ eMSSerialDataFormat_pepxml
pepXML format
@ eMSSerialDataFormat_asntext
open ASN.1 text format
@ eMSSerialDataFormat_xmlbz2
bzip2 XML format
@ eMSIonType_max
Definition: MSIonType_.hpp:78
@ eMSIonType_parent
Definition: MSIonType_.hpp:71
@ eMSIonType_adot
Definition: MSIonType_.hpp:75
@ eMSEnzymes_max
Definition: MSEnzymes_.hpp:90
@ eMSEnzymes_trypsin
Definition: MSEnzymes_.hpp:65
@ eMSCalcPlusOne_calc
guess charge one
@ eMSSpectrumFileType_mgf
@ eMSSpectrumFileType_omxbz2
bzip2 omx file
@ eMSSpectrumFileType_dtablank
@ eMSSpectrumFileType_pkl
@ eMSSpectrumFileType_omx
xml for iterative search
@ eMSSpectrumFileType_dtaxml
@ eMSSpectrumFileType_dta
@ eMSSpectrumFileType_xml
xml MSRequest
@ eMSSpectrumFileType_oms
asn.1 binary for iterative search
@ eMSMod_max
maximum number of mods
Definition: MSMod_.hpp:296
int i
const struct ncbi::grid::netcache::search::fields::SIZE size
unsigned int GetCpuCount(void)
Return number of active CPUs (never less than 1).
USING_SCOPE(objects)
USING_NCBI_SCOPE
Definition: omssaapp.cpp:47
void InsertList(const string &Input, T &ToInsert, string error)
template for inserting elements of comma delimited string of ints into a list
Definition: omssaapp.hpp:215
char const *const kIonLabels[eMSIonType_max]
some friendly names for ion series
Definition: omssaapp.hpp:189
else result
Definition: token2.c:20
Modified on Sat Dec 02 09:20:11 2023 by modify_doxy.py rev. 669887