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

Go to the source code of this file.
Functions | |
| int4 | oldSemiGappedScoring_score (struct ungappedExtension *ungappedExtension, struct PSSMatrix PSSMatrix, int4 subjectSize, unsigned char *subject, int4 dropoff) |
| void | oldSemiGappedScoring_free () |
| void oldSemiGappedScoring_free | ( | ) |
Definition at line 1141 of file oldSemiGappedScoring.c.
References oldSemiGappedScoring_bestRow, and oldSemiGappedScoring_insertQrow.
Referenced by main().
01142 { 01143 free(oldSemiGappedScoring_bestRow); 01144 free(oldSemiGappedScoring_insertQrow); 01145 }
Here is the caller graph for this function:

| int4 oldSemiGappedScoring_score | ( | struct ungappedExtension * | ungappedExtension, | |
| struct PSSMatrix | PSSMatrix, | |||
| int4 | subjectSize, | |||
| unsigned char * | subject, | |||
| int4 | dropoff | |||
| ) |
Definition at line 24 of file oldSemiGappedScoring.c.
References dpResults::best, dpResults::bestScore, ungappedExtension::end, int4, PSSMatrix::length, PSSMatrix::matrix, oldSemiGappedScoring_dpAfterSeed(), oldSemiGappedScoring_dpBeforeSeed(), parameters_semiGappedDropoffIncrease, PSSMatrix_chop(), coordinate::queryOffset, ungappedExtension::seed, ungappedExtension::start, PSSMatrix::strandLength, and coordinate::subjectOffset.
Referenced by semiGappedScoring_score().
00026 { 00027 struct coordinate seed; 00028 unsigned char *choppedSubject; 00029 struct PSSMatrix choppedPSSMatrix; 00030 int4 choppedSubjectSize; 00031 struct dpResults beforeDpResults, afterDpResults; 00032 int4 strandOffset = 0; 00033 00034 // Perform dynamic programming for points before the seed 00035 seed = ungappedExtension->seed; 00036 if (seed.queryOffset > PSSMatrix.strandLength) 00037 { 00038 // If query position is in the second strand, remove first strand from PSSM 00039 strandOffset = PSSMatrix.strandLength; 00040 seed.queryOffset -= PSSMatrix.strandLength; 00041 PSSMatrix = PSSMatrix_chop(PSSMatrix, PSSMatrix.strandLength); 00042 } 00043 else 00044 { 00045 // Otherwise remove second strand 00046 PSSMatrix.length = PSSMatrix.strandLength; 00047 } 00048 00049 beforeDpResults = oldSemiGappedScoring_dpBeforeSeed(subject, PSSMatrix, 00050 seed, dropoff + parameters_semiGappedDropoffIncrease); 00051 00052 // Chop the start off the query and subject so they begin at the seed 00053 choppedPSSMatrix = PSSMatrix_chop(PSSMatrix, seed.queryOffset); 00054 choppedSubject = subject + seed.subjectOffset; 00055 choppedSubjectSize = subjectSize - seed.subjectOffset; 00056 00057 // Perform dynamic programming for points after the seed 00058 afterDpResults = oldSemiGappedScoring_dpAfterSeed(choppedSubject, choppedPSSMatrix, 00059 dropoff + parameters_semiGappedDropoffIncrease, choppedSubjectSize); 00060 00061 // Re-adjust result change due to chopping subject/query and strand adjustment 00062 afterDpResults.best.queryOffset += seed.queryOffset + strandOffset; 00063 afterDpResults.best.subjectOffset += seed.subjectOffset; 00064 beforeDpResults.best.queryOffset += strandOffset; 00065 00066 // Associate best scoring start and end points with the ungapped extension 00067 ungappedExtension->start = beforeDpResults.best; 00068 ungappedExtension->end = afterDpResults.best; 00069 00070 // if (dloc == 88197331) 00071 // printf("semiGapped[%d,%d,%d]\n", beforeDpResults.bestScore, afterDpResults.bestScore, 00072 // choppedPSSMatrix.matrix[0][choppedSubject[0]]); 00073 00074 // Determine score by combining score from the two traces, and the match score at 00075 // the seed position 00076 return beforeDpResults.bestScore + afterDpResults.bestScore + 00077 choppedPSSMatrix.matrix[0][choppedSubject[0]]; 00078 }
Here is the call graph for this function:

Here is the caller graph for this function:

1.5.2