Home
Name Modified Size InfoDownloads / Week
plugin 2026-06-16
src 2026-06-16
stringtie.gtf 2026-06-16 63.5 MB
short.junc.info 2026-06-16 10.1 MB
long.junc.info 2026-06-16 22.0 MB
infraglong-st2.gtf 2026-06-16 64.7 MB
GetUniqueJuncCov.sh 2026-06-16 550 Bytes
GetUniqueAndShareInfo.sh 2026-06-16 2.3 kB
GetUniqueAndShareInfo-InGTF.sh 2026-06-16 1.2 kB
GetJunctionInfo.sh 2026-06-16 170 Bytes
CountLowCovAS.R 2026-06-16 1.5 kB
CountLowCovAS_and_FisherTest.R 2026-06-16 2.2 kB
chess3.1.3.GRCh38.junc 2026-06-16 9.1 MB
ReadMe.md 2026-06-16 6.5 kB
Totals: 14 Items   169.5 MB 0

Reproducing Alternative Splicing Analyses in Supplemental Table S5 and Supplemental Table S6

This directory contains scripts and example data required to reproduce the alternative splicing (AS) analyses reported in Supplemental Table S6 for the ONT-CapTrap-data_1 dataset.

✨ Overview

The analysis compares transcript assemblies generated by:

  1. Native long reads only (StringTie2)
  2. InFragLong-enhanced assembly (InFragLong + StringTie2)

AS events are classified into:

  • Lost-AS: Present in the native long-read assembly but absent after InFragLong integration.
  • Gained-AS: Newly detected after InFragLong integration.
  • Retained-AS: Detected in both assemblies.

The downstream analyses quantify:

  • Native long-read support for each AS event.
  • Enrichment of low-abundance AS events among Lost-AS and Gained-AS categories.
  • Fisher’s exact tests comparing Lost-AS or Gained-AS against Retained-AS.

Software Requirements

Before running the pipeline from raw BAM files, compile the source code:

cd src 
make release

Required Reference File

The following file must be placed in the working directory:

chess3.1.3.GRCh38.junc

This file contains annotated splice junctions extracted from the CHESS v3.1.3 annotation.

It can be generated from the CHESS GTF file using:

plugin/get_junction_fromGTF chess3.1.3.GRCh38.gtf > chess3.1.3.GRCh38.junc

Example Data Provided

We provide the following files for the ONT-CapTrap-data_1 dataset:

chess3.1.3.GRCh38.junc long.junc.info short.junc.info stringtie.gtf infraglong-st2.gtf

The files long.junc.info and short.junc.info can also be regenerated from BAM files using:

  bash ./GetJunctionInfo.sh short.bam long.bam 

after compiling the source code.

Using the provided files, all analyses corresponding to ONT-CapTrap-data_1 in Supplemental Table S6 can be reproduced directly.


Step 1. Extract Junction Information

If starting from BAM files:

bash ./GetJunctionInfo.sh short.bam long.bam

Output: long.junc.info and short.junc.info. These files contain splice junction information extracted from native long reads and synthetic short reads, respectively.


Step 2. Identify Shared and Unique Junctions

bash ./GetUniqueAndShareInfo.sh

This script compares splice junctions detected from native long-read alignments and synthetic short-read alignments and identifies annotated alternative splicing (AS) events that are uniquely supported by either data type.

Output:

  • long.unique: AS events detected only in native long-read alignments.
  • short.unique: AS events detected only in synthetic short-read alignments.

In addition, the script reports to the terminal the numbers of AS events supported by:

  • native long reads only,
  • synthetic short reads only,
  • both native long reads and synthetic short reads (consensus).

These statistics correspond to the results reported in Supplemental Table S5.


Step 3. Generate Transcript Assemblies

Generate transcript assemblies using: StringTie2 and InFragLong (with Stringtie2 and -c 1) to obtain: stringtie.gtf and infraglong-st2.gtf

The resulting assemblies (stringtie.gtf and infraglong-st2.gtf) are used in the downstream analyses to identify Lost-AS, Gained-AS, and Retained-AS events.

For convenience, the assembly results for the ONT-CapTrap-data_1 dataset are already provided in this directory, so this step can be skipped when reproducing the results reported in Supplemental Table S6.


Step 4. Classify Alternative Splicing Events

bash ./GetUniqueAndShareInfo-InGTF.sh

Output:

  • junc.infst2.uniq (e.g., Gained AS events,present only after introducing synthetic short reads)

  • junc.st2.uniq (e.g., Lost AS events present only in native long-read assemblies)

  • junc.share (e.g.,Retained AS events present in both assemblies).

In addition, the script prints to the terminal:

  • the number of Gained-AS, Lost-AS, and Retained-AS events;

  • the number of unannotated splice junctions in each category.

These statistics correspond to the AS-event counts reported in Supplemental Table S6 .


Step 5. Calculate Native Long-Read Support

For each AS category, calculate support from native long reads:

bash GetUniqueJuncCov.sh junc.st2.uniq long.junc.info > junc.st2.uniq.cov 
bash GetUniqueJuncCov.sh junc.infst2.uniq long.junc.info > junc.infst2.uniq.cov 
bash GetUniqueJuncCov.sh junc.share long.junc.info > junc.share.cov

Outputs:

File AS category
junc.st2.uniq.cov Lost-AS
junc.infst2.uniq.cov Gained-AS
junc.share.cov Retained-AS

Each file records the number of native long reads supporting the corresponding splice junctions.


Step 6. Count Low-Abundance AS Events

Low-abundance AS events are defined as splice junctions supported by ≤ 2 native long reads.

Rscript CountLowCovAS.R junc.st2.uniq.cov junc.infst2.uniq.cov junc.share.cov

This script reports:

  • Number of low-abundance AS events
  • Number of non-low-abundance AS events

for:

  • Lost-AS
  • Gained-AS

These counts correspond to those reported in Supplemental Table S6,the results prints to the terminal.


Step 7. Perform Fisher's Exact Tests

Lost-AS vs Retained-AS

 Rscript CountLowCovAS_and_FisherTest.R junc.share.cov junc.st2.uniq.cov Lost

This test evaluates whether low-abundance AS events are enriched among Lost-AS events relative to Retained-AS events.

Gained-AS vs Retained-AS

 Rscript CountLowCovAS_and_FisherTest.R junc.share.cov junc.infst2.uniq.cov Gained

This test evaluates whether low-abundance AS events are enriched among Gained-AS events relative to Retained-AS events.


Reproducing Supplemental Table S6 (ONT-CapTrap-data_1)

Using the provided files:

chess3.1.3.GRCh38.junc long.junc.info short.junc.info stringtie.gtf infraglong-st2.gtf

and executing the commands described above, users can reproduce all statistics reported for ONT-CapTrap-data_1 in Supplemental Table S6, including:

  • Numbers of Lost-AS, Gained-AS, and Retained-AS events.
  • Native long-read support for each AS category.
  • Counts of low-abundance and non-low-abundance AS events.
  • Fisher’s exact test results.

📬 Contact

yutingsdu@163.com

Source: ReadMe.md, updated 2026-06-16