79 cout <<
" # : Name" << endl;
81 cout << setw(3) << iModMap->second <<
": " << iModMap->first << endl;
114 argDesc->PrintUsageIfNoArgs();
116 argDesc->AddDefaultKey(
"pm",
"param",
117 "search parameter input in xml format (overrides command line)",
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",
171 argDesc->AddDefaultKey(
"tex",
"exact",
172 "threshold in Da above which the mass of neutron should be added in exact mass search",
175 argDesc->AddDefaultKey(
"i",
"ions",
176 "id numbers of ions to search (comma delimited, no spaces)",
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",
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",
228 argDesc->AddDefaultKey(
"mv",
"variablemod",
229 "comma delimited (no spaces) list of id numbers for variable modifications",
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",
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+",
244 argDesc->AddDefaultKey(
"zl",
"mincharge",
245 "minimum precursor charge to search when not 1+",
248 argDesc->AddDefaultKey(
"zoh",
"maxprodcharge",
249 "maximum product charge to search",
252 argDesc->AddDefaultKey(
"zt",
"chargethresh",
253 "minimum precursor charge to start considering multiply charged products",
256 argDesc->AddDefaultKey(
"z1",
"plusone",
257 "fraction of peaks below precursor used to determine if spectrum is charge 1",
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)",
268 argDesc->AddDefaultKey(
"zn",
"negions",
269 "search using negative or positive ions (1=positive, -1=negative)",
272 argDesc->AddDefaultKey(
"pc",
"pseudocount",
273 "minimum number of precursors that match a spectrum",
276 argDesc->AddDefaultKey(
"sb1",
"searchb1",
277 "should first forward (b1) product ions be in search (1=no)",
280 argDesc->AddDefaultKey(
"sct",
"searchcterm",
281 "should c terminus ions be searched (1=no)",
284 argDesc->AddDefaultKey(
"sp",
"productnum",
285 "max number of ions in each series being searched (0=all)",
288 argDesc->AddDefaultKey(
"scorr",
"corrscore",
289 "turn off correlation correction to score (1=off, 0=use correlation)",
292 argDesc->AddDefaultKey(
"scorp",
"corrprob",
293 "probability of consecutive ion (used in correlation correction)",
296 argDesc->AddDefaultKey(
"no",
"minno",
297 "minimum size of peptides for no-enzyme and semi-tryptic searches",
300 argDesc->AddDefaultKey(
"nox",
"maxno",
301 "maximum size of peptides for no-enzyme and semi-tryptic searches (0=none)",
304 argDesc->AddDefaultKey(
"is",
"subsetthresh",
305 "evalue threshold to include a sequence in the iterative search, 0 = all",
308 argDesc->AddDefaultKey(
"ir",
"replacethresh",
309 "evalue threshold to replace a hit, 0 = only if better",
312 argDesc->AddDefaultKey(
"ii",
"iterativethresh",
313 "evalue threshold to iteratively search a spectrum again, 0 = always",
316 argDesc->AddDefaultKey(
"p",
"prolineruleions",
317 "id numbers of ion series to apply no product ions at proline rule at (comma delimited, no spaces)",
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");
325 argDesc->AddDefaultKey(
"mx",
"modinputfile",
326 "file containing modification data",
329 argDesc->AddDefaultKey(
"mux",
"usermodinputfile",
330 "file containing user modification data",
333 argDesc->AddDefaultKey(
"nt",
"numthreads",
334 "number of search threads to use, 0=autodetect",
337 argDesc->AddFlag(
"ni",
"don't print informational messages");
361 Outfile->SetOutfile(FileName);
362 Outfile->SetOutfiletype(FileFormat);
365 Outfile->SetIncluderequest(
true);
368 Outfile->SetIncluderequest(
false);
381 if (args[
"fx"].AsString().
size() != 0) {
382 Infile->SetInfile(args[
"fx"].AsString());
385 else if (args[
"f"].AsString().
size() != 0) {
386 Infile->SetInfile(args[
"f"].AsString());
389 else if (args[
"fb"].AsString().
size() != 0) {
390 Infile->SetInfile(args[
"fb"].AsString());
393 else if (args[
"fp"].AsString().
size() != 0) {
394 Infile->SetInfile(args[
"fp"].AsString());
397 else if (args[
"fm"].AsString().
size() != 0) {
398 Infile->SetInfile(args[
"fm"].AsString());
401 else if (args[
"fomx"].AsString().
size() != 0) {
402 Infile->SetInfile(args[
"fomx"].AsString());
405 else if (args[
"fbz2"].AsString().
size() != 0) {
406 Infile->SetInfile(args[
"fbz2"].AsString());
409 else if (args[
"foms"].AsString().
size() != 0) {
410 Infile->SetInfile(args[
"foms"].AsString());
413 else if (args[
"fxml"].AsString().
size() != 0) {
414 Infile->SetInfile(args[
"fxml"].AsString());
422 bool IncludeSpectra = args[
"w"];
425 if (args[
"o"].AsString() !=
"") {
428 if (args[
"ob"].AsString() !=
"") {
431 if (args[
"ox"].AsString() !=
"") {
434 if (args[
"obz2"].AsString() !=
"") {
437 if (args[
"op"].AsString() !=
"") {
440 if (args[
"oc"].AsString() !=
"") {
448 Settings->
SetPeptol(args[
"te"].AsDouble());
450 Settings->
SetZdep(args[
"tez"].AsInteger());
454 if(args[
"ti"].AsInteger() != 0)
460 Settings->
SetCutlo(args[
"cl"].AsDouble());
461 Settings->
SetCuthi(args[
"ch"].AsDouble());
462 Settings->
SetCutinc(args[
"ci"].AsDouble());
468 Settings->
SetEnzyme(args[
"e"].AsInteger());
473 Settings->
SetDb(args[
"d"].AsString());
476 Settings->
SetMinhit(args[
"hm"].AsInteger());
479 Settings->
SetCutoff(args[
"he"].AsDouble());
480 if(args[
"hc"].AsInteger() != 0)
492 if (args[
"x"].AsString() !=
"0") {
536 _TRACE(
"omssa: search begin");
char const *const kEnzymeNames[eMSEnzymes_max]
@MSEnzymes.hpp User-defined methods of the data storage class.
map< TModPair, bool > TModMap
const char * GetModName(int Mod) const
get modification friendly name
int GetModMass(int Mod) const
get modification mass
virtual void AppInit(CArgDescriptions *argDesc)
application specific initialization
void SetThreadCount(int NumThreads)
set up number of threads
void RunSearch(CRef< CSearch > SearchEngine)
run multithreaded search
void PrintEnzymes(void)
print out a list of enzymes that can be used in OMSSA
void PrintMods(CRef< CMSModSpecSet > Modset)
print out a list of modification that can be used in OMSSA
void SetOutFile(bool IncludeSpectra, EMSSerialDataFormat FileFormat, std::string FileName, CRef< CMSSearchSettings > &Settings)
Set the out files.
void PrintIons(void)
print out a list of ions that can be used in OMSSA
TSearchThreads & SetsearchThreads(void)
return a settable list of search engine threads
virtual void Init()
Initialize the application.
const int GetnThreads(void) const
return number of threads
int & SetnThreads(void)
return settable number of threads
void SetSearchSettings(const CArgs &args, CRef< CMSSearchSettings > Settings)
Set search settings given args.
void CopySettings(CRef< CSearch > fromObj)
iterator_bool insert(const value_type &val)
container_type::value_type value_type
virtual void SetupArgDescriptions(CArgDescriptions *arg_desc)
Setup the command line argument descriptions.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void SetVersion(const CVersionInfo &version)
Set the version number for the program.
@ eDouble
Convertible into a floating point number (double)
@ eString
An arbitrary string.
@ eInteger
Convertible into an integer number (int or Int8)
EDiagSev SetDiagPostLevel(EDiagSev post_sev=eDiag_Error)
Set the threshold severity for posting the messages.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
@ eDiag_Info
Informational message.
void Fatal(CExceptionArgs_Base &args)
void Info(CExceptionArgs_Base &args)
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
@ fRunAllowST
Allow threads to run in single thread builds.
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
@ 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
const struct ncbi::grid::netcache::search::fields::SIZE size
unsigned int GetCpuCount(void)
Return number of active CPUs (never less than 1).
void InsertList(const string &Input, T &ToInsert, string error)
template for inserting elements of comma delimited string of ints into a list
char const *const kIonLabels[eMSIonType_max]
some friendly names for ion series