guigolab / ggsashimi

Command-line tool for the visualization of splicing events across multiple samples
MIT License
122 stars 42 forks source link

ggsashimi

Build Status

Command-line tool for the visualization of splicing events across multiple samples

Installation
Dependencies
Download docker image
Build docker image
Use docker image
Usage
Galaxy
Cite ggsashimi

image

Installation

The ggsashimi script can be directly downloaded from this repository:

wget https://raw.githubusercontent.com/guigolab/ggsashimi/master/ggsashimi.py

Change the execution permissions:

chmod u+x ggsashimi.py

Provided all dependencies are already installed (see below), you can directly execute the script:

./ggsashimi.py --help

To download the entire repository, which includes the dockerfile and example files:

git clone https://github.com/guigolab/ggsashimi.git

Dependencies

In order to run ggsashimi the following software components and packages are required:

Additional required R packages grid and gtable should be automatically installed when installing R and ggplot2, respectively. Package svglite (>=1.2.1) is also required when generating output images in SVG format.

To avoid dependencies issues, the script is also available through a docker image.

Download docker image

A public ggsashimi Docker image is available in the Docker Hub and can be downloaded as follows:

docker pull guigolab/ggsashimi

Alternatively, we provide the Dockerfile if you want to build your local docker image, although most users will not need it.

Build docker image (optional)

After downloading the repository, move inside the repository folder:

cd ggsashimi

To build the docker image run the following command:

docker build -f docker/Dockerfile -t guigolab/ggsashimi .

This can take several minutes.

Use docker image

Once the image is downloaded or built, to execute ggsashimi with docker:

docker run guigolab/ggsashimi --help

Because the image is used in a docker container which has its own file system, to use the program with local files, a host data volume needs to be mounted.

As an example, you can run this command from the main repository folder:

docker run -w $PWD -v $PWD:$PWD guigolab/ggsashimi -b examples/input_bams.tsv -c chr10:27040584-27048100

The '-w' option sets the working directory inside the container to the current directory. The '-v' option mounts the current working directory and all child folders inside the container to the same path (host_path:container_path).

If your files are in another folder, for example the annotation file is stored in a different folder then the one containing the bam file, you can mount extra folders like this:

f="$DIR/annotation.gtf"
docker run -w $PWD -v $PWD:$PWD -v $DIR:$DIR guigolab/ggsashimi -b examples/input_bams.tsv -c chr10:27040584-27048100 -g $f

You can even mount a single file:

docker run -w $PWD -v $PWD:$PWD -v $f:$f guigolab/ggsashimi -b examples/input_bams.tsv -c chr10:27040584-27048100 -g $f

Usage

Execute the script with --help option for a complete list of options. Sample data and usage examples can be found at examples

Debug mode

Debug mode allows to run ggsashimi without producing any graphical output. It creates an Rscript file in the current working folder, containing all the R commands to generate the plot. It can be useful when reporting bugs or trying to debug the program behavior. Debug mode can be enabled by setting the environment variable GGSASHIMI_DEBUG when running the script, e.g.:

# export the environment variable
$ export GGSASHIMI_DEBUG=yes
$ ggsashimi.py -b ...

or

# set the environment variable inline
$ GGSASHIMI_DEBUG=yes ggsashimi.py -b ...

Galaxy

Thanks to ARTbio, now a Galaxy wrapper for ggsashimi is available at the Galaxy ToolShed.

Cite ggsashimi

If you find ggsashimi useful in your research please cite the related publication:

Garrido-Martín, D., Palumbo, E., Guigó, R., & Breschi, A. (2018). ggsashimi: Sashimi plot revised for browser-and annotation-independent splicing visualization. PLoS computational biology, 14(8), e1006360.