We are glad to announce the SeqAn 3.3.0 release that has a major compiler update:
We dropped GCC 10 and we added GCC 13 support.
While we will present essential changes of the 3.3.0 release in this message, you can also find a comprehensive list of the changes in our changelog.
- Get to know SeqAn3 with our tutorials.
- Visit our API documentation.
- Check out our SeqAn3 Cookbook with all the copy & paste snippets you need.
🎉 New Features
Alignment
- The function
seqan3::alignment_from_cigar
creates an alignment from a CIGAR vector (#3057) or a CIGAR string (#3077). - The function
seqan3::cigar_from_alignment
creates a CIGAR vector from an alignment (#3057).
Alphabet
- Improved performance of vector assignment for alphabets by a factor 2.5 (#3038).
- Improved performance of
seqan3::dna4::complement()
(#3026). - Char literals returning
std::vector
are nowconstexpr
if supported by the compiler (#3073).
I/O
- Made
seqan3::sam_file_header::program_info_t
easier to copy (#3145). - Reading SAM/BAM files is 2x faster than before (#3106).
Search
- The uncompressed
seqan3::interleaved_bloom_filter
(IBF) can now be constructed from a compressed IBF (#3082).
🐛 Notable bug fixes
Alignment
- Resolved an issue resulting in a wrong alignment score (#3098).
I/O
- Fixed writing an empty SAM-BAM file resulting in an invalid file (#3081).
seqan3::sequence_file_input_traits
now allowschar
as a sequence alphabet (#3128).
Utility
- Fixed spin delay having no effect on the PowerPC platform (#3129).
🛠️ Notable API changes
Alignment
- The fields
seqan3::field::offset
andseqan3::field::alignment
have been removed fromseqan3::sam_record
(#3058, #3089).
Forseqan3::field::offset
, please check the soft clipping of the CIGAR string (seqan3::sam_record::cigar()
).
Forseqan3::field::alignment
, please useseqan3::alignment_from_cigar
.
🔌 External dependencies
- Dropped support for GCC 10 (#3148).
- Added support for GCC 13 (#3148).
- We require at least CMake 3.16 for our test suite. Note that the minimum requirement for using SeqAn3 is unchanged (#3050).
- We now use Doxygen version 1.9.6 to build our documentation (#3116).
- Updated sdsl-lite to 3.0.3 (#3170, #3174).
- Compatibility with SeqAn2: SeqAn2's namespace was changed from
seqan
toseqan2
. For interoperability, an up-to-date checkout of SeqAn2's main branch is required (#3156).