pyGenomeTracks
Standalone program and library to plot beautiful genome browser tracks
pyGenomeTracks aims to produce high-quality genome browser tracks that are highly customizable. Currently, it is possible to plot:
- bigwig
- bed/gtf (many options)
- bedgraph
- epilogos
- narrow peaks
- links (represented as arcs)
- Hi-C matrices
pyGenomeTracks can make plots with or without Hi-C data. The following is an example output of pyGenomeTracks from Ramírez et al. 2017
Table of content
Installation
pyGenomeTracks works with python >=3.6.
The recommended way to install pyGenomeTracks is via conda
$ conda create -n pygenometracks -c bioconda -c conda-forge pygenometracks python=3.7
To get a specific version, one can specify it. For example:
$ conda create -n pygenometracks -c bioconda -c conda-forge pygenometracks=3.5 python=3.7
Also, pyGenomeTracks can be installed using pip
$ pip install pyGenomeTracks
If the latest version wants to be installed use:
$ pip install git+https://github.com/deeptools/pyGenomeTracks.git
Usage
To run pyGenomeTracks a configuration file describing the tracks is required. The easiest way to create this file is using the program make_tracks_file
which creates a configuration file with
defaults that can be easily changed. The format is:
$ make_tracks_file --trackFiles <file1.bed> <file2.bw> ... -o tracks.ini
make_tracks_file
uses the file ending to guess the file type.
Then, a region can be plotted using:
$ pyGenomeTracks --tracks tracks.ini --region chr2:10,000,000-11,000,000 --outFileName nice_image.pdf
The ending --outFileName
defines the image format. If .pdf
is used, then the resulting image is a pdf. The options are pdf, png and svg.
Description of other possible arguments:
optional arguments:
-h, --help show this help message and exit
--tracks TRACKS File containing the instructions to plot the tracks.
The tracks.ini file can be genarated using the
`make_tracks_file` program.
--region REGION Region to plot, the format is chr:start-end
--BED BED Instead of a region, a file containing the regions to
plot, in BED format, can be given. If this is the
case, multiple files will be created using a prefix
the value of --outFileName
--width WIDTH figure width in centimeters (default is 40)
--height HEIGHT Figure height in centimeters. If not given, the figure
height is computed based on the heights of the tracks.
If given, the track height are proportionally scaled
to match the desired figure height.
--title TITLE, -t TITLE
Plot title
--outFileName OUTFILENAME, -out OUTFILENAME
File name to save the image, file prefix in case
multiple images are stored
--fontSize FONTSIZE Font size for the labels of the plot (default is 0.3 *
figure width)
--dpi DPI Resolution for the image in case the ouput is a raster
graphics image (e.g png, jpg) (default is 72)
--trackLabelFraction TRACKLABELFRACTION
By default the space dedicated to the track labels is
0.05 of the plot width. This fraction can be changed
with this parameter if needed.
--trackLabelHAlign {left,right,center}
By default, the horizontal alignment of the track
labels is left. This alignemnt can be changed to right
or center.
--decreasingXAxis By default, the x-axis is increasing. Use this option
if you want to see all tracks with a decreasing
x-axis.
--version show program's version number and exit
Citation
If you use pyGenomeTracks in your analysis, you can cite the following paper :
Fidel Ramírez, Vivek Bhardwaj, Laura Arrigoni, Kin Chung Lam, Björn A. Grüning, José Villaveces, Bianca Habermann, Asifa Akhtar & Thomas Manke. High-resolution TADs reveal DNA sequences underlying genome organization in flies. Nature Communications (2018) doi:10.1038/s41467-017-02525-w
Documentation
Our documentation provide examples, as well as the full list of possible parameters and guidelines for developers who would like to add a new track type.