RazerS 3


Instead of RazerS, check out Yara, our new, faster read aligner.


Motivation: During the last years NGS sequencing has become a key technology for many applications in the biomedical sciences. Throughput continues to increase and new protocols provide longer reads than currently available. In almost all applications, read mapping is a first step. Hence, it is crucial to have algorithms and implementations that perform fast, with high sensitivity, and are able to deal with long reads and a large absolute number of indels.
Results: RazerS is a read mapping program with adjustable sensitivity based on counting q-grams. In this work we propose the successor RazerS 3 which now supports shared-memory parallelism, an additional seed-based filter with adjustable sensitivity, a much faster, banded version of the Myers’ bit-vector algorithm for verification, memory saving measures and support for the SAM output format. This leads to a much improved performance for mapping reads, in particular long reads with many errors. We extensively compare RazerS 3 with other popular read mappers and show that its results are often superior to them in terms of sensitivity while exhibiting practical and often competetive run times. In addition, RazerS 3 works without a precomputed index.
Availability and Implementation: Source code and binaries are freely available for download at http://www.seqan.de/projects/razers. RazerS 3 is implemented in C++ and OpenMP under a GPL license using the SeqAn library and supports Linux, Mac OS X, and Windows.

Main Features

  • import of FASTA/FASTQ read and genome files
  • 5 output formats (including SAM)
  • reads can be of arbitrary length
  • supports Hamming and edit distance read mapping with configurable error rates
  • supports paired-end read mapping
  • configurable and predictable sensitivity (runtime/sensitivity tradeoff)
  • key improvements (compared to RazerS):
    • multicore parallelization
    • additional pigeonhole filter optimized for low error-rates with controllable sensitivity
    • banded Myers' algorithm for verification
    • full sensitivity under the definition given in Rabema
    • SAM output


To install RazerS 3 you can either download a precompiled binary of RazerS 3 or follow the instruction in the Compilation from Source Code section (below). Please take a look at the README file for usage instructions.

Previous versions of RazerS can be found here.

Version History

2012-08-22: v3.1

  • moved the sources of RazerS 3 from private sandbox to seqan/extras, see README for installation instructions
  • removed the gapped_params folder (required for sensitivity control of the SWIFT filter) and instead compiled the parameters into the binary. It is still possible to use a custom parameter folder with the -pd option
  • switched from deprecated CommandLineParser to the new ArgumentParser
  • updated README to the new features of RazerS 3
  • updated command line interface
    • -id to enabled indels was removed (enabled by default)
    • -ng to disable indels was added
    • -fl pigeonhole (default) and -fl swift added to manually select the filter

2012-03-06: v3.0-beta1

  • first official release of RazerS 3
  • this version was used in the submitted publication

Compilation from Source Code

Follow the Getting Started section and check out the latest SVN trunk. Instead of creating a project file in Debug mode, switch to Release mode (-DCMAKE_BUILD_TYPE=Release) and compile razers3. This can be done as follows:

svn co http://svn.seqan.de/seqan/trunk seqan-trunk
mkdir seqan-trunk/build
cd seqan-trunk/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make razers3

If RazerS 3 will be run on the same machine it is compiled on, you may consider to optimize for the given system architecture. For gcc or llvm/clang compilers this can be done with:

cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS:STRING="-march=native"
make razers3

After successful compilation, copy the binary to a folder in your PATH variable, e.g. /usr/local/bin:

sudo cp bin/razers3 /usr/local/bin



For questions, comments, or suggestions feel free to contact David Weese.


  1. Weese, D., Holtgrewe M., & Reinert, K. (2012). RazerS 3: Faster, fully sensitive read mappingBioinformatics28(20), 2592–2599.
  2. Weese, D., Emde, A.-K., Rausch, T., Döring, A., & Reinert, K. (2009). RazerS - Fast read mapping with sensitivity control. Genome Research19(9), 1646–1654.
Last Update 14. July 2014