Tool: trackplot: Fast and minimal dependency standalone R script to generate IGV style locus tracks from bigWig files
11
gravatar for poisonAlien
8 weeks ago by
poisonAlien3.0k
Asgard
poisonAlien3.0k wrote:

If you are working with chip-seq or atac-seq or any assays resulting in bigWig files, one of the common visualizations is to generate track plots displaying signal intensities across genomic loci. Libraries in R like Gviz facilitates such visualization but they are slow, complicated, and come with a large number of dependencies, not to mention R versions themselves.

Introducing trackplot - a fast and minimal dependency standalone R script to generate IGV style locus tracks from bigWig files in R. trackplot has only two depdencies namely data.table R package, and bwtool CLI tool.

Features:

  • Its fast since most of the heavy lifting is done by bwtool
  • Plots are generated using pure base graphics (no ggplot2 or tidyverse dependencies)
  • Automatically queries UCSC genome browser for gene models.
  • Supports GTF and standard UCSC gene formats as well.
  • Customization: Each track can be customized for color, scale, height/width.
  • Region highlighting, gene track collapsing, etc

Usage:

trackplot is a standalone R script and requires no installation. Just source it and you're good to go!

Source code on Github. Comments and suggestions are always welcome :)

# download and source the script  
> download.file(url = "https://raw.githubusercontent.com/PoisonAlien/trackplot/master/trackplot.R", destfile = "trackplot.R") 
> source('trackplot.R') 

> trackplot(bigWigs = c("CD34.bw", "EC.bw", "LC.bw", "CD4p.bw", "CD8p.bw"),   
          loci = "chr3:187,715,903-187,752,003",   
          draw_gene_track = TRUE, build = "hg38", mark_regions = markregions,   
          custom_names = c("CD34", "EC", "LC", "CD4+", "CD8+") )

edit: Answering the comments, bwtool pre-built binaries are now included as part of the trackplot repository. Just make them executable and start using them.

ADD COMMENTlink modified 7 weeks ago by Sael20 • written 8 weeks ago by poisonAlien3.0k

Try these instructions for bwtool compilation. It should work. Copied below as well.

git clone 'https://github.com/CRG-Barcelona/bwtool'
git clone 'https://github.com/CRG-Barcelona/libbeato'
git clone https://github.com/madler/zlib

cd libbeato/
git checkout 0c30432af9c7e1e09ba065ad3b2bc042baa54dc2
./configure
make
cd ..

cd zlib
./configure
make
cd ..

cd bwtool/
./configure CFLAGS='-I../libbeato -I../zlib' LDFLAGS='-L../libbeato/jkweb -L../libbeato/beato -L../zlib'
make

# copy/move the binary to PATH or to a directory under PATH
sudo cp bwtool /usr/local/bin
ADD REPLYlink modified 7 weeks ago • written 8 weeks ago by poisonAlien3.0k

Hi I tried your script to make the plots but got an error

Parsing loci..
Queried region: chr1:202717141-202817514 [100373 bps]
Checking for files..
 Error in .check_bwtool() : 
Could not locate bwtool. Download it from here: https://github.com/CRG-Barcelona/bwtool/releases

The bwtool installed using the same lines above.

git clone 'https://github.com/CRG-Barcelona/bwtool'
git clone 'https://github.com/CRG-Barcelona/libbeato'
git clone https://github.com/madler/zlib

cd libbeato/
git checkout 0c30432af9c7e1e09ba065ad3b2bc042baa54dc2
./configure
make
cd ..

cd zlib
./configure
make
cd ..

cd bwtool/
./configure CFLAGS='-I../libbeato -I../zlib' LDFLAGS='-L../libbeato/jkweb -L../libbeato/beato -L../zlib'
make

R session

R version 3.6.2 (2019-12-12)
Platform: x86_64-pc-linux-gnu (64-bit)

Running under: Ubuntu 18.04.5 LTS

Matrix products: default

BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1

LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8    LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C



attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.2    parallel_3.6.2    tools_3.6.2       tinytex_0.27      data.table_1.13.2 xfun_0.19
ADD REPLYlink written 7 weeks ago by Sael20

Did you add it to PATH or to a folder in PATH?

ADD REPLYlink written 7 weeks ago by ATpoint44k

I just added it to PATH. Still I get the same error.

ADD REPLYlink modified 7 weeks ago • written 7 weeks ago by Sael20

Problem solved using:

git clone https://github.com/CRG-Barcelona/libbeato.git
git clone https://github.com/CRG-Barcelona/bwtool.git
cd libbeato/
./configure
git checkout 0c30432af9c7e1e09ba065ad3b2bc042baa54dc2
make
sudo make install
cd ../bwtool/
./configure
make
sudo make install
ADD REPLYlink written 7 weeks ago by Sael20

You are almost there. You just need to copy/move the binary to a PATH (e.g; /usr/local/bin) or to a directory under PATH.

ADD REPLYlink written 7 weeks ago by poisonAlien3.0k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1778 users visited in the last hour
_