Skip to content

DiseaseTranscriptomicsLab/betAS

 
 

Repository files navigation

betAS

Please note that you are currently in the development branch. This README file is under active maintenance

Original article:

Mariana Ascensão-Ferreira, Rita Martins-Silva, Nuno Saraiva-Agostinho and Nuno L. Barbosa-Morais (2024). betAS: intuitive analysis and visualisation of differential alternative splicing using beta distributions. RNA 30:337–353

betAS is a user-friendly App and R package that allows intuitive analysis and visualisation of differential alternative splicing (AS) based on beta distributions.

Beta distributions are suitable to quantify inclusion proportions of alternative sequences, using RNA sequencing reads supporting their inclusion and exclusion as surrogates for the two distribution shape parameters. Each beta distribution has the inclusion proportion as mean value and is narrower when the read coverage is higher, facilitating the interpretability of its precision when plotted. betAS uses beta distributions to accurately model PSI values and their precision, and to quantitatively and visually compare AS between groups of samples.

betAS allows the analysis of user-provided tables with AS quantifications, such as those obtained by vast-tools, rMATS or Whippet, ranking differentially spliced events by a significance metric that incorporates the compromise between the uncertainty in individual sample estimates and the variability among replicates.

Tutorials

The following tutorials are available:

Get started

Web App Hosting

betAS is freely available at https://compbio.imm.medicina.ulisboa.pt/app/betAS

Installation

If you prefer to use betAS locally (as a Shiny app or as an R package), you can do so by following one of the following approaches:

A) R package

Install the latest version of the betAS R package from GitHub with:

# install.packages("devtools")
devtools::install_github("DiseaseTranscriptomicsLab/[email protected]")
library(betAS)

To explore the functionalities of betAS for analyzing differential alternative splicing, you now have the option to initiate the Shiny App using the command betASapp() or navigate through its functions. For the latter, you may find the Command-line interface tutorial useful.

B) Docker image

  1. Pull the latest version of the image from DockerHub, or specify a tag:
docker pull marianaferreira/betas:latest
  1. Start RStudio Web from the Docker image:
docker run -e PASSWORD=bioc -p 8787:8787 marianaferreira/betas:latest
  1. Go to RStudio Web via the web browser at https://localhost:8787

  2. Log in RStudio with user rstudio and password bioc

  3. Load betAS using library(betAS)

  4. Start the visual interface of betAS with betASapp()

C) GitHub / R Studio

  1. Download the latest stable version of the repository from this link and unzip the files.
  2. Open R Studio and change your working directory to this new folder.
  3. In the console, run devtools::load_all(), which will simulate what happens when a package is installed and loaded with library().
  4. Start the visual interface of betAS by running betASapp().
  5. If you wish to make changes to the Shiny app, you can adapt the content of the R/betASapp.R script. For instance, the default input file size is configured to 100Mb. You have the flexibility to modify this value by adjusting the shiny.maxRequestSize parameter.

Workflow

1) Load datasets from AS tools

betAS facilitates the visualization and analysis of data coming from three alternative splicing (AS) tools: vast-tools, rMATS, and Whippet. These specific tools were selected because their outputs consist of inclusion tables, providing counts for both inclusion and exclusion reads.

  • vast-tools: *INCLUSION_LEVELS_FULL*.tab file.
  • rMATS: *MATS.JC.txt file.
  • Whippet: *.psi.gz files, with one file per sample.

For a clearer understanding, refer to the example below illustrating the expected formats of these files:

vast-tools:

Specifically, when using vast-tools, it's crucial to recognize that results from the tidy module or outputs from vast-tools combine are not compatible with betAS. This is because these outputs lack the necessary information regarding the counts of inclusion and exclusion reads.

