Bowtie2-Teaching: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by 2 users not shown)
Line 9: Line 9:


=== Version ===
=== Version ===
2.2.3
2.4.1, 2.4.4, 2.4.5, 2.5.2
   
   
=== Author / Distributor ===
=== Author / Distributor ===
Line 16: Line 16:
   
   
=== Description ===
=== Description ===
"Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads   to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s   of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes.   Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome,   its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes."
"Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes."
More details are at [http://bowtie-bio.sourceforge.net/bowtie2/index.shtml Bowtie2]
More details are at [http://bowtie-bio.sourceforge.net/bowtie2/index.shtml Bowtie2]


=== Running Program ===
=== Running Program ===


The last version of this application is at /usr/local/apps/eb/Bowtie2/2.2.3-foss-2016b
The last version of this application is at /apps/eb/Bowtie2/2.5.2-GCC-11.3.0


To use this version, please load the module with
To use this version, please load the module with
<pre class="gscript">
<pre class="gscript">
ml Bowtie2/2.2.3-foss-2016b
ml Bowtie2/2.5.2-GCC-11.3.0
</pre>
 
To use version 2.4.5, please load the module with
<pre class="gscript">
ml Bowtie2/2.4.5-GCC-11.3.0
</pre>
 
To use version 2.4.4, please load the module with
<pre class="gscript">
ml Bowtie2/2.4.4-GCC-11.2.0
</pre>
 
To use version 2.4.1, please load the module with
<pre class="gscript">
ml Bowtie2/2.4.1-GCC-8.3.0
</pre>  
</pre>  


Line 40: Line 55:
<nowiki>#</nowiki>SBATCH --time=<u>08:00:00</u><br>   
<nowiki>#</nowiki>SBATCH --time=<u>08:00:00</u><br>   
<nowiki>#</nowiki>SBATCH --output=Bowtie2.%j.out<br>
<nowiki>#</nowiki>SBATCH --output=Bowtie2.%j.out<br>
<nowiki>#</nowiki>SBATCH --error=Bowtie2.%j.err<br>
   
   
cd $SLURM_SUBMIT_DIR<br>
cd $SLURM_SUBMIT_DIR<br>
ml Bowtie2/2.2.3-foss-2016b<br>     
ml Bowtie2/2.4.5-GCC-11.3.0<br>     
bowtie2 <u>[options]</u><br>   
bowtie2 <u>[options]</u><br>   
</div>
</div>
Line 58: Line 74:
   
   
<pre  class="gcommand">
<pre  class="gcommand">
ml Bowtie2/2.2.3-foss-2016b
ml Bowtie2/2.4.5-GCC-11.3.0
bowtie2 bowtie2 -h
bowtie2 -h
Bowtie 2 version 2.2.3 by Ben Langmead (langmea@cs.jhu.edu, www.cs.jhu.edu/~langmea)
 
Bowtie 2 version 2.4.5 by Ben Langmead (langmea@cs.jhu.edu, www.cs.jhu.edu/~langmea)
Usage:  
Usage:  
   bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r>} [-S <sam>]
   bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | -b <bam>} [-S <sam>]


   <bt2-idx>  Index filename prefix (minus trailing .X.bt2).
   <bt2-idx>  Index filename prefix (minus trailing .X.bt2).
Line 72: Line 89:
   <r>        Files with unpaired reads.
   <r>        Files with unpaired reads.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <i>        Files with interleaved paired-end FASTQ/FASTA reads
            Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <bam>      Files are unaligned BAM sorted by read name.
   <sam>      File for SAM output (default: stdout)
   <sam>      File for SAM output (default: stdout)


Line 81: Line 101:
  Input:
  Input:
   -q                query input files are FASTQ .fq/.fastq (default)
   -q                query input files are FASTQ .fq/.fastq (default)
  --tab5            query input files are TAB5 .tab5
  --tab6            query input files are TAB6 .tab6
   --qseq            query input files are in Illumina's qseq format
   --qseq            query input files are in Illumina's qseq format
   -f                query input files are (multi-)FASTA .fa/.mfa
   -f                query input files are (multi-)FASTA .fa/.mfa
   -r                query input files are raw one-sequence-per-line
   -r                query input files are raw one-sequence-per-line
  -F k:<int>,i:<int> query input files are continuous FASTA where reads
                    are substrings (k-mers) extracted from a FASTA file <s>
                    and aligned at offsets 1, 1+i, 1+2i ... end of reference
   -c                <m1>, <m2>, <r> are sequences themselves, not files
   -c                <m1>, <m2>, <r> are sequences themselves, not files
   -s/--skip <int>    skip the first <int> reads/pairs in the input (none)
   -s/--skip <int>    skip the first <int> reads/pairs in the input (none)
Line 89: Line 114:
   -5/--trim5 <int>  trim <int> bases from 5'/left end of reads (0)
   -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)
   -3/--trim3 <int>  trim <int> bases from 3'/right end of reads (0)
  --trim-to [3:|5:]<int> trim reads exceeding <int> bases from either 3' or 5' end
                    If the read end is not specified then it defaults to 3 (0)
   --phred33          qualities are Phred+33 (default)
   --phred33          qualities are Phred+33 (default)
   --phred64          qualities are Phred+64
   --phred64          qualities are Phred+64
