Declaration of ADT to retrieve sequences for the BLAST engine. More...
Go to the source code of this file.
Go to the SVN repository for this file.
BlastSeqSrc * BlastSeqSrcNew (const BlastSeqSrcNewInfo *bssn_info) Allocates memory for a BlastSeqSrc structure and then invokes the constructor function defined in its first argument, passing the ctor_argument member of that same structure. More...Declaration of ADT to retrieve sequences for the BLAST engine.
Definition in file blast_seqsrc.h.
◆ BLAST_SEQSRC_EOF #define BLAST_SEQSRC_EOF -1 ◆ BLAST_SEQSRC_ERROR #define BLAST_SEQSRC_ERROR -2 ◆ BLAST_SEQSRC_EXCLUDED #define BLAST_SEQSRC_EXCLUDED -3 ◆ BLAST_SEQSRC_MINGAP #define BLAST_SEQSRC_MINGAP 1024 ◆ BLAST_SEQSRC_MINLENGTH #define BLAST_SEQSRC_MINLENGTH 10 ◆ BLAST_SEQSRC_OVERHANG #define BLAST_SEQSRC_OVERHANG 1024 ◆ BLAST_SEQSRC_SUCCESS #define BLAST_SEQSRC_SUCCESS 0 ◆ BlastSeqSrcThe BlastSeqSrc ADT is an opaque data type that defines an interface which is used by the core BLAST code to retrieve sequences.
The interface currently provides the following services:
For more details, see also Implementing the BlastSeqSrc interface
Definition at line 1 of file blast_seqsrc.h.
◆ BlastSeqSrcGetSeqArgStructure used as the second argument to functions satisfying the GetSeqBlkFnPtr signature, associated with index-based implementations of the BlastSeqSrc interface.
Index-based implementations include BLAST databases or an array/vector of sequences.
◆ BlastSeqSrcIterator ◆ BlastSeqSrcNewInfoStructure that contains the information needed for BlastSeqSrcNew to fully populate the BlastSeqSrc structure it returns.
Definition at line 1 of file blast_seqsrc.h.
◆ BlastSeqSrcSetRangesArgStructure used as the argument to function SetRanges.
◆ BlastSeqSrcCopy()Copy function: needed to guarantee thread safety.
Copies the contents of an input BlastSeqSrc, then calls a copier function, provided by the implementation, to achieve multi-thread safety.
Definition at line 138 of file blast_seqsrc.c.
References BlastMemDup(), BlastSeqSrc::CopyFnPtr, and NULL.
Referenced by Blast_RedoAlignmentCore_MT(), BOOST_AUTO_TEST_CASE(), CPrelimSearchThread::CPrelimSearchThread(), NaHashLookupThreadDataNew(), SplitQuery_CreateChunkData(), and SThreadLocalDataArraySetup().
◆ BlastSeqSrcFree()Frees the BlastSeqSrc structure by invoking the destructor function set by the user-defined constructor function when the structure is initialized (indirectly, by BlastSeqSrcNew).
If the destructor function pointer is not set, a memory leak could occur. Note that it is the implementation's destructor responsibility to free the BlastSeqSrc structure by calling sfree.
Definition at line 112 of file blast_seqsrc.c.
References ASSERT, BlastSeqSrc::DeleteFnPtr, BlastSeqSrc::InitErrorStr, NULL, and sfree.
Referenced by Blast_RedoAlignmentCore_MT(), BOOST_AUTO_TEST_CASE(), CBlastPrelimSearch::CBlastPrelimSearch(), CPrelimSearchThread::CPrelimSearchThread(), CSetupFactory::CreateBlastSeqSrc(), NaHashLookupThreadDataFree(), CBlastKmerSearch::Run(), SplitQuery_CreateChunkData(), SThreadLocalDataFree(), CVDBBlastUtil::x_MakeVDBSeqSrc(), CLocalDbAdapter::~CLocalDbAdapter(), CVDBBlastUtil::~CVDBBlastUtil(), and FailingMockSeqSrcTestFixture::~FailingMockSeqSrcTestFixture().
◆ BlastSeqSrcGetAvgSeqLen() ◆ BlastSeqSrcGetInitError() ◆ BlastSeqSrcGetIsProt() ◆ BlastSeqSrcGetMaxSeqLen() ◆ BlastSeqSrcGetMinSeqLen() ◆ BlastSeqSrcGetName() ◆ BlastSeqSrcGetNumSeqs()Get the number of sequences contained in the sequence source.
Definition at line 177 of file blast_seqsrc.c.
References ASSERT, BlastSeqSrc::DataStructure, BlastSeqSrc::GetNumSeqs, and NULL.
Referenced by BLAST_GapAlignSetUp(), BLAST_GetSubjectTotals(), BLAST_PreliminarySearchEngine(), BOOST_AUTO_TEST_CASE(), CBlastFormat::CBlastFormat(), CVDBBlastUtil::CVDBBlastUtil(), CVDBBlastUtil::FillVDBInfo(), CBlastPrelimSearch::Run(), CSeedTop::Run(), s_checkDbSeqSrcFunctions(), s_InitializeSubject(), s_NaHashLookupScanSubjectForWordCounts(), s_RPSPreliminarySearchEngine(), s_ScanSubjectForWordCounts(), CVDBSeqInfoSrc::Size(), and SplitQuery_SetEffectiveSearchSpace().
◆ BlastSeqSrcGetNumSeqsStats() ◆ BlastSeqSrcGetSeqLen() ◆ BlastSeqSrcGetSequence()Retrieve an individual sequence.
Definition at line 271 of file blast_seqsrc.c.
References ASSERT, BlastSeqSrc::DataStructure, and BlastSeqSrc::GetSequence.
Referenced by BLAST_ComputeTraceback_MT(), Blast_HSPListReevaluateUngapped(), BLAST_PreliminarySearchEngine(), BOOST_AUTO_TEST_CASE(), CSeedTop::Run(), s_checkDbSeqSrcFunctions(), s_ComputeNumIdentities(), s_MatchingSequenceInitialize(), s_NaHashLookupScanSubjectForWordCounts(), s_RPSComputeTraceback(), and s_ScanSubjectForWordCounts().
◆ BlastSeqSrcGetSupportsPartialFetching() ◆ BlastSeqSrcGetTotLen()Get the total length of all sequences in the sequence source.
Definition at line 219 of file blast_seqsrc.c.
References ASSERT, BlastSeqSrc::DataStructure, BlastSeqSrc::GetTotLen, and NULL.
Referenced by BLAST_ComputeTraceback_MT(), BLAST_GapAlignSetUp(), BLAST_GetSubjectTotals(), BLAST_PreliminarySearchEngine(), BOOST_AUTO_TEST_CASE(), CBlastFormat::CBlastFormat(), CVDBBlastUtil::FillVDBInfo(), s_checkDbSeqSrcFunctions(), s_InitializeSubject(), s_RPSPreliminarySearchEngine(), and SplitQuery_SetEffectiveSearchSpace().
◆ BlastSeqSrcGetTotLenStats() ◆ BlastSeqSrcIteratorFree() ◆ BlastSeqSrcIteratorNew() ◆ BlastSeqSrcIteratorNewEx()Allocate and initialize an iterator over a BlastSeqSrc.
Definition at line 387 of file blast_seqsrc.c.
References calloc(), BlastSeqSrcIterator::chunk_sz, BlastSeqSrcIterator::current_pos, kBlastSeqSrcDefaultChunkSize, malloc(), NULL, BlastSeqSrcIterator::oid_list, sfree, and UINT4_MAX.
Referenced by BLAST_PreliminarySearchEngine(), BlastSeqSrcIteratorNew(), CVdbFastaExtractor::DumpAll(), NaHashLookupThreadDataNew(), CSeedTop::Run(), and s_ScanSubjectForWordCounts().
◆ BlastSeqSrcIteratorNext() ◆ BlastSeqSrcNew()Allocates memory for a BlastSeqSrc structure and then invokes the constructor function defined in its first argument, passing the ctor_argument member of that same structure.
If the constructor function pointer is not set or there is a memory allocation failure, NULL is returned.
Definition at line 90 of file blast_seqsrc.c.
References calloc(), BlastSeqSrcNewInfo::constructor, BlastSeqSrcNewInfo::ctor_argument, BlastSeqSrc::NewFnPtr, NULL, and sfree.
Referenced by MockBlastSeqSrcInit(), MultiSeqBlastSeqSrcInit(), s_QueryFactoryBlastSeqSrcInit(), SeqDbBlastSeqSrcInit(), and SRABlastSeqSrcInit().
◆ BlastSeqSrcReleaseSequence()Deallocate individual sequence.
Definition at line 289 of file blast_seqsrc.c.
References ASSERT, BlastSeqSrc::DataStructure, and BlastSeqSrc::ReleaseSequence.
Referenced by BLAST_ComputeTraceback_MT(), Blast_HSPListReevaluateUngapped(), BLAST_PreliminarySearchEngine(), BOOST_AUTO_TEST_CASE(), CSeedTop::Run(), s_checkDbSeqSrcFunctions(), s_ComputeNumIdentities(), s_MatchingSequenceRelease(), s_NaHashLookupScanSubjectForWordCounts(), s_RPSComputeTraceback(), and s_ScanSubjectForWordCounts().
◆ BlastSeqSrcResetChunkIterator() void BlastSeqSrcResetChunkIterator ( BlastSeqSrc * seq_src ) ◆ BlastSeqSrcSetNumberOfThreads() void BlastSeqSrcSetNumberOfThreads ( BlastSeqSrc * seq_src, int nthreads ) ◆ BlastSeqSrcSetRangesArgAddRange() ◆ BlastSeqSrcSetRangesArgBuild() ◆ BlastSeqSrcSetRangesArgFree() ◆ BlastSeqSrcSetRangesArgNew() ◆ BlastSeqSrcSetSeqRanges() ◆ kBlastSeqSrcDefaultChunkSize const unsigned int kBlastSeqSrcDefaultChunkSize externHow many database sequences to process in one database chunk.
this value is overriden in seqdb implementation, where the number of sequences is determined by the mmaped slice size
Definition at line 385 of file blast_seqsrc.c.
Referenced by BlastSeqSrcIteratorNewEx().
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4