A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/aa__ungapped_8c_source.html below:

NCBI C++ ToolKit: src/algo/blast/core/aa_ungapped.c Source File

208  Int4

offset_array_size,

222

init_hitlist, ungapped_stats);

231

init_hitlist, ungapped_stats);

246  Int4

offset_array_size,

272

init_hitlist, ungapped_stats);

279

init_hitlist, ungapped_stats);

302  Int4

first_offset = 0;

305  Int4

hsp_q, hsp_s, hsp_len;

307  Int4

last_hit, s_last_off, diff;

308  Int4

diag_offset, diag_coord, diag_mask;

311  Int4

hits_extended = 0;

316

diag_offset = diag->

offset

;

325

wordsize =

lookup

->wordsize;

326

last_offset =

subject

->length - wordsize;

328  while

(first_offset <= last_offset) {

334  for

(

i

= 0;

i

<

lookup

->num_buckets; ++

i

) {

344  for

(j = 0; j < hits; ++j) {

351

diag_coord = (query_offset - subject_offset) & diag_mask;

354  if

(diag_array[diag_coord].flag) {

356  if

((

Int4

) (subject_offset + diag_offset) <

357

diag_array[diag_coord].last_hit) {

363

subject_offset + diag_offset;

364

diag_array[diag_coord].

flag

= 0;

370

last_hit = diag_array[diag_coord].

last_hit

- diag_offset;

371

diff = subject_offset - last_hit;

373  if

(diff >= window) {

377

subject_offset + diag_offset;

384  if

(diff < wordsize) {

394

subject_offset, query_offset,

395

dropoff, &hsp_q, &hsp_s,

397

wordsize, &right_extend,

405

query_offset, subject_offset,

413

diag_array[diag_coord].

flag

= 1;

415

s_last_off - (wordsize - 1) + diag_offset;

421

subject_offset + diag_offset;

435

ungapped_hsps->

total

);

458  Int4

hsp_q, hsp_s, hsp_len = 0;

460  Int4

last_hit, s_last_off, diff;

461  Int4

diag_offset, diag_coord, diag_mask;

464  Int4

hits_extended = 0;

473

diag_offset = diag->

offset

;

485

wordsize =

lookup

->word_length;

486

use_pssm =

lookup

->use_pssm;

492

wordsize =

lookup

->word_length;

496

scan_range[1] =

subject

->seq_ranges[0].left;

497

scan_range[2] =

subject

->seq_ranges[0].right - wordsize;

499  if

(scan_range[2] < scan_range[1])

500

scan_range[2] = scan_range[1];

502  while

(scan_range[1] <= scan_range[2]) {

504

hits = scansub(lookup_wrap,

subject

,

505

offset_pairs, array_size, scan_range);

509  for

(

i

= 0;

i

< hits; ++

i

) {

510  Uint4

query_offset = offset_pairs[

i

].qs_offsets.q_off;

511  Uint4

subject_offset = offset_pairs[

i

].qs_offsets.s_off;

516

diag_coord = (query_offset - subject_offset) & diag_mask;

519  if

(diag_array[diag_coord].flag) {

521  if

((

Int4

) (subject_offset + diag_offset) <

522

diag_array[diag_coord].last_hit) {

528

subject_offset + diag_offset;

529

diag_array[diag_coord].

flag

= 0;

535

last_hit = diag_array[diag_coord].

last_hit

- diag_offset;

536

diff = subject_offset - last_hit;

538  if

(diff >= window) {

542

subject_offset + diag_offset;

549  if

(diff < wordsize) {

566  if

(query_offset - diff <

571

subject_offset + diag_offset;

575

cutoffs = word_params->

cutoffs

+ curr_context;

578

subject_offset, query_offset,

582

wordsize, &right_extend,

590

query_offset, subject_offset, hsp_len,

597

diag_array[diag_coord].

flag

= 1;

599

s_last_off - (wordsize - 1) + diag_offset;

605

subject_offset + diag_offset;

617

ungapped_hsps->

total

);

636  Int4

first_offset = 0;

638  Int4

hsp_q, hsp_s, hsp_len;

642  Int4

diag_offset, diag_coord, diag_mask, diff;

644  Int4

hits_extended = 0;

649

diag_offset = diag->

offset

;

656

wordsize =

lookup

->wordsize;

657

last_offset =

subject

->length - wordsize;

659  while

(first_offset <= last_offset) {

664  for

(

i

= 0;

i

<

lookup

->num_buckets;

i

++) {

674  for

(j = 0; j < hits; ++j) {

677

diag_coord = (subject_offset - query_offset) & diag_mask;

678

diff = subject_offset -

679

(diag_array[diag_coord].

last_hit

- diag_offset);

686

subject_offset, query_offset,

687

dropoff, &hsp_q, &hsp_s,

688

&hsp_len, wordsize,

TRUE

,

692  if

(score >= cutoff) {

694

query_offset, subject_offset,

698

s_last_off - (wordsize - 1) + diag_offset;

708

ungapped_hsps->

total

);

729  Int4

hsp_q, hsp_s, hsp_len;

733  Int4

diag_offset, diag_coord, diag_mask, diff;

735  Int4

hits_extended = 0;

742

diag_offset = diag->

offset

;

752

wordsize =

lookup

->word_length;

753

use_pssm =

lookup

->use_pssm;

759

wordsize =

lookup

->word_length;

763

scan_range[1] =

subject

->seq_ranges[0].left;

764

scan_range[2] =

subject

->seq_ranges[0].right - wordsize;

766  while

(scan_range[1] <= scan_range[2]) {

768

hits = scansub(lookup_wrap,

subject

,

769

offset_pairs, array_size, scan_range);

773  for

(

i

= 0;

i

< hits; ++

i

) {

774  Uint4

query_offset = offset_pairs[

i

].qs_offsets.q_off;

775  Uint4

subject_offset = offset_pairs[

i

].qs_offsets.s_off;

776

diag_coord = (subject_offset - query_offset) & diag_mask;

777

diff = subject_offset -

778

(diag_array[diag_coord].

last_hit

- diag_offset);

788

subject_offset, query_offset,

790

&hsp_q, &hsp_s, &hsp_len,

791

wordsize, use_pssm, &s_last_off);

796

query_offset, subject_offset, hsp_len,

800

s_last_off - (wordsize - 1) + diag_offset;

810

ungapped_hsps->

total

);

838  Int4

score = maxscore;

843

s =

subject

->sequence + s_off;

844

q =

query

->sequence + q_off;

846  for

(

i

= 0;

i

<

n

;

i

++) {

847

score += matrix[q[

i

]][s[

i

]];

849  if

(score > maxscore) {

859  if

(score <= 0 || (maxscore - score) >= dropoff)

863

*length = best_i + 1;

864

*s_last_off = s_off +

i

;

893  Int4

score = maxscore;

897  n

=

MIN

(s_off, q_off);

900

s =

subject

->sequence + s_off -

n

;

901

q =

query

->sequence + q_off -

n

;

903  for

(

i

=

n

;

i

>= 0;

i

--) {

904

score += matrix[q[

i

]][s[

i

]];

906  if

(score > maxscore) {

915  if

((maxscore - score) >= dropoff)

919

*length =

n

- best_i + 1;

945  Int4

score = maxscore;

948  n

=

MIN

(

subject

->length - s_off, query_size - q_off);

949

s =

subject

->sequence + s_off;

951  for

(

i

= 0;

i

<

n

;

i

++) {

952

score += matrix[q_off +

i

][s[

i

]];

954  if

(score > maxscore) {

964  if

(score <= 0 || (maxscore - score) >= dropoff)

968

*length = best_i + 1;

969

*s_last_off = s_off +

i

;

992  Int4

score = maxscore;

995  n

=

MIN

(s_off, q_off);

997

s =

subject

->sequence + s_off -

n

;

999  for

(

i

=

n

;

i

>= 0;

i

--) {

1000

score += matrix[q_off -

n

+

i

][s[

i

]];

1002  if

(score > maxscore) {

1011  if

((maxscore - score) >= dropoff)

1015

*length =

n

- best_i + 1;

1028  Int4

score = 0, left_score, total_score, sum = 0;

1029  Int4

left_disp = 0, right_disp = 0;

1030  Int4

q_left_off = q_off, q_right_off =

1031

q_off + word_size, q_best_left_off = q_off;

1032  Int4

s_left_off, s_right_off;

1033  Int4

init_hit_width = 0;

1038  for

(

i

= 0;

i

< word_size;

i

++) {

1040

sum += matrix[q_off +

i

][s[s_off +

i

]];

1042

sum += matrix[q[q_off +

i

]][s[s_off +

i

]];

1046

q_best_left_off = q_left_off;

1047

q_right_off = q_off +

i

;

1048

}

else if

(sum <= 0) {

1050

q_left_off = q_off +

i

+ 1;

1054

init_hit_width = q_right_off - q_left_off + 1;

1056

q_left_off = q_best_left_off;

1058

s_left_off = q_left_off + (s_off - q_off);

1059

s_right_off = q_right_off + (s_off - q_off);

1063

s_left_off - 1, q_left_off - 1,

1064

dropoff, &left_disp, score);

1067

s_right_off + 1, q_right_off + 1,

1068

dropoff, &right_disp, left_score,

1072

s_left_off - 1, q_left_off - 1,

1073

dropoff, &left_disp, score);

1076

s_right_off + 1, q_right_off + 1,

1077

dropoff, &right_disp, left_score,

1081

*hsp_q = q_left_off - left_disp;

1082

*hsp_s = s_left_off - left_disp;

1083

*hsp_len = left_disp + right_disp + init_hit_width;

1098  Int4

left_d = 0, right_d = 0;

1099  Int4

left_score = 0, right_score = 0;

1108  for

(

i

= 0;

i

< word_size;

i

++) {

1110

score += matrix[q_right_off +

i

][s[s_right_off +

i

]];

1112

score += matrix[q[q_right_off +

i

]][s[s_right_off +

i

]];

1114  if

(score > left_score) {

1120

q_right_off += right_d;

1121

s_right_off += right_d;

1124

*right_extend =

FALSE

;

1125

*s_last_off = s_right_off;

1130

s_right_off - 1, q_right_off - 1,

1131

dropoff, &left_d, 0);

1134

s_right_off - 1, q_right_off - 1,

1135

dropoff, &left_d, 0);

1138  if

(left_d >= (s_right_off - s_left_off)) {

1140

*right_extend =

TRUE

;

1143

s_right_off, q_right_off,

1144

dropoff, &right_d, left_score,

1148

s_right_off, q_right_off,

1149

dropoff, &right_d, left_score,

1154

*hsp_q = q_right_off - left_d;

1155

*hsp_s = s_right_off - left_d;

1156

*hsp_len = left_d + right_d;

1157  return MAX

(left_score, right_score);

static Int4 s_BlastAaExtendOneHit(Int4 **matrix, const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, Int4 s_off, Int4 q_off, Int4 dropoff, Int4 *hsp_q, Int4 *hsp_s, Int4 *hsp_len, Int4 word_size, Boolean use_pssm, Int4 *s_last_off)

Perform a one-hit extension.

static Int2 s_BlastRPSWordFinder_OneHit(const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, const LookupTableWrap *lookup_wrap, Blast_ExtendWord *ewp, Int4 **matrix, Int4 cutoff, Int4 dropoff, BlastInitHitList *ungapped_hsps, BlastUngappedStats *ungapped_stats)

Scan a subject sequence for word hits and trigger one-hit extensions (spcialized for RPS blast).

static Int4 s_BlastAaExtendLeft(Int4 **matrix, const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, Int4 s_off, Int4 q_off, Int4 dropoff, Int4 *length, Int4 maxscore)

Beginning at s_off and q_off in the subject and query, respectively, extend to the left until the cum...

static Int4 s_BlastPSSMExtendRight(Int4 **matrix, const BLAST_SequenceBlk *subject, Int4 query_size, Int4 s_off, Int4 q_off, Int4 dropoff, Int4 *length, Int4 maxscore, Int4 *s_last_off)

Identical to BlastAaExtendRight, except the score matrix is position-specific.

static Int2 s_BlastAaWordFinder_OneHit(const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, const LookupTableWrap *lookup_wrap, Blast_ExtendWord *ewp, Int4 **matrix, const BlastInitialWordParameters *word_params, BlastQueryInfo *query_info, BlastOffsetPair *offset_pairs, Int4 array_size, BlastInitHitList *ungapped_hsps, BlastUngappedStats *ungapped_stats)

Scan a subject sequence for word hits and trigger one-hit extensions.

static Int2 s_BlastAaWordFinder_TwoHit(const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, const LookupTableWrap *lookup_wrap, Blast_ExtendWord *ewp, Int4 **matrix, const BlastInitialWordParameters *word_params, BlastQueryInfo *query_info, BlastOffsetPair *offset_pairs, Int4 array_size, BlastInitHitList *ungapped_hsps, BlastUngappedStats *ungapped_stats)

Scan a subject sequence for word hits and trigger two-hit extensions.

static Int4 s_BlastPSSMExtendLeft(Int4 **matrix, const BLAST_SequenceBlk *subject, Int4 s_off, Int4 q_off, Int4 dropoff, Int4 *length, Int4 maxscore)

Identical to BlastAaExtendLeft, except the query is represented by a position-specific score matrix.

Int2 BlastAaWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lut_wrap, 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)

static Int4 s_BlastAaExtendRight(Int4 **matrix, const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, Int4 s_off, Int4 q_off, Int4 dropoff, Int4 *length, Int4 maxscore, Int4 *s_last_off)

Beginning at s_off and q_off in the subject and query, respectively, extend to the right until the cu...

static Int2 s_BlastRPSWordFinder_TwoHit(const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, const LookupTableWrap *lookup_wrap, Blast_ExtendWord *ewp, Int4 **matrix, Int4 cutoff, Int4 dropoff, BlastInitHitList *ungapped_hsps, BlastUngappedStats *ungapped_stats)

Scan a subject sequence for word hits and trigger two-hit extensions (specialized for RPS blast).

Int2 BlastRPSWordFinder(BLAST_SequenceBlk *subject, BLAST_SequenceBlk *query, BlastQueryInfo *query_info, LookupTableWrap *lut_wrap, 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)

static Int4 s_BlastAaExtendTwoHit(Int4 **matrix, const BLAST_SequenceBlk *subject, const BLAST_SequenceBlk *query, Int4 s_left_off, Int4 s_right_off, Int4 q_right_off, Int4 dropoff, Int4 *hsp_q, Int4 *hsp_s, Int4 *hsp_len, Boolean use_pssm, Int4 word_size, Boolean *right_extend, Int4 *s_last_off)

Perform a two-hit extension.

Protein ungapped extension code.

Routines for creating protein BLAST lookup tables.

Routines for creating protein BLAST lookup tables.

Int4 BlastRPSScanSubject(const LookupTableWrap *lookup_wrap, const BLAST_SequenceBlk *sequence, Int4 *offset)

Scans the RPS query sequence from "offset" to the end of the sequence.

Int4(* TAaScanSubjectFunction)(const LookupTableWrap *lookup_wrap, const BLAST_SequenceBlk *subject, BlastOffsetPair *offset_pairs, Int4 max_hits, Int4 *s_range)

Generic prototype for nucleotide subject scanning routines.

#define NUM_FRAMES

Number of frames to which we translate in translating searches.

void Blast_UngappedStatsUpdate(BlastUngappedStats *ungapped_stats, Int4 total_hits, Int4 extended_hits, Int4 saved_hits)

Fill data in the ungapped hits diagnostics 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 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.

@ eAaLookupTable

standard protein (blastp) lookup table

Int4 BSearchContextInfo(Int4 n, const BlastQueryInfo *A)

Search BlastContextInfo structures for the specified offset.

Various auxiliary BLAST utility functions.

Int4 BLAST_FrameToContext(Int2 frame, EBlastProgramType program)

Convert translation frame or strand into a context number suitable for indexing into the BlastQueryIn...

static int lookup(const char *name, const struct lookup_int *table)

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

while(yy_chk[yy_base[yy_current_state]+yy_c] !=yy_current_state)

#define MIN(a, b)

returns smaller of a and b.

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 MAX(a, b)

returns larger of a and b.

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_mask

Used to mask off everything above min_diag_length (mask = min_diag_length-1).

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 a sequence.

The basic lookup table structure for blastp searches.

The lookup table structure for protein searches using a compressed alphabet.

Int4 query_offset

Offset of this query, strand or frame in the concatenated super-query.

Structure to hold all initial HSPs for a given subject sequence.

Int4 total

Total number of hits currently saved.

Parameter block that contains a pointer to BlastInitialWordOptions and the values derived from it.

BlastUngappedCutoffs * cutoffs

cutoff values (one per context)

The query related information.

BlastContextInfo * contexts

Information per context.

The basic lookup table structure for RPS blast searches.

All the ungapped cutoff values that can change from context to context.

Int4 cutoff_score

Cutoff score for saving ungapped hits.

Int4 x_dropoff

Raw X-dropoff value used in the ungapped extension.

Structure containing hit counts from the ungapped stage of a BLAST search.

Structure for keeping initial word extension information.

BLAST_DiagTable * diag_table

Diagonal array and related parameters.

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?

Wrapper structure for different types of BLAST lookup tables.

void * lut

Pointer to the actual lookup table structure.

ELookupTableType lut_type

What kind of a lookup table it is?

structure used for bucket sorting offsets retrieved from the RPS blast lookup table.

Int4 num_filled

number of offset pairs currently in bucket

BlastOffsetPair * offset_pairs

list of offset pairs

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


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