BLAST (Basic Local Alignment Search Tool)
[ALGORITHMS]

Collaboration diagram for BLAST (Basic Local Alignment Search Tool):


Classes

class  CBl2Seq
 Runs the BLAST algorithm between 2 sequences. More...
class  CBlastAdvancedProteinOptionsHandle
 Handle to the Advanced BLASTP options. More...
class  CSeqLocInfo
 structure for seqloc info More...
class  TMaskedQueryRegions
 Collection of masked regions for a single query sequence. More...
class  CFrameFinder
 Function object to assist in finding all CSeqLocInfo objects which corresponds to a given frame. More...
class  CAutomaticGenCodeSingleton
 Initializes and uninitializes the genetic code singleton as if it was an automatic variable. More...
class  CBLAST_SequenceBlk
 Wrapper class for struct_name. More...
class  CBlastQueryInfo
 Wrapper class for struct_name. More...
class  CQuerySetUpOptions
 Wrapper class for struct_name. More...
class  CLookupTableOptions
 Wrapper class for struct_name. More...
class  CLookupTableWrap
 Wrapper class for struct_name. More...
class  CBlastInitialWordOptions
 Wrapper class for struct_name. More...
class  CBlastInitialWordParameters
 Wrapper class for struct_name. More...
class  CBlast_ExtendWord
 Wrapper class for struct_name. More...
class  CBlastExtensionOptions
 Wrapper class for struct_name. More...
class  CBlastExtensionParameters
 Wrapper class for struct_name. More...
class  CBlastHitSavingOptions
 Wrapper class for struct_name. More...
class  CBlastHitSavingParameters
 Wrapper class for struct_name. More...
class  CPSIBlastOptions
 Wrapper class for struct_name. More...
class  CBlastDatabaseOptions
 Wrapper class for struct_name. More...
class  CBlastScoreBlk
 Wrapper class for struct_name. More...
class  CBlastScoringOptions
 Wrapper class for struct_name. More...
class  CBlastScoringParameters
 Wrapper class for struct_name. More...
class  CBlastEffectiveLengthsOptions
 Wrapper class for struct_name. More...
class  CBlastEffectiveLengthsParameters
 Wrapper class for struct_name. More...
class  CBlastGapAlignStruct
 Wrapper class for struct_name. More...
class  CBlastHSPResults
 Wrapper class for struct_name. More...
class  CPSIMatrix
 Wrapper class for struct_name. More...
class  CPSIDiagnosticsRequest
 Wrapper class for struct_name. More...
class  CPSIDiagnosticsResponse
 Wrapper class for struct_name. More...
class  CBlastSeqSrc
 Wrapper class for struct_name. More...
class  CBlastSeqSrcIterator
 Wrapper class for struct_name. More...
class  CBlast_Message
 Wrapper class for struct_name. More...
class  CBlastMaskLoc
 Wrapper class for struct_name. More...
class  CBlastSeqLoc
 Wrapper class for struct_name. More...
class  CSBlastProgress
 Wrapper class for struct_name. More...
struct  SSeqIdKey
 Auxiliary type to embed a CConstRef<CSeq_id> in STL containers that require operator< to be defined. More...
class  CBlastSystemException
 Defines system exceptions occurred while running BLAST. More...
class  CBlastException
 Defines BLAST error codes (user errors included). More...
class  CBlastNucleotideOptionsHandle
 Handle to the nucleotide-nucleotide options to the BLAST algorithm. More...
class  CBlastOptions
 Encapsulates ALL the BLAST algorithm's options. More...
class  CBlastOptionsBuilder
 Class to build CBlastOptionsHandle from blast4 ASN objects. More...
class  CBlastOptionsFactory
 Creates BlastOptionsHandle objects with default values for the programs/tasks requested. More...
class  CBlastOptionsHandle
 Handle to the options to the BLAST algorithm. More...
class  CBlastProteinOptionsHandle
 Handle to the protein-protein options to the BLAST algorithm. More...
class  CBlastAncillaryData
 Class used to return ancillary data from a blast search, i.e. More...
class  CSearchResults
 Search Results for One Query. More...
class  CSearchResultSet
 Search Results for All Queries. More...
class  CBlastRPSOptionsHandle
 Handle to the rpsblast options to the BLAST algorithm. More...
