compareInternalFrags refactored

by Brian | 29th June 2009

compareInternalFrags has been refactored to store a matrix of internal fragment weights rather than recomputing them multiple times for a given comparison mass.

Unfortunately (and disapointingly) it looks like there are not a lot of (if any) performance gains (2m17s vs 2m22s). It still doesn’t touch when -seqtagscore is enabled (2m17s vs 1m46s).

Possible future direction: A good deal of the time may be in the malloc-ing the multidimensional array. The number of internal weights varies depending on our sequence length. If sequence length = n then the number of internal weights is ((n-3)^2 + (n-3)) / 2. One possiblity is to malloc an array that is big enough to handle the capacity for the largest sequence length and to re-use this array for each set of weights so that there is not the repeated malloc overhead. The main question is: What is the longest sequence length we are accounting for?

Leave a Reply

Name (Required)

Email (Required - will not be published)

Website

Message (Required)