deepTools Tutorial

Overview of deepTools

deepTools is a powerful suite of Python tools designed for the efficient analysis of high-throughput sequencing data, such as ChIP-seq, RNA-seq, or MNase-seq. Developed by the Bioinformatics Facility at the Max Planck Institute for Immunobiology and Epigenetics in Freiburg, deepTools aims to provide researchers with a set of computational methods to process, normalize, analyze, and visualize sequencing data.

The suite is known for its ability to efficiently extract reads from BAM files, perform various computations, and turn BAM files of aligned reads into bigWig files using different normalization strategies. One of the key features of deepTools is its ability to make use of multiple processors, which significantly speeds up data processing. Additionally, it offers highly customizable image generation, allowing users to change colors, sizes, labels, and file formats to suit their needs.

deepTools adopts a modular approach, ensuring compatibility, flexibility, and scalability. This means that new modules can be added over time, and established methods can be utilized effectively. The suite can be used in three main ways:

  1. Galaxy usage: deepTools can be used within the familiar Galaxy framework, which allows users to perform analyses without mastering the command line.
  2. Command line usage: Users can download and install deepTools and use it directly from the command line.
  3. API: The deepTools API enables integration of deepTools modules into custom Python programs.

The suite is continuously updated to meet the evolving needs of the bioinformatics community, and the developers encourage users to contribute to its development through bug reports, feature requests, and community support.


To install deepTools, users can follow the instructions provided on the deepTools documentation. The installation process typically involves using package managers such as pip or conda, which handle the dependencies and simplify the installation. It is important to ensure that Python and all necessary libraries are up to date before proceeding with the installation.

Quick Start

Once deepTools is installed, users can quickly start analyzing their sequencing data. The documentation provides a comprehensive guide on how to use the various tools within the suite. For a quick start, users can refer to the example usage section, which demonstrates common tasks such as generating coverage files, creating heatmaps, and performing quality control checks on sequencing data.

Code Examples Of Popular Commands

Here are five popular commands from the deepTools suite, along with code examples for each:

  1. bamCoverage: This command converts BAM files into bigWig format, allowing for the visualization of read coverage.

    bamCoverage -b input.bam -o
  2. plotHeatmap: This command generates a heatmap from the data matrix created by the computeMatrix tool.

    plotHeatmap -m matrix.gz -out heatmap.png
  3. multiBamSummary: This tool computes the read coverage correlation between multiple BAM files.

    multiBamSummary bins --bamfiles sample1.bam sample2.bam -out results.npz
  4. bamCompare: This command compares two BAM files and outputs the log2 ratio of the read coverages.

    bamCompare -b1 treatment.bam -b2 control.bam -o
  5. computeMatrix: This tool prepares a data matrix used for plotting by other deepTools commands.

    computeMatrix reference-point --referencePoint TSS -b 1000 -a 1000 -R genes.bed -S -o matrix.gz

Each of these commands comes with a variety of parameters that can be adjusted to customize the analysis. Users are encouraged to explore the documentation to understand the full capabilities of each tool and how they can be tailored to specific research needs.

deepTools represents a comprehensive solution for researchers working with sequencing data. Its efficiency, flexibility, and user-friendly design make it an indispensable tool in the field of bioinformatics. Whether you are a seasoned bioinformatician or new to the field, deepTools provides the necessary tools to advance your research and gain deeper insights into your data.