A C++ interface for key next generation sequencing file formats. This library provides an API for handilng SAM, BAM, CRAM, VCF, BCF, BED, intervals and interval_list files.
The implementation is currently incomplete, but is under development. The APIs are free to change until we reach version 1.
- Project website: http://broadinstitute.github.io/gamgee/
- Developer docs: http://broadinstitute.github.io/gamgee/doxygen/
Gamgee is licensed under the MIT License
if you need detailed instructions, read our blog post on how to set up your development environment.
You'll need the latest version of Boost installed in your system.
$ hub clone broadinstitute/gamgee # simple git clone also works here
$ git submodule update --init --recursive # so you can get the submodules we depend on
Every time you do a pull (or fetch/rebase) and notice that the .gitmodule file has changed, you need to update your submodules accordingly like so:
$ git submodule update --recursive
You can now build simply by running:
$ b2
The binary is produced in bin/<toolset>/<variant>/gamgee, where toolset will be the compiler used and variant is either debug or release. Here are two examples:
bin/clang-darwin-4.2.1/debug/gamgee
bin/gcc-4.9.0/release/gamgee
Gamgee comes with an extensive suite of unit tests. To run all tests simply do:
$ b2 test
The test binary is produced in test/bin/<toolset>/<variant>/gamgee, where toolset will be the compiler used and variant is either debug or release. Here are two examples:
test/bin/clang-darwin-4.2.1/debug/run
test/bin/gcc-4.9.0/release/run
You can run your test manually if you want to see any outputs from debug information you have inserted in your tests, or if you want to change the input files. The tests are run automatically every time you compile them with b2 test.
