Complete bulk short-read alternative splicing analysis workflow from raw RNA-seq FASTQ files to differential splicing results and visualizations. Includes QC checkpoints and best practices. For variant-driven splice prediction use splice-variant-prediction; for rare-disease single-patient outlier detection use outlier-splicing-detection; for PacBio/ONT full-isoform analysis use long-read-splicing.
# Core tools
conda install -c bioconda star rmats-turbo ggsashimi fastp rseqc
# Python dependencies
pip install pandas numpy matplotlib
# R packages (optional, for isoform switching)
BiocManager::install('IsoformSwitchAnalyzeR')
Tell your AI agent what you want to do: - "Run a complete splicing analysis from my FASTQ files" - "Set up a splicing pipeline for my RNA-seq experiment" - "Analyze differential splicing between my conditions" - "Generate sashimi plots for my significant splicing events"
"I have RNA-seq FASTQs from 3 control and 3 treatment samples. Run a complete splicing analysis."
"Set up STAR 2-pass alignment and rMATS differential splicing for my samples."
"Align my samples with STAR 2-pass mode for optimal junction detection."
"Run junction saturation QC to check if I have enough sequencing depth."
"Visualize the top 20 differential splicing events with sashimi plots."
"Do I need one shared junction database for the cohort or per-sample 2-pass?"
"Should I test event-level (rMATS) or isoform-level (DTU), and how do I reconcile them?"
"How do I import for DTU - why is it different from my gene-level RNA-seq import?"
"My transcript-level FDR looks inflated - what's the stageR two-stage test for?"
--outSJfilterOverhangMin 8 8 8 8 to relax STAR's default (30 12 12 12) and retain shorter-overhang novel junctions; noise is removed later by the >=3 unique-read filter on the shared junction DB--readLength must match the trimmed readstxOut=TRUE + countsFromAbundance="dtuScaledTPM"