class  IBlastSeqInfoSrc
 Abstract base class to encapsulate retrieval of sequence identifiers. More...
class  CBlastxOptionsHandle
 Handle to the translated nucleotide-protein options to the BLAST algorithm. More...
class  CDiscNucleotideOptionsHandle
 Handle to the nucleotide-nucleotide options to the discontiguous BLAST algorithm. More...
class  CEffectiveSearchSpaceCalculator
 Auxiliary class to compute the effective search space. More...
class  CBlastHSPListQueueData
 Data structure for the queue implementation of BlastHSPStream. More...
class  CLocalBlast
 Class to perform a BLAST search on local BLAST databases Note that PHI-BLAST can be run using this class also, one only need to configure it as a regular blastp or blastn search and set the pattern in the CBlastOptionsHandle object. More...
class  CLocalDbAdapter
 Interface to create a BlastSeqSrc suitable for use in CORE BLAST from a a variety of BLAST database/subject representations. More...
class  CLocalSeqSearch
 Local sequence search. More...
class  CLocalPssmSearch
class  CLocalSearchFactory
 Factory for CLocalSearch. More...
class  CObjMgr_QueryFactory
 NCBI C++ Object Manager dependant implementation of IQueryFactory. More...
class  CObjMgrFree_QueryFactory
 NCBI C++ Object Manager free implementation of IQueryFactory. More...
class  CPHIBlastNuclOptionsHandle
 Handle to the nuclein PHI BLAST options. More...
class  CPHIBlastProtOptionsHandle
 Handle to the protein PHI BLAST options. More...
class  CBlastPrelimSearch
 Search class to perform the preliminary stage of the BLAST search. More...
class  CPsiBlastInputFreqRatios
 Implements the interface to retrieve data for the last 2 stages of the PSSM creation. More...
class  CPsiBlastInputData
 This class is a concrete strategy for IPssmInputData, and it implements the traditional PSI-BLAST algorithm for building a multiple sequence alignment from a list of pairwise alignments using the C++ object manager. More...
class  CPsiBl2Seq
 Runs a single iteration of the PSI-BLAST algorithm between 2 sequences. More...
class  CPsiBlast
 Runs a single iteration of the PSI-BLAST algorithm on a BLAST database. More...
class  CPsiBlastIterationState
 Represents the iteration state in PSI-BLAST. More...
class  CPSIBlastOptionsHandle
 Handle to the protein-protein options to the BLAST algorithm. More...
class  CPssmEngineException
 Exception class for the CPssmEngine class. More...
class  CPssmEngine
 Computes a PSSM as specified in PSI-BLAST. More...
class  CScorematPssmConverter
 Auxiliary class to convert data encoded in the PSSM to CNcbiMatrix. More...
struct  IPssmInput_Base
 Base class for the IPssmInputData and IPssmInputFreqRatios interfaces, provided to avoid duplicating the methods that are common to both interfaces. More...
struct  IPssmInputData
 Abstract base class to encapsulate the source(s) and pre-processing of PSSM input data as well as options to the PSI-BLAST PSSM engine. More...
struct  IPssmInputFreqRatios
 Interface used to retrieve the PSSM frequency ratios to allow for "restart" processing in PSI-BLAST: Given a preliminary. More...
class  ILocalQueryData
 Provides access (not ownership) to the C structures used to configure local BLAST search class implementations. More...
class  IRemoteQueryData
class  IQueryFactory
 Source of query sequence data for BLAST Provides an interface for search classes to retrieve sequence data to be used in local/remote searches without coupling them to the actual means of retrieving the data. More...
class  CRemoteBlastException
 Exception class for the CRemoteBlast class. More...
class  CRemoteBlast
 API for Remote Blast Requests. More...
class  CRemoteSeqSearch
 Remote Sequence Search. More...
class  CRemotePssmSearch
 Remote Sequence Search. More...
class  CRemoteSearchFactory
 Factory for CRemoteSearch. More...
class  CRemoteServices
 API for Remote Blast Services. More...
class  CBlastRPSInfo
 Wrapper class to manage the BlastRPSInfo structure, as currently there aren't any allocation or deallocation functions for this structure in the CORE of BLAST. More...
class  CRPSTBlastnOptionsHandle
 Handle to the options for translated nucleotide-RPS blast. More...
