ganon2:)

GitHub release (latest by date) Build Status codecov Anaconda-Server Badge Anaconda-Server Badge install with bioconda Publication

Code: GitHub repository

ganon index large sets of genomic reference sequences efficiently and quickly classify sequence fragments to their closest matching reference. It uses Hierarchical Interleaved Bloom Filters as indices based on k-mers/minimizers. After classification, taxonomic or sequence abundances are estimated and reported.

Features:)

ganon achieved very good results in our own evaluations but also in independent evaluations: LEMMI, LEMMI v2 and CAMI2 (taxonomic profiling and binning).

Installation with conda:)

The easiest way to install ganon is via conda, using the bioconda and conda-forge channels:

conda install -c conda-forge -c bioconda ganon

Installation from source:)

Dependencies:)

Python:)

C++:)

  • GCC >=11
  • CMake >=3.5
  • zlib
  • bzip2
  • raptor ==3.0.1

Tip

If your system has GCC version 10 or below, you can create an environment with the latest conda-forge GCC version and dependencies: conda create -c conda-forge -n gcc-conda cxx-compiler zlib bzip2 "cmake>=3.5" and activate the environment with: source activate gcc-conda.

In CMake, you may have set the environment include directory with the following parameter: -DSEQAN3_CXX_FLAGS="-I/path/to/miniconda3/envs/gcc-conda/include/" changing /path/to/miniconda3 with your local path to the conda installation.

Downloading and building ganon + submodules:)

git clone --recurse-submodules https://github.com/pirovc/ganon.git
cd ganon
pip install .

# Compile and install C++ side
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DVERBOSE_CONFIG=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCONDA=OFF -DLONGREADS=OFF ..
make -j 4
sudo make install  # optional, otherwise indicate path when running ganon with --ganon-path
  • to change install location (e.g. /myprefix/bin/), set the installation prefix in the cmake command with -DCMAKE_INSTALL_PREFIX=/myprefix/
  • use -DINCLUDE_DIRS to set alternative paths to cxxopts and Catch2 libs.
  • to classify extremely large reads or contigs that would need more than 65000 k-mers, use -DLONGREADS=ON

Installing raptor:)

The easiest way to install raptor is via conda with conda install -c bioconda -c conda-forge "raptor=3.0.1" (already included in ganon install via conda).

Note

raptor is required to build databases with the Hierarchical Interleaved Bloom Filter (ganon build --filter-type hibf) To build old style ganon indices ganon build --filter-type ibf, raptor is not required

To install raptor from source, follow the instructions below:

Dependencies:)

  • CMake >= 3.5
  • GCC 11, 12 or 13 (most recent minor version)

Downloading and building raptor + submodules:)

git clone --branch raptor-v3.0.1 --recurse-submodules https://github.com/seqan/raptor
cd raptor
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-std=c++23 -Wno-interference-size" ..
make -j 4
  • binaries will be located in the bin directory
  • you may have to inform ganon build the path to the binaries with --raptor-path raptor/build/bin

Testing:)

If everything was properly installed, the following command should show the help pages without errors:

ganon -h

Running tests:)

pip install .[dev]
python3 -m unittest discover -s tests/ganon/integration/
python3 -m unittest discover -s tests/ganon/integration_online/  # optional - downloads large files
cd build/
ctest -VV .