GENE EVENT COORD LENGTH FullCO COMPLEX SRR645824 SRR645824.Q SRR645826 SRR645826.Q SRR645828 SRR645828.Q SRR645830 SRR645830.Q SRR645872 SRR645872.Q SRR645875 SRR645875.Q SRR645877 SRR645877.Q SRR645879 SRR645879.Q
Cdc45 MmuEX6061348 chr16:18795095-18795226 132 chr16:18795825+18795831,18795095-18795226,18794860+18794874 S 100 SOK,SOK,92=102=0,OK,[email protected],0.00 100 SOK,SOK,102=102=0,OK,[email protected],0.00 100 SOK,SOK,94=98=0,OK,[email protected],0.00 100 SOK,SOK,75=70=0,OK,[email protected],0.00 100 N,N,1=2=0,OK,[email protected],0.00 100 N,N,2=3=0,OK,[email protected],0.00 100 N,N,2=1=0,OK,[email protected],0.00 100 N,N,1=2=0,OK,[email protected],0.00
Narf MmuEX0030885 chr11:121250293-121250430 138 chr11:121249192,121250293-121250430,121250760 S 100 OK,OK,19=30=0,OK,[email protected],0.00 100 OK,OK,26=18=0,OK,[email protected],0.00 100 OK,OK,26=19=0,OK,[email protected],0.00 100 OK,OK,20=20=0,OK,[email protected],0.00 100 SOK,SOK,66=68=0,OK,[email protected],0.00 100 SOK,SOK,66=54=0,OK,[email protected],0.00 100 SOK,SOK,73=70=0,OK,[email protected],0.00 100 SOK,SOK,90=63=0,OK,[email protected],0.00
Scmh1 MmuEX0041239 chr4:120524998-120525063 66 chr4:120522649,120524998-120525063,120528156 S 100 VLOW,VLOW,9=13=0,OK,[email protected],0.00 100 LOW,LOW,13=15=0,OK,[email protected],0.00 92.86 VLOW,VLOW,12=14=1,OK,[email protected],1.93 100 VLOW,VLOW,12=7=0,OK,[email protected],0.00 100 LOW,LOW,12=24=0,OK,[email protected],0.00 94.74 LOW,LOW,17=19=1,OK,[email protected],1.95 100 OK,OK,15=24=0,OK,[email protected],0.00 95.35 LOW,LOW,27=14=1,OK,[email protected],1.95
Tfe3 MmuEX0046712 chrX:7767893-7767997 105 chrX:7767684,7767893-7767997,7769430 S 93.62 OK,OK,36=52=3,OK,[email protected],5.81 89.36 OK,OK,31=53=5,OK,[email protected],9.47 92.16 OK,OK,44=50=4,OK,[email protected],7.68 87.34 OK,OK,35=34=5,OK,[email protected],9.37 81.4 LOW,LOW,14=21=4,OK,[email protected],7.25 100 OK,OK,22=18=0,OK,[email protected],0.00 94.74 VLOW,VLOW,9=27=1,B1,[email protected],1.95 90.24 OK,OK,16=21=2,OK,[email protected],3.81
Axin2 MmuEX0007157 chr11:108942935-108943129 195 chr11:108942696,108942935-108943129,108943656 S 100 N,N,6=8=0,OK,[email protected],0.00 100 N,N,1=8=0,B2,[email protected],0.00 100 N,N,2=13=0,B2,[email protected],0.00 100 LOW,LOW,11=16=0,OK,[email protected],0.00 100 N,N,4=4=0,OK,[email protected],0.00 100 N,N,3=5=0,OK,[email protected],0.00 100 N,N,5=4=0,OK,[email protected],0.00 100 N,N,4=8=0,OK,[email protected],0.00

rMATS:

ID GeneID geneSymbol chr strand exonStart_0base exonEnd upstreamES upstreamEE downstreamES downstreamEE ID.1 IJC_SAMPLE_1 SJC_SAMPLE_1 IJC_SAMPLE_2 SJC_SAMPLE_2 IncFormLen SkipFormLen PValue FDR IncLevel1 IncLevel2 IncLevelDifference
0 ENSMUSG00000095041.7 AC149090.1 chrJH584304.1 - 53535 54479 52189 52367 54720 54867 0 56,60,33,17 0,0,0,0 720,721,583,759 3,1,0,0 98 49 1 1.0 1.0,1.0,1.0,1.0 0.992,0.997,1.0,1.0 0.003
1 ENSMUSG00000095041.7 AC149090.1 chrJH584304.1 - 53535 54479 52189 52367 55111 55701 1 18,13,13,3 0,0,0,0 237,239,217,257 0,0,0,1 98 49 1 1.0 1.0,1.0,1.0,1.0 1.0,1.0,1.0,0.992 0.002
2 ENSMUSG00000095041.7 AC149090.1 chrJH584304.1 - 54720 54867 52189 52367 55111 55701 2 85,85,87,48 0,0,0,0 1265,1231,1084,1299 0,0,0,1 98 49 1 1.0 1.0,1.0,1.0,1.0 1.0,1.0,1.0,0.998 0
3 ENSMUSG00000095041.7 AC149090.1 chrJH584304.1 - 54720 54867 53535 54479 55111 55701 3 123,132,107,63 0,0,0,1 1746,1714,1450,1804 1,2,0,3 98 49 1 1.0 1.0,1.0,1.0,0.969 0.999,0.998,1.0,0.997 -0.006
4 ENSMUSG00000095041.7 AC149090.1 chrJH584304.1 - 56985 57151 55111 55701 58563 58835 4 67,53,64,22 16,31,17,17 1011,950,879,1178 227,238,209,216 98 49 0.0151293862075 0.115879863089 0.677,0.461,0.653,0.393 0.69,0.666,0.678,0.732 -0

