Skip to contents

Creating a Matisse object

Start here. This function combines your Seurat object with splicing data into a single Matisse object ready for analysis. Pass junction_counts for short-read (junction) mode, or transcript_counts + ioe_files for long-read (event) mode.

Retrieve or update your data

Functions for pulling specific data tables out of your Matisse object, or putting updated tables back in.

GetSeurat()
Get the embedded Seurat object
GetPSI()
Get the PSI matrix
SetPSI()
Set the PSI matrix
GetJunctionCounts()
Get raw junction count matrix
GetInclusionCounts()
Get inclusion read count matrix
GetExclusionCounts()
Get exclusion read count matrix
GetTranscriptCounts()
Get transcript count matrix
GetEventData()
Get splice event annotation table
GetJunctionData()
Get junction annotation table
MatisseMeta() `MatisseMeta<-`()
Get or set cell-level metadata
AddIsoformMetadata()
Add columns to the cell metadata

Normalisation

Normalise count data before clustering. SCTransform applies variance stabilisation and scales for sequencing depth. In event mode it normalises the transcript assay; in junction mode it normalises the gene-expression assay by default.

SCTransform(<MatisseObject>)
SCTransform normalisation for MatisseObjects

Calculate splicing ratios (PSI)

Compute PSI (Percent Spliced In) — the fraction of transcripts in each cell that include a given exon. Values range from 0 (exon always skipped) to 1 (exon always included). In event mode this is done at construction; in junction mode call CalculatePSI() explicitly.

CalculatePSI()
Calculate PSI matrix from junction counts
SummarizePSI()
Summarize PSI distribution across cells for each event

Quality control and filtering

Identify and remove cells or splicing events that don’t have enough data for reliable analysis.

ComputeIsoformQC()
Compute per-cell isoform QC metrics
FilterCells()
Filter cells by isoform QC thresholds
FilterEvents()
Filter splice events by coverage or variance

Visualisation

Plot splicing patterns across your cells. Overlay any feature — PSI values, junction counts, or gene expression — on a UMAP, compare splicing between cell types, or inspect junction usage for a gene of interest. Pass the feature name via the feature argument.

PlotUMAP()
UMAP plot coloured by any feature
PlotViolin()
Violin plot of feature values split by cell group
PlotHeatmap()
Heatmap of feature values across cells and events
PlotCoverage()
Junction coverage bar plot for a gene
PlotQCMetrics()
Violin/ridge plot of isoform QC metrics

Utilities

Helper functions for building event tables and combining datasets.

BuildSimpleEvents()
Build a minimal junction event annotation table
MergeMatisse()
Merge two MatisseObjects by cells