Skip to main content

The trackplot is a tool for visualizing various next-generation sequencing (NGS) data, including DNA-seq, RNA-seq, single-cell RNA-seq and full-length sequencing datasets. https://sashimi.readthedocs.io/

Project description

trackplot

PyPI version PyPI download install with bioconda Documentation Status License: BSD 3-Clause DOI


Tutorials

what is trackplot

trackplot is a tool for visualizing various next-generation sequencing (NGS) data, including DNA-seq, RNA-seq, single-cell RNA-seq and full-length sequencing datasets.

Features of trackplot

  1. Support various file formats as input
  2. Support strand-aware coverage plot
  3. Visualize coverage by heatmap, including HiC diagram
  4. Visualize protein domain based the given gene id
  5. Demultiplex the single-cell RNA/ATAC-seq which used cell barcode into cell population
  6. Support visualizing individual full-length reads in read-by-read style
  7. Support visualize circRNA sequencing data

Input

trackplot supports almost NGS data format, including

  • BAM
  • Bed
  • Depth file generated by samtools depth
  • bigBed [pyBigWig optional]
  • bigWig [pyBigWig optional]
  • naive Hi-C format [hicmatrix optional]

Output

The output will be a pdf and other image file formats which satisfy the requirement of the major journals, and each track on output corresponds these datasets from config file.

Usage

Trackplot is based on Python3 (python_requires='>=3.8'), and we have simplified the installation process on the main page. For a more comprehensive installation guide, please refer to this link.

For impatient

pip install trackplot
trackplot --help

# or using trackplot by conda

conda create -n trackplot -c bioconda -c conda-forge trackplot
conda activate trackplot
trackplot --help
Notes
  1. For users on Microsoft Windows, Mac (Apple Silicon), and other ARM platforms, please note that Trackplot may not be installable via PyPI or Conda due to compatibility issues with pysam, pybigwig, and hicmatrix libraries on these platforms. As an alternative, we recommend using the Docker image for installation.
  1. If you encounter a segment fault error during multiple processing, you may want to consider using the Docker image or running the command with the -p 1 flag.
  1. If you encounter the message Please install pyBigWig and hicmatrix, you can refer to the official documentation for pyBigWig and hicmatrix to fulfill their requirements and resolve the issue.
Using trackplot by a command line (click me)

  1. install from PyPi

Before running this command line, please check python (>=3.8) was installed.

pip install trackplot
# __Note:__ We noticed some pypi mirrors are not syncing some packages we depend on, 
# therefore please try another pypi mirror once you encounter 
# `No local packages or working download links found for xxx`

  1. AppImage (Linux/WSL x86_64 platform only)

For a binary version of the tool and more comprehensive information, please visit this link.

# example with version v0.3.5, please using your interested version according to your needs
export VERSION=0.3.5
chmod +x trackplot-${VERSION}-x86_64.AppImage
./trackplot-${VERSION}-x86_64.AppImage --help

  1. using docker image
docker pull ygidtu/trackplot
docker run --rm ygidtu/trackplot --help

  1. install from bioconda
# install trackplot into the default conda env 
conda install -c bioconda -c conda-forge trackplot

# or install trackplot into an isolated environments
conda create -n trackplot -c bioconda -c conda-forge trackplot

# activate the trackplot environment and execute the command line tool
conda activate trackplot
trackplot --help


Using trackplot by a local webserver (click me)

  1. AppImage (Linux/WSL x86_64 only)
# example with version v0.3.3, please using your interested version according to your needs
export VERSION=0.3.3
gunzip trackplot-${VERSION}-x86_64.AppImage
chmod +x trackplot-${VERSION}-x86_64.AppImage
./trackplot-${VERSION}-x86_64.AppImage --help

# startup webserver
./trackplot-${VERSION}-x86_64.AppImage --start-server --host 0.0.0.0 --port 5000 --plots ./plots

Note: the --plots were required while using appimages


  1. Running using command line
trackplot --start-server --host 0.0.0.0 --port 5000 --plots ./plots
  1. Running using docker image
docker pull ygidtu/trackplot

# Deploy the server
docker run --name trackplot \
  --rm -v $PWD/example:/data -v $PWD/plots/:/plots -p 5000:5000 ygidtu/trackplot \
  --start-server \
  --host 0.0.0.0 \
  --data /data \
  --plots /plots

