ASGAL (Alternative Splicing Graph ALigner) is a tool for detecting the alternative splicing events expressed in a RNA-Seq sample with respect to a gene annotation. The ASGAL approach consists of some steps:
- splicing graph construction: from the gene annotation, ASGAL builds the splicing graph representing the gene structure that is implied by the set of input transcripts.
- splice-aware alignment: ASGAL aligns the RNA-Seq reads against the splicing graph of the input gene. This procedure is tailored for such kind of alignments.
- detection of the alternative splicing events: the spliced alignments are analyzed to detect the alternative splicing events that are induced by the reads in the sample. Moreover ASGAL can report all events found, or only those that are not in the input annotation.
Alternative Splicing Events
Actually, ASGAL fully supports the following alternative splicing events:
- exon skipping
- alternative acceptor site
- alternative donor site
- intron retention (caused by the insertion of a new intron inside an exon)
Citation
If you use ASGAL, please cite its use as:
Luca Denti, Raffaella Rizzi, Stefano Beretta, Gianluca Della Vedova, Marco Previtali and Paola Bonizzoni. ASGAL: aligning RNA-Seq data to a splicing graph to detect novel alternative splicing events (BMC Bioinformatics, bibtex)
Install
ASGAL is available at Docker Hub. A detailed installation walkthrough and the documentation is available.
Example
The example
directory contains a small dataset on the gene
CG13375
of Drosophila Melanogaster.
If you already have docker installed, you can run ASGAL on that sample with the commands
wget https://github.com/AlgoLab/galig/raw/master/example/input.tar.gz
tar xfz input.tar.gz
docker run -v "$PWD"/input:/data algolab/asgal:latest
The running times will be a few seconds. Then you will find the file
events.events
in the input
directory. An extended explanation of this example
can be found here.
Contacts
If you have any question or you have any problem using the tool, please contact Luca Denti. Alternatively, you can use the issue tracker.