NCBI C++ ToolKit
|
Search Toolkit Book for IRawSequenceSource
Interface to a source of raw sequence data. More...
#include <objtools/blast/seqdb_writer/build_db.hpp>
Public Member Functions | |
virtual bool | GetNext (CTempString &sequence, CTempString &ambiguities, CRef< objects::CBlast_def_line_set > &deflines, vector< SBlastDbMaskData > &mask_ranges, vector< int > &column_ids, vector< CTempString > &column_blobs)=0 |
Get a raw sequence. More... | |
virtual void | GetColumnNames (vector< string > &names)=0 |
Get the names of all columns defined by this sequence source. More... | |
virtual int | GetColumnId (const string &name)=0 |
Get the column ID for a column mentioned by name. More... | |
virtual const map< string, string > & | GetColumnMetaData (int id)=0 |
Get metadata for the column with the specified Column ID. 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... | |
Interface to a source of raw sequence data.
This interface provides raw data, including column data, from a BlastDB-like data source.
Definition at line 70 of file build_db.hpp.
Get the column ID for a column mentioned by name.
name | The name (column title) of the column. [in] |
Implemented in CClusterDBSource, and CRawSeqDBSource.
Referenced by CBuildDatabase::AddSequences().
Get metadata for the column with the specified Column ID.
id | The column-id for which to get meta-data. [in] |
Implemented in CClusterDBSource, and CRawSeqDBSource.
Referenced by CBuildDatabase::AddSequences().
|
pure virtual |
Get the names of all columns defined by this sequence source.
names | A list of column names. [out] |
Implemented in CClusterDBSource, and CRawSeqDBSource.
Referenced by CBuildDatabase::AddSequences().
|
pure virtual |
Get a raw sequence.
This method provides information about a sequence, including the header, zero or more columns, and (raw) sequence data.
The sequence data is split into the sequence + ambiguities strings, which should be in the format used by BlastDB databases. (If the database type is protein, "ambiguities" should be an empty string.)
For each column of the database for which this OID has blob data, the column index should be found in column_ids, and a reference to the blob data should be stored at the same index in the column_blob vector. If this OID does not have a data object for this column, either the column may be missing from the list, or the blob data string should be empty.
sequence | Sequence data packed in BlastDB disk format. [out] |
ambiguities | Ambiguities packed in BlastDB disk format. [out] |
deflines | This OID's headers as a Blast-def-line-set. [out] |
column_ids | Column IDs of this OID's nonempty blobs. [out] |
column_blobs | All non-empty blobs for this OID. [out] |
Referenced by CBuildDatabase::AddSequences().