Overview
createSplicingMap() quantifies RBP binding frequency at
every position across a four-region window spanning the exon-intron
junctions of skipped-exon (SE) alternative splicing events from rMATS
output.
Event classification
Events are classified into three groups based on
IncLevelDifference, PValue, and
FDR:
-
Retained —
IncLevelDifference < -0.1: exon inclusion significantly higher in condition 1 -
Excluded —
IncLevelDifference > 0.1: exon skipping significantly higher in condition 1 - Control — non-significant, stable inclusion (PValue > 0.95)
Control which events fall into each group:
createSplicingMap(
bed_file = sample_bed,
SEMATS = sample_se.mats,
p_valueRetainedAndExclusion = 0.05,
p_valueControls = 0.95,
retained_IncLevelDifference = -0.1,
exclusion_IncLevelDifference = 0.1,
Min_Count = 50
)Window size
Adjust how far into exons and introns the analysis extends:
createSplicingMap(
bed_file = sample_bed,
SEMATS = sample_se.mats,
WidthIntoExon = 75,
WidthIntoIntron = 400
)Smoothing
A per-bin moving average is applied to reduce positional noise. Adjust the window size or disable smoothing:
# Wider smoothing window
createSplicingMap(bed_file = sample_bed, SEMATS = sample_se.mats, moving_average = 100)
# No smoothing
createSplicingMap(bed_file = sample_bed, SEMATS = sample_se.mats, moving_average = NULL)Bootstrap control and significance testing
The control distribution is built by bootstrapping: at each of
control_iterations replicates, a random sample of
(n_retained + n_excluded) × control_multiplier control
events is drawn and their binding frequency computed. The mean ± SD
across replicates forms the control ribbon on the plot.
Significance is assessed at each position using a z-score:
z = (observed_frequency − control_mean) / control_SD
Contiguous runs of ≥ min_consecutive significant
positions are reported as enriched regions and drawn as colored bars
above the plot.
createSplicingMap(
bed_file = sample_bed,
SEMATS = sample_se.mats,
control_multiplier = 2.0,
control_iterations = 30,
use_fdr = TRUE,
fdr_threshold = 0.05,
min_consecutive = 10,
one_sided = TRUE,
show_significance = TRUE
)Returning data
freq_df <- createSplicingMap(
bed_file = sample_bed,
SEMATS = sample_se.mats,
return_data = TRUE
)
head(freq_df)