Learn R Programming

scCustomize

scCustomize is a collection of functions created and/or curated to aid in the visualization and analysis of single-cell data using R.

Vignettes/Tutorials

See accompanying scCustomize website for detailed tutorials of all aspects of scCustomize functionality.

Installing scCustomize

scCustomize can be installed from CRAN on all platforms. For more detailed instructions see Installation.

# Base R
install.packages("scCustomize")

# Using pak
pak::pkg_install("scCustomize")

Release Notes

A full copy of the changes in each version can be found in the NEWS/ChangeLog.

Develop branch
I also maintain a separate development branch* that can be installed by supplying ref = "develop" in the devtools or remotes installation command. Version scheme vX.X.X.9yyy.
*Note: While this branch is typically mostly stable it may contain breaking issues/bugs.
I do try and keep development ChangeLog up to date so it’s easier to follow changes than reading commit history.

Bug Reports/New Features

If you run into any issues or bugs please submit a GitHub issue with details of the issue.

  • If possible please include a reproducible example (suggest using SeuratData package pbmc dataset for lightweight examples.)

Any requests for new features or enhancements can also be submitted as GitHub issues.

  • Even if you don’t know how to implement/incorporate with current package go ahead a submit!

Pull Requests are welcome for bug fixes, new features, or enhancements.

  • Please set PR to merge with “develop” branch and provide description of what the PR contains (referencing existing issue(s) if appropriate).

Copy Link

Version

Install

install.packages('scCustomize')

Monthly Downloads

2,307

Version

3.1.3

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Samuel Marsh

Last Published

August 26th, 2025

Functions in scCustomize (3.1.3)

Cell_Highlight_Plot

Meta Highlight Plot
Cells.liger

Extract Cells from LIGER Object
CellBender_Feature_Diff

CellBender Feature Differences
Case_Check

Check for alternate case features
Cells_per_Sample

Cells per Sample
CellBender_Diff_Plot

Plot Number of Cells/Nuclei per Sample
Cells_by_Identities_LIGER

Extract Cells by identity
Change_Delim_All

Change all delimiters in cell name
Cluster_Stats_All_Samples

Calculate Cluster Stats
Clustered_DotPlot

Clustered DotPlot
Convert_Assay

Convert between Seurat Assay types
ColorBlind_Pal

Color Universal Design Short Palette
Copy_From_GCP

Copy folder from GCP bucket from R Console
Copy_To_GCP

Copy folder to GCP bucket from R Console
Cluster_Highlight_Plot

Cluster Highlight Plot
DotPlot_scCustom

Customized DotPlot
DiscretePalette_scCustomize

Discrete color palettes
CheckMatrix_scCustom

Check Matrix Validity
DimPlot_All_Samples

DimPlot by Meta Data Column
Dataset_Size_LIGER

Check size of LIGER datasets
Dark2_Pal

Dark2 Palette
Create_Cluster_Annotation_File

Create cluster annotation csv file
Change_Delim_Prefix

Change barcode prefix delimiter
Extract_Modality

Extract multi-modal data into list by modality
Change_Delim_Suffix

Change barcode suffix delimiter
DimPlot_LIGER

DimPlot LIGER Version
Embeddings.liger

Extract matrix of embeddings
DimPlot_scCustom

DimPlot with modified default settings
Barcode_Plot

Create Barcode Rank Plot
Blank_Theme

Blank Theme
Extract_Sample_Meta

Extract sample level meta.data
Extract_Top_Markers

Extract Top N Marker Genes
Create_10X_H5

Create H5 from 10X Outputs
Idents.liger

Extract or set default identities from object
FeatureScatter_scCustom

Modified version of FeatureScatter
Hue_Pal

Hue_Pal
Get_Reference_LIGER

Get Reference Dataset
FeaturePlot_scCustom

Customize FeaturePlot
Feature_Present

Check if genes/features are present
Factor_Cor_Plot

Factor Correlation Plot
Iterate_Barcode_Rank_Plot

Iterative Barcode Rank Plots
Create_CellBender_Merged_Seurat

Create Seurat Object with Cell Bender and Raw data
Fetch_Meta

Get meta data from object
Find_Factor_Cor

Find Factor Correlations
MAD_Stats

Median Absolute Deviation Statistics
Iterate_VlnPlot_scCustom

