(num_seq_ranges >= 1);
189 subject->num_seq_ranges = num_seq_ranges;
190 if(backup->
allocated>= num_seq_ranges)
return;
226 intstart,
len,
i, residual;
227 intdbseq_chunk_overlap;
229 if(chunk_overlap > 0) {
230dbseq_chunk_overlap = chunk_overlap;
274 subject->seq_ranges[0].left = residual;
288 while(i < backup->num_soft_ranges
300 for(
i=0;
i<
len;
i++) {
305 if(
subject->seq_ranges[0].left < 0)
306 subject->seq_ranges[0].left = 0;
327 Int2subject_frame,
Int4subject_length,
333 for(index = 0; index < init_hitlist->
total; ++index) {
338 Int4context_idx = 0;
341 Int4init_frame_idx = 0;
350init_frame_idx = context_idx - frame_idx;
352frame_pos = contexts[init_frame_idx].
query_offset+ frame_idx;
364 if(subject_frame > 0) {
374subject_length - subject_frame;
377subject_length - subject_frame;
447 const BooleankTranslatedSubject =
452 Int4dbseq_chunk_overlap;
480dbseq_chunk_overlap);
495word_params, aux_struct->
ewp,
497kScanSubjectOffsetArraySize,
498init_hitlist, ungapped_stats);
500 if(init_hitlist->
total== 0)
continue;
504 Int4prot_length = 0;
510 if(kTranslatedSubject) {
511prot_length =
subject->length;
512 subject->length = orig_length;
525 subject, gap_align, score_params, ext_params, hit_params,
526word_params, init_hitlist, &hsp_list, gapped_stats,
NULL);
531score_params, hit_params,
534kScanSubjectOffsetArraySize,
535gap_align, init_hitlist,
536&hsp_list, ungapped_stats,
558 if(score_options->
is_ooframe&& kTranslatedSubject)
559 subject->length = prot_length;
562hit_params->
options, &hsp_list);
565 if(hsp_list->
hspcnt== 0)
continue;
571 if(interrupt_search && (*interrupt_search)(progress_info) ==
TRUE) {
5800 : dbseq_chunk_overlap;
590query_info, combined_hsp_list);
599*hsp_list_out_ptr = combined_hsp_list;
616 Uint1* translation_buffer,
617 Uint4* frame_offsets_a)
620 if(query_info != query_info_in)
628 if(translation_buffer) {
629 sfree(translation_buffer);
633 if(frame_offsets_a) {
634 sfree(frame_offsets_a);
651 if(hsp_list ==
NULL)
657 for(index = 0; index < hsp_list->
hspcnt; index++) {
658hsp = hsp_array[index];
662 if(hsp->
evalue> cutoff) {
666hsp_array[hsp_cnt] = hsp_array[index];
671hsp_list->
hspcnt= hsp_cnt;
733 const BooleankTranslatedSubject =
745*hsp_list_out_ptr =
NULL;
747 if(kTranslatedSubject) {
762 subject->gen_code_string, &translation_buffer,
763&frame_offsets, &
subject->oof_sequence);
765frame_offsets_a = frame_offsets;
769translation_buffer = backup.
sequence- 1;
774 subject->gen_code_string, &translation_buffer,
775&frame_offsets,
NULL);
776frame_offsets_a = frame_offsets;
778 if(
subject->subject_strand == 1) {
781}
else if(
subject->subject_strand == 2) {
786}
else if(kNucleotide) {
808 if(kTranslatedSubject) {
811 subject->sequence = translation_buffer + frame_offsets[
context] + 1;
817 for(
i= 0;
i<
subject->num_seq_ranges;
i++) {
824 for(
i= 0;
i<
subject->num_seq_ranges;
i++) {
837gap_align, score_params,
838word_params, ext_params,
839hit_params, diagnostics,
840aux_struct, &hsp_list_for_chunks,
841interrupt_search, progress_info);
842 if(status != 0)
break;
851 if(interrupt_search && (*interrupt_search)(progress_info) ==
TRUE) {
858 if(kTranslatedSubject) {
865query_info_in, translation_buffer,
871status =
BLAST_LinkHsps(program_number, hsp_list_out, query_info,
875&& !(isRPS && !sbp->
gbp)
881 doublescale_factor = 1.0;
886stat_length, hsp_list_out,
888isRPS, gap_align->
sbp, 0, scale_factor);
903 if(hsp_list_out && hsp_list_out->
hspcnt== 0)
906 if(diagnostics && diagnostics->
gapped_stat&& hsp_list_out && hsp_list_out->
hspcnt> 0) {
913translation_buffer, frame_offsets_a);
915*hsp_list_out_ptr = hsp_list_out;
1003&aux_struct->
ewp)) != 0)
1009 if(smith_waterman) {
1015}
else if(phi_lookup) {
1017}
else if(blastp) {
1020}
else if(rpsblast) {
1028 if( indexed_mb_lookup ) {
1047 else if(smith_waterman)
1058 if(indexed_mb_lookup) {
1142memset(&concat_db, 0,
sizeof(concat_db));
1143concat_db.length = (
Int4) dbsize;
1161 for(index = 0; index < query_info->
num_queries; ++index) {
1165query_info,
query, index) != 0)
1172one_query, lookup_wrap, gap_align, score_params,
1173word_params, ext_params, hit_params,
NULL,
1174diagnostics, aux_struct, &hsp_list, interrupt_search,
1177 if(interrupt_search && (*interrupt_search)(progress_info) ==
TRUE) {
1185 if(hsp_list && hsp_list->
hspcnt> 0) {
1200 if(diagnostics && diagnostics->
cutoffs) {
1202ext_params, hit_params);
1213 for(
i=0;
i< hsp_list->
hspcnt;
i++) {
1265 if(subj_end > max_end)
1280 for(
i=0;
i< hsp_list->
hspcnt;
i++)
1320 Int4word_length = 1;
1330 returnword_length * 3 + 2;
1354 Int4min_subj_seq_length = 1;
1373hit_params, lookup_wrap, sbp, query_info,
1378ext_options, hit_options,
query, query_info, &aux_struct)) != 0)
1390seq_src, score_params, lookup_wrap, aux_struct, word_params,
1391ext_params, gap_align, hit_params, hsp_stream, diagnostics,
1392interrupt_search, progress_info);
1401memset((
void*) &seq_arg, 0,
sizeof(seq_arg));
1420 if(check_index_oid != 0 &&
1421check_index_oid(seq_arg.
oid, &last_vol_idx) ==
eNoResults) {
1429 if(seq_arg.
seq->
length< min_subj_seq_length) {
1434 if(db_length == 0) {
1440seq_arg.
seq->
length, score_options, query_info,
1441sbp, hit_params, word_params,
1442eff_len_params)) != 0)
1452!gapped_calculation) {
1471seq_arg.
seq, lookup_wrap, gap_align,
1472score_params, word_params, ext_params,
1473hit_params, db_options, diagnostics,
1474aux_struct, &hsp_list,
1475interrupt_search, progress_info);
1480 if(hsp_list && hsp_list->
hspcnt> 0) {
1482 if(!gapped_calculation) {
1494program_number, hsp_list,
query,
1495seq_arg.
seq, word_params, hit_params,
1496query_info, sbp, score_params, seq_src,
1502 if( check_index_oid != 0 ) {
1520gapped_calculation);
1523stat_length, hsp_list,
1524gapped_calculation,
FALSE,
1560 Int4word_size = 12;
1563query_info, gap_align, score_params,
1564hit_params, hsp_stream);
1580 if(interrupt_search && (*interrupt_search)(progress_info) ==
TRUE) {
1589 if( check_index_oid != 0 ) {
1599 if(diagnostics && diagnostics->
cutoffs) {
1601ext_params, hit_params);
1627 query, query_info, seq_src, score_options, sbp, lookup_wrap,
1628word_options, ext_options, hit_options, eff_len_options,
1629psi_options, db_options, hsp_stream, diagnostics,
NULL,
NULL);
1666eff_len_options, ext_options, hit_options,
1667query_info, sbp, &score_params, &ext_params,
1668&hit_params, &eff_len_params, &gap_align)) != 0) {
1676seq_src, gap_align, score_params,
1677lookup_wrap, word_options,
1678ext_params, hit_params, eff_len_params,
1679psi_options, db_options, hsp_stream,
1680local_diagnostics, interrupt_search,
1681progress_info)) != 0) {
1753eff_len_options, ext_options, hit_options, query_info, sbp,
1754&score_params, &ext_params, &hit_params, &eff_len_params,
1755&gap_align)) != 0) {
1757hit_params, eff_len_params);
1763seq_src, gap_align, score_params, lookup_wrap, word_options,
1764ext_params, hit_params, eff_len_params, psi_options,
1765db_options, hsp_stream, diagnostics, interrupt_search,
1766progress_info)) != 0) {
1768hit_params, eff_len_params);
1783seq_src, gap_align, score_params, ext_params,
1784hit_params, eff_len_params, db_options,
1785psi_options, rps_info, pattern_blk,
results,
1786interrupt_search, progress_info))
1789hit_params, eff_len_params);
Protein ungapped extension code.
Int2 BlastAaWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup, Int4 **matrix, const BlastInitialWordParameters *word_params, Blast_ExtendWord *ewp, BlastOffsetPair *offset_pairs, Int4 offset_array_size, BlastInitHitList *init_hitlist, BlastUngappedStats *ungapped_stats)
Scan a subject sequence for word hits (blastp)
Int2 BlastRPSWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup, Int4 **matrix, const BlastInitialWordParameters *word_params, Blast_ExtendWord *ewp, BlastOffsetPair *offset_pairs, Int4 offset_array_size, BlastInitHitList *init_hitlist, BlastUngappedStats *ungapped_stats)
Scan a subject sequence for word hits (rpsblast and rpstblastn)
Routines for creating protein BLAST lookup tables.
Routines for creating protein BLAST lookup tables.
void BlastChooseProteinScanSubject(LookupTableWrap *lookup_wrap)
Choose the most appropriate function to scan through protein subject sequences.
#define COMPRESSION_RATIO
Compression ratio of nucleotide bases (4 bases in 1 byte)
#define sfree(x)
Safe free a pointer: belongs to a higher level header.
Boolean(* TInterruptFnPtr)(SBlastProgress *progress_info)
Prototype for function pointer to determine whether the BLAST search should proceed or be interrupted...
#define CODON_LENGTH
Codons are always of length 3.
@ ePrelimSearch
Preliminary stage.
BlastDiagnostics * Blast_DiagnosticsInit(void)
Initialize the BlastDiagnostics structure and all its substructures.
BlastDiagnostics * Blast_DiagnosticsFree(BlastDiagnostics *diagnostics)
Free the BlastDiagnostics structure and all substructures.
void Blast_DiagnosticsUpdate(BlastDiagnostics *diag_global, BlastDiagnostics *diag_local)
In a multi-threaded run, update global diagnostics data with the data coming from one of the prelimin...
static Int2 s_FillReturnCutoffsInfo(BlastRawCutoffs *return_cutoffs, const BlastScoringParameters *score_params, const BlastInitialWordParameters *word_params, const BlastExtensionParameters *ext_params, const BlastHitSavingParameters *hit_params)
Fills the output information about the cutoffs uses in a BLAST search.
Int4 Blast_RunFullSearch(EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, BlastScoreBlk *sbp, const BlastScoringOptions *score_options, LookupTableWrap *lookup_wrap, const BlastInitialWordOptions *word_options, const BlastExtensionOptions *ext_options, const BlastHitSavingOptions *hit_options, const BlastEffectiveLengthsOptions *eff_len_options, const PSIBlastOptions *psi_options, const BlastDatabaseOptions *db_options, BlastHSPStream *hsp_stream, const BlastRPSInfo *rps_info, BlastDiagnostics *diagnostics, BlastHSPResults **results, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
The high level function performing the BLAST search against a BLAST database after all the setup has ...
struct BlastCoreAuxStruct BlastCoreAuxStruct
Structure to be passed to s_BlastSearchEngineCore, containing pointers to various preallocated struct...
static BlastCoreAuxStruct * s_BlastCoreAuxStructFree(BlastCoreAuxStruct *aux_struct)
Deallocates all memory in BlastCoreAuxStruct.
static Int2 s_RPSPreliminarySearchEngine(EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, const BlastScoringParameters *score_params, LookupTableWrap *lookup_wrap, BlastCoreAuxStruct *aux_struct, const BlastInitialWordParameters *word_params, const BlastExtensionParameters *ext_params, BlastGapAlignStruct *gap_align, const BlastHitSavingParameters *hit_params, BlastHSPStream *hsp_stream, BlastDiagnostics *diagnostics, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
Performs the preliminary stage of an RPS BLAST search, after all set up has already been done.
const Int2 SUBJECT_SPLIT_OK
return value indicating OK
Int2 Blast_RunPreliminarySearch(EBlastProgramType program, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, const BlastScoringOptions *score_options, BlastScoreBlk *sbp, LookupTableWrap *lookup_wrap, const BlastInitialWordOptions *word_options, const BlastExtensionOptions *ext_options, const BlastHitSavingOptions *hit_options, const BlastEffectiveLengthsOptions *eff_len_options, const PSIBlastOptions *psi_options, const BlastDatabaseOptions *db_options, BlastHSPStream *hsp_stream, BlastDiagnostics *diagnostics)
The high level function performing the BLAST search against a BLAST database after all the setup has ...
static void s_AdjustSubjectForSraSearch(BlastHSPList *hsp_list, Uint1 offset)
const Int2 SUBJECT_SPLIT_DONE
return value indicating hitting the end
static void s_AdjustSubjectForTranslatedSraSearch(BlastHSPList *hsp_list, Uint1 offset, Int4 length)
static Int2 s_BlastSearchEngineOneContext(EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, BLAST_SequenceBlk *subject, Int4 orig_length, LookupTableWrap *lookup, BlastGapAlignStruct *gap_align, const BlastScoringParameters *score_params, const BlastInitialWordParameters *word_params, const BlastExtensionParameters *ext_params, const BlastHitSavingParameters *hit_params, BlastDiagnostics *diagnostics, BlastCoreAuxStruct *aux_struct, BlastHSPList **hsp_list_out_ptr, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
Searches only one context of a database sequence, but does all chunks if it is split.
const int kBlastPatchVersion
Patch version.
#define CONV_NUCL2PROT_COORDINATES(length)
Converts nucleotide coordinates to protein.
static void s_AllocateSeqRange(BLAST_SequenceBlk *subject, SubjectSplitStruct *backup, Int4 num_seq_ranges)
static void s_BlastRunFullSearchCleanUp(BlastGapAlignStruct *gap_align, BlastScoringParameters *score_params, BlastExtensionParameters *ext_params, BlastHitSavingParameters *hit_params, BlastEffectiveLengthsParameters *eff_len_params)
Function to deallocate data structures allocated in Blast_RunFullSearch.
static Int2 s_BlastSetUpAuxStructures(const BlastSeqSrc *seq_src, LookupTableWrap *lookup_wrap, const BlastInitialWordParameters *word_params, const BlastExtensionOptions *ext_options, const BlastHitSavingOptions *hit_options, BLAST_SequenceBlk *query, const BlastQueryInfo *query_info, BlastCoreAuxStruct **aux_struct_ptr)
Setup of the auxiliary BLAST structures; also calculates internally used parameters from options.
static Int2 s_GetNextSubjectChunk(BLAST_SequenceBlk *subject, SubjectSplitStruct *backup, Boolean is_nucleotide, int chunk_overlap)
static Int4 s_GetMinimumSubjSeqLen(LookupTableWrap *lookup_wrap)
static Int2 s_Blast_HSPListReapByPrelimEvalue(BlastHSPList *hsp_list, const BlastHitSavingParameters *hit_params)
Discard the HSPs above the prelim e-value threshold from the HSP list.
Int4 BLAST_PreliminarySearchEngine(EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, BlastGapAlignStruct *gap_align, BlastScoringParameters *score_params, LookupTableWrap *lookup_wrap, const BlastInitialWordOptions *word_options, BlastExtensionParameters *ext_params, BlastHitSavingParameters *hit_params, BlastEffectiveLengthsParameters *eff_len_params, const PSIBlastOptions *psi_options, const BlastDatabaseOptions *db_options, BlastHSPStream *hsp_stream, BlastDiagnostics *diagnostics, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
Perform the preliminary stage of the BLAST search.
static void s_RPSOffsetArrayToContextOffsets(BlastQueryInfo *info, Int4 *new_offsets)
Set up context offsets for the auxiliary BlastQueryInfo structure that is created for the concatenate...
static void s_BlastSearchEngineCoreCleanUp(EBlastProgramType program_number, BlastQueryInfo *query_info, const BlastQueryInfo *query_info_in, Uint1 *translation_buffer, Uint4 *frame_offsets_a)
Clean up function for s_BlastSearchEngineCore.
static Int2 s_BlastSearchEngineCore(EBlastProgramType program_number, BLAST_SequenceBlk *query, BlastQueryInfo *query_info_in, BLAST_SequenceBlk *subject, LookupTableWrap *lookup, BlastGapAlignStruct *gap_align, const BlastScoringParameters *score_params, const BlastInitialWordParameters *word_params, const BlastExtensionParameters *ext_params, const BlastHitSavingParameters *hit_params, const BlastDatabaseOptions *db_options, BlastDiagnostics *diagnostics, BlastCoreAuxStruct *aux_struct, BlastHSPList **hsp_list_out_ptr, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
The core of the BLAST search: comparison between the (concatenated) query against one subject sequenc...
static void s_TranslateHSPsToDNAPCoord(EBlastProgramType program, BlastInitHitList *init_hitlist, const BlastQueryInfo *query_info, Int2 subject_frame, Int4 subject_length, Int4 offset)
Adjust HSP coordinates for out-of-frame gapped extension.
const int kBlastMinorVersion
Minor version.
static void s_RestoreSubject(BLAST_SequenceBlk *subject, SubjectSplitStruct *backup)
static void s_BackupSubject(BLAST_SequenceBlk *subject, SubjectSplitStruct *backup)
struct SubjectSplitStruct SubjectSplitStruct
Structure used for subject sequence split.
const int kBlastMajorVersion
Major version.
const Int2 SUBJECT_SPLIT_NO_RANGE
return value indicating all masked out
Int2 Blast_RunPreliminarySearchWithInterrupt(EBlastProgramType program, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, const BlastScoringOptions *score_options, BlastScoreBlk *sbp, LookupTableWrap *lookup_wrap, const BlastInitialWordOptions *word_options, const BlastExtensionOptions *ext_options, const BlastHitSavingOptions *hit_options, const BlastEffectiveLengthsOptions *eff_len_options, const PSIBlastOptions *psi_options, const BlastDatabaseOptions *db_options, BlastHSPStream *hsp_stream, BlastDiagnostics *diagnostics, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
Same as above, with support for user interrupt function.
Function calls to actually perform a BLAST search (high level).
Int2(* BlastGetGappedScoreType)(EBlastProgramType, BLAST_SequenceBlk *, BlastQueryInfo *, BLAST_SequenceBlk *, BlastGapAlignStruct *, const BlastScoringParameters *, const BlastExtensionParameters *, const BlastHitSavingParameters *, const BlastInitialWordParameters *, BlastInitHitList *, BlastHSPList **, BlastGappedStats *, Boolean *fence_hit)
Gapped extension function pointer type.
Int2(* BlastWordFinderType)(BLAST_SequenceBlk *, BLAST_SequenceBlk *, BlastQueryInfo *, LookupTableWrap *, Int4 **, const BlastInitialWordParameters *, Blast_ExtendWord *, BlastOffsetPair *, Int4, BlastInitHitList *, BlastUngappedStats *)
Word finder function pointer type.
Int2(* JumperGappedType)(BLAST_SequenceBlk *, BLAST_SequenceBlk *, BlastQueryInfo *, LookupTableWrap *, const BlastInitialWordParameters *, const BlastScoringParameters *, const BlastHitSavingParameters *, BlastOffsetPair *offset_pairs, MapperWordHits *mapper_wordhits, Int4, BlastGapAlignStruct *, BlastInitHitList *, BlastHSPList **, BlastUngappedStats *, BlastGappedStats *)
Short read mapper function pointer type.
#define NCBI_XBLAST_EXPORT
NULL operations for other cases.
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.
void Blast_InitHitListSortByScore(BlastInitHitList *init_hitlist)
Sort array of initial HSPs by score.
Blast_ExtendWord * BlastExtendWordFree(Blast_ExtendWord *ewp)
Deallocate memory for the word extension structure.
BlastInitHitList * BLAST_InitHitListFree(BlastInitHitList *init_hitlist)
Free memory for the BlastInitList structure.
Int2 BlastExtendWordNew(Uint4 query_length, const BlastInitialWordParameters *word_params, Blast_ExtendWord **ewp_ptr)
Initializes the word extension structure.
Structures and functions prototypes used for BLAST gapped extension.
Int2 BLAST_GetGappedScore(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, const BlastInitialWordParameters *word_params, BlastInitHitList *init_hitlist, BlastHSPList **hsp_list_ptr, BlastGappedStats *gapped_stats, Boolean *fence_hit)
Performs gapped extension for all non-Mega BLAST programs, given that ungapped extension has been don...
#define MAX_DBSEQ_LEN
Split subject sequences if longer than this.
Int2 BLAST_GetUngappedHSPList(BlastInitHitList *init_hitlist, BlastQueryInfo *query_info, BLAST_SequenceBlk *subject, const BlastHitSavingOptions *hit_options, BlastHSPList **hsp_list_ptr)
Convert initial HSP list to an HSP list: to be used in ungapped search.
BlastGapAlignStruct * BLAST_GapAlignStructFree(BlastGapAlignStruct *gap_align)
Deallocates memory in the BlastGapAlignStruct structure.
Private interface for blast_gapalign.c.
void RPSPsiMatrixAttach(BlastScoreBlk *sbp, Int4 **rps_pssm, Int4 alphabet_size)
Modify a BlastScoreBlk structure so that it can be used in RPS-BLAST.
void RPSPsiMatrixDetach(BlastScoreBlk *sbp)
Remove the artificially built SPsiBlastScoreMatrix structure allocated by RPSPsiMatrixAttach.
Int2 Blast_HSPListReapByRawScore(BlastHSPList *hsp_list, const BlastHitSavingOptions *hit_options)
Discard the HSPs above the raw threshold from the HSP list.
Int2 Blast_HSPListAppend(BlastHSPList **old_hsp_list_ptr, BlastHSPList **combined_hsp_list_ptr, Int4 hsp_num_max)
Append one HSP list to the other.
Int4 BlastHspNumMax(Boolean gapped_calculation, const BlastHitSavingOptions *options)
Calculated the number of HSPs that should be saved.
Int4 Blast_HSPListSubjectBestHit(EBlastProgramType program, const BlastHSPSubjectBestHitOptions *subject_besthit_opts, const BlastQueryInfo *query_info, BlastHSPList *hsp_list)
Int4 Blast_HSPListPurgeHSPsWithCommonEndpoints(EBlastProgramType program, BlastHSPList *hsp_list, Boolean purge)
Check for an overlap of two different alignments and remove redundant HSPs.
#define DBSEQ_CHUNK_OVERLAP
By how much should the chunks of a subject sequence overlap if it is too long and has to be split.
Int2 Blast_HSPListsMerge(BlastHSPList **hsp_list, BlastHSPList **combined_hsp_list_ptr, Int4 hsp_num_max, Int4 *split_points, Int4 contexts_per_query, Int4 chunk_overlap_size, Boolean allow_gap, Boolean short_reads)
Merge an HSP list from a chunk of the subject sequence into a previously computed HSP list.
Int2 Blast_HSPListGetEvalues(EBlastProgramType program_number, const BlastQueryInfo *query_info, Int4 subject_length, BlastHSPList *hsp_list, Boolean gapped_calculation, Boolean RPS_prelim, const BlastScoreBlk *sbp, double gap_decay_rate, double scaling_factor)
Calculate the expected values for all HSPs in a hit list, without using the sum statistics.
Int2 Blast_HSPListReevaluateUngapped(EBlastProgramType program, BlastHSPList *hsp_list, BLAST_SequenceBlk *query_blk, BLAST_SequenceBlk *subject_blk, const BlastInitialWordParameters *word_params, const BlastHitSavingParameters *hit_params, const BlastQueryInfo *query_info, BlastScoreBlk *sbp, const BlastScoringParameters *score_params, const BlastSeqSrc *seq_src, const Uint1 *gen_code_string)
Reevaluate all ungapped HSPs in an HSP list.
void Blast_HSPListAdjustOddBlastnScores(BlastHSPList *hsp_list, Boolean gapped_calculation, const BlastScoreBlk *sbp)
For nucleotide BLAST, if the match reward score is equal to 2, random alignments are dominated by run...
Int2 Blast_HSPListReapByQueryCoverage(BlastHSPList *hsp_list, const BlastHitSavingOptions *hit_options, const BlastQueryInfo *query_info, EBlastProgramType program_number)
Discard the HSPs below the min query coverage pct from the HSP list.
BlastHSP * Blast_HSPFree(BlastHSP *hsp)
Deallocate memory for an HSP structure.
BlastHSPList * Blast_HSPListFree(BlastHSPList *hsp_list)
Deallocate memory for an HSP list structure as well as all it's components.
void Blast_HSPListSortByScore(BlastHSPList *hsp_list)
Sort the HSPs in an HSP list by score.
Int2 Blast_HSPListGetBitScores(BlastHSPList *hsp_list, Boolean gapped_calculation, const BlastScoreBlk *sbp)
Calculate bit scores from raw scores in an HSP list.
void Blast_HSPListAdjustOffsets(BlastHSPList *hsp_list, Int4 offset)
Adjust subject offsets in an HSP list if only part of the subject sequence was searched.
void BlastHSPStreamClose(BlastHSPStream *hsp_stream)
Closes the BlastHSPStream structure for writing.
int BlastHSPStreamWrite(BlastHSPStream *hsp_stream, BlastHSPList **hsp_list)
Invokes the user-specified write function for this BlastHSPStream implementation.
#define BLASTERR_INTERRUPTED
BLAST search was interrupted via a user-provided callback.
#define BLASTERR_SEQSRC
Blast seqsrc returns BLAST_SEQSRC_ERROR.
Routines for creating nucleotide BLAST lookup tables.
Routines for scanning nucleotide BLAST lookup tables.
void BlastChooseNucleotideScanSubject(LookupTableWrap *lookup_wrap)
Choose the most appropriate function to scan through nucleotide subject sequences.
@ eJumperWithTraceback
Jumper extension (mapping)
@ eSmithWatermanScoreOnly
Score-only smith-waterman.
@ eIndexedMBLookupTable
use database index as a lookup structure
@ ePhiNaLookupTable
nucleotide lookup table for phi-blast
@ eAaLookupTable
standard protein (blastp) lookup table
@ eCompressedAaLookupTable
compressed alphabet (blastp) lookup table
@ ePhiLookupTable
protein lookup table specialized for phi-blast
@ eRPSLookupTable
RPS lookup table (rpsblast and rpstblastn)
Structure and function definitions for BLAST parameter structures, which are internal to the CORE of ...
BlastHitSavingParameters * BlastHitSavingParametersFree(BlastHitSavingParameters *parameters)
Deallocate memory for BlastHitSavingOptions*.
BlastEffectiveLengthsParameters * BlastEffectiveLengthsParametersFree(BlastEffectiveLengthsParameters *parameters)
Deallocate memory for BlastEffectiveLengthsParameters*.
BlastInitialWordParameters * BlastInitialWordParametersFree(BlastInitialWordParameters *parameters)
Deallocate memory for BlastInitialWordParameters.
BlastExtensionParameters * BlastExtensionParametersFree(BlastExtensionParameters *parameters)
Deallocate memory for BlastExtensionParameters.
Int2 BlastInitialWordParametersNew(EBlastProgramType program_number, const BlastInitialWordOptions *word_options, const BlastHitSavingParameters *hit_params, const LookupTableWrap *lookup_wrap, const BlastScoreBlk *sbp, BlastQueryInfo *query_info, Uint4 subject_length, BlastInitialWordParameters **parameters)
Allocate memory for BlastInitialWordParameters and set x_dropoff.
Int2 BlastLinkHSPParametersUpdate(const BlastInitialWordParameters *word_params, const BlastHitSavingParameters *hit_params, Boolean gapped_calculation)
Update BlastLinkHSPParameters, using calculated values of other parameters.
void CalculateLinkHSPCutoffs(EBlastProgramType program, BlastQueryInfo *query_info, const BlastScoreBlk *sbp, BlastLinkHSPParameters *link_hsp_params, const BlastInitialWordParameters *word_params, Int8 db_length, Int4 subject_length)
Calculates cutoff scores and returns them.
BlastScoringParameters * BlastScoringParametersFree(BlastScoringParameters *parameters)
Deallocate memory for BlastScoringParameters.
Boolean Blast_ProgramIsMapping(EBlastProgramType p)
Boolean Blast_ProgramIsPhiBlast(EBlastProgramType p)
Returns true if program is PHI-BLAST (i.e.
Boolean Blast_ProgramIsNucleotide(EBlastProgramType p)
Boolean Blast_ProgramIsRpsBlast(EBlastProgramType p)
Returns true if program is RPS-BLAST (i.e.
EBlastProgramType
Defines the engine's notion of the different applications of the BLAST algorithm.
Boolean Blast_SubjectIsTranslated(EBlastProgramType p)
Returns true if the subject is translated.
BlastQueryInfo * BlastQueryInfoFree(BlastQueryInfo *query_info)
Deallocate memory for query information structure.
Int2 Blast_GetOneQueryStructs(BlastQueryInfo **one_query_info_ptr, BLAST_SequenceBlk **one_query_ptr, const BlastQueryInfo *query_info, BLAST_SequenceBlk *query, Int4 query_index)
Create auxiliary query structures with all data corresponding to a single query sequence within a con...
Int4 BSearchContextInfo(Int4 n, const BlastQueryInfo *A)
Search BlastContextInfo structures for the specified offset.
Int4 * ContextOffsetsToOffsetArray(const BlastQueryInfo *info)
Copy the context query offsets to an allocated array of Int4.
void OffsetArrayToContextOffsets(BlastQueryInfo *info, Int4 *new_offsets, EBlastProgramType prog)
Copy the context query offsets from an array of Int4, allocating the context array if needed.
BlastQueryInfo * BlastQueryInfoNew(EBlastProgramType program, int num_queries)
Allocate memory for query information structure.
#define BLAST_SEQSRC_ERROR
Error while retrieving sequence.
Int4 BlastSeqSrcIteratorNext(const BlastSeqSrc *seq_src, BlastSeqSrcIterator *itr)
Increments the BlastSeqSrcIterator.
BlastSeqSrcIterator * BlastSeqSrcIteratorFree(BlastSeqSrcIterator *itr)
Frees the BlastSeqSrcIterator structure.
BlastSeqSrcIterator * BlastSeqSrcIteratorNewEx(unsigned int chunk_sz)
Allocate and initialize an iterator over a BlastSeqSrc.
void BlastSeqSrcReleaseSequence(const BlastSeqSrc *seq_src, BlastSeqSrcGetSeqArg *getseq_arg)
Deallocate individual sequence.
Int4 BlastSeqSrcGetAvgSeqLen(const BlastSeqSrc *seq_src)
Get the average length of all sequences in the sequence source.
Int4 BlastSeqSrcGetNumSeqs(const BlastSeqSrc *seq_src)
Get the number of sequences contained in the sequence source.
Int8 BlastSeqSrcGetTotLen(const BlastSeqSrc *seq_src)
Get the total length of all sequences in the sequence source.
Int2 BlastSeqSrcGetSequence(const BlastSeqSrc *seq_src, BlastSeqSrcGetSeqArg *getseq_arg)
Retrieve an individual sequence.
#define BLAST_SEQSRC_EOF
No more sequences available.
Utilities initialize/setup BLAST.
Int2 BLAST_OneSubjectUpdateParameters(EBlastProgramType program_number, Uint4 subject_length, const BlastScoringOptions *scoring_options, BlastQueryInfo *query_info, const BlastScoreBlk *sbp, BlastHitSavingParameters *hit_params, BlastInitialWordParameters *word_params, BlastEffectiveLengthsParameters *eff_len_params)
Recalculates the parameters that depend on an individual sequence, if this is not a database search.
Int2 BLAST_GapAlignSetUp(EBlastProgramType program_number, const BlastSeqSrc *seq_src, const BlastScoringOptions *scoring_options, const BlastEffectiveLengthsOptions *eff_len_options, const BlastExtensionOptions *ext_options, const BlastHitSavingOptions *hit_options, BlastQueryInfo *query_info, BlastScoreBlk *sbp, BlastScoringParameters **score_params, BlastExtensionParameters **ext_params, BlastHitSavingParameters **hit_params, BlastEffectiveLengthsParameters **eff_len_params, BlastGapAlignStruct **gap_align)
Set up the auxiliary structures for gapped alignment / traceback only.
Smith-Waterman alignment for use within the infrastructure of BLAST.
Functions to do gapped alignment with traceback.
Int2 BLAST_ComputeTraceback(EBlastProgramType program_number, BlastHSPStream *hsp_stream, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, const BlastSeqSrc *seq_src, BlastGapAlignStruct *gap_align, BlastScoringParameters *score_params, const BlastExtensionParameters *ext_params, BlastHitSavingParameters *hit_params, BlastEffectiveLengthsParameters *eff_len_params, const BlastDatabaseOptions *db_options, const PSIBlastOptions *psi_options, const BlastRPSInfo *rps_info, SPHIPatternSearchBlk *pattern_blk, BlastHSPResults **results, TInterruptFnPtr interrupt_search, SBlastProgress *progress_info)
Given the preliminary alignment results from a database search, redo the gapped alignment with traceb...
Various auxiliary BLAST utility functions.
BLAST_SequenceBlk * BlastSequenceBlkFree(BLAST_SequenceBlk *seq_blk)
Deallocate memory for a sequence block.
Int1 BLAST_ContextToFrame(EBlastProgramType prog_number, Uint4 context_number)
This function translates the context number of a context into the frame of the sequence.
Int2 BLAST_GetAllTranslations(const Uint1 *nucl_seq, EBlastEncoding encoding, Int4 nucl_length, const Uint1 *genetic_code, Uint1 **translation_buffer_ptr, Uint4 **frame_offsets_ptr, Uint1 **mixed_seq_ptr)
Translate nucleotide into 6 frames.
static int lookup(const char *name, const struct lookup_int *table)
Defines the interface to interact with the genetic code singleton object.
Uint1 * GenCodeSingletonFind(Uint4 gen_code_id)
Returns the genetic code string for the requested genetic code id.
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, const BlastInitialWordParameters *word_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 ...
@ eBlastEncodingProtein
NCBIstdaa.
@ eBlastEncodingNcbi2na
NCBI2na.
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
int64_t Int8
8-byte (64-bit) signed integer
Int2 DoAnchoredSearch(BLAST_SequenceBlk *query, BLAST_SequenceBlk *subject, Int4 word_size, BlastQueryInfo *query_info, BlastGapAlignStruct *gap_align, const BlastScoringParameters *score_params, const BlastHitSavingParameters *hit_params, BlastHSPStream *hsp_stream)
Do a search against a single subject with smaller word size and with no database word frequency filte...
if(yy_accept[yy_current_state])
Functions to link HSPs using sum statistics.
Int2 BLAST_LinkHsps(EBlastProgramType program_number, BlastHSPList *hsp_list, const BlastQueryInfo *query_info, Int4 subject_length, const BlastScoreBlk *sbp, const BlastLinkHSPParameters *link_hsp_params, Boolean gapped_calculation)
Link HSPs using sum statistics.
Int4 GetOffsetArraySize(LookupTableWrap *lookup)
Determine the size of the offsets arrays to be filled by the ScanSubject function.
Declarations for functions that extract hits from indexed blast databases (specialized for megablast)
#define LAST_VOL_IDX_INIT
int(* T_MB_IdbCheckOid)(Int4 oid, Int4 *last_vol_id)
Function pointer type to check index seeds availability for oid.
void(* T_MB_IdxEndSearchIndication)(Int4 last_vol_id)
Function pointer type to indicate end of preliminary search by the thread to the indexing library.
Int2 MB_IndexedWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup_wrap, Int4 **matrix, const BlastInitialWordParameters *word_params, Blast_ExtendWord *ewp, BlastOffsetPair *offset_pairs, Int4 max_hits, BlastInitHitList *init_hitlist, BlastUngappedStats *ungapped_stats)
Finds all runs of a specified number of exact matches between two nucleotide sequences.
Nucleotide ungapped extension code.
void BlastChooseNaExtend(LookupTableWrap *lookup_wrap)
Choose the best routine to use for creating ungapped alignments.
Int2 BlastNaWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup_wrap, Int4 **matrix, const BlastInitialWordParameters *word_params, Blast_ExtendWord *ewp, BlastOffsetPair *offset_pairs, Int4 max_hits, BlastInitHitList *init_hitlist, BlastUngappedStats *ungapped_stats)
Find all words for a given subject sequence and perform ungapped extensions, assuming ordinary blastn...
Int2 JumperNaWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup_wrap, const BlastInitialWordParameters *word_params, const BlastScoringParameters *score_params, const BlastHitSavingParameters *hit_params, BlastOffsetPair *offset_pairs, MapperWordHits *word_hits, Int4 max_hits, BlastGapAlignStruct *gap_align, BlastInitHitList *init_hitlist, BlastHSPList **hsp_list_ptr, BlastUngappedStats *ungapped_stats, BlastGappedStats *gapped_stats)
MapperWordHits * MapperWordHitsFree(MapperWordHits *wh)
MapperWordHits * MapperWordHitsNew(const BLAST_SequenceBlk *query, const BlastQueryInfo *query_info)
Int2 ShortRead_IndexedWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup_wrap, const BlastInitialWordParameters *word_params, const BlastScoringParameters *score_params, const BlastHitSavingParameters *hit_params, BlastOffsetPair *offset_pairs, MapperWordHits *word_hits, Int4 max_hits, BlastGapAlignStruct *gap_align, BlastInitHitList *init_hitlist, BlastHSPList **hsp_list, BlastUngappedStats *ungapped_stats, BlastGappedStats *gapped_stats)
#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.
#define INT4_MIN
Smallest (most negative) number represented by signed int.
#define MAX(a, b)
returns larger of a and b.
#define PHI_MAX_HIT
Maximal size of an array of pattern hits.
Word finder for PHI-BLAST.
Int2 PHIBlastWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lookup_wrap, Int4 **matrix, const BlastInitialWordParameters *word_params, Blast_ExtendWord *ewp, BlastOffsetPair *offset_pairs, Int4 max_hits, BlastInitHitList *init_hitlist, BlastUngappedStats *ungapped_stats)
WordFinder type function for PHI BLAST.
Function prototypes used for PHI BLAST gapped extension and gapped extension with traceback.
Int2 PHIGetGappedScore(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, const BlastInitialWordParameters *word_params, BlastInitHitList *init_hitlist, BlastHSPList **hsp_list_ptr, BlastGappedStats *gapped_stats, Boolean *fence_hit)
Preliminary gapped alignment for PHI BLAST.
Pseudo lookup table structure and database scanning functions used in PHI-BLAST.
Structure to hold a sequence.
Int4 length
Length of sequence.
Uint1 * gen_code_string
for nucleotide subject sequences (tblast[nx]), the genetic code used to create a translated protein s...
The basic lookup table structure for blastp searches.
Int4 word_length
Length in letters of the full word match required to trigger extension.
The lookup table structure for protein searches using a compressed alphabet.
Int4 word_length
Length in letters of the full word match required to trigger extension.
The context related information.
Int4 query_offset
Offset of this query, strand or frame in the concatenated super-query.
Structure to be passed to s_BlastSearchEngineCore, containing pointers to various preallocated struct...
BlastWordFinderType WordFinder
Word finder function pointer.
Uint1 * translation_table_rc
Translation table for reverse strand.
MapperWordHits * mapper_wordhits
Uint1 * translation_table
Translation table for forward strand.
BlastGetGappedScoreType GetGappedScore
Gapped extension function pointer.
BlastOffsetPair * offset_pairs
Array of offset pairs for initial seeds.
JumperGappedType JumperGapped
Word finder and gapped extension for mapping short reads.
Uint1 * translation_buffer
Placeholder for translated subject sequences.
BlastInitHitList * init_hitlist
Placeholder for HSPs after ungapped extension.
Blast_ExtendWord * ewp
Structure for keeping track of diagonal information for initial word matches.
Options used to create the ReadDBFILE structure Include database name and various information for res...
Int4 genetic_code
Genetic code to use for translation, tblast[nx] only.
Return statistics from the BLAST search.
BlastUngappedStats * ungapped_stat
Ungapped extension counts.
BlastRawCutoffs * cutoffs
Various raw values for the cutoffs.
BlastGappedStats * gapped_stat
Gapped extension counts.
Options for setting up effective lengths and search spaces.
Parameters for setting up effective lengths and search spaces.
Options used for gapped extension These include: a.
EBlastPrelimGapExt ePrelimGapExt
type of preliminary gapped extension (normally) for calculating score.
Computed values used as parameters for gapped alignments.
BlastExtensionOptions * options
The original (unparsed) options.
Int4 gap_x_dropoff_final
X-dropoff value for the final gapped extension (raw)
Int4 gap_x_dropoff
X-dropoff value for gapped extension (raw)
Structure supporting the gapped alignment.
Boolean positionBased
Is this PSI-BLAST?
BlastScoreBlk * sbp
Pointer to the scoring information block.
Structure containing hit counts from the gapped stage of a BLAST search.
Int4 good_extensions
Number of HSPs below the e-value threshold after gapped extension.
Int4 num_seqs_passed
Number of sequences with top HSP passing the e-value threshold.
BlastHSPSubjectBestHitOptions * subject_besthit_opts
Subject Culling.
The structure to hold all HSPs for a given sequence after the gapped alignment.
Int4 oid
The ordinal id of the subject sequence this HSP list is for.
Int4 hspcnt
Number of HSPs saved.
BlastHSP ** hsp_array
Array of pointers to individual HSPs.
Int4 query_index
Index of the query which this HSPList corresponds to.
The structure to contain all BLAST results, for multiple queries.
BlastHitList ** hitlist_array
Array of results for individual query sequences.
Int4 num_queries
Number of query sequences.
Default implementation of BlastHSPStream.
BlastHSPResults * results
Structure for saving HSP lists.
Structure holding all information about an HSP.
double evalue
This HSP's e-value.
BlastSeg query
Query sequence info.
BlastSeg subject
Subject sequence info.
Int4 low_score
The lowest of the best scores among the HSP lists.
Boolean heapified
Is this hit list already heapified?
Options used when evaluating and saving hits These include: a.
double low_score_perc
Low-score option.
BlastHSPFilteringOptions * hsp_filt_opt
Contains options to configure the HSP filtering/writering structures If not set, the default HSP filt...
Parameter block that contains a pointer to BlastHitSavingOptions and the values derived from it.
Int4 cutoff_score_min
smallest cutoff score across all contexts
Int4 * low_score
lowest ungapped score that can trigger a gapped alignment if the histlist is already full.
double prelim_evalue
evalue for preliminary search (may be higher for CBS).
BlastLinkHSPParameters * link_hsp_params
Parameters for linking HSPs with sum statistics; linking is not done if NULL.
BlastHitSavingOptions * options
The original (unparsed) options.
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 total
Total number of hits currently saved.
BlastInitHSP * init_hsp_array
Array of offset pairs, possibly with scores.
Options needed for initial word finding and processing.
Parameter block that contains a pointer to BlastInitialWordOptions and the values derived from it.
Int4 cutoff_score_min
smallest cutoff score across all contexts
Int4 x_dropoff_max
largest X-drop cutoff across all contexts
The query related information.
BlastContextInfo * contexts
Information per context.
int num_queries
Number of query sequences.
Uint4 max_length
Length of the longest among the concatenated queries.
The RPS engine uses this structure to access all of the RPS blast related data (assumed to be collect...
The basic lookup table structure for RPS blast searches.
Int4 num_profiles
Number of profiles in RPS database.
Int4 * rps_seq_offsets
array of start offsets for each RPS DB seq.
Structure holding raw cutoff and gap-x-drop values.
Int4 ungapped_cutoff
Minimal raw score for starting gapped extension.
Int4 x_drop_gap_final
Raw value of the x-dropoff for gapped extensions with traceback.
Int4 x_drop_gap
Raw value of the x-dropoff for preliminary gapped extensions.
Int4 x_drop_ungapped
Raw value of the x-dropoff for ungapped extensions.
Int4 cutoff_score
Cutoff score corresponding to given evalue.
Structure used for scoring calculations.
Boolean matrix_only_scoring
Score ungapped/gapped alignment only using the matrix parameters and with raw scores.
SPsiBlastScoreMatrix * psi_matrix
PSSM and associated data.
SBlastScoreMatrix * matrix
scoring matrix data
Blast_GumbelBlk * gbp
Gumbel parameters for FSC.
Scoring options block Used to produce the BlastScoreBlk structure This structure may be needed for lo...
Boolean gapped_calculation
gap-free search if FALSE
Boolean is_ooframe
Should out-of-frame gapping be used in a translated search?
Scoring parameters block Contains scoring-related information that is actually used for the blast sea...
double scale_factor
multiplier for all cutoff scores
BlastScoringOptions * options
User-provided values for these params.
Int4 gapped_start
Where the gapped extension started.
Int2 frame
Translation frame.
Int4 offset
Start of hsp.
Structure used as the second argument to functions satisfying the GetSeqBlkFnPtr signature,...
Int4 oid
Oid in BLAST database, index in an array of sequences, etc [in].
EBlastEncoding encoding
Encoding of sequence, i.e.
BLAST_SequenceBlk * seq
Sequence to return, if NULL, it should allocated by GetSeqBlkFnPtr (using BlastSeqBlkNew or BlastSetU...
Complete type definition of Blast Sequence Source Iterator.
Complete type definition of Blast Sequence Source ADT.
Int4 q_start
Start of the ungapped alignment in query.
Int4 s_start
Start of the ungapped alignment in subject.
Structure containing hit counts from the ungapped stage of a BLAST search.
Int8 lookup_hits
Number of successful lookup table hits.
Structure for keeping initial word extension information.
Wrapper structure for different types of BLAST lookup tables.
void * lut
Pointer to the actual lookup table structure.
void * end_search_indication
function used to report that a thread is done iterating over the database in preliminary search
void * check_index_oid
function used to check if seeds for a given oid are present
ELookupTableType lut_type
What kind of a lookup table it is?
void * read_indexed_db
function used to retrieve hits from an indexed database
Options used in protein BLAST only (PSI, PHI, RPS and translated BLAST) Some of these possibly should...
Progress monitoring structure.
EBlastStage stage
Stage of the BLAST search currently in progress.
int ** data
actual scoring matrix data, stored in row-major form
Structure containing all auxiliary information needed in a pattern search.
Int4 num_patterns_db
Number of patterns actually found during the database search.
SBlastScoreMatrix * pssm
position-specific score matrix
A structure containing two integers, used e.g.
Int4 left
left endpoint of range (zero based)
Int4 right
right endpoint of range (zero based)
Structure used for subject sequence split.
Int4 num_soft_ranges
number of soft masking ranges
SSeqRange full_range
full sequence range
SSeqRange * hard_ranges
sequence ranges for hard masking
Uint1 * sequence
backup of original sequence
Int4 offset
the offset of current chunk
Int4 num_seq_ranges
backup of original number of items in seq_ranges
Int4 hm_index
the current hard masking range index
Int4 sm_index
the current soft masking range index
Int4 allocated
number of seq_range allocated for subject
Int4 num_hard_ranges
number of hard masking ranges
SSeqRange * soft_ranges
sequence ranges for soft masking
SSeqRange * seq_ranges
backup of original sequence range
Int4 next
the offset of next chunk
This symbol enables the verbose option in makeblastdb and other BLAST+ search command line applicatio...
Uint4 q_off
Query offset.
Uint4 s_off
Subject offset.
struct BlastOffsetPair::@6 qs_offsets
Query/subject offset pair.
static CS_CONTEXT * context
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