Line 148: Line 175:
   --no-mixed        suppress unpaired alignments for paired reads
   --no-mixed        suppress unpaired alignments for paired reads
   --no-discordant    suppress discordant alignments for paired reads
   --no-discordant    suppress discordant alignments for paired reads
   --no-dovetail     not concordant when mates extend past each other
   --dovetail         concordant when mates extend past each other
   --no-contain      not concordant when one mate alignment contains other
   --no-contain      not concordant when one mate alignment contains other
   --no-overlap      not concordant when mates overlap at all
   --no-overlap      not concordant when mates overlap at all
BAM:
  --align-paired-reads
                    Bowtie2 will, by default, attempt to align unpaired BAM reads.
                    Use this option to align paired-end reads instead.
  --preserve-tags    Preserve tags from the original BAM record by
                    appending them to the end of the corresponding SAM output.


  Output:
  Output:
   -t/--time          print wall-clock time taken by search phases
   -t/--time          print wall-clock time taken by search phases
   --un <path>           write unpaired reads that didn't align to <path>
   --un <path>       write unpaired reads that didn't align to <path>
   --al <path>           write unpaired reads that aligned at least once to <path>
   --al <path>       write unpaired reads that aligned at least once to <path>
   --un-conc <path>     write pairs that didn't align concordantly to <path>
   --un-conc <path>   write pairs that didn't align concordantly to <path>
   --al-conc <path>     write pairs that aligned concordantly at least once to <path>
   --al-conc <path>   write pairs that aligned concordantly at least once to <path>
  (Note: for --un, --al, --un-conc, or --al-conc, add '-gz' to the option name, e.g.
    (Note: for --un, --al, --un-conc, or --al-conc, add '-gz' to the option name, e.g.
  --un-gz <path>, to gzip compress output, or add '-bz2' to bzip2 compress output.)
    --un-gz <path>, to gzip compress output, or add '-bz2' to bzip2 compress output.)
   --quiet            print nothing to stderr except serious errors
   --quiet            print nothing to stderr except serious errors
   --met-file <path>  send metrics to file at <path> (off)
   --met-file <path>  send metrics to file at <path> (off)
   --met-stderr      send metrics to stderr (off)
   --met-stderr      send metrics to stderr (off)
   --met <int>        report internal counters & metrics every <int> secs (1)
   --met <int>        report internal counters & metrics every <int> secs (1)
   --no-head          supppress header lines, i.e. lines starting with @
  --no-unal          suppress SAM records for unaligned reads
   --no-sq            supppress @SQ header lines
   --no-head          suppress header lines, i.e. lines starting with @
   --no-sq            suppress @SQ header lines
   --rg-id <text>    set read group id, reflected in @RG line and RG:Z: opt field
   --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.
   --rg <text>        add <text> ("lab:value") to @RG line of SAM header.
                     Note: @RG line only printed when --rg-id is set.
                     Note: @RG line only printed when --rg-id is set.
   --omit-sec-seq    put '*' in SEQ and QUAL fields for secondary alignments.
   --omit-sec-seq    put '*' in SEQ and QUAL fields for secondary alignments.
  --sam-no-qname-trunc
                    Suppress standard behavior of truncating readname at first whitespace
                    at the expense of generating non-standard SAM.
  --xeq              Use '='/'X', instead of 'M,' to specify matches/mismatches in SAM record.
  --soft-clipped-unmapped-tlen
                    Exclude soft-clipped bases when reporting TLEN
  --sam-append-comment
                    Append FASTA/FASTQ comment to SAM record


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

Latest revision as of 09:12, 9 May 2024

Category

Bioinformatics

Program On

Teaching

Version

2.4.1, 2.4.4, 2.4.5, 2.5.2

Author / Distributor

Bowtie2

Description

"Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes." More details are at Bowtie2

Running Program

The last version of this application is at /apps/eb/Bowtie2/2.5.2-GCC-11.3.0

To use this version, please load the module with

ml Bowtie2/2.5.2-GCC-11.3.0

To use version 2.4.5, please load the module with

ml Bowtie2/2.4.5-GCC-11.3.0

To use version 2.4.4, please load the module with

ml Bowtie2/2.4.4-GCC-11.2.0

To use version 2.4.1, please load the module with

ml Bowtie2/2.4.1-GCC-8.3.0

Here is an example of a shell script, sub.sh, to run on the batch queue:

#!/bin/bash
#SBATCH --job-name=j_Bowtie2
#SBATCH --partition=batch
#SBATCH --mail-type=ALL
#SBATCH --mail-user=username@uga.edu
#SBATCH --ntasks=1
#SBATCH --mem=10gb
#SBATCH --time=08:00:00
#SBATCH --output=Bowtie2.%j.out
#SBATCH --error=Bowtie2.%j.err

cd $SLURM_SUBMIT_DIR
ml Bowtie2/2.4.5-GCC-11.3.0
bowtie2 [options]