Iterative Plotting of Gene Lists using VlnPlot_scCustom
Iterate_Plot_Density_Joint

Iterative Plotting of Gene Lists using Custom Joint Density Plots
Median_Stats

Median Statistics
PalettePlot

Plot color palette in viewer
Percent_Expressing

Calculate percent of expressing cells
PC_Plotting

PC Plots
NavyAndOrange

Navy and Orange Dual Color Palette
Iterate_Plot_Density_Custom

Iterative Plotting of Gene Lists using Custom Density Plots
Iterate_Cluster_Highlight_Plot

Iterate Cluster Highlight Plot
FeaturePlot_DualAssay

Customize FeaturePlot of two assays
Meta_Remove_Seurat

Remove meta data columns containing Seurat Defaults
Iterate_PC_Loading_Plots

Iterate PC Loading Plots
Iterate_DimPlot_bySample

Iterate DimPlot By Sample
Liger_to_Seurat

JCO_Four

Four Color Palette (JCO)
Plot_Median_Mito

Plot Median Percent Mito per Cell per Sample
Plot_Median_Other

Plot Median other variable per Cell per Sample
Plot_Median_UMIs

Plot Median UMIs per Cell per Sample
Meta_Numeric

Check if meta data columns are numeric
Proportion_Plot

Cell Proportion Plot
Features.liger

Extract Features from LIGER Object
Iterate_FeaturePlot_scCustom

Iterative Plotting of Gene Lists using Custom FeaturePlots
Meta_Present

Check if meta data are present
QC_Plot_UMIvsGene

QC Plots Genes vs UMIs
QC_Plots_Combined_Vln

QC Plots Genes, UMIs, & % Mito
QC_Plots_Genes

QC Plots Genes
Move_Legend

Move Legend Position
QC_Plots_Mito

QC Plots Mito
Plot_Density_Joint_Only

Nebulosa Joint Density Plot
Meta_Highlight_Plot

Meta Highlight Plot
Plot_Median_Genes

Plot Median Genes per Cell per Sample
QC_Plot_UMIvsFeature

QC Plots UMI vs Misc
QC_Plots_UMIs

QC Plots UMIs
Plot_Cells_per_Sample

Plot Number of Cells/Nuclei per Sample
Random_Cells_Downsample

Randomly downsample by identity
QC_Plot_GenevsFeature

QC Plots Genes vs Misc
Read_Add_cNMF

Read and add results from cNMF
Proportion_Plot_per_Sample

Cell Proportion Plot per Sample
Iterate_Meta_Highlight_Plot

Iterate Meta Highlight Plot
Merge_Seurat_List

Merge a list of Seurat Objects
Merge_Sparse_Data_All

Merge a list of Sparse Matrices
Merge_Sparse_Multimodal_All

Merge a list of Sparse Matrices contain multi-modal data.
QC_Histogram

QC Histogram Plots
Pull_Cluster_Annotation

Pull cluster information from annotation csv file.
Plot_Density_Custom

Nebulosa Density Plot
Read_CellBender_h5_Mat

Load CellBender h5 matrices (corrected)
Pull_Directory_List

Pull Directory List
Read10X_GEO

Load in NCBI GEO data from 10X
Read_Metrics_CellBender

Read Overall Statistics from CellBender
Reduction_Loading_Present

Check if reduction loadings are present
Read_CellBender_h5_Multi_File

Load CellBender h5 matrices (corrected) from multiple files
Read_CellBender_h5_Multi_Directory

Load CellBender h5 matrices (corrected) from multiple directories
Seq_QC_Plot_Basic_Combined

QC Plots Sequencing metrics (Layout)
Read10X_Multi_Directory

Load 10X count matrices from multiple directories
Seq_QC_Plot_Alignment_Combined

QC Plots Sequencing metrics (Alignment) (Layout)
Seq_QC_Plot_Antisense

QC Plots Sequencing metrics (Alignment)
Seq_QC_Plot_Intergenic

QC Plots Sequencing metrics (Alignment)
Seq_QC_Plot_Intronic

QC Plots Sequencing metrics (Alignment)
Read_Metrics_10X

Read Overall Statistics from 10X Cell Ranger Count
Seq_QC_Plot_Genome

QC Plots Sequencing metrics (Alignment)
Read_GEO_Delim

