Scroll to navigation



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


Bowtie 2 version 2.4.5 by Ben Langmead (,


bowtie2-align [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | -b <bam>} [-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.
Files with interleaved paired-end FASTQ/FASTA reads
Files are unaligned BAM sorted by read name.
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 TAB5 .tab5
query input files are TAB6 .tab6
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
are substrings (k-mers) extracted from a FASTA file <s> and aligned at offsets 1, 1+i, 1+2i ... end of reference
<m1>, <m2>, <r> are sequences themselves, not files
skip the first <int> reads/pairs in the input (none)
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)
If the read end is not specified then it defaults to 3 (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


max # mismatches in seed alignment; can be 0 or 1 (0)
length of seed substrings; must be >3, <32 (22)
interval between seed substrings w/r/t read len (S,1,1.15)
func for max # non-A/C/G/Ts permitted in aln (L,0,0.15)
include <int> extra ref chars on sides of DP table (15)
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)


match bonus (0 for --end-to-end, 2 for --local)
max penalty for mismatch; lower qual = lower penalty (6)
penalty for non-A/C/G/Ts in read/ref (1)
read gap open, extend penalties (5,3)
reference gap open, extend penalties (5,3)
(G,20,8 for local, L,-0.6,-0.6 for end-to-end)


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


give up extending after <int> failed extends in a row (15)
for reads w/ repetitive seeds, try <int> sets of seeds (2)
minimum fragment length (0)
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
concordant when mates extend past each other
not concordant when one mate alignment contains other
not concordant when mates overlap at all
Bowtie2 will, by default, attempt to align unpaired BAM reads. Use this option to align paired-end reads instead.
Preserve tags from the original BAM record by appending them to the end of the corresponding SAM output.


print wall-clock time taken by search phases
print nothing to stderr except serious errors
send metrics to file at <path> (off)
send metrics to stderr (off)
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
set read group id, reflected in @RG line and RG:Z: opt field
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.
Suppress standard behavior of truncating readname at first whitespace at the expense of generating non-standard SAM.
Use '='/'X', instead of 'M,' to specify matches/mismatches in SAM record.
Exclude soft-clipped bases when reporting TLEN
Append FASTA/FASTQ comment to SAM record


-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 for random number generator (0)
seed rand. gen. arbitrarily instead of using read attributes
print version information and quit
print this usage message
February 2022 bowtie2-align-s 2.4.5