In the real submission script, at least all the above underlined values need to be reviewed or to be replaced by the proper values.

Please refer to Running_Jobs_on_the_teaching_cluster, Run X window Jobs and Run interactive Jobs for more details of running jobs at Teaching cluster.


Here is an example of job submission command:

sbatch ./sub.sh 

Documentation

ml Bowtie2/2.4.5-GCC-11.3.0
bowtie2 -h

Bowtie 2 version 2.4.5 by Ben Langmead (langmea@cs.jhu.edu, www.cs.jhu.edu/~langmea)
Usage: 
  bowtie2 [options]* -x <bt2-idx> {-1 <m1> -2 <m2> | -U <r> | --interleaved <i> | -b <bam>} [-S <sam>]

  <bt2-idx>  Index filename prefix (minus trailing .X.bt2).
             NOTE: Bowtie 1 and Bowtie 2 indexes are not compatible.
  <m1>       Files with #1 mates, paired with files in <m2>.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <m2>       Files with #2 mates, paired with files in <m1>.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <r>        Files with unpaired reads.
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <i>        Files with interleaved paired-end FASTQ/FASTA reads
             Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2).
  <bam>      Files are unaligned BAM sorted by read name.
  <sam>      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):

 Input:
  -q                 query input files are FASTQ .fq/.fastq (default)
  --tab5             query input files are TAB5 .tab5
  --tab6             query input files are TAB6 .tab6
  --qseq             query input files are in Illumina's qseq format
  -f                 query input files are (multi-)FASTA .fa/.mfa
  -r                 query input files are raw one-sequence-per-line
  -F k:<int>,i:<int> query input files are continuous FASTA where reads
                     are substrings (k-mers) extracted from a FASTA file <s>
                     and aligned at offsets 1, 1+i, 1+2i ... end of reference
  -c                 <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)
  --trim-to [3:|5:]<int> trim reads exceeding <int> bases from either 3' or 5' end
                     If the read end is not specified then it defaults to 3 (0)
  --phred33          qualities are Phred+33 (default)
  --phred64          qualities are Phred+64
  --int-quals        qualities encoded as space-delimited integers

 Presets:                 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

 Alignment:
  -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)
  --ignore-quals     treat all quality values as 30 on Phred scale (off)
  --nofw             do not align forward (original) version of read (off)
  --norc             do not align reverse-complement version of read (off)
  --no-1mm-upfront   do not allow 1 mismatch alignments before attempting to
                     scan for the optimal seeded alignments
  --end-to-end       entire read must align; no clipping (on)
   OR
  --local            local alignment; ends might be soft clipped (off)

 Scoring:
  --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)

 Reporting:
  (default)          look for multiple alignments, report best, with MAPQ
   OR
  -k <int>           report up to <int> alns per read; MAPQ not meaningful
   OR
  -a/--all           report all alignments; very slow, MAPQ not meaningful

 Effort:
  -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)

 Paired-end:
  -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)
  --no-mixed         suppress unpaired alignments for paired reads
  --no-discordant    suppress discordant alignments for paired reads
  --dovetail         concordant when mates extend past each other
  --no-contain       not concordant when one mate alignment contains other
  --no-overlap       not concordant when mates overlap at all

 BAM:
  --align-paired-reads
                     Bowtie2 will, by default, attempt to align unpaired BAM reads.
                     Use this option to align paired-end reads instead.
  --preserve-tags    Preserve tags from the original BAM record by
                     appending them to the end of the corresponding SAM output.

 Output:
  -t/--time          print wall-clock time taken by search phases
  --un <path>        write unpaired reads that didn't align to <path>
  --al <path>        write unpaired reads that aligned at least once to <path>
  --un-conc <path>   write pairs that didn't align concordantly to <path>
  --al-conc <path>   write pairs that aligned concordantly at least once to <path>
    (Note: for --un, --al, --un-conc, or --al-conc, add '-gz' to the option name, e.g.
    --un-gz <path>, to gzip compress output, or add '-bz2' to bzip2 compress output.)
  --quiet            print nothing to stderr except serious errors
  --met-file <path>  send metrics to file at <path> (off)
  --met-stderr       send metrics to stderr (off)
  --met <int>        report internal counters & metrics every <int> secs (1)
  --no-unal          suppress SAM records for unaligned reads
  --no-head          suppress header lines, i.e. lines starting with @
  --no-sq            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.
  --omit-sec-seq     put '*' in SEQ and QUAL fields for secondary alignments.
  --sam-no-qname-trunc
                     Suppress standard behavior of truncating readname at first whitespace 
                     at the expense of generating non-standard SAM.
  --xeq              Use '='/'X', instead of 'M,' to specify matches/mismatches in SAM record.
  --soft-clipped-unmapped-tlen
                     Exclude soft-clipped bases when reporting TLEN
  --sam-append-comment
                     Append FASTA/FASTQ comment to SAM record

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

 Other:
  --qc-filter        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
  --version          print version information and quit
  -h/--help          print this usage message

Back to Top

Installation

Source code is obtained from Bowtie2

System

64-bit Linux