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

Go to the source code of this file.
Functions | |
| int4 | nuGappedScoring_score (struct ungappedExtension *ungappedExtension, struct PSSMatrix PSSMatrix, int4 subjectSize, unsigned char *subject, int4 dropoff) |
| void | nuGappedScoring_free () |
| void nuGappedScoring_free | ( | ) |
Definition at line 956 of file nuGappedScoring.c.
References nuGappedScoring_bestRow, and nuGappedScoring_insertQrow.
Referenced by main().
00957 { 00958 free(nuGappedScoring_bestRow); 00959 free(nuGappedScoring_insertQrow); 00960 }
Here is the caller graph for this function:

| int4 nuGappedScoring_score | ( | struct ungappedExtension * | ungappedExtension, | |
| struct PSSMatrix | PSSMatrix, | |||
| int4 | subjectSize, | |||
| unsigned char * | subject, | |||
| int4 | dropoff | |||
| ) |
Definition at line 26 of file nuGappedScoring.c.
References dpResults::best, dpResults::bestScore, blast_dloc, encoding_extractBase, ungappedExtension::end, int4, PSSMatrix::length, PSSMatrix::matrix, nuGappedScoring_dpAfterSeed(), nuGappedScoring_dpBeforeSeed(), parameters_verboseDloc, PSSMatrix_chop(), coordinate::queryOffset, ungappedExtension::seed, ungappedExtension::start, PSSMatrix::strandLength, and coordinate::subjectOffset.
Referenced by gappedScoring_score().
00028 { 00029 struct coordinate seed; 00030 unsigned char *choppedSubject; 00031 struct PSSMatrix choppedPSSMatrix; 00032 int4 choppedSubjectSize; 00033 struct dpResults beforeDpResults, afterDpResults; 00034 int4 strandOffset = 0; 00035 00036 seed = ungappedExtension->seed; 00037 // printf("Seed=%d,%d dloc=%d\n", seed.queryOffset, seed.subjectOffset, blast_dloc); 00038 // ungappedExtension_print(ungappedExtension); fflush(stdout); 00039 00040 if (seed.queryOffset > PSSMatrix.strandLength) 00041 { 00042 // If query position is in the second strand, remove first strand from PSSM 00043 strandOffset = PSSMatrix.strandLength; 00044 seed.queryOffset -= PSSMatrix.strandLength; 00045 PSSMatrix = PSSMatrix_chop(PSSMatrix, PSSMatrix.strandLength); 00046 } 00047 else 00048 { 00049 // Otherwise remove second strand 00050 PSSMatrix.length = PSSMatrix.strandLength; 00051 } 00052 00053 // Adjust to point to start of byte 00054 seed.queryOffset -= 2; 00055 seed.subjectOffset -= 2; 00056 00057 // Perform dynamic programming for points before the seed 00058 beforeDpResults = nuGappedScoring_dpBeforeSeed(subject, PSSMatrix, seed, dropoff); 00059 00060 // Chop the start off the query and subject so they begin at the seed 00061 choppedPSSMatrix = PSSMatrix_chop(PSSMatrix, seed.queryOffset); 00062 choppedSubject = subject + (seed.subjectOffset / 4); 00063 choppedSubjectSize = subjectSize - seed.subjectOffset; 00064 00065 // Perform dynamic programming for points after the seed 00066 afterDpResults = nuGappedScoring_dpAfterSeed(choppedSubject, choppedPSSMatrix, 00067 dropoff, choppedSubjectSize); 00068 00069 // Convert best endpoints from bytepacked to unpacked offsets 00070 afterDpResults.best.subjectOffset *= 4; 00071 beforeDpResults.best.subjectOffset *= 4; 00072 00073 // Re-adjust result change due to chopping subject/query and strand adjustment 00074 afterDpResults.best.queryOffset += seed.queryOffset + strandOffset; 00075 afterDpResults.best.subjectOffset += seed.subjectOffset; 00076 beforeDpResults.best.queryOffset += strandOffset; 00077 00078 // Associate best scoring start and end points with the ungapped extension 00079 ungappedExtension->start = beforeDpResults.best; 00080 ungappedExtension->end = afterDpResults.best; 00081 00082 #ifdef VERBOSE 00083 if (parameters_verboseDloc == blast_dloc) 00084 printf("norm[%d,%d,%d](seed=%d,%d)\n", beforeDpResults.bestScore, afterDpResults.bestScore, 00085 choppedPSSMatrix.matrix[0][encoding_extractBase(choppedSubject[0],seed.subjectOffset % 4)], 00086 seed.queryOffset, seed.subjectOffset); 00087 #endif 00088 00089 // printf("Start=%d,%d End=%d,%d\n", beforeDpResults.best.queryOffset, beforeDpResults.best.subjectOffset, 00090 // afterDpResults.best.queryOffset, afterDpResults.best.subjectOffset); 00091 00092 // Determine score by combining score from the two traces, and the match score at 00093 // the seed position 00094 return beforeDpResults.bestScore + afterDpResults.bestScore + 00095 choppedPSSMatrix.matrix[0][encoding_extractBase(choppedSubject[0],seed.subjectOffset % 4)]; 00096 }
Here is the call graph for this function:

Here is the caller graph for this function:

1.5.2