BBTools Table of Contents
Complete table of contents for BBTools bioinformatics suite, including installation instructions, tool reference, and author information.
Description
BBTools is a robust suite of fast tools for bioinformatics analysis. It is written in Java and usable on any operating system.
BBTools is developed at the Department of Energy's Joint Genome Institute and is distributed open-source, free for unlimited use by anyone. For more details see license.txt.
Additional documentation is in the bbmap/docs folder.
Installation
Extract the contents of BBMap_(version).tar.gz with:
tar -xzvf BBMap_(version).tar.gz
This extracts everything to a new directory named bbmap in the current directory.
For ease of use, add the shellscripts to your path, e.g.:
export PATH=$PATH:/path/to/bbmap/
Requirements
Requires Java 7 Runtime Environment or later (8+ is preferred). BBTools is developed and tested with Oracle's JDK 8, and in some cases memory allocation is slightly different under OpenJDK. BBTools can also benefit from samtools, sambamba, pigz, pbzip2, lbzip2, bzip2, and bgzip, though none are required. Specifically:
- .bam files can only be read or written if samtools or sambamba is in the path
- .bz2 files require pbzip2, lbzip2, or bzip2
- Block-gzipping (often used for vcf files) requires bgzip in the path
- Compression and decompression of .gz files is much faster with pigz in the path
Testing Installation
Check that BBTools is working with:
bbversion.sh
(returns version)
Test stats.sh on the PhiX reference included in the bbmap/resources folder:
stats.sh in=bbmap/resources/phix174_ill.ref.fa.gz
Expected output:
A C G T N IUPAC Other GC GC_stdev
0.2399 0.2144 0.2326 0.3130 0.0000 0.0000 0.0000 0.4471 0.0000
Main genome scaffold total: 1
Main genome contig total: 1
Main genome scaffold sequence total: 0.005 MB
Main genome contig sequence total: 0.005 MB 0.000% gap
Main genome scaffold N/L50: 1/5.386 KB
Main genome contig N/L50: 1/5.386 KB
Main genome scaffold N/L90: 1/5.386 KB
Main genome contig N/L90: 1/5.386 KB
Max scaffold length: 5.386 KB
Max contig length: 5.386 KB
Number of scaffolds > 50 KB: 0
% main genome in scaffolds > 50 KB: 0.00%
Minimum Number Number Total Total Scaffold
Scaffold of of Scaffold Contig Contig
Length Scaffolds Contigs Length Length Coverage
+-------- -------------- -------------- -------------- -------------- --------
All 1 1 5,386 5,386 100.00%
5 KB 1 1 5,386 5,386 100.00%
BBTools Scripts
Bash shell script wrappers are provided to make tools easier to run in Linux, though they are not strictly necessary. For example, the command:
reformat.sh in=x.fastq out=x.fasta
...could be executed on any operating system without using the script, like this:
java -Xmx1g -ea -cp /path/to/bbmap/current/ jgi.ReformatReads in=x.fastq out=y.fasta
This is a list of the shell scripts contained in BBTools with a brief description. Scripts not on this list are not intended to be used for analysis.
A detailed description and parameters for each tool are available by running the shell script with no parameters (e.g. bbcms.sh).
Tool Reference
| Script | Purpose | Comment |
|---|---|---|
| bbcms.sh | Performs error correction using a Count-Min Sketch | Intended for metagenome assembly |
| bbcountunique.sh | Counts unique kmers in reads | |
| bbduk.sh | Trims, filters or masks reads using kmers | |
| bbmap.sh | Splice-aware aligner for short reads | |
| bbmapskimmer.sh | BBMap version designed for high levels of multimapping | |
| bbmask.sh | Masks references based on various things, such as sequence complexity | |
| bbmerge.sh | Merges overlapping paired reads | |
| bbmerge-auto.sh | Same as bbmerge, but tries to allocate all memory on the node | Use this version for kmer operations like extend |
| bbnorm.sh | Normalizes reads based on coverage | Mainly for use prior to single-cell assembly |
| bbsplit.sh | BBMap version that maps to multiple references simultaneously | Intended for decontamination; similar to Seal |
| bbversion.sh | Prints the version of BBTools | |
| bbwrap.sh | Wraps BBMap to process many files using same reference | Saves time by loading the index only once |
| reformat.sh | Converts sequence files to another format | Has many additional options, includes subsampling |
| Additional tools available - see complete list in shellscripts | ||
Authors
- Brian Bushnell (bbushnell@lbl.gov)
- Bryce Foster (brycefoster@lbl.gov)
- Jon Rood
- Shijie Yao (syao@lbl.gov)
Citation
Please see bbmap/docs/citation.txt for information about citation.
Support
For questions and support:
- Email: bbushnell@lbl.gov
- Documentation: bbmap.org