Skip to content
cccskills
FreePublished on GitHub

bioconductor-splicewiz

The analysis and visualization of alternative splicing (AS) events from RNA sequencing data remains challenging. SpliceWiz is a user-friendly and performance-optimized R package for AS analysis, by processing alignment BAM files to quantify read counts across splice junctions, IRFinder-based intron retention quantitation, and supports novel splicing event identification. We introduce a novel visualization for AS using normalized coverage, thereby allowing visualization of differential AS across

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md8.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SpliceWiz

Workflows

Standard Workflow

Build a reference, process alignment BAM files, collate sample data, filter low-confidence events, and perform differential alternative splicing analysis.

library(SpliceWiz)

# 1. Build the reference
ref_path <- file.path(tempdir(), "Reference")
buildRef(
  reference_path = ref_path,
  fasta = chrZ_genome(),
  gtf = chrZ_gtf(),
  ontologySpecies = "Homo sapiens"
)

# 2. Process BAM files
bams <- SpliceWiz_example_bams()
pb_path <- file.path(tempdir(), "pb_output")
processBAM(
  bamfiles = bams$path,
  sample_names = bams$sample,
  reference_path = ref_path,
  output_path = pb_path
)

# 3. Collate the experiment
expr <- findSpliceWizOutput(pb_path)
nxtse_path <- file.path(tempdir(), "NxtSE_output")
collateData(
  Experiment = expr,
  reference_path = ref_path,
  output_path = nxtse_path
)

# 4. Import the experiment
se <- makeSE(nxtse_path)

Input: Genome FASTA, GTF annotation, and raw BAM files. Output: A collated NxtSE object containing alternative splicing quantifications.

Novel Splicing Detection

Detect and analyze novel alternative splicing events using unannotated junctions and tandem reads.

library(SpliceWiz)

ref_path <- file.path(tempdir(), "Reference")
bams <- SpliceWiz_example_bams()
pb_path <- file.path(tempdir(), "pb_output")
expr <- findSpliceWizOutput(pb_path)

nxtse_path <- file.path(tempdir(), "NxtSE_output_novel")
collateData(
  Experiment = expr,
  reference_path = ref_path,
  output_path = nxtse_path,
  novelSplicing = TRUE,
  novelSplicing_requireOneAnnotatedSJ = TRUE,
  novelSplicing_minSamples = 3,
  novelSplicing_minSamplesAboveThreshold = 1,
  novelSplicing_countThreshold = 10,
  novelSplicing_useTJ = TRUE
)

se <- makeSE(nxtse_path)

Input: Processed BAM outputs and a reference path. Output: A collated NxtSE object containing identified and filtered novel splicing events.

Star Alignment And Reference Generation

Build a STAR genome index and align FASTQ files to generate BAMs using SpliceWiz wrappers.

library(SpliceWiz)

# Locate BAM files generated by STAR alignment
bams <- findBAMS(tempdir(), level = 1)

Input: Directory containing STAR-aligned BAM files. Output: A data frame of BAM file paths and sample names.

Coverage Visualization

The analysis and visualization of alternative splicing (AS) events from RNA sequencing data remains

library(SpliceWiz)

if (interactive()) {
  spliceWiz(demo = TRUE)
}

Input: Interactive R session. Output: Launches the SpliceWiz Shiny-based graphical user interface for coverage and alternative splicing visualization.

Novel Splicing Analysis

The analysis and visualization of alternative splicing (AS) events from RNA sequencing data remains

library(SpliceWiz)

ref_path <- file.path(tempdir(), "Reference")
buildRef(
  reference_path = ref_path,
  fasta = chrZ_genome(),
  gtf = chrZ_gtf()
)

bams <- SpliceWiz_example_bams()
pb_path <- file.path(tempdir(), "pb_output")
processBAM(
  bamfiles = bams$path,
  sample_names = bams$sample,
  reference_path = ref_path,
  output_path = pb_path
)