class  CSeqDbSeqInfoSrc
 Implementation of the IBlastSeqInfoSrc interface to encapsulate retrieval of sequence identifiers and lengths from a BLAST database. More...
class  CSeqVecSeqInfoSrc
 Implementation of the IBlastSeqInfoSrc interface to encapsulate retrieval of sequence identifiers and lengths from a vector of Seq-locs. More...
class  CStructWrapper< TData >
class  CThreadable
 Class that supports setting the number of threads to use with a given algorithm. More...
class  CSetupFactory
 Auxiliary class to create the various C structures to set up the preliminary and/or traceback stages of the search. More...
struct  SInternalData
 Lightweight wrapper to enclose C structures needed for running the preliminary and traceback stages of the BLAST search. More...
struct  SDatabaseScanData
 Structure to hold results of the preliminary (databases scanning phase) part of the search that are needed for the traceback. More...
class  CQuerySplitter
 Class responsible for splitting query sequences and providing data to the BLAST search class to search a split query chunk. More...
class  CTBlastnOptionsHandle
 Handle to the protein-translated nucleotide options to the BLAST algorithm. More...
class  CTBlastxOptionsHandle
 Handle to the translated nucleotide-translated nucleotide options to the BLAST algorithm. More...
class  CBlastTracebackSearch
class  CSearchException
 Exception class. More...
class  CSearchDatabase
 Blast Search Subject. More...
class  ISearch
 Single Iteration Blast Database Search. More...
class  ISeqSearch
 Single Iteration Search of Sequence(s) Against Blast Database(s). More...
class  IPssmSearch
 Experimental interface (since this does not provide a full interface to PSI-BLAST). More...
class  ISearchFactory
 Factory for ISearch. More...
class  CBlastVersion
 Keeps track of the version of the BLAST engine in the NCBI C++ toolkit. More...
class  CReference
 Class to keep track of the various BLAST references. More...
class  CBlastSeqVectorFromCSeq_data
 Implementation of the IBlastSeqVector interface which obtains data from a CSeq_data object. More...
class  CBlastQuerySourceBioseqSet
 Implements the IBlastQuerySource interface using a CBioseq_set as data source. More...
struct  TQueryMessagesLessComparator
struct  TQueryMessagesEqualComparator
struct  SBlastSetupData
 Return type of BlastSetupPreliminarySearch. More...
struct  SIndexedDbNewArgs
 This structure is used to transfer arguments to s_IDbSrcNew(). More...
class  CIndexedDb
 This class is responsible for loading indices and doing the actual seed search. More...
class  CPreSearchThread
 One thread of the indexed seed search. More...
class  CBlastOptionsMemento
 Class that allows the transfer of data structures from the CBlastOptionsLocal class to either the BLAST preliminary or traceback search classes. More...
class  CEffectiveSearchSpacesMemento
 Memento class to save, replace out, and restore the effective search space options of the CBlastOptions object passed to its constructor. More...
class  CBlastQuerySourceOM
 Implements the object manager dependant version of the IBlastQuerySource. More...
class  CBlastSeqVectorOM
 Implementation of the IBlastSeqVector interface which obtains data from a CSeq_loc and a CScope relying on the CSeqVector class. More...
class  CBlastOptionsRemote
 Encapsulates all blast input parameters. More...
class  CBlastOptionsLocal
 Encapsulates all blast input parameters. More...
struct  SBlastSequence
 Structure to store sequence data and its length for use in the CORE of BLAST (it's a malloc'ed array of Uint1 and its length) FIXME: do not confuse with blast_seg.c's SSequence. More...
class  IBlastQuerySource
 Lightweight wrapper around an indexed sequence container. More...
class  IBlastSeqVector
 Lightweight wrapper around sequence data which provides a CSeqVector-like interface to the data. More...
class  CBlastQueryFilteredFrames
 Collection of BlastSeqLoc lists for filtering processing. More...
class  CFilteringMemento
 Memento class to save, null out, and restore the filtering options of the CBlastOptionsMemento object passed to its constructor This prevents side effects (like filtering the query sequence) to occur during calculation of the effective search space. More...
class  CObjMgr_LocalQueryData
 Provides access (not ownership) to the C structures used to configure local BLAST search class implementations. More...
class  CObjMgr_RemoteQueryData
class  CObjMgrFree_LocalQueryData
class  CObjMgrFree_RemoteQueryData
class  CPrelimSearchRunner
 Functor to run the preliminary stage of the BLAST search. More...
