SkillAgentSearch skills...

SUPPA

SUPPA: Fast quantification of splicing and differential splicing

Install / Use

/learn @comprna/SUPPA

README

SUPPA

Fast, accurate, and uncertainty-aware differential splicing analysis across multiple conditions. Publications:

Here we provide an extensive explanation about how SUPPA works and all the running options. Read our short SUPPA tutorial on an example dataset.


Table of Contents



Overview


SUPPA is a flexible and powerful tool to study splicing at the transcript isoform or at the local alternative splicing event level, across multiple conditions, and at high speed and accuracy. SUPPA has various modular operations that can be run separately to:

  • Generate transcript events and local alternative splicing (AS) events from an annotation
  • Quantify transcript and local AS event inclusion levels (PSIs) from multiple samples
  • Calculate differential splicing for AS events and differential transcript usage across multiple conditions with replicates
  • Cluster events and transcripts according to PSI values across conditions

Slide1.jpg

Fig 1. SUPPA generates the alternative splicing events from an input annotation file (GTF format). The method reads transcript and gene information solely from the "exon" lines in the GTF. It then generates the events and outputs an ioe file, which contains the for each event the transcripts that describe either form of the event. Specifically, it provides the transcripts that contribute to the numerator (one form of the event) and the denominator (both forms of the event) of the PSI calculation. For the generation of PSI values, SUPPA reads the ioe file generated in the previous step and a transcript expression file with the transcript abundances to calculate the PSI value for each of the events.

figure2_for_readme_bitbucket.jpg

Fig 2. (a) SUPPA calculates the magnitude of splicing change (ΔPSI) (for events or transcripts) and its significance across multiple biological conditions, using two or more replicates per condition. Conditions are analyzed in a sequential order specified as input. (b) Statistical significance is calculated by comparing the observed ΔPSI between conditions with the distribution of the ΔPSI between replicates as a function of the expression of the transcripts defining the events (for events) or as a functon of the gene expression (for transcripts). When there is a large (>10) number of replicates per condition, you can also run SUPPA with a classical statistical test (Wilcoxon) per local event or per transcsript (not shown in the figure). (c) Using the output from the differential splicing analysis, SUPPA can cluster events or transcripts with similar splicing patterns across conditions using a density-based clustering algorithm.

We provide below detailed information on how to install and run SUPPA. Please join the SUPPA google-group for sharing your thoughts and questions (suppa-users@googlegroups.com).


Installation


SUPPA has been developed in Python 3.4.

If necessary, to install python3 we recommend to download from the official site https://www.python.org/downloads/ the corresponding version for your OS.

A installation using pip is available using the next command:

pip install SUPPA==2.3

By default SUPPA is installed into the Python package library directory. The following command can be executed to obtain the directory location:

pip show SUPPA 

SUPPA is ready to use. Once downloaded, it can be used directly from the command line by specifying the absolute path to the SUPPA executable (suppa.py).

Important: we have discontinued the conda download, as it is out of sync with the github. We recommend directly copying the code from github. The code is ready to use without any additional steps.

Alternatively, you can obtain the code for the SUPPA v2.4 latest release here: https://github.com/comprna/SUPPA/releases/tag/v2.4


Command and subcommand structure


SUPPA works with a command/subcommand structure:

suppa.py subcommand options

where the subcommand can be one of these five:

  • generateEvents : Generates events from an annotation.
  • psiPerEvent : Quantifies event inclusion levels (PSIs) from multiple samples.
  • psiPerIsoform : Quantifies isoform inclusion levels (PSIs) from multiple samples.
  • diffSplice : Calculate differential splicing across multiple conditions with replicates.
  • clusterEvents : Cluster events according to PSI values across conditions.

Note: Unless suppa was installed using a dependency manager (i.e. suppa would just be in the PATH), you can run suppa as:

python3.4 suppa.py subcommand options

Generation of transcript events and local alternative splicing events


SUPPA can work with local alternative splicing events or with transcripts "events" per gene. The local alternative splicing events are standard local splicing variations (see below), whereas a transcript event is an isoform-centric approach, where each isoform in a gene is described separately.

SUPPA generates the AS events or transcript events from an input annotation file (GTF format). The method reads transcript and gene information solely from the "exon" lines. It then generates the events and outputs an event file: .ioe format for local AS events, and .ioi format for transcripts.

The ioe file provides for each AS event in a gene, the transcripts that describe either form of the event. Specifically, it provides the transcripts that contribute to the numerator (one form of the event) and the denominator (both forms of the event) of the PSI calculation.

The ioi file provides for each transcript in a gene, the set of all transcripts from that gene from which the transcript relative abundance is calculated. Transcript events are important as they can describe splicing variations that are complex and cannot be encapsulated in a simple event (see e.g. Sebestyen et al. 2015 https://www.ncbi.nlm.nih.gov/pubmed/25578962).

Different local event types generated by SUPPA:

  • Skipping Exon (SE)
  • Alternative 5'/3' Splice Sites (A5/A3) (generated together with the option SS)
  • Mutually Exclusive Exons (MX)
  • Retained Intron (RI)
  • Alternative First/Last Exons (AF/AL) (generated together with the option FL)

Events_legend1.jpg

Events_legend2.jpg

Fig 3. The figure describes the nomenclature for events in the forward (upper panel) and reverse (lower panel) strands. Each event is identified uniquely by a set of coordinates: The start (s) and end (e) coordinates for the different exonic regions involved in the event. The external coordinates of the event are only used for the RI, AF and AL events. The form of the alternative splicing event that includes the region in black is the one for which the relative inclusion level (PSI) is given. The gray area denotes the other alternative form of the event. For instance, for RI the inclusion level is given for the form that retains the intron. Important: for the non-symmetrical events note that the meaning of the coordinates varies depending on the strand

Slide2.jpg

Fig 4. In case the option for variable boundaries is used -b V (see below), an user

Related Skills

View on GitHub
GitHub Stars297
CategoryDevelopment
Updated7d ago
Forks62

Languages

Python

Security Score

100/100

Audited on Mar 27, 2026

No findings