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

Go to the SVN repository for this file.

1 /* $Id: rmblastn_args.cpp 72378 2016-05-04 14:59:01Z camacho $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  *
6  * ===========================================================================
7  *
8  * Author: Robert M. Hubley
9  * Shameless based on the work of Christiam Camacho in
10  * rmblastn_args.cpp
11  *
12  */
13 
14 /** @file rmblastn_args.cpp
15  * Implementation of the RMBLASTN command line arguments
16  */
17 
18 
19 #include <ncbi_pch.hpp>
24 
28 
30 {
32  // Something appears to be overriding this
33  arg.Reset(new CProgramDescriptionArgs("rmblastn",
34  "Nucleotide-Nucleotide BLAST with RepeatMasker Extensions"));
35  const bool kQueryIsProtein = false;
36  m_Args.push_back(arg);
37 
38  // Don't want the greedy megablast...no howdy doody
39  static const string kDefaultTask = "rmblastn";
40  SetTask(kDefaultTask);
41  set<string> tasks
43  arg.Reset(new CTaskCmdLineArgs(tasks, kDefaultTask));
44  m_Args.push_back(arg);
45 
46  m_BlastDbArgs.Reset(new CBlastDatabaseArgs);
47  arg.Reset(m_BlastDbArgs);
48  m_Args.push_back(arg);
49 
50  m_StdCmdLineArgs.Reset(new CStdCmdLineArgs);
51  arg.Reset(m_StdCmdLineArgs);
52  m_Args.push_back(arg);
53 
54  arg.Reset(new CGenericSearchArgs(kQueryIsProtein, false, true));
55  m_Args.push_back(arg);
56 
57  arg.Reset(new CNuclArgs);
58  m_Args.push_back(arg);
59 
61  m_Args.push_back(arg);
62 
63  arg.Reset(new CFilteringArgs(kQueryIsProtein));
64  m_Args.push_back(arg);
65 
66  // RMH: Wasn't previously an option in blastn
67  arg.Reset(new CRMBlastNArg );
68  m_Args.push_back(arg);
69 
70  arg.Reset(new CGappedArgs);
71  m_Args.push_back(arg);
72 
73  m_HspFilteringArgs.Reset(new CHspFilteringArgs);
74  arg.Reset(m_HspFilteringArgs);
75  m_Args.push_back(arg);
76 
77  arg.Reset(new CWindowSizeArg);
78  m_Args.push_back(arg);
79 
80  arg.Reset(new CMbIndexArgs);
81  m_Args.push_back(arg);
82 
83  m_QueryOptsArgs.Reset(new CQueryOptionsArgs(kQueryIsProtein));
84  arg.Reset(m_QueryOptsArgs);
85  m_Args.push_back(arg);
86 
87  m_FormattingArgs.Reset(new CFormattingArgs);
88  arg.Reset(m_FormattingArgs);
89  m_Args.push_back(arg);
90 
91  m_MTArgs.Reset(new CMTArgs);
92  arg.Reset(m_MTArgs);
93  m_Args.push_back(arg);
94 
95  m_RemoteArgs.Reset(new CRemoteArgs);
96  arg.Reset(m_RemoteArgs);
97  m_Args.push_back(arg);
98 
99  m_DebugArgs.Reset(new CDebugArgs);
100  arg.Reset(m_DebugArgs);
101  m_Args.push_back(arg);
102 }
103 
106  const CArgs& args)
107 {
109  x_CreateOptionsHandleWithTask(locality, args[kTask].AsString());
110  return retval;
111 }
112 
113 int
115 {
117 }
118 
121 
Argument class for collecting gapped options.
Definition: blast_args.hpp:405
Argument class to retrieve megablast database indexing options.
Argument class to collect multi-threaded arguments.
Declares the BLAST exception class.
Argument class to retrieve options for filtering HSPs (e.g.
Handles command line arguments for blastn binary.
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:73
CRef< CBlastOptionsHandle > x_CreateOptionsHandleWithTask(CBlastOptions::EAPILocality locality, const string &task)
Creates the BLAST options handle based on the task argument.
EAPILocality
Enumerates the possible contexts in which objects of this type can be used.
Defines values for match and mismatch in nucleotide comparisons as well as non-greedy extension...
Definition: blast_args.hpp:343
Argument class to collect debugging options.
Main argument class for RMBLASTN application.
virtual CRef< CBlastOptionsHandle > x_CreateOptionsHandle(CBlastOptions::EAPILocality locality, const CArgs &args)
Create the options handle based on the command line arguments.
Argument class to collect formatting options, use this to create a CBlastFormat object.
Definition: blast_args.hpp:998
Argument class to collect database/subject arguments.
Definition: blast_args.hpp:864
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:101
Argument class to retrieve and set the window size BLAST algorithm option.
Definition: blast_args.hpp:205
static set< string > GetTasks(ETaskSets choice=eAll)
Retrieve the set of supported tasks.
Argument class to populate an application's name and description.
Definition: blast_args.hpp:160
virtual int GetQueryBatchSize() const
Get the query batch size.
USING_SCOPE(objects)
Declares the CDiscNucleotideOptionsHandle class.
Argument class for general search BLAST algorithm options: evalue, gap penalties, query filter string...
Definition: blast_args.hpp:274
Argument class for collecting filtering options.
Definition: blast_args.hpp:308
RMH: Argument class to retrieve and set the options specific to the RMBlastN algorithm.
Definition: blast_args.hpp:248
CRef –.
Definition: ncbiobj.hpp:616
Argument class to collect remote vs. local execution.
CArgs –.
Definition: ncbiargs.hpp:356
string GetTask() const
Get the task for this object.
int GetQueryBatchSize(EProgram program, bool is_ungapped=false, bool remote=false, bool use_default=true)
Retrieve the appropriate batch size for the specified task.
Nucleotide-nucleotide tasks.
Auxiliary classes/functions for BLAST input library.
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:70
const string kTask
Task to perform.
Argument class to specify the supported tasks a given program.
Definition: blast_args.hpp:180
Argument class to retrieve discontiguous megablast arguments.
Definition: blast_args.hpp:354
EProgram ProgramNameToEnum(const std::string &program_name)
Map a string into an element of the ncbi::blast::EProgram enumeration (except eBlastProgramMax).
Definition: blast_aux.cpp:757
Argument class to collect query options.
Definition: blast_args.hpp:750
Argument class to retrieve input and output streams for a command line program.
Definition: blast_args.hpp:109
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:98
void Reset(void)
Reset reference object.
Definition: ncbiobj.hpp:768
Modified on Mon Apr 23 11:45:26 2018 by modify_doxy.py rev. 546573