torognes / swipe

Smith-Waterman database searches with inter-sequence SIMD parallelisation
GNU Affero General Public License v3.0
58 stars 21 forks source link

Internal error in align function under certain circumstances #26

Closed torognes closed 10 years ago

torognes commented 10 years ago

Terminates with "Internal error in align function" under certain circumstances. See emails dated 26 June 2014.

tolot27 commented 10 years ago

I'm highly interessted in these "certain circumstances" because we will run swipe soon on a very large dataset with an expected runtime of several months.

Please provide more details.

torognes commented 10 years ago

This bug was fixed in SWIPE version 2.0.11.

torognes commented 10 years ago

The error was located to 16-bit score computations in the search16.cc and search16s.cc files. After recomputing an alignment score with 16-bit magnitude resulting in a score > 32768, a subsequent 16-bit score computation in the same channel could be wrong (the score will be too large). This was due to incomplete masking of the previous results when the score was > 32768. Thanks to the user who spotted this problem! Sorry for any incorrect results that may have resulted from this bug. Alignment scores <= 32768 should not be affected. In cases where this bug appeared, I think SWIPE would always terminate with the fatal "Internal error in align function" if an actual alignment was computed (not just the score).