Skip to content
Philipp Rescheneder edited this page May 6, 2016 · 92 revisions

This documentation is still in an early stage. If you have any problems/questions/comments please don’t hesitate to contact fritz.sedlazeck@jhu.edu or philipp.rescheneder@univie.ac.at!

What is NextGenMap (NGM)?

NextGenMap is a flexible and fast read mapping program that is more than twice as fast as BWA while achieving a mapping sensitivity similar to Stampy. NextGenMap uses a memory efficient index structure (hash table) to store the positions of all 13-mers present in the reference genome. This index enables a quick identification of potential mapping regions for every read. Unlike other methods, NextGenMap dynamically determines for each read individually how many of the potential mapping regions have to be evaluated by a pairwise sequence alignment. Moreover, NextGenMap uses fast SIMD instructions (SSE) to accelerate the alignment calculations on the CPU. If available NextGenMap calculates the alignments on the GPU (using OpenCL/CUDA) resulting in a runtime reduction of another 20 – 50 %.

Download

Current release: 0.5.0 (tar, zip)
Older releases: see here

Please cite

Fritz J. Sedlazeck, Philipp Rescheneder, and Arndt von Haeseler NextGenMap: fast and accurate read mapping in highly polymorphic genomes. Bioinformatics (2013) 29 (21): 2790-2791 first published online August 23, 2013 doi:10.1093/bioinformatics/btt468

Changelog:

see here for recent releases or here for older releases

Hardware & Software requirements

CPU: SSE enabled 64 bit dual-core (quad-core or more recommended)
RAM: 8 GB for human (4 GB for genomes < 500 MBp)
GPU (optional): CUDA (Nvidia) or ATI Stream Technology (ATI) enabled
OS: Linux (OpenSUSE with gcc 4.3.4 or Ubuntu 12.04 with gcc 4.6 recommended)
Software: cmake

How to build NGM from source?

see Installation

How to use NGM?

see here for the documentation and FAQ for frequently asked questions.

Running NextGenMap with Docker

If you have docker installed on your system you can run NextGenMap using the follwoing command. Installing NextGenMap is not necessary in this case!

wget http://www.cibiv.at/~philipp_/files/ngm-testseq.tgz
tar xvzf ngm-testseq.tgz
docker run -m 8g -v $(pwd):/data -ti philres/nextgenmap ngm -r /data/dh10b_ecoli.fasta -1 /data/dh10b_ecoli.fasta_1.fastq -2 /data/dh10b_ecoli.fasta_2.fastq -o /data/dh10b_ecoli.fasta_mapped_ngm.sam

Please note, that docker support is still in the testing phase. If you notice any problems, please let us know!

Quick start

Single-end mapping using four CPU threads for the candidate search:

ngm -q reads.fastq -r reference-sequence.fa -o results.sam -t 4

Single-end mapping using four CPU threads for the candidate search and the GPU for alignment computation:

ngm -q reads.fastq -r reference-sequence.fa -o results.sam -t 4 -g

Paired-end mapping using four CPU threads for the candidate search:
For preparing your paired end data see here Only required for version <=0.4.4

ngm -r reference-sequence.fa -1 forward_reads.fq -2 reverse_reads.fq -o results.sam -t 4 -p

Paired-end mapping using four CPU threads for the candidate search and the GPU for alignment computation:
For preparing your paired end data see here Only required for version <=0.4.4

ngm -r reference-sequence.fa -1 forward_reads.fq -2 reverse_reads.fq -o results.sam -t 4 -p -g

Index the genome only:

ngm -r reference-sequence.fa

Known issues

  • The length of a line in a input FASTA file must not exceed 4096 bp.
  • Using BAM as output (-b) can slow down mapping.

Solved:

  • NextGenMap falsely interprets negative values on the command line as parameters. e.g. “—score-mismatch -1” will cause an “Argument missing for parameter” error.
    Workarround: create a config file (e.g. config.txt) add “score_mismatch = -1” and call NextGenMap with -c config.txt
  • Error message “error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory” when running NextGenMap
    This can be fixed by changing the permissions of the opencl/lib folder: chmod a+rx ngm-0.4.6/opencl/lib/
  • NextGenMap doesn’t work with AMD-APP-SDK v2.7. Please use v2.8 instead. AMD APP SDK installation is now done automatically when building NextGenMap
  • The error message “FATAL: Module fglrx not found.” can be ignored. It will be removed in one of the next AMD APP SDK releases (http://devgurus.amd.com/message/1286600) NextGenMap now uses APP SDK 2.8.1

This documentation is still in an early stage. If you have any problems/questions/comments please don’t hesitate to contact fritz.sedlazeck@univie.ac.at or philipp.rescheneder@univie.ac.at!

Clone this wiki locally