Load in NCBI GEO data formatted as single file per sample
Seq_QC_Plot_Genes

QC Plots Sequencing metrics
Rename_Clusters

Rename Clusters
Replace_Suffix

Replace barcode suffixes
Seq_QC_Plot_Exonic

QC Plots Sequencing metrics (Alignment)
Seq_QC_Plot_Reads_per_Cell

QC Plots Sequencing metrics
Seq_QC_Plot_Saturation

QC Plots Sequencing metrics
QC_Plots_Feature

QC Plots Feature
QC_Plots_Complexity

QC Plots Cell "Complexity"
Split_Layers

Split Seurat object into layers
Seq_QC_Plot_Total_Genes

QC Plots Sequencing metrics
Split_Vector

Split vector into list
Seq_QC_Plot_UMIs

QC Plots Sequencing metrics
Setup_scRNAseq_Project

Setup project directory structure
Read10X_h5_GEO

Load in NCBI GEO data from 10X in HDF5 file format
Read10X_h5_Multi_Directory

Load 10X h5 count matrices from multiple directories
Single_Color_Palette

Single Color Palettes for Plotting
Seq_QC_Plot_Reads_in_Cells

QC Plots Sequencing metrics
Seq_QC_Plot_Number_Cells

QC Plots Sequencing metrics
SpatialDimPlot_scCustom

SpatialDimPlot with modified default settings
VlnPlot_scCustom

VlnPlot with modified default settings
WhichCells.liger

Extract Cells for particular identity
Updated_HGNC_Symbols

Update HGNC Gene Symbols
Updated_MGI_Symbols

Update MGI Gene Symbols
Add_Top_Gene_Pct_Seurat

as.anndata

Convert objects to anndata objects
VariableFeaturePlot_scCustom

Custom Labeled Variable Features Plot
Variable_Features_ALL_LIGER

Perform variable gene selection over whole dataset
exAM_Scoring

Add exAM Gene List Module Scores
ensembl_ribo_id

Ensembl Ribo IDs
as.Seurat.liger

Convert objects to Seurat objects
as.LIGER

Convert objects to LIGER objects
Store_Palette_Seurat

Store color palette in Seurat object
Subset_LIGER

Subset LIGER object
Seq_QC_Plot_Transcriptome

QC Plots Sequencing metrics (Alignment)
ensembl_exAM_list

Immediate Early Gene (IEG) gene lists
ensembl_ieg_list

Immediate Early Gene (IEG) gene lists
Stacked_VlnPlot

Stacked Violin Plot
Store_Misc_Info_Seurat

Store misc data in Seurat object
ensembl_lncRNA_id

Ensembl lncRNA IDs
exAM_gene_list

exAM gene lists
ensembl_malat1_list

MALAT1 gene lists
ensembl_mito_id

Ensembl Mito IDs
reexports

Objects exported from other packages
msigdb_qc_gene_list

QC Gene Lists
scCustomize-package

scCustomize: Custom Visualizations & Functions for Streamlined Analyses of Single Cell Sequencing
seq_zeros

Create sequence with zeros
scCustomize_Palette

Color Palette Selection for scCustomize
ensembl_hemo_id

Ensembl Hemo IDs
ieg_gene_list

Immediate Early Gene (IEG) gene lists
Top_Genes_Factor

Extract top loading genes for LIGER factor
plotFactors_scCustom

Customized version of plotFactors
theme_ggprism_mod

Modified ggprism theme
viridis_plasma_dark_high

Viridis Shortcuts
msigdb_qc_ensembl_list

QC Gene Lists
UnRotate_X

Unrotate x axis on VlnPlot
lncRNA_gene_list

lncRNA gene list
Add_Alt_Feature_ID

Add Alternative Feature IDs
Add_Cell_QC_Metrics

Add Multiple Cell Quality Control Values with Single Function
Add_Cell_Complexity

Add Cell Complexity
Add_Mito_Ribo

Add Mito and Ribo percentages
Add_CellBender_Diff

Calculate and add differences post-cell bender analysis
Add_Hemo

Add Hemoglobin percentages
Add_MALAT1_Threshold

Add MALAT1 QC Threshold
Add_Sample_Meta

Add Sample Level Meta Data
Add_Top_Gene_Pct

Add Percent of High Abundance Genes
Add_Pct_Diff

Add percentage difference to DE results