class  CPrelimSearchThread
 Thread class to run the preliminary stage of the BLAST search. More...
class  CPsiBlastAlignmentProcessor
 Auxiliary class to retrieve sequence identifiers its position in the alignment which are below the inclusion evalue threshold. More...
class  CPsiBlastValidate
 Auxialiry class containing static methods to validate PSI-BLAST search components. More...
class  CPsiBlastImpl
 Implementation class for PSI-BLAST (database search and 2 sequences). More...
struct  CSeqIdComparator
struct  SNcbiMatrix2DoubleMatrix
 Auxiliary class to convert from a CNcbiMatrix into a double** as required by the C API. More...
class  CBlastRPSAuxInfo
 Wrapper class to manage the BlastRPSAuxInfo structure, as currently there aren't any allocation or deallocation functions for this structure in the CORE of BLAST. More...
class  CRpsAuxFile
 This class represents the .aux file in a RPS-BLAST file, which contains information about the scoring matrix to be used during the RPS-BLAST search, the scaling factor, an array of K statistical values (karlin_k), as well as various fields that are currently unused. More...
class  CRpsMmappedFile
 Encapsulates logic of mmap'ing and performing sanity checks on RPS-BLAST database files. More...
class  CRpsLookupTblFile
 This class represents the .loo file in a RPS-BLAST file, which contains the pre-computed lookup table. More...
class  CRpsPssmFile
 This class represents the .rps file in a RPS-BLAST file, which contains the PSSMs for the database. More...
class  CBioseqSeqInfoSrc
 Implementation of the IBlastSeqInfoSrc interface to encapsulate retrieval of sequence identifiers and lengths from a CBioseq/CBioseq_set object. More...
class  CMultiSeqInfo
 Contains information about all sequences in a set. More...
struct  SMultiSeqSrcNewArgs
 Encapsulates the arguments needed to initialize multi-sequence source. More...
class  CQueryFactoryInfo
 Contains information about all sequences in a set. More...
struct  SQueryFactorySrcNewArgs
 Encapsulates the arguments needed to initialize multi-sequence source. More...
struct  SSeqDB_SeqSrc_Data
 Simple container to support SeqSrc-local data. More...
class  CSeqDbSrcNewArgs
 Encapsulates the arguments needed to initialize CSeqDB. More...
class  CContextTranslator
 Auxiliary class to provide convenient and efficient access to conversions between contexts local to query split chunks and the absolute (full, unsplit) query. More...
class  CQueryDataPerChunk
 Auxiliary class to determine information about the query that was split into chunks. More...
class  CSplitQueryBlk
 Wrapper class around SSplitQueryBlk structure. More...

Defines

#define TYPEDEF_AUTOPTR_CDELETER(type)   typedef AutoPtr<type, CDeleter<type> > TAuto ## type ## Ptr
 Uses C Deleter (free) - used in functions that deal with CORE BLAST.
#define TYPEDEF_AUTOPTR_ARRAYDELETER(type)   typedef AutoPtr<type, ArrayDeleter<type> > TAuto ## type ## ArrayPtr
 Uses delete [] operator - for C++ arrays.
#define DECLARE_AUTO_CLASS_WRAPPER(struct_name, free_func)
 Declares class to handle deallocating of the structure using the appropriate function.
#define BLAST2NA_SIZE   4
 Size of compressed nucleic acid alphabet.
#define BLASTNA_SIZE   16
 Size of nucleic acid alphabet.
#define BLASTAA_SIZE   28
 Size of aminoacid alphabet.
#define BLASTNA_SEQ_CODE   99
 Identifies the blastna alphabet, for use in blast only.
#define BLASTAA_SEQ_CODE   11
 == Seq_code_ncbistdaa
#define NCBI4NA_SEQ_CODE   4
 == Seq_code_ncbi4na
#define SMALLEST_EVALUE   1.0e-180
 Threshold below which e-values are saved as 0.
#define GAP_VALUE   -1
 Value in the Dense-seg indicating a gap.
#define GAP_IN_ALIGNMENT   ((Uint4)-1)
 Representation of GAP in Seq-align.

Typedefs

typedef AutoPtr< Uint1, CDeleter<
Uint1 > > 
TAutoUint1Ptr
 Declares TAutoUint1Ptr (for Uint1 arrays allocated with malloc/calloc).
