diag_array_length;
52diag_array_length = 1;
56diag_array_length = diag_array_length << 1;
61diag_table->
diag_mask= diag_array_length-1;
101 for(
i= 0;
i<
n;
i++) {
102diag_struct_array[
i].
flag= 0;
233 for(index = 0; index < init_hitlist->
total; ++index)
235init_hitlist->
total= 0;
263 if(init_hitlist ==
NULL)
267 sfree(init_hitlist);
317 for(index = 0; index < init_hitlist->
total- 1; ++index) {
319&init_hsp_array[index + 1]) > 0)
332num = init_hitlist->
total;
336 if(num >= num_avail) {
341realloc(match_array, num_avail *
sizeof(
BlastInitHSP));
355init_hitlist->
total++;
367ungapped_data->
q_start= q_start;
368ungapped_data->
s_start= s_start;
370ungapped_data->
score= score;
#define sfree(x)
Safe free a pointer: belongs to a higher level header.
#define BLAST_CMP(a, b)
A macro expression that returns 1, 0, -1 if a is greater than, equal to or less than b,...
static int score_compare_match(const void *v1, const void *v2)
Callback for sorting an array of initial HSP structures (not pointers to structures!...
void BlastInitHitListReset(BlastInitHitList *init_hitlist)
Free the ungapped data substructures and reset initial HSP count to 0.
BlastInitHitList * BLAST_InitHitListNew(void)
Allocate memory for the BlastInitHitList structure.
Boolean BLAST_SaveInitialHit(BlastInitHitList *init_hitlist, Int4 q_off, Int4 s_off, BlastUngappedData *ungapped_data)
Save the initial hit data into the initial hit list structure.
static BLAST_DiagHash * s_BlastDiagHashFree(BLAST_DiagHash *hash_table)
Deallocate memory for the hash table structure.
void Blast_InitHitListSortByScore(BlastInitHitList *init_hitlist)
Sort array of initial HSPs by score.
Int2 Blast_ExtendWordExit(Blast_ExtendWord *ewp, Int4 subject_length)
Update the word extension structure after scanning of each subject sequence.
void BlastInitHitListMove(BlastInitHitList *dst, BlastInitHitList *src)
Move the contents of a BlastInitHitList structure.
static BLAST_DiagTable * s_BlastDiagTableNew(Int4 qlen, Boolean multiple_hits, Int4 window_size)
Allocates memory for the BLAST_DiagTable*.
static BLAST_DiagTable * s_BlastDiagTableFree(BLAST_DiagTable *diag_table)
Deallocate memory for the diagonal table structure.
Blast_ExtendWord * BlastExtendWordFree(Blast_ExtendWord *ewp)
Deallocate memory for the word extension structure.
Boolean Blast_InitHitListIsSortedByScore(BlastInitHitList *init_hitlist)
Check if array of initial HSPs is sorted by score.
static void s_BlastInitHitListClean(BlastInitHitList *hi)
empty an init hitlist but do not deallocate the base structure
BlastInitHitList * BLAST_InitHitListFree(BlastInitHitList *init_hitlist)
Free memory for the BlastInitList structure.
void BlastSaveInitHsp(BlastInitHitList *ungapped_hsps, Int4 q_start, Int4 s_start, Int4 q_off, Int4 s_off, Int4 len, Int4 score)
Add a new initial (ungapped) HSP to an initial hit list.
static Int4 s_BlastDiagClear(BLAST_DiagTable *diag)
Reset the diagonal array structure.
Int2 BlastExtendWordNew(Uint4 query_length, const BlastInitialWordParameters *word_params, Blast_ExtendWord **ewp_ptr)
Initializes the word extension structure.
Ungapped extension structures that are common to nucleotide and protein extension routines.
#define DIAGHASH_CHAIN_LENGTH
Default hash chain length.
#define DIAGHASH_NUM_BUCKETS
Number of hash buckets in BLAST_DiagHash.
#define MIN_INIT_HITLIST_SIZE
Minimal size of an array of initial word hits, allocated up front.
The structures and functions in blast_options.
@ eDiagHash
use hash table (blastn only)
uint8_t Uint1
1-byte (8-bit) unsigned integer
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define INT4_MAX
largest nubmer represented by signed int
Uint1 Boolean
bool replacment for C
#define TRUE
bool replacment for C indicating true.
#define FALSE
bool replacment for C indicating false.
#define ASSERT
macro for assert.
Track initial word matches using hashing with chaining.
Int4 window
The "window" size, within which two (or more) hits must be found in order to be extended.
Uint4 occupancy
Number of occupied elements.
Uint4 capacity
Total number of elements.
DiagHashCell * chain
Array of data cells.
Uint4 * backbone
Array of offsets to heads of chains.
Int4 offset
"offset" added to query and subject position so that "last_hit" doesn't have to be zeroed out every t...
Uint4 num_buckets
Number of buckets to be used for storing hit offsets.
Structure containing parameters needed for initial word extension.
DiagStruct * hit_level_array
Array to hold latest hits and their lengths for all diagonals.
Int4 diag_array_length
Smallest power of 2 longer than query length.
Int4 diag_mask
Used to mask off everything above min_diag_length (mask = min_diag_length-1).
Uint1 * hit_len_array
Array to hold the lengthof the latest hit.
Boolean multiple_hits
Used by BlastExtendWordNew to decide whether or not to prepare the structure for multiple-hit type se...
Int4 window
The "window" size, within which two (or more) hits must be found in order to be extended.
Int4 offset
"offset" added to query and subject position so that "last_hit" doesn't have to be zeroed out every t...
Structure to hold the initial HSP information.
BlastUngappedData * ungapped_data
Pointer to a structure holding ungapped alignment information.
BlastOffsetPair offsets
Offsets in query and subject, or, in PHI BLAST, start and end of pattern in subject.
Structure to hold all initial HSPs for a given subject sequence.
Int4 allocated
Available size of the offsets array.
Int4 total
Total number of hits currently saved.
Boolean do_not_reallocate
Can the init_hsp_array be reallocated?
BlastInitHSP * init_hsp_array
Array of offset pairs, possibly with scores.
Int4 window_size
Maximal allowed distance between 2 hits in case 2 hits are required to trigger the extension.
Parameter block that contains a pointer to BlastInitialWordOptions and the values derived from it.
BlastInitialWordOptions * options
The original (unparsed) options.
ESeedContainerType container_type
How to store offset pairs for initial seeds?
Structure to hold ungapped alignment information.
Int4 score
Score of the ungapped alignment.
Int4 length
Length of the ungapped alignment.
Int4 q_start
Start of the ungapped alignment in query.
Int4 s_start
Start of the ungapped alignment in subject.
Structure for keeping initial word extension information.
BLAST_DiagHash * hash_table
Hash table and related parameters.
BLAST_DiagTable * diag_table
Diagonal array and related parameters.
Structure for keeping last hit information for a diagonal in a hash table, when eRight or eRightAndLe...
Structure for keeping last hit information for a diagonal.
signed int last_hit
Offset of the last hit.
unsigned int flag
Reset the next extension?
Uint4 q_off
Query offset.
Uint4 s_off
Subject offset.
struct BlastOffsetPair::@6 qs_offsets
Query/subject offset pair.
voidp calloc(uInt items, uInt size)
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