Open
Description
Platform
- SeqAn version: 3.4.0
- Operating system: Linux
- Compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Question
Hi,
Is it possible to compute sequence alignments suing alphabets larger than 256 characters?
For instance I tried running one of the examples from the tutorials using an alphabet with more than 256 characters I defined like this:
class example_alphabet : public seqan3::alphabet_base<example_alphabet, 1333, char16_t>
{
.
.
.
};
and when building this code:
// Invoke the pairwise alignment which returns a lazy range over alignment results.
auto results_example = seqan3::align_pairwise(std::tie(example_alphabet_vector_1, example_alphabet_vector_2), config);
auto & res_example = *results_example.begin();
seqan3::debug_stream << "Score: " << res_example.score() << '\n';
return 0;
I get these kind of errors:
/home/eclypsium/Workspace/v2d/seqan3/tutorial/seqan3/include/seqan3/alphabet/composite/alphabet_variant.hpp:134:25: error: static assertion failed: The alphabet_variant is currently only tested for alphabets with char_type char. Contact us on GitHub if you have a different use case: https://github.com/seqan/seqan3 .
134 | static_assert((std::is_same_v<alphabet_char_t<alternative_types>, char> && ...),
|
Looking at the code it seems that char as is hardcoded in many places as char_type.
Is there any way to circumvent this?
Best regards,
Andrés Tiraboschi