The modern C++ library for sequence analysis. Contains version 3 of the library and API docs.
SeqAn3 is the new version of the popular SeqAn template library for the analysis of biological sequences. It enables the rapid development of high-performance solutions by providing generic algorithms and data structures for:
By leveraging Modern C++ it provides unprecedented ease-of-use without sacrificing performance.
Please see the online documentation for more details.
requirement | version | comment | |
---|---|---|---|
compiler | GCC | ≥ 11 | no other compiler is currently supported! |
build system | CMake | ≥ 3.5 | optional, but recommended |
required libs | SDSL | ≥ 3.0.3 | |
optional libs | cereal | ≥ 1.3.1 | required for serialisation and CTD support |
zlib | ≥ 1.2 | required for *.gz and .bam file support |
|
bzip2 | ≥ 1.0 | required for *.bz2 file support |
We recommend that you use CMake to build your project:
Quick-Setup without CMake:
git clone --recurse-submodules https://github.com/seqan/seqan3.git
g++-11 -O3 -DNDEBUG -Wall -Wextra \
-std=c++20 \
-I /path/to/seqan3/include \
-isystem /path/to/seqan3/submodules/sdsl-lite/include \
-isystem /path/to/seqan3/submodules/cereal/include \
-DSEQAN3_HAS_ZLIB=1 -DSEQAN3_HAS_BZIP2=1 \
-lz -lbz2 -pthread \
your_file.cpp
Vercel is kind enough to sponsor our documentation preview-builds within our pull requests. Check them out!