Implementations of this interface should provide life-cycle functions as well as functions which satisfy the BlastSeqSrc interface.
These functions must have C linkage, as these functions are invoked by the BlastSeqSrc framework. An initialization function must also be provided, this is intended to be invoked by client code which wants to use a specific BlastSeqSrc implementation through the BlastSeqSrc interface. For example, MyDatabaseFormat implementation would define the following functions:
Complete type definition of Blast Sequence Source ADT.
extern "C" {
void MyDatabaseFormatSetNumberOfThreads(int);
Int4MyDatabaseFormatGetNumSeqs(
void*,
void*);
Int4MyDatabaseFormatGetNumSeqsStats(
void*,
void*);
Int4MyDatabaseFormatGetMaxSeqLen(
void*,
void*);
Int4MyDatabaseFormatGetMinSeqLen(
void*,
void*);
Int4MyDatabaseFormatGetAvgSeqLen(
void*,
void*);
Int8MyDatabaseFormatGetTotLen(
void*,
void*);
Int8MyDatabaseFormatGetTotLenStats(
void*,
void*);
const char* MyDatabaseFormatGetName(void*, void*);
BooleanMyDatabaseFormatGetIsProt(
void*,
void*);
Int4MyDatabaseFormatGetSeqLen(
void*,
void*);
Int4MyDatabaseFormatResetChunkIterator(
void*);
}
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
int64_t Int8
8-byte (64-bit) signed integer
Uint1 Boolean
bool replacment for C
Structure used as the second argument to functions satisfying the GetSeqBlkFnPtr signature,...
Complete type definition of Blast Sequence Source Iterator.
Since the life-cycle and BlastSeqSrc interface functions above are called by the BlastSeqSrc framework (BlastSeqSrc* functions declared in blast_seqsrc.h), no exceptions should be thrown in C++ implementations. When not obvious, please see the required signature's documentation for determining what to implement (see blast_seqsrc_impl.h).
For ease of maintenance, please follow the following conventions:
XBlastSeqSrcInit
, where X
is the name of the implementationseqsrc_X
.[hc] or seqsrc_X
.[ch]pp, where X
is the name of the implementation.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