NCBI C++ ToolKit
|
Search Toolkit Book for CRemoteBlastDbDataLoader
#include <objtools/data_loaders/blastdb/bdbloader_rmt.hpp>
Public Types | |
typedef SRegisterLoaderInfo< CRemoteBlastDbDataLoader > | TRegisterLoaderInfo |
![]() | |
enum | EDbType { eNucleotide = 0 , eProtein = 1 , eUnknown = 2 } |
Describes the type of blast database to use. More... | |
typedef SRegisterLoaderInfo< CBlastDbDataLoader > | TRegisterLoaderInfo |
typedef limited_size_map< CSeq_id_Handle, int > | TIdMap |
A mapping from sequence identifier to blob ids. More... | |
![]() | |
enum | EChoice { eBlob , eBioseq , eCore , eBioseqCore , eSequence , eFeatures , eGraph , eAlign , eAnnot , eExtFeatures , eExtGraph , eExtAlign , eExtAnnot , eOrphanAnnot , eAll } |
main blob is blob with sequence all other blobs are external and contain external annotations More... | |
typedef CTSE_Lock | TTSE_Lock |
typedef set< TTSE_Lock > | TTSE_LockSet |
typedef CRef< CTSE_Chunk_Info > | TChunk |
typedef vector< TChunk > | TChunkSet |
typedef set< string > | TProcessedNAs |
typedef set< CSeq_id_Handle > | TSeq_idSet |
typedef vector< CSeq_id_Handle > | TIds |
typedef vector< bool > | TLoaded |
Bulk loading interface for a small pieces of information per id. More... | |
typedef vector< TGi > | TGis |
typedef vector< string > | TLabels |
typedef vector< TTaxId > | TTaxIds |
typedef vector< TSeqPos > | TSequenceLengths |
typedef vector< CSeq_inst::TMol > | TSequenceTypes |
typedef vector< int > | TSequenceStates |
typedef vector< int > | TSequenceHashes |
typedef vector< bool > | THashKnown |
typedef map< CSeq_id_Handle, TTSE_LockSet > | TTSE_LockSets |
typedef vector< vector< CSeq_id_Handle > > | TSeqIdSets |
typedef vector< CTSE_Lock > | TCDD_Locks |
typedef CBlobIdKey | TBlobId |
typedef int | TBlobVersion |
typedef CRef< IEditSaver > | TEditSaver |
![]() | |
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... | |
Public Member Functions | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
virtual void | GetBlobs (TTSE_LockSets &tse_sets) |
Support for fetching the sequence length by batch. More... | |
virtual void | GetChunks (const TChunkSet &chunks) |
Support for fetching the sequence chunks by batch. More... | |
virtual TTSE_Lock | GetBlobById (const TBlobId &blob_id) |
For a given TBlobId, get the TTSE_Lock. More... | |
![]() | |
virtual | ~CBlastDbDataLoader () |
virtual TTSE_LockSet | GetRecords (const CSeq_id_Handle &idh, EChoice choice) |
Load TSE. More... | |
virtual void | GetChunk (TChunk chunk) |
Load a description or data chunk. More... | |
virtual TTaxId | GetTaxId (const CSeq_id_Handle &idh) |
Request for a taxonomy id of a sequence. More... | |
virtual void | GetTaxIds (const TIds &ids, TLoaded &loaded, TTaxIds &ret) |
virtual TSeqPos | GetSequenceLength (const CSeq_id_Handle &idh) |
Request for a length of a sequence. More... | |
virtual void | GetSequenceLengths (const TIds &ids, TLoaded &loaded, TSequenceLengths &ret) |
virtual CSeq_inst::TMol | GetSequenceType (const CSeq_id_Handle &idh) |
Request for a type of a sequence Returns CSeq_inst::eMol_not_set if sequence is not known. More... | |
virtual void | GetSequenceTypes (const TIds &ids, TLoaded &loaded, TSequenceTypes &ret) |
virtual TBlobId | GetBlobId (const CSeq_id_Handle &idh) |
Gets the blob id for a given sequence. More... | |
virtual bool | CanGetBlobById () const |
Test method for GetBlobById feature. More... | |
![]() | |
virtual | ~CDataLoader (void) |
TTSE_LockSet | GetRecordsNoBlobState (const CSeq_id_Handle &idh, EChoice choice) |
The same as GetRecords() but always returns empty TSE lock set instead of throwing CBlobStateException. More... | |
virtual TTSE_LockSet | GetDetailedRecords (const CSeq_id_Handle &idh, const SRequestDetails &details) |
Request from a datasource using handles and ranges instead of seq-loc The TSEs loaded in this call will be added to the tse_set. More... | |
virtual TTSE_LockSet | GetExternalRecords (const CBioseq_Info &bioseq) |
Request from a datasource set of blobs with external annotations. More... | |
virtual TTSE_LockSet | GetOrphanAnnotRecords (const CSeq_id_Handle &idh, const SAnnotSelector *sel) |
old Get*AnnotRecords() methods More... | |
virtual TTSE_LockSet | GetExternalAnnotRecords (const CSeq_id_Handle &idh, const SAnnotSelector *sel) |
virtual TTSE_LockSet | GetExternalAnnotRecords (const CBioseq_Info &bioseq, const SAnnotSelector *sel) |
virtual TTSE_LockSet | GetOrphanAnnotRecordsNA (const CSeq_id_Handle &idh, const SAnnotSelector *sel, TProcessedNAs *processed_nas) |
new Get*AnnotRecords() methods More... | |
virtual TTSE_LockSet | GetOrphanAnnotRecordsNA (const TSeq_idSet &ids, const SAnnotSelector *sel, TProcessedNAs *processed_nas) |
virtual TTSE_LockSet | GetExternalAnnotRecordsNA (const CSeq_id_Handle &idh, const SAnnotSelector *sel, TProcessedNAs *processed_nas) |
virtual TTSE_LockSet | GetExternalAnnotRecordsNA (const CBioseq_Info &bioseq, const SAnnotSelector *sel, TProcessedNAs *processed_nas) |
virtual void | GetIds (const CSeq_id_Handle &idh, TIds &ids) |
Request for a list of all Seq-ids of a sequence. More... | |
bool | SequenceExists (const CSeq_id_Handle &idh) |
helper function to check if sequence exists, uses GetIds() More... | |
virtual CSeq_id_Handle | GetAccVer (const CSeq_id_Handle &idh) |
Request for a accession.version Seq-id of a sequence. More... | |
virtual SAccVerFound | GetAccVerFound (const CSeq_id_Handle &idh) |
virtual TGi | GetGi (const CSeq_id_Handle &idh) |
Request for a gi of a sequence. More... | |
virtual SGiFound | GetGiFound (const CSeq_id_Handle &idh) |
virtual string | GetLabel (const CSeq_id_Handle &idh) |
Request for a label string of a sequence. More... | |
virtual STypeFound | GetSequenceTypeFound (const CSeq_id_Handle &idh) |
virtual int | GetSequenceState (const CSeq_id_Handle &idh) |
Request for a state of a sequence. More... | |
virtual int | GetSequenceHash (const CSeq_id_Handle &idh) |
Request for a sequence hash. More... | |
virtual SHashFound | GetSequenceHashFound (const CSeq_id_Handle &idh) |
virtual void | GetAccVers (const TIds &ids, TLoaded &loaded, TIds &ret) |
Bulk request for accession.version Seq-ids of a set of sequences. More... | |
virtual void | GetGis (const TIds &ids, TLoaded &loaded, TGis &ret) |
Bulk request for gis of a set of sequences. More... | |
virtual void | GetLabels (const TIds &ids, TLoaded &loaded, TLabels &ret) |
Bulk request for label strings of a set of sequences. More... | |
virtual void | GetTaxIds (const TIds &ids, TLoaded &loaded, TTaxIds &ret) |
Bulk request for taxonomy ids of a set of sequences. More... | |
virtual void | GetSequenceLengths (const TIds &ids, TLoaded &loaded, TSequenceLengths &ret) |
Bulk request for lengths of a set of sequences. More... | |
virtual void | GetSequenceTypes (const TIds &ids, TLoaded &loaded, TSequenceTypes &ret) |
Bulk request for types of a set of sequences. More... | |
virtual void | GetSequenceStates (const TIds &ids, TLoaded &loaded, TSequenceStates &ret) |
Bulk request for states of a set of sequences. More... | |
virtual void | GetSequenceHashes (const TIds &ids, TLoaded &loaded, TSequenceHashes &ret, THashKnown &known) |
Bulk request for hashes of a set of sequences. More... | |
virtual void | GetCDDAnnots (const TSeqIdSets &id_sets, TLoaded &loaded, TCDD_Locks &ret) |
virtual TBlobId | GetBlobIdFromString (const string &str) const |
virtual TBlobVersion | GetBlobVersion (const TBlobId &id) |
virtual SRequestDetails | ChoiceToDetails (EChoice choice) const |
virtual EChoice | DetailsToChoice (const SRequestDetails::TAnnotSet &annots) const |
virtual EChoice | DetailsToChoice (const SRequestDetails &details) const |
virtual void | DropTSE (CRef< CTSE_Info > tse_info) |
void | SetTargetDataSource (CDataSource &data_source) |
Specify datasource to send loaded data to. More... | |
string | GetName (void) const |
virtual TTSE_Lock | ResolveConflict (const CSeq_id_Handle &id, const TTSE_LockSet &tse_set) |
Resolve TSE conflict *select the best TSE from the set of dead TSEs. More... | |
virtual void | GC (void) |
virtual TEditSaver | GetEditSaver () const |
virtual CObjectManager::TPriority | GetDefaultPriority (void) const |
virtual Uint4 | EstimateLoadBytes (const CTSE_Chunk_Info &chunk) const |
virtual double | EstimateLoadSeconds (const CTSE_Chunk_Info &chunk, Uint4 bytes) const |
virtual unsigned | GetDefaultBlobCacheSizeLimit () const |
virtual bool | GetTrackSplitSeq () const |
![]() | |
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... | |
![]() | |
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 |
Static Public Attributes | |
static const string | kNamePrefix |
All BLAST DB data loader instances have a name that starts with kNamePrefix. More... | |
![]() | |
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... | |
Private Types | |
typedef CParamLoaderMaker< CRemoteBlastDbDataLoader, SBlastDbParam > | TMaker |
Private Member Functions | |
CRemoteBlastDbDataLoader (const string &loader_name, const SBlastDbParam ¶m) | |
Parametrized constructor. More... | |
CRemoteBlastDbDataLoader (const CRemoteBlastDbDataLoader &) | |
Prevent automatic copy constructor generation. More... | |
CRemoteBlastDbDataLoader & | operator= (const CRemoteBlastDbDataLoader &) |
Prevent automatic assignment operator generation. More... | |
Friends | |
class | CParamLoaderMaker< CRemoteBlastDbDataLoader, SBlastDbParam > |
Additional Inherited Members | |
![]() | |
typedef int | TBioseq_setId |
TPlace is a Seq-id or an integer id, this data loader uses the former. More... | |
typedef CSeq_id_Handle | TBioseqId |
typedef pair< TBioseqId, TBioseq_setId > | TPlace |
typedef CParamLoaderMaker< CBlastDbDataLoader, SBlastDbParam > | TMaker |
![]() | |
CBlastDbDataLoader () | |
Default (no-op) constructor. More... | |
CBlastDbDataLoader (const string &loader_name, const SBlastDbParam ¶m) | |
Parametrized constructor. More... | |
CBlastDbDataLoader (const CBlastDbDataLoader &) | |
Prevent automatic copy constructor generation. More... | |
CBlastDbDataLoader & | operator= (const CBlastDbDataLoader &) |
Prevent automatic assignment operator generation. More... | |
int | x_GetOid (const CSeq_id_Handle &idh) |
Gets the OID from m_Ids cache or the BLAST databases. More... | |
int | x_GetOid (const TBlobId &blob_id) const |
Gets the OID from a TBlobId (see typedef in bdbloader.cpp) More... | |
void | x_LoadData (const CSeq_id_Handle &idh, int oid, CTSE_LoadLock &lock, int slice_size) |
Load sequence data from cache or from the database. More... | |
![]() | |
CDataLoader (void) | |
CDataLoader (const string &loader_name) | |
void | SetName (const string &loader_name) |
CDataSource * | GetDataSource (void) const |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
![]() | |
static void | RegisterInObjectManager (CObjectManager &om, CLoaderMaker_Base &loader_maker, CObjectManager::EIsDefault is_default, CObjectManager::TPriority priority) |
Register the loader only if the name is not yet registered in the object manager. More... | |
![]() | |
string | m_DBName |
Blast database name. More... | |
EDbType | m_DBType |
Is this database protein or nucleotide? More... | |
CRef< IBlastDbAdapter > | m_BlastDb |
The sequence database. More... | |
TIdMap | m_Ids |
ID to OID translation. More... | |
bool | m_UseFixedSizeSlices |
Configuration value specified to the CCachedSequence. More... | |
Definition at line 45 of file bdbloader_rmt.hpp.
|
private |
Definition at line 82 of file bdbloader_rmt.hpp.
Definition at line 49 of file bdbloader_rmt.hpp.
|
private |
Parametrized constructor.
loader_name | name of this data loader [in] |
param | parameters to initialize this data loader [in] |
Definition at line 102 of file bdbloader_rmt.cpp.
References _ASSERT, _TRACE, DbTypeToSeqType(), CRef< C, Locker >::Empty(), GetLoaderNameFromArgs(), CBlastDbDataLoader::m_BlastDb, CBlastDbDataLoader::SBlastDbParam::m_BlastDbHandle, CBlastDbDataLoader::SBlastDbParam::m_DbName, CBlastDbDataLoader::m_DBName, CBlastDbDataLoader::SBlastDbParam::m_DbType, CBlastDbDataLoader::m_DBType, CBlastDbDataLoader::SBlastDbParam::m_UseFixedSizeSlices, CBlastDbDataLoader::m_UseFixedSizeSlices, NCBI_THROW, CRef< C, Locker >::NotEmpty(), CRef< C, Locker >::Reset(), and CDataLoader::SetName().
|
private |
Prevent automatic copy constructor generation.
|
virtual |
Define method for dumping debug information.
Reimplemented from CBlastDbDataLoader.
Definition at line 256 of file bdbloader_rmt.cpp.
References DebugDumpValue(), CBlastDbDataLoader::m_DBName, CBlastDbDataLoader::m_DBType, CBlastDbDataLoader::m_UseFixedSizeSlices, and CDebugDumpContext::SetFrame().
|
virtual |
For a given TBlobId, get the TTSE_Lock.
If the provided TBlobId is known to this code, the corresponding TTSE_Lock data will be fetched and returned. Otherwise, an empty valued TTSE_Lock is returned.
blob_id | Indicates which data to get. |
Reimplemented from CBlastDbDataLoader.
Definition at line 146 of file bdbloader_rmt.cpp.
References first(), CDataLoader::GetDataSource(), CDataSource::GetTSE_LoadLock(), CBlobIdFor< Value, Converter >::GetValue(), CTSE_LoadLock::IsLoaded(), kRmtSequenceSliceSize, and CBlastDbDataLoader::x_LoadData().
Referenced by GetBlobs().
|
virtual |
Support for fetching the sequence length by batch.
Reimplemented from CDataLoader.
Definition at line 158 of file bdbloader_rmt.cpp.
References _ASSERT, map_checker< Container >::empty(), ERR_POST, Error(), GetBlobById(), CConstRef< C, Locker >::GetPointer(), CSeq_id_Handle::GetSeqId(), i, CBlastDbDataLoader::m_BlastDb, NON_CONST_ITERATE, NULL, CRemoteBlastDbAdapter::SeqidToOidBatch(), and map_checker< Container >::size().
Support for fetching the sequence chunks by batch.
Reimplemented from CDataLoader.
Definition at line 197 of file bdbloader_rmt.cpp.
References _ASSERT, CTSE_Chunk_Info::GetBlobId(), CTSE_Chunk_Info::GetSeq_dataInfos(), CRemoteBlastDbAdapter::GetSequenceBatch(), CTSE_Chunk_Info::IsLoaded(), ITERATE, CBlastDbDataLoader::m_BlastDb, NON_CONST_ITERATE, NULL, CSeq_literal_Base::SetLength(), CTSE_Chunk_Info::SetLoaded(), CSeq_literal_Base::SetSeq_data(), CBlastDbDataLoader::x_GetOid(), and CTSE_Chunk_Info::x_LoadSequence().
|
static |
Definition at line 97 of file bdbloader_rmt.cpp.
References DbTypeToStr(), kNamePrefix, CBlastDbDataLoader::SBlastDbParam::m_DbName, and CBlastDbDataLoader::SBlastDbParam::m_DbType.
Referenced by CRemoteBlastDbDataLoader().
|
private |
Prevent automatic assignment operator generation.
|
static |
Definition at line 51 of file bdbloader_rmt.cpp.
References dbname(), CParamLoaderMaker< TDataLoader, TParam >::GetRegisterInfo(), om, and CDataLoader::RegisterInObjectManager().
Referenced by CAutoRegistrar::CAutoRegistrar(), CRmtBlastDb_DataLoaderCF::CreateAndRegister(), s_InitializeSubject(), TestUtil::CBlastOM::x_InitBlastDatabaseDataLoader(), and CBlastScopeSource::x_InitBlastDatabaseDataLoader().
|
friend |
Definition at line 82 of file bdbloader_rmt.hpp.
All BLAST DB data loader instances have a name that starts with kNamePrefix.
Definition at line 62 of file bdbloader_rmt.hpp.
Referenced by GetLoaderNameFromArgs().