leafcutter-ds
A Python re-implementation of the leafcutter differential splicing algorithm.
{ width="50%" }
What does leafcutter do?
Annotation-free quantification of RNA splicing.
Leafcutter quantifies RNA splicing variation using short-read RNA-seq data. The core idea is to leverage spliced reads (reads that span an intron) to quantify (differential) intron usage across samples. The advantages of this approach include:
- Easy detection of novel introns
- Modeling of more complex splicing events than exonic PSI
- Avoiding the challenge of isoform abundance estimation
- Simple, computationally efficient algorithms scaling to 100s or even 1000s of samples
Original method by Yang I. Li1, David A. Knowles1, Jack Humphrey, Alvaro N. Barbeira, Scott P. Dickinson, Hae Kyung Im, Jonathan K. Pritchard.
1 Equal contribution
See the bioRxiv preprint and Nature Genetics publication for details.
Python re-implementation by Scott I. Adamson and David A. Knowles.
Why another implementation?
The original leafcutter uses RStan, which has historically been difficult to install for many users. This Python/Pyro implementation overcomes that dependency. It is also compatible with the new leafcutter2 implementation, which annotates unproductive splicing events based on leafcutter clusters (see the Nature Genetics publication).
Quick start
pip install leafcutter
Or install from source:
git clone https://github.com/leafcutter2/leafcutter-ds.git
cd leafcutter-ds
pip install -e .
The installation provides five command-line tools:
leafcutter-cluster— cluster introns from junction filesleafcutter-ds— differential splicing analysisleafcutter-bayes— Bayesian differential splicingleafcutter-gtf-to-exons— Exon table preparation from gtf file for use with leafcutter-dsleafcutter-prepare-phenotype— Splicing phenotype table for downstream sQTL calling tools.
Community
If you have usage questions, join the Google group, or creating an issue on the github.