include/oldSemiGappedScoring.h File Reference

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 ()


Function Documentation

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:


Generated on Wed Dec 19 20:50:29 2007 for fsa-blast by  doxygen 1.5.2