Skip to content
De novo genome assembler for long uncorrected reads
C++ Python CMake
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
misc Increase number of drawing attempts; Update plotter Oct 2, 2019
vendor Add submodule racon Sep 12, 2019
.gitignore Add skeleton Aug 16, 2019
.gitmodules Add submodule racon Sep 12, 2019
.travis.yml Add skeleton Aug 16, 2019
CMakeLists.txt Add submodule racon Sep 12, 2019
LICENSE Update Nov 26, 2019


Latest GitHub release Build status for c++/clang++

Tool for de novo genome assembly of long uncorrected reads.


Raven is an assembler for raw reads generated by third generation sequencing. It first finds overlaps between reads by chaining minimizer hits (submodule Ram which is minimap turned into a library), creates an assembly graph and simplifies it (code from Rala), and polishes the obtained contigs with partial order alignment (submodule Racon).

Raven takes as input a single file containing raw reads in FASTA/FASTQ format (can be compressed with gzip) and outputs a set of contigs with high accuracy in FASTA format to stdout.


  1. gcc 4.8+ or clang 3.4+
  2. cmake 3.2+

CUDA Support

  1. gcc 5.0+
  2. cmake 3.10+
  3. CUDA 9.0+


To install Raven run the following commands:

git clone --recursive raven
cd raven
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..

After successful installation, an executable named raven will appear in build/bin.

Optionally, you can run sudo make install to install raven executable to your machine.

Note: if you omitted --recursive from git clone, run git submodule update --init --recursive before proceeding with compilation.

CUDA Support

Submodule racon makes use of NVIDIA's ClaraGenomicsAnalysis SDK for CUDA accelerated polishing and alignment.

To build with CUDA support, add -Dracon_enable_cuda=ON while running cmake. If CUDA support is unavailable, the cmake step will report an error. Note that the CUDA support flag does not produce a new binary target. Instead it augments the existing raven binary itself.

cd build
cmake -DCMAKE_BUILD_TYPE=Release -Dracon_enable_cuda=ON ..

Other options


Install Linuxbrew and run the following command:

brew install brewsci/bio/raven-assember


Install conda and run the following command:

conda install -c bioconda raven-assembler


Usage of raven is as following:

raven [options ...] <sequences>

        input file in FASTA/FASTQ format (can be compressed with gzip)
        containing sequences

        -p, --polishing-rounds <int>
            default: 2
            number of times racon is invoked
        -m, --match <int>
            default: 3
            score for matching bases
        -n, --mismatch <int>
            default: -5
            score for mismatching bases
        -g, --gap <int>
            default: -4
            gap penalty (must be negative)
        --graphical-fragment-assembly <string>
            prints the assemblg graph in GFA format
        -t, --threads <int>
            default: 1
            number of threads
            prints the version number
        -h, --help
            prints the usage
    (only available when built with CUDA)
        -c, --cuda-poa-batches
            default: 1
            number of batches for CUDA accelerated polishing
        -b, --cuda-banded-alignment
            use banding approximation for polishing on GPU
            (only applicable when -c is used)
        -a, --cuda-alignment-batches
            number of batches for CUDA accelerated alignment

Contact information

For additional information, help and bug reports please send an email to one of the following:,


This work has been supported in part by the Croatian Science Foundation under the projects Algorithms for genome sequence analysis (UIP-11-2013-7353) and Single genome and metagenome assembly (IP-2018-01-5886), and in part by the European Regional Development Fund under the grant KK. (DATACROSS).

You can’t perform that action at this time.