Download binary from github and unzip or or pull docker . For updates follow
For Pacbio data run:
ngmlr -t 4 -r reference.fasta -q reads.fastq -o test.sam
For Oxford Nanopore run:
ngmlr -t 4 -r reference.fasta -q reads.fastq -o test.sam -x ont
CoNvex Gap-cost alignMents for Long Reads (ngmlr) is a long-read mapper designed to sensitively align PacBilo or Oxford Nanopore to (large) reference genomes. It was designed to correctly align reads spanning (complex) structural variations. Ngmlr uses an SV aware k-mer search to find approximate mapping locations for a read and a banded Smith-Waterman alignment algorithm with a convex gap cost model that penalizes gap extensions for longer gaps less than for shorter ones to compute precise alignments. The gap model allows ngmlr to account for both the sequencing error and real genomic variations at the same time and makes it especially effective at more precisely identifying the position of breakpoints stemming from structural variations. The k-mer search helps to detect and split reads that cannot be aligned linearly, enabling ngmlr to reliably align reads to a wide range of different structural variations including nested SVs (e.g. inversions flanked by deletions). With 10 cores (AMD Opteron 6348), ngmlr currently takes about 90 minutes and 10 GB RAM for aligning 3Gbp (~ 1x human data) of Pacbio reads.
Poster & Talks:
Accurate and fast detection of complex and nested structural variations using long read technologies Biological Data Science, Cold Spring Harbor Laboratory, Cold Spring Harbor, NY, 26 - 29.10.2016
NGMLR: Highly accurate read mapping of third generation sequencing reads for improved structural variation analysis Genome Informatics 2016, Wellcome Genome Campus Conference Centre, Hinxton, Cambridge, UK, 19.09.-2.09.2016
Usage: ngmlr [options] -r <reference> -q <reads> [-o <output>]
Input/Output:
-r <file>, --reference <file>
(required) Path to the reference genome (FASTA/Q, can be gzipped)
-q <file>, --query <file>
Path to the read file (FASTA/Q) [/dev/stdin]
-o <file>, --output <file>
Path to output file [stdout]
--skip-write
Don't write reference index to disk [false]
--bam-fix
Report reads with > 64k CIGAR operations as unmapped. Required to be compatibel to BAM format [false]
General:
-t <int>, --threads <int>
Number of threads [1]
-x <pacbio, ont>, --presets <pacbio, ont>
Parameter presets for different sequencing technologies [pacbio]
-i <0-1>, --min-identity <0-1>
Alignments with an identity lower than this threshold will be discarded [0.65]
-R <int/float>, --min-residues <int/float>
Alignments containing less than <int> or (<float> * read length) residues will be discarded [0.25]
--no-smallinv
Don't detect small inversions [false]
--no-lowqualitysplit
Split alignments with poor quality [false]
--verbose
Debug output [false]
--no-progress
Don't print progress info while mapping [false]
Advanced:
--match <float>
Match score [2]
--mismatch <float>
Mismatch score [-5]
--gap-open <float>
Gap open score [-5]
--gap-extend-max <float>
Gap open extend max [-5]
--gap-extend-min <float>
Gap open extend min [-1]
--gap-decay <float>
Gap extend decay [0.15]
-k <10-15>, --kmer-length <10-15>
K-mer length in bases [13]
--kmer-skip <int>
Number of k-mers to skip when building the lookup table from the reference [2]
--bin-size <int>
Sets the size of the grid used during candidate search [4]
--max-segments <int>
Max number of segments allowed for a read per kb [1]
--subread-length <int>
Length of fragments reads are split into [256]
--subread-corridor <int>
Length of corridor sub-reads are aligned with [40]
docker run -ti -v /home/user/data/:/home/user/data/ philres/ngmlr ngmlr -r /home/user/data/ref.fa -q /home/user/data/reads.fasta -o /home/user/data/output.sam
OS: Linux and Mac OSX: Requirements: zlib-dev, cmake, gcc/g++ (>=4.8.2)
git clone https://github.com/philres/ngmlr.git
cd ngmlr/
mkdir -p build
cd build/
cmake ..
make
cd ../bin/ngmlr-*/
./ngmlr
git clone https://github.com/philres/ngmlr.git
mkdir -p ngmlr/build
docker run -v `pwd`/ngmlr:/ngmlr philres/nextgenmaplr-buildenv bash -c "cd /ngmlr/build && cmake .. && make"
`pwd`/ngmlr/bin/ngmlr-*/ngmlr