35 #ifndef ALGO_BLAST_API___SETUP_FACTORY_HPP
36 #define ALGO_BLAST_API___SETUP_FACTORY_HPP
153 template<
class TData>
166 enum { kMinNumThreads = 1 };
174 virtual void SetNumberOfThreads(
size_t nthreads);
176 size_t GetNumberOfThreads(
void)
const;
178 bool IsMultiThreaded(
void)
const;
247 size_t num_threads = 1);
263 size_t number_of_queries,
290 CreateBlastSeqSrc(
CSeqDB * db,
int filt_algo = -1,
301 #ifndef SKIP_DOXYGEN_PROCESSING
Declarations for indexed blast databases.
ESubjectMaskingType
Define the possible subject masking types.
Boolean(* TInterruptFnPtr)(SBlastProgress *progress_info)
Prototype for function pointer to determine whether the BLAST search should proceed or be interrupted...
#define NCBI_XBLAST_EXPORT
NULL operations for other cases.
Declaration of ADT to save and retrieve lists of HSPs in the BLAST engine.
Class that allows the transfer of data structures from the CBlastOptionsLocal class to either the BLA...
Wrapper class to manage the BlastRPSInfo structure, as currently there aren't any allocation or deall...
Auxiliary class to create the various C structures to set up the preliminary and/or traceback stages ...
Class that supports setting the number of threads to use with a given algorithm.
typedef for the messages for an entire BLAST search, which could be comprised of multiple query seque...
TData * m_Data
the pointer managed by this object
CStructWrapper< BlastDiagnostics > TBlastDiagnostics
CStructWrapper(TData *obj, TDelete *dfun)
Constructor.
CStructWrapper & operator=(CStructWrapper< TData > &x)
Prohibit assignment operator.
size_t GetNumberOfThreads(void) const
Accessor for the number of threads to use.
virtual void SetNumberOfThreads(size_t nthreads)
Mutator for the number of threads.
~CStructWrapper()
Destructor.
TData *() TDelete(TData *)
type definition for a function that deallocated memory associated with an object.
CStructWrapper< LookupTableWrap > TLookupTableWrap
virtual ~CThreadable(void)
Our virtual destructor.
CStructWrapper< BlastHSPStream > TBlastHSPStream
CStructWrapper< BlastScoreBlk > TBlastScoreBlk
TDelete * m_DeleteFunction
deallocation function for the pointer above
CRef< TBlastSeqSrc > m_SeqSrc
The source of subject sequence data.
TData * operator->()
The a pointer to the wrapped object.
CStructWrapper< TData > * WrapStruct(TData *obj, TData *(*del)(TData *))
Auxiliary function to create a CStructWrapper for a pointer to an object.
bool IsMultiThreaded(void) const
Returns true if more than 1 thread is specified.
TData & operator*()
The a reference to the wrapped object.
CRef< TLookupTableWrap > m_LookupTable
Lookup table, usually only needed in the preliminary stage of the search, but for PHI-BLAST it's also...
CStructWrapper< SPHIPatternSearchBlk > TSPHIPatternSearchBlk
CStructWrapper(CStructWrapper< TData > &x)
Prohibit copy constructor.
CStructWrapper< BlastSeqSrc > TBlastSeqSrc
CRef< CBlastRPSInfo > m_RpsData
The RPS-BLAST related data.
CRef< TBlastScoreBlk > m_ScoreBlk
BLAST score block structure.
TData * GetPointer()
The a pointer to the wrapped object.
size_t m_NumThreads
Keep track of how many threads should be used.
TInterruptFnPtr m_FnInterrupt
The interrupt callback.
CRef< CSBlastProgress > m_ProgressMonitor
The user data structure to aid in progress monitoring.
BLAST_SequenceBlk * m_Queries
The query sequence data, these fields are "borrowed" from the query factory (which owns them)
BlastQueryInfo * m_QueryInfo
The query information structure.
CRef< TBlastDiagnostics > m_Diagnostics
Diagnostic output from preliminary and traceback stages.
const int kNoPhiBlastPattern
set to -1 in ctor, indicate that m_NumPatOccurInDB is unset or not applicable.
CThreadable(void)
Default ctor.
int m_NumPatOccurInDB
Number of times pattern found to occur in database (for phi-blast only).
CRef< TBlastHSPStream > m_HspStream
HSP output of the preliminary stage goes here.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define ASSERT
macro for assert.
Functions for finding pattern matches in sequence (PHI-BLAST).
NOTE: This file contains work in progress and the APIs are likely to change, please do not rely on th...
Declares auxiliary classes to manage RPS-BLAST related C-structures.
Defines BLAST database access classes.
vector< TMaskedQueryRegions > TSeqLocInfoVector
Collection of masked regions for all queries in a BLAST search.
Structure to hold a sequence.
Return statistics from the BLAST search.
ADT definition of BlastHSPPipe.
Default implementation of BlastHSPStream.
ADT definition of BlastHSPWriter.
The query related information.
Structure used for scoring calculations.
Used to hold a set of positions, mostly used for filtering.
Complete type definition of Blast Sequence Source ADT.
Wrapper structure for different types of BLAST lookup tables.
Structure to hold results of the preliminary (databases scanning phase) part of the search that are n...
Lightweight wrapper to enclose C structures needed for running the preliminary and traceback stages o...