NCBI C++ ToolKit
|
Search Toolkit Book for IBlastCmdLineArgs
BLAST Command line arguments design The idea is to have several small objects (subclasses of IBlastCmdLineArgs) which can do two things: 1) On creation, add flags/options/etc to a CArgs object 2) When passed in a CBlastOptions object, call the appropriate methods based on the CArgs options set when the NCBI application framework parsed the command line. More...
#include <algo/blast/blastinput/blast_args.hpp>
Public Member Functions | |
virtual | ~IBlastCmdLineArgs () |
Our virtual destructor. More... | |
virtual void | SetArgumentDescriptions (CArgDescriptions &arg_desc)=0 |
Sets the command line descriptions in the CArgDescriptions object relevant to the subclass. More... | |
virtual void | ExtractAlgorithmOptions (const CArgs &cmd_line_args, CBlastOptions &options) |
Extracts BLAST algorithmic options from the command line arguments into the CBlastOptions object. More... | |
Public Member Functions inherited from CObject | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
Public Member Functions inherited from CDebugDumpable | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Additional Inherited Members | |
Public Types inherited from CObject | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Static Public Member Functions inherited from CObject | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
Static Public Member Functions inherited from CDebugDumpable | |
static void | EnableDebugDump (bool on) |
Static Public Attributes inherited from CObject | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Protected Member Functions inherited from CObject | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
BLAST Command line arguments design The idea is to have several small objects (subclasses of IBlastCmdLineArgs) which can do two things: 1) On creation, add flags/options/etc to a CArgs object 2) When passed in a CBlastOptions object, call the appropriate methods based on the CArgs options set when the NCBI application framework parsed the command line.
If data collected by the small object (from the command line) cannot be applied to the CBlastOptions object, then it's provided to the application via some other interface methods.
Each command line application will have its own argument class (e.g.: CPsiBlastAppArgs), which will contain several of the aformentioned small objects. It will create and hold a reference to a CArgs class as well as a CBlastOptionsHandle object, which will pass to each of its small objects aggregated as data members and then return it to the caller (application)
Categories of data to extract from command line options 1) BLAST algorithm options 2) Input/Output files, and their modifiers (e.g.: believe query defline) 3) BLAST database information (names, limitations, num db seqs) 4) Formatting options (html, display formats, etc) Interface definition for a generic command line option for BLAST
Definition at line 83 of file blast_args.hpp.
|
inlinevirtual |
Our virtual destructor.
Definition at line 87 of file blast_args.hpp.
|
virtual |
Extracts BLAST algorithmic options from the command line arguments into the CBlastOptions object.
Default implementation does nothing.
cmd_line_args | Command line arguments parsed by the NCBI application framework [in] |
options | object to which the appropriate options will be set [in|out] |
Reimplemented in CDebugArgs, CRemoteArgs, CMTArgs, CIgBlastArgs, CQueryOptionsArgs, CMappingArgs, CDeltaBlastArgs, CKBlastpArgs, CPhiBlastArgs, CPsiBlastArgs, CSearchStrategyArgs, CPssmEngineArgs, CGapTriggerArgs, CGeneticCodeArgs, CFrameShiftArgs, CLargestIntronSizeArgs, CGappedArgs, CCompositionBasedStatsArgs, CDiscontiguousMegablastArgs, CNuclArgs, CFilteringArgs, CGenericSearchArgs, CMatrixNameArg, CRMBlastNArg, CWordThresholdArg, COffDiagonalRangeArg, CWindowSizeArg, CTaskCmdLineArgs, CStdCmdLineArgs, CMbIndexArgs, CHspFilteringArgs, CFormattingArgs, CBlastDatabaseArgs, CMapperFormattingArgs, CMapperQueryOptionsArgs, and CMapperMTArgs.
Definition at line 67 of file blast_args.cpp.
|
pure virtual |
Sets the command line descriptions in the CArgDescriptions object relevant to the subclass.
arg_desc | the argument descriptions object [in|out] |
Implemented in CMapperProgramDescriptionArgs, CMapperRemoteArgs, CMapperLargestIntronSizeArgs, CMapperNuclArgs, CMapperGenericSearchArgs, CMapperStdCmdLineArgs, CIgBlastProgramDescriptionArgs, CIgBlastProgramDescriptionArgs, CSRASearchModeArgs, CBlastVDatabaseArgs, CRPSBlastMTArgs, CMbIndexArgs, CHspFilteringArgs, CDebugArgs, CRemoteArgs, CMTArgs, CMapperFormattingArgs, CFormattingArgs, CIgBlastArgs, CBlastDatabaseArgs, CMapperQueryOptionsArgs, CQueryOptionsArgs, CMappingArgs, CDeltaBlastArgs, CKBlastpArgs, CPhiBlastArgs, CPsiBlastArgs, CSearchStrategyArgs, CPssmEngineArgs, CGapTriggerArgs, CGeneticCodeArgs, CFrameShiftArgs, CLargestIntronSizeArgs, CGappedArgs, CCompositionBasedStatsArgs, CDiscontiguousMegablastArgs, CNuclArgs, CFilteringArgs, CGenericSearchArgs, CMatrixNameArg, CRMBlastNArg, CWordThresholdArg, COffDiagonalRangeArg, CWindowSizeArg, CTaskCmdLineArgs, CProgramDescriptionArgs, and CStdCmdLineArgs.