NCBI C++ ToolKit
|
Wrapper for different flavors of lookup tables allowing a uniform interface in the code. More...
#include <algo/blast/core/lookup_wrap.h>
#include <algo/blast/core/blast_aalookup.h>
#include <algo/blast/core/blast_nalookup.h>
#include <algo/blast/core/phi_lookup.h>
#include <algo/blast/core/blast_filter.h>
#include <algo/blast/core/lookup_util.h>
#include <algo/blast/core/blast_rps.h>
#include <algo/blast/core/blast_encoding.h>
Go to the source code of this file.
Go to the SVN repository for this file.
Functions | |
Int2 | LookupTableWrapInit (BLAST_SequenceBlk *query, const LookupTableOptions *lookup_options, const QuerySetUpOptions *query_options, BlastSeqLoc *lookup_segments, BlastScoreBlk *sbp, LookupTableWrap **lookup_wrap_ptr, const BlastRPSInfo *rps_info, Blast_Message **error_msg, BlastSeqSrc *seqsrc) |
Create the lookup table for all query words. More... | |
Int2 | LookupTableWrapInit_MT (BLAST_SequenceBlk *query, const LookupTableOptions *lookup_options, const QuerySetUpOptions *query_options, BlastSeqLoc *lookup_segments, BlastScoreBlk *sbp, LookupTableWrap **lookup_wrap_ptr, const BlastRPSInfo *rps_info, Blast_Message **error_msg, BlastSeqSrc *seqsrc, Uint4 num_threads) |
Create the lookup table for all query words (possibly multithreaded, depends on implementation). More... | |
LookupTableWrap * | LookupTableWrapFree (LookupTableWrap *lookup) |
Deallocate memory for the lookup table. More... | |
Int4 | GetOffsetArraySize (LookupTableWrap *lookup) |
Determine the size of the offsets arrays to be filled by the ScanSubject function. More... | |
Wrapper for different flavors of lookup tables allowing a uniform interface in the code.
The wrapper (LookupTableWrap) contains an unsigned byte specifying the type of lookup table as well as a void pointer pointing to the actual lookup table. Examples of different types of lookup tables are those for protein queries, the "standard" nucleotide one, the megablast lookup table, etc.
Definition in file lookup_wrap.c.
Int4 GetOffsetArraySize | ( | LookupTableWrap * | lookup | ) |
Determine the size of the offsets arrays to be filled by the ScanSubject function.
Definition at line 255 of file lookup_wrap.c.
References eAaLookupTable, eCompressedAaLookupTable, eMBLookupTable, eNaHashLookupTable, eNaLookupTable, eSmallNaLookupTable, lookup(), and OFFSET_ARRAY_SIZE.
Referenced by AascanTestFixture::AascanTestFixture(), BOOST_AUTO_TEST_CASE(), CompressedAascanTestFixture::CompressedAascanTestFixture(), CSeedTop::Run(), s_BlastSearchEngineOneContext(), s_BlastSetUpAuxStructures(), TestFixture::ScanCheckHitsCore(), TestFixture::ScanMaxHitsTestCore(), TestFixture::ScanOffsetTestCore(), TestFixture::SetUpLookupTable(), and TestFixture::SkipMaskedRangesCore().
LookupTableWrap* LookupTableWrapFree | ( | LookupTableWrap * | lookup | ) |
Deallocate memory for the lookup table.
Definition at line 197 of file lookup_wrap.c.
References BlastAaLookupTableDestruct(), BlastCompressedAaLookupTableDestruct(), BlastMBLookupTableDestruct(), BlastNaHashLookupTableDestruct(), BlastNaLookupTableDestruct(), BlastSmallNaLookupTableDestruct(), eAaLookupTable, eCompressedAaLookupTable, eIndexedMBLookupTable, eMBLookupTable, eMixedMBLookupTable, eNaHashLookupTable, eNaLookupTable, ePhiLookupTable, ePhiNaLookupTable, eRPSLookupTable, eSmallNaLookupTable, lookup(), NULL, RPSLookupTableDestruct(), sfree, and SPHIPatternSearchBlkFree().
Referenced by BlastSetupPreliminarySearchEx(), BOOST_AUTO_TEST_CASE(), s_GetInitialWordParameters(), LinkHspTestFixture::setupCutoffScores(), TestFixture::TearDownLookupTable(), CBlastTracebackSearch::x_Init(), AalookupTestFixture::~AalookupTestFixture(), AascanTestFixture::~AascanTestFixture(), CompressedAalookupTestFixture::~CompressedAalookupTestFixture(), CompressedAascanTestFixture::~CompressedAascanTestFixture(), and NuclWordFinderTextFixture::~NuclWordFinderTextFixture().
Int2 LookupTableWrapInit | ( | BLAST_SequenceBlk * | query, |
const LookupTableOptions * | lookup_options, | ||
const QuerySetUpOptions * | query_options, | ||
BlastSeqLoc * | lookup_segments, | ||
BlastScoreBlk * | sbp, | ||
LookupTableWrap ** | lookup_wrap_ptr, | ||
const BlastRPSInfo * | rps_info, | ||
Blast_Message ** | error_msg, | ||
BlastSeqSrc * | seqsrc | ||
) |
Create the lookup table for all query words.
query | The query sequence [in] |
lookup_options | What kind of lookup table to build? [in] |
query_options | options for query setup [in] |
lookup_segments | Locations on query to be used for lookup table construction [in] |
sbp | Scoring block containing matrix [in] |
lookup_wrap_ptr | The initialized lookup table [out] |
rps_info | Structure containing RPS blast setup information [in] |
error_msg | message with warning or errors [in|out] |
seqsrc | Database sequences [in] |
Definition at line 47 of file lookup_wrap.c.
References LookupTableWrapInit_MT(), and query.
Referenced by AascanTestFixture::AascanTestFixture(), BOOST_AUTO_TEST_CASE(), CompressedAascanTestFixture::CompressedAascanTestFixture(), CompressedAalookupTestFixture::FillLookupTable(), AalookupTestFixture::FillLookupTable(), s_GetInitialWordParameters(), LinkHspTestFixture::setupCutoffScores(), TestFixture::SetUpLookupTable(), CPhiblastTestFixture::setUpLookupTable(), and CSeedTop::x_MakeLookupTable().
Int2 LookupTableWrapInit_MT | ( | BLAST_SequenceBlk * | query, |
const LookupTableOptions * | lookup_options, | ||
const QuerySetUpOptions * | query_options, | ||
BlastSeqLoc * | lookup_segments, | ||
BlastScoreBlk * | sbp, | ||
LookupTableWrap ** | lookup_wrap_ptr, | ||
const BlastRPSInfo * | rps_info, | ||
Blast_Message ** | error_msg, | ||
BlastSeqSrc * | seqsrc, | ||
Uint4 | num_threads | ||
) |
Create the lookup table for all query words (possibly multithreaded, depends on implementation).
query | The query sequence [in] |
lookup_options | What kind of lookup table to build? [in] |
query_options | options for query setup [in] |
lookup_segments | Locations on query to be used for lookup table construction [in] |
sbp | Scoring block containing matrix [in] |
lookup_wrap_ptr | The initialized lookup table [out] |
rps_info | Structure containing RPS blast setup information [in] |
error_msg | message with warning or errors [in|out] |
seqsrc | Database sequences [in] |
num_threads | Number of threads to use [in] |
Definition at line 61 of file lookup_wrap.c.
References ASSERT, Blast_MaskUnsupportedAA(), BLASTAA_SIZE, BlastAaLookupFinalize(), BlastAaLookupIndexQuery(), BlastAaLookupTableNew(), BlastChooseNaLookupTable(), BlastCompressedAaLookupTableNew(), BlastMBLookupTableNew(), BlastNaHashLookupTableNew(), BlastNaLookupTableNew(), BlastSmallNaLookupTableNew(), calloc(), SBlastScoreMatrix::data, eAaLookupTable, eBackbone, eCompressedAaLookupTable, eIndexedMBLookupTable, eMBLookupTable, eMixedMBLookupTable, eNaHashLookupTable, eNaLookupTable, ePhiLookupTable, ePhiNaLookupTable, eRPSLookupTable, eSmallbone, eSmallNaLookupTable, EstimateNumTableEntries(), FALSE, INT2_MAX, lookup(), LookupTableWrap::lut, LookupTableOptions::lut_type, LookupTableWrap::lut_type, BlastScoreBlk::matrix, NULL, LookupTableOptions::phi_pattern, BlastScoreBlk::psi_matrix, SPsiBlastScoreMatrix::pssm, query, RPSLookupTableNew(), SPHIPatternSearchBlkNew(), and TRUE.
Referenced by CSetupFactory::CreateLookupTable(), and LookupTableWrapInit().