include/algo/blast/core/lookup_util.h File Reference


Detailed Description

Utility functions for lookup table generation.

Definition in file lookup_util.h.

#include <algo/blast/core/ncbi_std.h>
#include <algo/blast/core/blast_def.h>

Include dependency graph for lookup_util.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Int4 iexp (Int4 x, Int4 n)
 Integer exponentiation using right to left binary algorithm.
Int4 ilog2 (Int4 x)
 Integer base two logarithm.
void debruijn (Int4 n, Int4 k, Uint1 *output, Uint1 *alphabet)
 generates a de Bruijn sequence containing all substrings of length n over an alphabet of size k.
Int4 EstimateNumTableEntries (BlastSeqLoc *location, Int4 *max_off)
 Given a list of query locations, estimate the number of words that would need to be added to a lookup table.


Function Documentation

void debruijn Int4  n,
Int4  k,
Uint1 output,
Uint1 alphabet
 

generates a de Bruijn sequence containing all substrings of length n over an alphabet of size k.

if alphabet is not NULL, use it as a translation table for the output. expects that "output" has already been allocated and is at least k^n in size.

Parameters:
n the number of letters in each word
k the size of the alphabet
output the output sequence
alphabet optional translation alphabet

Definition at line 175 of file lookup_util.c.

References fkm(), and sfree.

Referenced by AalookupTestFixture::GetSeqBlk().

Int4 EstimateNumTableEntries BlastSeqLoc location,
Int4 max_off
 

Given a list of query locations, estimate the number of words that would need to be added to a lookup table.

The estimate is currently intended for nucleotide locations, and ignores ambiguities and the actual width of a lookup table word

Parameters:
location A linked list of locations to index [in]
max_off upper bound on the largest query offset to be indexed [out]
Returns:
The approximate number of lookup table entries

Definition at line 195 of file lookup_util.c.

References SSeqRange::left, MAX, BlastSeqLoc::next, SSeqRange::right, and BlastSeqLoc::ssr.

Referenced by LookupTableWrapInit().

Int4 iexp Int4  x,
Int4  n
 

Integer exponentiation using right to left binary algorithm.

See knuth TAOCP vol. 2, section 4.6.3.

Parameters:
x x
n n
Returns:
x to the n-th power

Definition at line 52 of file lookup_util.c.

Referenced by BlastCompressedAaLookupTableNew(), and AalookupTestFixture::GetSeqBlk().

Int4 ilog2 Int4  x  ) 
 

Integer base two logarithm.

Parameters:
x x
Returns:
lg(x)

Definition at line 76 of file lookup_util.c.

Referenced by BlastAaLookupTableNew(), BlastMBLookupTableNew(), and RPSLookupTableNew().


Generated on Sun Feb 15 02:40:51 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Sun Feb 15 15:27:34 2009 by modify_doxy.py rev. 117643