bowtie2-align-s(1) ultrafast and memory-efficient backend tool for aligning sequencing reads to long reference sequences


Bowtie 2 version 2.2.9 by Ben Langmead ([email protected],


bowtie2-align [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r>} [-S <sam>]
Index filename prefix (minus trailing .X.bt2). NOTE: Bowtie 1 and Bowtie 2 indexes are not compatible.
Files with #1 mates, paired with files in <m2>.
Files with #2 mates, paired with files in <m1>.
Files with unpaired reads.
File for SAM output (default: stdout)
<m1>, <m2>, <r> can be comma-separated lists (no whitespace) and can be specified many times. E.g. '-U file1.fq,file2.fq -U file3.fq'.

OPTIONS (defaults in parentheses)


query input files are FASTQ .fq/.fastq (default)
query input files are in Illumina's qseq format
query input files are (multi-)FASTA .fa/.mfa
query input files are raw one-sequence-per-line
<m1>, <m2>, <r> are sequences themselves, not files
-s/--skip <int>
skip the first <int> reads/pairs in the input (none)
-u/--upto <int>
stop after first <int> reads/pairs (no limit)
-5/--trim5 <int>
trim <int> bases from 5'/left end of reads (0)
-3/--trim3 <int>
trim <int> bases from 3'/right end of reads (0)
qualities are Phred+33 (default)
qualities are Phred+64
qualities encoded as space-delimited integers


Same as:
For --end-to-end:
--very-fast -D 5 -R 1 -N 0 -L 22 -i S,0,2.50
--fast -D 10 -R 2 -N 0 -L 22 -i S,0,2.50
--sensitive -D 15 -R 2 -N 0 -L 22 -i S,1,1.15 (default)
--very-sensitive -D 20 -R 3 -N 0 -L 20 -i S,1,0.50
For --local:
--very-fast-local -D 5 -R 1 -N 0 -L 25 -i S,1,2.00
--fast-local -D 10 -R 2 -N 0 -L 22 -i S,1,1.75
--sensitive-local -D 15 -R 2 -N 0 -L 20 -i S,1,0.75 (default)
--very-sensitive-local -D 20 -R 3 -N 0 -L 20 -i S,1,0.50


-N <int>
max # mismatches in seed alignment; can be 0 or 1 (0)
-L <int>
length of seed substrings; must be >3, <32 (22)
-i <func>
interval between seed substrings w/r/t read len (S,1,1.15)
--n-ceil <func>
func for max # non-A/C/G/Ts permitted in aln (L,0,0.15)
--dpad <int>
include <int> extra ref chars on sides of DP table (15)
--gbar <int>
disallow gaps within <int> nucs of read extremes (4)
treat all quality values as 30 on Phred scale (off)
do not align forward (original) version of read (off)
do not align reverse-complement version of read (off)
do not allow 1 mismatch alignments before attempting to scan for the optimal seeded alignments
entire read must align; no clipping (on)
local alignment; ends might be soft clipped (off)


--ma <int>
match bonus (0 for --end-to-end, 2 for --local)
--mp <int>
max penalty for mismatch; lower qual = lower penalty (6)
--np <int>
penalty for non-A/C/G/Ts in read/ref (1)
--rdg <int>,<int>
read gap open, extend penalties (5,3)
--rfg <int>,<int>
reference gap open, extend penalties (5,3)
--score-min <func> min acceptable alignment score w/r/t read length
(G,20,8 for local, L,-0.6,-0.6 for end-to-end)


look for multiple alignments, report best, with MAPQ
-k <int>
report up to <int> alns per read; MAPQ not meaningful
report all alignments; very slow, MAPQ not meaningful


-D <int>
give up extending after <int> failed extends in a row (15)
-R <int>
for reads w/ repetitive seeds, try <int> sets of seeds (2)
-I/--minins <int>
minimum fragment length (0)
-X/--maxins <int>
maximum fragment length (500)
--fr/--rf/--ff -1, -2 mates align fw/rev, rev/fw, fw/fw (--fr)
suppress unpaired alignments for paired reads
suppress discordant alignments for paired reads
not concordant when mates extend past each other
not concordant when one mate alignment contains other
not concordant when mates overlap at all


print wall-clock time taken by search phases
print nothing to stderr except serious errors
--met-file <path>
send metrics to file at <path> (off)
send metrics to stderr (off)
--met <int>
report internal counters & metrics every <int> secs (1)
suppress SAM records for unaligned reads
suppress header lines, i.e. lines starting with @
suppress @SQ header lines
--rg-id <text>
set read group id, reflected in @RG line and RG:Z: opt field
--rg <text>
add <text> ("lab:value") to @RG line of SAM header. Note: @RG line only printed when --rg-id is set.
put '*' in SEQ and QUAL fields for secondary alignments.


-p/--threads <int> number of alignment threads to launch (1)
force SAM output order to match order of input reads
use memory-mapped I/O for index; many 'bowtie's can share


filter out reads that are bad according to QSEQ filter
--seed <int>
seed for random number generator (0)
--non-deterministic seed rand. gen. arbitrarily instead of using read attributes
print version information and quit
print this usage message