typedef AutoPtr< Char, CDeleter<
Char > > 
TAutoCharPtr
 Declares TAutoCharPtr (for Char arrays allocated with malloc/calloc).
typedef AutoPtr< Uint1, ArrayDeleter<
Uint1 > > 
TAutoUint1ArrayPtr
 Declares TAutoUint1ArrayPtr (for Uint1 arrays allocated with new[]).
typedef TMaskedQueryRegions TMaskedSubjRegions
 TMaskedSubjRegions defined as synonym to TMaskedQueryRegions.
typedef vector< TMaskedQueryRegionsTSeqLocInfoVector
 Collection of masked regions for all queries in a BLAST search.
typedef CStructWrapper< BlastScoreBlkTBlastScoreBlk
typedef CStructWrapper< LookupTableWrapTLookupTableWrap
typedef CStructWrapper< BlastDiagnosticsTBlastDiagnostics
typedef CStructWrapper< BlastHSPStreamTBlastHSPStream
typedef CStructWrapper< BlastSeqSrcTBlastSeqSrc
typedef CStructWrapper< SPHIPatternSearchBlkTSPHIPatternSearchBlk
typedef list< CRef< objects::CBlast4_error > > TErrorList
 Error value type used by Blast4 ASN.1 objects.
typedef SSeqDB_SeqSrc_Data TSeqDBData
typedef COpenRange< TSeqPosTChunkRange
 Range describing a query chunk.

Enumerations

enum  EBlastEncoding {
  eBlastEncodingProtein = 0, eBlastEncodingNucleotide = 1, eBlastEncodingNcbi4na = 2, eBlastEncodingNcbi2na = 3,
  eBlastEncodingError = 255
}
 Different types of sequence encodings for sequence retrieval from the BLAST database. More...
enum  EBlastOptIdx {
  eBlastOpt_Program = 100, eBlastOpt_WordThreshold, eBlastOpt_LookupTableType, eBlastOpt_WordSize,
  eBlastOpt_AlphabetSize, eBlastOpt_MBTemplateLength, eBlastOpt_MBTemplateType, eBlastOpt_FilterString,
  eBlastOpt_MaskAtHash, eBlastOpt_DustFiltering, eBlastOpt_DustFilteringLevel, eBlastOpt_DustFilteringWindow,
  eBlastOpt_DustFilteringLinker, eBlastOpt_SegFiltering, eBlastOpt_SegFilteringWindow, eBlastOpt_SegFilteringLocut,
  eBlastOpt_SegFilteringHicut, eBlastOpt_RepeatFiltering, eBlastOpt_RepeatFilteringDB, eBlastOpt_StrandOption,
  eBlastOpt_QueryGeneticCode, eBlastOpt_WindowSize, eBlastOpt_SeedContainerType, eBlastOpt_SeedExtensionMethod,
  eBlastOpt_XDropoff, eBlastOpt_GapXDropoff, eBlastOpt_GapXDropoffFinal, eBlastOpt_GapTrigger,
  eBlastOpt_GapExtnAlgorithm, eBlastOpt_HitlistSize, eBlastOpt_MaxNumHspPerSequence, eBlastOpt_CullingLimit,
  eBlastOpt_EvalueThreshold, eBlastOpt_CutoffScore, eBlastOpt_PercentIdentity, eBlastOpt_SumStatisticsMode,
  eBlastOpt_LongestIntronLength, eBlastOpt_GappedMode, eBlastOpt_MatrixName, eBlastOpt_MatrixPath,
  eBlastOpt_MatchReward, eBlastOpt_MismatchPenalty, eBlastOpt_GapOpeningCost, eBlastOpt_GapExtensionCost,
  eBlastOpt_FrameShiftPenalty, eBlastOpt_OutOfFrameMode, eBlastOpt_DbLength, eBlastOpt_DbSeqNum,
  eBlastOpt_EffectiveSearchSpace, eBlastOpt_DbGeneticCode, eBlastOpt_PHIPattern, eBlastOpt_InclusionThreshold,
  eBlastOpt_PseudoCount, eBlastOpt_GapTracebackAlgorithm, eBlastOpt_CompositionBasedStats, eBlastOpt_SmithWatermanMode,
  eBlastOpt_UnifiedP, eBlastOpt_WindowMaskerDatabase, eBlastOpt_WindowMaskerTaxId
}
 Index of remote BLAST options. More...
