---
name: transcript-expression-quantification-handling
description: Use when you have transcript abundance estimates from RNA-seq quantification tools (e.
license: CC-BY-4.0
metadata:
  edam_operation: http://edamontology.org/operation_3258
  edam_topics:
  - http://edamontology.org/topic_3320
  - http://edamontology.org/topic_0080
  tools:
  - SUPPA2
derived_from:
- doi: 10.1186/s13059-018-1417-1
  title: suppa2
evidence_spans:
- 'SUPPA2: fast, accurate, and uncertainty-aware differential splicing analysis across multiple conditions'
claims: []
provenance:
  collection: https://w3id.org/holobiomicslab/asb-skill/collection/transcriptomics/v1
  assembled_by: scripts/collect_metabolomics_collection.py
  sources:
  - build: coll_suppa2
    doi: 10.1186/s13059-018-1417-1
    title: suppa2
  dedup_kept_from: coll_suppa2
schema_version: 0.2.0
---

# Transcript expression quantification handling

## Summary

Process and normalize transcript abundance quantification files to serve as input for PSI (percent-spliced-in) calculations and downstream differential splicing analysis. This skill bridges transcript-level expression data with isoform-centric alternative splicing quantification.

## When to use

You have transcript abundance estimates from RNA-seq quantification tools (e.g., Salmon, Kallisto, RSEM) and need to compute PSI values for alternative splicing events or transcript isoforms, or when preparing expression data for differential splicing analysis across multiple conditions with replicates.

## When NOT to use

- Expression quantification files are already aggregated to gene level (not transcript level) — SUPPA requires isoform-resolution abundance
- Input data are pre-computed PSI values rather than raw transcript abundances — skip directly to differential analysis
- Transcript identifiers in the expression file do not match the annotation GTF file used to generate events — resolve identifier mismatches first

## Inputs

- Transcript abundance quantification files (TPM, counts, or other expression units from Salmon, Kallisto, RSEM, or similar tools)
- Sample metadata mapping replicates to experimental conditions
- Event annotation files (.ioe for local AS events or .ioi for transcript isoforms) generated by SUPPA's generateEvents or psiPerIsoform subcommand

## Outputs

- PSI (percent-spliced-in) matrix files with per-event or per-isoform inclusion levels across samples
- Quantified inclusion/exclusion ratios suitable for differential splicing analysis
- Aligned, normalized expression data in a format compatible with SUPPA's diffSplice subcommand

## How to apply

Load transcript expression quantification files containing per-transcript abundance values (e.g., TPM or counts) for each sample. Align samples across conditions and apply normalization if needed to ensure comparability. Format the expression data to match the input requirements of SUPPA's psiPerEvent or psiPerIsoform subcommands, which consume these quantification files along with an ioe or ioi annotation file to calculate PSI values. The expression data directly populates the denominator and numerator of PSI calculations: PSI = (sum of inclusion-form transcript abundances) / (sum of all relevant transcript abundances). Verify that transcript identifiers in the expression files exactly match those in the generated event annotation files.

## Related tools

- **SUPPA2** (Consumes transcript expression quantification to calculate PSI values and perform differential splicing analysis with uncertainty-aware statistics) — https://github.com/comprna/SUPPA

## Evaluation signals

- PSI values fall within the valid range [0, 1] for all events and samples
- Transcript identifiers in expression files match 100% with identifiers in the ioe/ioi annotation files (no mismatches or unmapped transcripts)
- PSI matrices contain no missing values for events with sufficient transcript coverage; events with zero or low expression are appropriately flagged or excluded
- Distribution of PSI values across replicates within a condition shows expected low variance compared to between-condition variance for truly differential events
- Output PSI matrix dimensions match expected number of events (or isoforms) × number of samples

## Limitations

- Expression quantification must be at transcript or isoform level; gene-level counts cannot be disaggregated to isoforms without additional information
- Accuracy of PSI values is dependent on the accuracy and sensitivity of the upstream transcript quantification tool; low-abundance isoforms may be unreliably quantified
- Transcript identifiers must be consistent across quantification files and GTF annotation; mismatches will result in missing or failed PSI calculations
- SUPPA's uncertainty-aware differential splicing method leverages the distribution of ΔPSI between replicates; fewer replicates per condition reduce statistical power

## Evidence

- [other] Load PSI matrix files for each condition and transcript expression quantification files: "Load PSI matrix files for each condition and transcript expression quantification files."
- [readme] SUPPA reads transcript and gene information solely from the exon lines in the GTF, then generates events and outputs an ioe file with transcripts that contribute to the numerator and denominator of PSI calculation: "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"
- [readme] SUPPA reads the ioe file generated in the previous step and a transcript expression file with transcript abundances to calculate PSI value for each event: "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"
- [intro] Leveraging transcript quantification for fast computation of alternative splicing profiles: "Leveraging transcript quantification for fast computation of alternative splicing profiles"
- [other] Align samples across conditions and normalize expression values if needed: "Align samples across conditions and normalize expression values if needed."
