Skip to contents

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.


Basic usage

createSplicingMap(
    bed_file = sample_bed,
    SEMATS   = sample_se.mats
)

Event classification

Events are classified into three groups based on IncLevelDifference, PValue, and FDR:

  • RetainedIncLevelDifference < -0.1: exon inclusion significantly higher in condition 1
  • ExcludedIncLevelDifference > 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)