enum  ESentinelType { eSentinels, eNoSentinels }
 Allows specification of whether sentinel bytes should be used or not. More...

Functions

string Blast_ProgramNameFromType (EBlastProgramType program)
 Returns a string program name, given a blast::EBlastProgramType enumeration.
BlastSeqLocCSeqLoc2BlastSeqLoc (const objects::CSeq_loc *slp)
 Converts a CSeq_loc into a BlastSeqLoc structure used in NewBlast.
TAutoUint1ArrayPtr FindGeneticCode (int genetic_code)
 Retrieves the requested genetic code in Ncbistdaa format.
bool IsLocalId (const objects::CSeq_id *seqid)
 Returns true if the CSeq_id is a local id.
TMaskedQueryRegions PackedSeqLocToMaskedQueryRegions (CConstRef< objects::CSeq_loc > sloc, EBlastProgramType program, bool assume_both_strands=false)
 Auxiliary function to convert a Seq-loc describing masked query regions to a TMaskedQueryRegions object.
CRef< objects::CSeq_loc > MaskedQueryRegionsToPackedSeqLoc (const TMaskedQueryRegions &sloc)
 Interface to build a CSeq-loc from a TMaskedQueryRegion; this method always throws an exception, because conversion in this direction can be lossy.
void Blast_GetSeqLocInfoVector (EBlastProgramType program, const objects::CPacked_seqint &queries, const BlastMaskLoc *mask, TSeqLocInfoVector &mask_v)
 Converts a BlastMaskLoc internal structure into an object returned by the C++ API.
MT_LOCK Blast_CMT_LOCKInit (void)
 Initialize a mutex locking mechanism for BLAST.
void GetSequenceLengthAndId (const IBlastSeqInfoSrc *seqinfo_src, int oid, CConstRef< objects::CSeq_id > &seqid, TSeqPos *length)
 Retrieves subject sequence Seq-id and length.
void GetFilteredRedundantGis (const IBlastSeqInfoSrc &sisrc, int oid, vector< int > &gis)
 Get GIs for a sequence in a redundant database.
BlastHSPStreamBlast_HSPListCQueueInit ()
 Function to initialize a queue HSP stream.
CRef< objects::CPssmWithParameters > PsiBlastComputePssmFromAlignment (const objects::CBioseq &query, CConstRef< objects::CSeq_align_set > alignment, CRef< objects::CScope > database_scope, const CPSIBlastOptionsHandle &opts_handle, CConstRef< CBlastAncillaryData > ancillary_data, PSIDiagnosticsRequest *diagnostics_req=0)
 Computes a PSSM from the result of a PSI-BLAST iteration.
objects::EBlast4_frame_type FrameNumber2NetworkFrame (int frame, EBlastProgramType program)
 Converts the return value of CSeqLocInfo::GetFrame into the Blast4-frame-type field.
CSeqLocInfo::ETranslationFrame NetworkFrame2FrameNumber (objects::EBlast4_frame_type frame, EBlastProgramType program)
 Converts Blast4-frame-type into CSeqLocInfo::ETranslationFrame.
EBlastProgramType NetworkProgram2BlastProgramType (const string &program, const string &service)
 Function to convert from program and service name into the CORE BLAST program type This is based on the values set in the various CBlastOptionsHandle subclasses (look for SetRemoteProgramAndService_Blast3 in include tree).