Whippet:

Gene Node Coord Strand Type Psi CI_Width CI_Lo,Hi Total_Reads Complexity Entropy Inc_Paths Exc_Paths Edges
ENSMUSG00000048960.13 1 chr1:10993465-10993517 + TS 1 0.514 0.473,0.987 3 K1 0 2:1.0 NA NA
ENSMUSG00000048960.13 2 chr1:10993518-10993909 + TS 0 0.5143 0.0127,0.527 3 K1 0 1-2:0.0 NA NA
ENSMUSG00000048960.13 3 chr1:10993910-10996601 + NA NA NA NA NA NA NA NA NA NA
ENSMUSG00000048960.13 4 chr1:11061326-11061397 + CE NA NA NA NA NA NA NA NA NA
ENSMUSG00000048960.13 5 chr1:11065794-11065916 + CE NA NA NA NA NA NA NA NA NA

2) Filter events and visualize PSI distributions

betAS provides various approaches to filter alternative splicing events, allowing users to tailor their analysis based on specific criteria. These filters include:

  • Event Type Filtering:

    • Filter the dataset based on alternative splicing event types. Their nomenclature is the same as the one used in the individual AS tools.
  • PSI Value Range Filtering:

    • Specify a PSI value range to consider (e.g., PSI ∈ [0, 100]).
  • Minimum Supporting Reads Filtering:

    • Filter events with less than a given number of supporting reads in at least one sample.
    • Supports filtering based on the sum of inclusion and exclusion reads.

After filtering, you can obtain an overview of PSIs in the samples being analyzed.

3) Perform differential AS analyses

3.1) Between two groups

betAS approach for alternative splicing analyses takes into account two metrics for each alternative splicing event under analyses: the magnitude of the effect (𝚫PSI = PSIbetAS(group A) - PSIbetAS(group B)) and the statistical significance of such changes. For the latter, betAS introduces three approaches: probability of differential splicing (Pdiff), F-statistic or false discovery rate (FDR).

  • Pdiff: This approach takes the two sets of random points per condition and calculates, for each AS event’s estimated ∆PSI, the proportion of differences between these that are greater than zero, which has the same interpretation as asking what proportion of beta distribution-emitted values for one condition are higher than those emitted for the other, thus reflecting the probability of differential AS of PSIbetAS(group A) being greater than PSIbetAS(group B).

  • F-statistic: betAS also enables an ANOVA-like analysis of variance, comparing inter- and intra-group variabilities. For each event, within is considered the set of differences between each pair of samples that are part of the same group and between the set of differences between each pair of groups. The ratio of the median absolute values of between and within therefore provides an “F-like” statistic. This metric provides a compromise between the effect size of AS differences and their significance.

  • FPR: Random generation of points from a beta distribution is used to estimate the null distribution’s PSI and its precision. Then, one point is randomly selected from each of the sample’s null distribution and, keeping the samples’ group assignment (i.e., which samples belong to each group), the ∆PSI between groups under the null hypothesis is calculated. The process is repeated many times (10 000 by default) and the FPR is the proportion of ∆PSI random simulations that are larger than (i.e., more extreme) or equal to the empirical ∆PSI.

3.2) Between multiple groups

The differential AS approach implemented by betAS can be applied to multiple (i.e., more than two) groups in a novel ANOVA-inspired way that extends the Pdiff definition to the comparison of the differences between samples belonging to different biological conditions to those found between replicates.

Feedback and support

Please send any feedback and questions on betAS to:

Mariana Ascensão-Ferreira ([email protected])

Rita Martins-Silva ([email protected])

Disease Transcriptomics Lab ([email protected])

Disease Transcriptomics Lab, Instituto de Medicina Molecular (Portugal)

About

Intuitive analysis and visualisation of differential alternative splicing based on beta distributions.

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Packages

 
 
 

Contributors