Package index
Creating a Matisse object
Start here. This function combines your Seurat object with splicing data into a single Matisse object (and computes PSI) in one call. Pass junction_counts for short-read (junction) mode, or transcript_counts for long-read (transcript) mode, plus splice events via events (data.frame or path to a SUPPA2 .ioe file).
-
show(<MatisseObject>)dim(<MatisseObject>)`[`(<MatisseObject>,<ANY>,<ANY>,<ANY>)`[[`(<MatisseObject>,<ANY>,<ANY>)`$`(<MatisseObject>) - The MatisseObject S4 class
-
CreateMatisseObject() - Create a MatisseObject
Retrieve or update your data
Matisse-specific accessors. For raw count and annotation matrices, use the native Seurat API on the embedded Seurat object: e.g. SeuratObject::GetAssayData(GetSeurat(obj)[[“isoform”]], “counts”) for junction or transcript counts, or GetSeurat(obj)[[“psi”]][[]] for the per-event annotation table.
-
GetSeurat() - Get the embedded Seurat object
-
GetPSI() - Get the PSI matrix
-
SetPSI() - Set the PSI matrix
-
MatisseMeta()`MatisseMeta<-`() - Get or set cell-level metadata
Normalisation
Normalise count data before clustering. SCTransform applies variance stabilisation and scales for sequencing depth – in transcript mode it targets the isoform assay automatically; in junction mode it targets the gene-expression assay. NormalizeData, ScaleData, and FindVariableFeatures are log-normalisation alternatives.
-
SCTransform(<MatisseObject>) - SCTransform normalisation for MatisseObjects
-
NormalizeData(<MatisseObject>) - Normalise gene-expression counts for a MatisseObject
-
ScaleData(<MatisseObject>) - Scale gene-expression data for a MatisseObject
-
FindVariableFeatures(<MatisseObject>) - Identify highly variable features for a MatisseObject
Dimensionality reduction
Reduce the high-dimensional feature space to a compact representation before clustering and visualisation. RunPCA is the standard route after SCTransform; RunSVD (LSI) is used for ATAC-seq data in multiome experiments.
-
RunPCA(<MatisseObject>) - Run PCA on a MatisseObject
-
RunUMAP(<MatisseObject>) - Run UMAP on a MatisseObject
-
RunTSNE(<MatisseObject>) - Run t-SNE on a MatisseObject
Clustering and differential expression
Group cells by transcriptional state and identify marker genes. All functions operate on the embedded Seurat object and return the updated MatisseObject — except FindMarkers, which returns a data frame.
-
FindNeighbors(<MatisseObject>) - Compute a shared nearest-neighbour graph for a MatisseObject
-
FindClusters(<MatisseObject>) - Cluster cells in a MatisseObject
-
FindMarkers(<MatisseObject>) - Find differentially expressed markers for a MatisseObject
Metadata
Add or update per-cell metadata columns. New columns are accessible immediately via MatisseMeta() and the $ operator.
-
AddMetaData(<MatisseObject>) - Add metadata columns to a MatisseObject
Signac / ATAC-seq methods
For multiome (paired ATAC + RNA) datasets. RunTFIDF normalises peak counts; FindTopFeatures selects variable peaks; RunSVD performs Latent Semantic Indexing (LSI) — the ATAC equivalent of PCA.
-
RunTFIDF(<MatisseObject>) - Run TF-IDF normalisation for a MatisseObject
-
FindTopFeatures(<MatisseObject>) - Find highly variable ATAC-seq features for a MatisseObject
-
RunSVD(<MatisseObject>) - Run SVD (LSI) for a MatisseObject
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). CreateMatisseObject() calls CalculatePSI() automatically; you only call it directly to recompute with different parameters (e.g. min_coverage) or after constructing with defer_psi = TRUE.
-
CalculatePSI() - Calculate PSI matrix from junction or transcript 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. QC columns written automatically: nCount_isoform and nFeature_isoform at construction; nPercent_isoform after CalculatePSI().
-
FilterCells() - Filter cells by 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 PSI values (events x cells, DoHeatmap style)
-
PlotSashimi() - Sashimi-style coverage plot for a splice event
-
MergeMatisse() - Merge two MatisseObjects by cells