expr <- findSpliceWizOutput(pb_path)
nxtse_path <- file.path(tempdir(), "NxtSE_output_novel")
collateData(
  Experiment = expr,
  reference_path = ref_path,
  output_path = nxtse_path,
  novelSplicing = TRUE
)

se <- makeSE(nxtse_path)

Input: Genome FASTA, GTF, and BAM files. Output: An NxtSE object containing quantified annotated and novel alternative splicing events.

When to Use

  • Quantifying alternative splicing events (ASEs) such as skipped exons (SE), mutually-exclusive exons (MXE), alternative 5'/3' splice sites (A5SS/A3SS), alternate first/last exons (AFE/ALE), and retained introns (IR/RI) from RNA-seq BAM files using processBAM().
  • Detecting novel splicing events using unannotated junctions and tandem junction reads by setting novelSplicing = TRUE in collateData().
  • Building a customized SpliceWiz reference from genome FASTA and GTF files using buildRef().
  • Performing interactive differential alternative splicing analysis and coverage visualization using the Shiny GUI launched via spliceWiz().

When NOT to Use

  • For alignment of raw FASTQ reads directly in R if STAR is not installed or if wrappers are not preferred; use external aligners instead.
  • When system memory is extremely limited (e.g., < 8 GB RAM) for building human/mouse references or processing large BAM files; buildRef() and processBAM() require at least 8-16 GB RAM.
  • For single-threaded collation of very large datasets where memory is a constraint unless lowMemoryMode = TRUE is specified in collateData().

Data Requirements

  • Genome FASTA file (e.g., from chrZ_genome()) and gene annotation GTF file (e.g., from chrZ_gtf()).
  • RNA-seq alignment BAM files (either read-name sorted or coordinate sorted) containing gapped junction reads.
  • A sample annotation table (e.g., CSV format) mapping sample names to experimental conditions.

Key Parameters

  • reference_path: Directory path where the SpliceWiz reference is built or stored.
  • fasta: Path to the genome FASTA file used in buildRef().
  • gtf: Path to the gene annotation GTF file used in buildRef().
  • novelSplicing (FALSE): Logical parameter in collateData() to enable novel alternative splicing event discovery.
  • novelSplicing_requireOneAnnotatedSJ (FALSE): Logical parameter in collateData() requiring novel junctions to share at least one annotated splice site.
  • novelSplicing_minSamples (1): Minimum number of samples required to retain a novel junction.
  • lowMemoryMode (FALSE): Logical parameter in collateData() to minimize RAM usage to ~8 GB during collation.
  • n_threads (1): Number of threads for multi-threaded operations in processBAM() and collateData().

Best Practices

  • Verify that OpenMP is enabled for multi-threaded BAM processing via processBAM(), especially on macOS where libomp may need to be installed.
  • Use findBAMS() with level = 0 or level = 1 to systematically locate BAM files and automatically resolve sample names.
  • Use findSpliceWizOutput() to organize the output files of processBAM() before running collateData().
  • Set lowMemoryMode = TRUE in collateData() when collating large experiments (20+ samples) on machines with limited RAM.

Common Pitfalls

  • Out of memory errors during collation: Occurs when running collateData() with multiple threads on large datasets; fix by setting lowMemoryMode = TRUE to limit RAM usage to ~8 GB.
  • Low mappability regions confounding intron retention (IR) analysis: Repetitive regions can skew IR ratios; fix by specifying genome_type (e.g., "hg38", "mm10") in buildRef() to use pre-built mappability exclusions.
  • Missing statistical dependencies for differential analysis: Attempting differential analysis without required packages; fix by installing DoubleExpSeq, DESeq2, limma, or edgeR.

Alternatives

  • DESeq2: For gene-level differential expression analysis using negative binomial models.
  • edgeR: For differential expression and quasi-likelihood-based analysis of count data.
  • limma: For modeling log-normal distributions of expression data.

Citations

  • Wong, A. C. H. (2026). SpliceWiz: Quick Start. R Package Vignette.

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill