seqan / seqan3

The modern C++ library for sequence analysis. Contains version 3 of the library and API docs.
https://www.seqan.de
Other
406 stars 82 forks source link

Refactor selection of Myers' bitparallel edit distance algorithm. #3254

Closed rrahn closed 4 months ago

rrahn commented 4 months ago

This PR fixes #3253 by:

  1. adding a new dedicated scoring scheme for enabling hamming distance, which is agnostic to the alphabet type,
  2. switching to use this hamming scoring scheme in the edit scheme alignment configuration and test for it during the alignment configuration.

Due to these changes, users can select the Myers' bitparallel edit distance alignment computation independent of their alphabet types and thus are not forced to work with the nucelotide scoring scheme anymore, which did not allow to customize the alphabet type. Since the bitparallel edit distance algorithm doesn't even read the values from the given scoring schemes, it makes only sense to enable it without specifying a dedicate scoring scheme anyway. However, due to the existing configuration modes, too much API breakage would have been introduced if wanted to solve this by moving the bitparallel edit distance computation into its own configuration element.
With this solution the user won't see any difference to the old version, when sticking to the tuorials where we explicitly teach to use the dedicated align_cfg::edit_scheme shortcut.

vercel[bot] commented 4 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
seqan3 ✅ Ready (Inspect) Visit Preview May 29, 2024 9:13am