CRef< objects::CBlast4_request > ExtractBlast4Request (CNcbiIstream &in)
 Extract a Blast4-request (a.k.a.
void Blast_FindRepeatFilterLoc (TSeqLocVector &query_loc, const CBlastOptionsHandle *opts_handle)
 Finds repeats locations for a given set of sequences.
void Blast_FindRepeatFilterLoc (TSeqLocVector &query, const char *filter_db)
 Overloaded version of the function above which takes the name of the repeats filtering database to use, and a TSeqLocVector.
void Blast_FindRepeatFilterLoc (CBlastQueryVector &query, const char *filter_db)
 Overloaded version of the function above which takes the name of the repeats filtering database to use, and a CBlastQueryVector.
BlastSeqSrcMultiSeqBlastSeqSrcInit (TSeqLocVector &seq_vector, EBlastProgramType program)
 Initialize the sequence source structure.
BlastSeqSrcSeqDbBlastSeqSrcInit (const string &dbname, bool is_prot, Uint4 first_seq=0, Uint4 last_seq=0, const vector< int > &filtering_algorithms=vector< int >())
 Initialize the sequence source structure.
BlastSeqSrcSeqDbBlastSeqSrcInit (CSeqDB *seqdb, const vector< int > &filtering_algorithms=vector< int >())
 Initialize the sequence source structure using an existing SeqDB object.
template<class TData>
CStructWrapper< TData > * WrapStruct (TData *obj, TData *(*del)(TData *))
 Auxiliary function to create a CStructWrapper for a pointer to an object.
void SmithWatermanScoreWithTraceback (EBlastProgramType program_number, Uint1 *A, Int4 a_size, Uint1 *B, Int4 b_size, BlastHSP *template_hsp, BlastHSPList *hsp_list, const BlastScoringParameters *score_params, const BlastHitSavingParameters *hit_params, BlastGapAlignStruct *gap_align, Int4 start_shift, Int4 cutoff)
 Find all local alignments between two (unpacked) sequences, using the Smith-Waterman algorithm, then save the list of alignments found.
Int2 BLAST_SmithWatermanGetGappedScore (EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, BLAST_SequenceBlk *subject, BlastGapAlignStruct *gap_align, const BlastScoringParameters *score_params, const BlastExtensionParameters *ext_params, const BlastHitSavingParameters *hit_params, BlastInitHitList *init_hitlist, BlastHSPList **hsp_list_ptr, BlastGappedStats *gapped_stats, Boolean *fence_hit)
 Performs score-only Smith-Waterman gapped alignment of the subject sequence with all contexts in the query.
Int4 BLAST_FindBestNucleotideWordSize (double min_percent_identity, Int4 min_align_length)
 Given a minimum amount of identity and the minimum desired length of nucleotide alignments, find the largest blastn word size that will find random instances of those alignments with high probability.
 USING_SCOPE (objects)
void ThrowIfInvalidTask (const string &task)
 Validates that the task provided is indeed a valid task, otherwise throws a CBlastException.
string EProgramToTaskName (EProgram p)
 Convert a EProgram enumeration value to a task name (as those used in the BLAST command line binaries).
EBlastProgramType EProgramToEBlastProgramType (EProgram p)
 Convert EProgram to EBlastProgramType.
EProgram ProgramNameToEnum (const std::string &program_name)
 Map a string into an element of the ncbi::blast::EProgram enumeration (except eBlastProgramMax).
template<class Position>
CRange< Position > Map (const CRange< Position > &target, const CRange< Position > &range)
static pair< BlastSeqLoc *,
bool > 
s_GetBlastnMask (const BlastMaskLoc *mask, unsigned int query_index)
 Return the masked locations for a given query as well as whether the linked list's elements should be reverted or not (true in the case of negative only strand) The first element of the returned pair is the linked list of masked locations The second element of the returned pair is true if the linked list needs to be reversed.
static void s_ConvertBlastnMasks (const CPacked_seqint::Tdata &query_intervals, const BlastMaskLoc *mask, TSeqLocInfoVector &retval)
 Convert EBlastTypeBlastn CORE masks into TSeqLocInfoVector.
CRef< objects::CBioseq_set > TSeqLocVector2Bioseqs (const TSeqLocVector &input)
 Convert a TSeqLocVector to a CBioseq_set.
IBlastSeqInfoSrcInitSeqInfoSrc (const BlastSeqSrc *seqsrc)
 Initializes the IBlastSeqInfoSrc from data obtained from the BlastSeqSrc (for database searches only, uses CSeqDB).
IBlastSeqInfoSrcInitSeqInfoSrc (CSeqDB *seqdb)
 Initializes the IBlastSeqInfoSrc from an existing CSeqDB object.
CConstRef< CSeq_locCreateWholeSeqLocFromIds (const list< CRef< CSeq_id > > seqids)
void Blast_Message2TSearchMessages (const Blast_Message *blmsg, const BlastQueryInfo *query_info, TSearchMessages &messages)
 Converts the Blast_Message structure into a TSearchMessages object.
string BlastErrorCode2String (Int2 error_code)
 Returns a string containing a human-readable interpretation of the error_code passed as this function's argument.
CRef< SBlastSetupDataBlastSetupPreliminarySearch (CRef< IQueryFactory > query_factory, CRef< CBlastOptions > options, bool is_multi_threaded=false)
 Set up internal data structures used by the BLAST CORE engine.
CRef< SBlastSetupDataBlastSetupPreliminarySearchEx (CRef< IQueryFactory > qf, CRef< CBlastOptions > options, CConstRef< CPssmWithParameters > pssm, BlastSeqSrc *seqsrc, bool is_multi_threaded)
 Extended interface to set up internal data structures used by the BLAST CORE engine.
void BuildBlastAncillaryData (EBlastProgramType program, const vector< CConstRef< CSeq_id > > &query_ids, const BlastScoreBlk *sbp, const BlastQueryInfo *qinfo, const TSeqAlignVector &alignments, const EResultType result_type, CSearchResultSet::TAncillaryVector &retval)
CRef< CSearchResultSetBlastBuildSearchResultSet (const vector< CConstRef< CSeq_id > > &query_ids, const BlastScoreBlk *sbp, const BlastQueryInfo *qinfo, EBlastProgramType program, const TSeqAlignVector &alignments, TSearchMessages &messages, const vector< TSeqLocInfoVector > &subj_masks, const TSeqLocInfoVector *query_masks=NULL, const EResultType result_type=ncbi::blast::eDatabaseSearch)
 Build a CSearchResultSet from internal BLAST data structures.
CConstRef< objects::CSeq_loc > CreateWholeSeqLocFromIds (const list< CRef< objects::CSeq_id > > seqids)
 Create a single CSeq_loc of type whole from the first id in the list.
static BlastSeqSrcs_IDbSrcNew (BlastSeqSrc *retval, void *args)
 Construct a new instance of index based subject sequence source.
static BlastSeqSrcs_CloneSrcNew (BlastSeqSrc *retval, void *args)
 Construct a copy of BlastSeqSrc structure.
static unsigned long s_MB_IdbGetResults (void *idb_v, Int4 oid_i, Int4 chunk_i, BlastInitHitList *init_hitlist)
 Get the seed search results for a give subject id and chunk number.
 USING_SCOPE (ncbi::objects)
 USING_SCOPE (ncbi::blastdbindex)
int MinIndexWordSize ()
 Get minimal word size accepted by indexing library.
static void NullPreSearch (BlastSeqSrc *, LookupTableWrap *, BLAST_SequenceBlk *, BlastSeqLoc *, LookupTableOptions *, BlastInitialWordOptions *)
 No-op presearch function.
static void NullSetQueryInfo (BlastSeqSrc *, LookupTableWrap *, CRef< CBlastSeqLocWrap >)
 No-op callback for setting query info.
static void NullRunSearch (BlastSeqSrc *, BLAST_SequenceBlk *, LookupTableOptions *, BlastInitialWordOptions *)
 No-op callback to run indexed search.
static void NullSetNumThreads (BlastSeqSrc *seq_src, size_t)
 No-op callback to set the number of threads for indexed search.
static void IndexedDbSetNumThreads (BlastSeqSrc *seq_src, size_t n_threads)
 Set the number of treads for indexed search.
static void IndexedDbRunSearch (BlastSeqSrc *seq_src, BLAST_SequenceBlk *queries, LookupTableOptions *lut_options, BlastInitialWordOptions *word_options)
 Run indexed search.
static void IndexedDbSetQueryInfo (BlastSeqSrc *seq_src, LookupTableWrap *lt_wrap, CRef< CBlastSeqLocWrap > locs_wrap)
 Set information about unmasked query segments.
static void IndexedDbPreSearch (BlastSeqSrc *seq_src, LookupTableWrap *lt_wrap, BLAST_SequenceBlk *queries, BlastSeqLoc *locs, LookupTableOptions *lut_options, BlastInitialWordOptions *word_options)
 Callback that is called for index based seed search.
BlastSeqSrcDbIndexSeqSrcInit (const string &indexname, BlastSeqSrc *db)
 Wrap a BlastSeqSrc object db by another object that provides index based seed searching.
BlastSeqSrcCloneSeqSrcInit (BlastSeqSrc *src)
 Creates a clone of a BlastSeqSrc structure.
void CloneSeqSrc (BlastSeqSrc *dst, BlastSeqSrc *src)
 Copies the contents of src to dst.