Closed feldroop closed 6 months ago
Thanks for reporting this. At the moment we explicitly allow the fast myers edit distance computation only for nucleotide scoring schemes and min_score
is only implemented for this type of algorithm and not the general DP algorithm.
This however is somewhat limiting as the bitparallel algorithm doesn't even need to access the scoring scheme once since the score values are predefined anyway.
Solving this, however, is less intuitive than I first expected, but I am looking into ways how to solve this.
@feldroop with the above linked PR your code should just work by sticking to the seqan3::align_cfg::edit_scheme{}
without setting the scoring scheme or the gap scheme explicitly.
As far as I understand, this should now work?
auto config = seqan3::align_cfg::method_global{}
| seqan3::align_cfg::scoring_scheme{seqan3::hamming_scoring_scheme{}}
| seqan3::align_cfg::min_score{-10};
seqan3::align_pairwise(std::tie(reference, query), config);
Yes, and this also works even with an adapted uint8 alphabet, which is exactly my use case.
auto config = seqan3::align_cfg::method_global{}
| seqan3::align_cfg::edit_scheme
| seqan3::align_cfg::min_score{-10};
seqan3::align_pairwise(std::tie(reference, query), config);
I want to align sequences with a custom
uint8_t
based alphabet and edit distance. I also have a bound on the number of allowed errors in the alignment, so I would like to additionally use theseqan3::align_cfg::min_score
configuration.I am using the
seqan3/alphabet/adaptation/uint.hpp
header and have already implemented my own scoring scheme by specializing theseqan3::scoring_scheme_base
class.This is my code:
This code compiles, but I get the following runtime error:
Would it be possible to add a feature that allows this code to work and let me use the
min_score
config (for optimization purposes)?