seqan3

The modern C++ library for sequence analysis. Contains version 3 of the library and API docs.

Github stars Tracking Chart

SeqAn3 -- the modern C++ library for sequence analysis

build status
codecov
license
latest release
platforms
star
follow

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:

  • sequence representation and transformation
  • full-text indexing and efficient search
  • sequence alignment
  • input/output of common file formats

By leveraging Modern C++ it provides unprecedented ease-of-use without sacrificing performance.

Please see the online documentation for more details.

Quick facts

  • C++ header-only library: easy to integrate with your app & easy to distribute
  • liberal open source license: allows integration with any app or library, requires only attribution
  • very high code quality standards: >97% unit test coverage, performance regression tests, ...
  • extensive API documentation & tutorials: more lines of documentation than lines of code
  • aims to support any 64-bit architecture running Linux/POSIX; currently big-endian CPU architectures
    like s390x are less supported

We recommend that you use CMake to build your project:

  • Setup-Tutorial
  • Using CMake guarantees that all optional dependencies are automatically detected and activated.

Quick-Setup without CMake:

  • Clone the repository with submodules: git clone --recurse-submodules https://github.com/seqan/seqan3.git
  • Add the following to your compiler invocation:
    • the include directories of SeqAn and its dependencies
    • C++17 mode with concepts support
    • Macros indicating the presence of zlib and bzip2 (set only if actually available in your paths!)
  • The command could look like this:
g++-7 -O3 -DNDEBUG -Wall -Wextra                                \
    -std=c++17 -fconcepts                                       \
    -I       /path/to/seqan3/include                            \
    -isystem /path/to/seqan3/submodules/range-v3/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 -lstdc++fs -pthread                               \
  your_file.cpp

Main metrics

Overview
Name With Ownerseqan/seqan3
Primary LanguageC++
Program languageC++ (Language Count: 4)
Platform
License:Other
所有者活动
Created At2016-04-04 12:39:15
Pushed At2025-05-05 09:16:38
Last Commit At
Release Count15
Last Release Name3.4.0-rc.3 (Posted on 2025-01-22 12:11:27)
First Release Name3.0.0 (Posted on 2019-06-06 20:13:09)
用户参与
Stargazers Count427
Watchers Count23
Fork Count83
Commits Count7k
Has Issues Enabled
Issues Count774
Issue Open Count30
Pull Requests Count2348
Pull Requests Open Count1
Pull Requests Close Count196
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private