-p: public and private port for the server, default:5000(public):5000(private)

  • -v, --volume: mount the working directory to docker container, for example, the $PWD/data could replace by the path to your directory contains all necessary data
  • --user: prevent docker read and write file using root privileges


Example

The example folder is downloaded from here. And a more detailed tutorial could be found at here.

# example of basic plot types
trackplot \
  -e chr1:1270656-1284730:+ \
  -r example/example.sorted.gtf.gz \
  --interval example/interval_list.tsv \
  --density example/density_list.tsv \
  --show-junction-num \
  --igv example/igv.tsv \
  --heatmap example/heatmap_list.tsv \
  --focus 1272656-1272656:1275656-1277656 \
  --stroke 1275656-1277656:1277856-1278656@blue \
  --sites 1271656,1271656,1272656 \
  --line example/line_list.tsv \
  -o example.png \
  --dpi 300 \
  --width 10 \
  --height 1 \
  --barcode example/barcode_list.tsv \
  --domain --remove-duplicate-umi \
  --normalize-format cpm \
  --annotation-scale .3 \
  -p 4

if trackplot was installed by docker, here is the cmd

## The absolute path is required in Docker env.
 
cat $PWD/example/interval_list.tsv |grep -v '^#' | while read line; do echo $PWD/${line}; done > $PWD/example/interval_list.abspath.tsv
cat $PWD/example/density_list.tsv |grep -v '^#' | while read line; do echo $PWD/${line}; done > $PWD/example/density_list.abspath.tsv
cat $PWD/example/igv.tsv |grep -v '^#' | while read line; do echo $PWD/${line}; done > $PWD/example/igv.abspath.tsv
cat $PWD/example/heatmap_list.tsv |grep -v '^#' | while read line; do echo $PWD/${line}; done > $PWD/example/heatmap_list.abspath.tsv

docker run -v $PWD:$PWD -w $PWD --rm ygidtu/trackplot \
  -e chr1:1270656-1284730:+ \
  -r $PWD/example/example.sorted.gtf.gz \
  --interval $PWD/example/interval_list.tsv \
  --density $PWD/example/density_list.tsv \
  --show-junction-num \
  --igv $PWD/example/igv.tsv \
  --heatmap $PWD/example/heatmap_list.tsv \
  --focus 1272656-1272656:1275656-1277656 \
  --stroke 1275656-1277656:1277856-1278656@blue \
  --sites 1271656,1271656,1272656 \
  --line $PWD/example/line_list.tsv \
  -o example.png \
  --dpi 300 \
  --width 10 \
  --height 1 \
  --barcode $PWD/example/barcode_list.tsv \
  --domain --remove-duplicate-umi \
  --normalize-format cpm \
  --annotation-scale .3 \
  -p 4

here is the output file.

Questions

Visit issues or contact Yiming Zhang or Ran Zhou

Citation

If you use the tool in your publication, please cite by

Zhang Y, Zhou R, Liu L, et al. Trackplot: A flexible toolkit for combinatorial analysis of genomic data[J]. PLoS computational biology, 2023, 19(9): e1011477.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trackplot-0.5.7.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

trackplot-0.5.7-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file trackplot-0.5.7.tar.gz.

File metadata

  • Download URL: trackplot-0.5.7.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for trackplot-0.5.7.tar.gz
Algorithm Hash digest
SHA256 94e722ea3190daef7f1eaa4e82bda3ce7667a7bfdf91e2699f2d3201f3ed9bbc
MD5 dbe0c52f877af9d9acb4a81757ef312d
BLAKE2b-256 dced8b930ea19f654344ae2058d8f06596586031b72054918205cac2ffb5ce63

See more details on using hashes here.

File details

Details for the file trackplot-0.5.7-py3-none-any.whl.

File metadata

  • Download URL: trackplot-0.5.7-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for trackplot-0.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f67005eacc9081877c8a126eaddbe8f06b9ec56b7c65186e7571ec47f93c321b
MD5 c03df477b90a8d6cabb120c6437fc538
BLAKE2b-256 fb5e04403f445dfdf6c1469cb87cd5d1a8274352f8fd911a1d5e1d015e2df7e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page