ScMetabolism
Quantifying metabolism activity at the single-cell resolution
Install / Use
/learn @wu-yc/ScMetabolismREADME
scMetabolism
🤖 We're still cooking — Stay tuned! 🤖
⭐ Give us a star if you like it! ⭐
scMetabolism is a R package for quantifying metabolism activity at the single-cell resolution

Requirements
install.packages(c("devtools", "data.table", "wesanderson", "Seurat", "devtools", "AUCell", "GSEABase", "GSVA", "ggplot2","rsvd"))
devtools::install_github("YosefLab/VISION@v2.1.0") #Please note that the version would be v2.1.0
Install
devtools::install_github("wu-yc/scMetabolism")
Quick Start
scMetabolism generally supports the quantification and visualization of metabolism at the single-cell resolution.
scMetabolism currently supports human scRNA-seq data.
1. Load packages and demo data
The demo data is the dataset of Peripheral Blood Mononuclear Cells (PBMC) from 10X Genomics open access dataset (~2,700 single cells, also used by Seurat tutorial). The demo Seurat object can be downloaded from here.
load(file = "pbmc_demo.rda")
library(scMetabolism)
library(ggplot2)
library(rsvd)
2. Quantify single-cell metabolism with Seurat (Recommended)
countexp.Seurat<-sc.metabolism.Seurat(obj = countexp.Seurat, method = "AUCell", imputation = F, ncores = 2, metabolism.type = "KEGG")
obj is a Seurat object containing the UMI count matrix.
method supports VISION, AUCell, ssgsea, and gsva, which VISION is the default method.
imputation allows users to choose whether impute their data before metabolism scoring.
ncores is the number of threads of parallel computation.
metabolism.type supports KEGG and REACTOME, where KEGG contains 85 metabolism pathways and REACTOME contains 82 metabolism pathways.
To extract the metabolism score, just run metabolism.matrix <- countexp.Seurat@assays$METABOLISM$score, where metabolism.matrix is the matrix.
3. Visualize
Dimplot
DimPlot.metabolism(obj = countexp.Seurat, pathway = "Glycolysis / Gluconeogenesis", dimention.reduction.type = "umap", dimention.reduction.run = F, size = 1)
countexp.Seurat is a Seurat object containing the UMI count matrix.
pathway is the pathway of interest to visualize.
dimention.reduction.type supports umap and tsne.
dimention.reduction.run allows users to choose whether re-run the dimention reduction of the given Seurat object.
size is the dot size in the plot.
This function returns a ggplot object, which can be DIY by users.

Dot plot
input.pathway<-c("Glycolysis / Gluconeogenesis", "Oxidative phosphorylation", "Citrate cycle (TCA cycle)")
DotPlot.metabolism(obj = countexp.Seurat, pathway = input.pathway, phenotype = "ident", norm = "y")
obj is a Seurat object containing the UMI count matrix.
pathway is the pathway of interest to visualize.
phenotype is the one of the features contained in the metadata in the Seurat object.
norm refers to scale the value according to row or column. Users can choose "x", "y", and "na".
This function returns a ggplot object, which can be DIY by users.

Box plot
BoxPlot.metabolism(obj = countexp.Seurat, pathway = input.pathway, phenotype = "ident", ncol = 1)
obj is a Seurat object containing the UMI count matrix.
pathway is the pathway of interest to visualize.
phenotype is the one of the features contained in the metadata in the Seurat object.
ncol refers to the column number per row.
This function returns a ggplot object, which can be DIY by users.

4. Quantify single-cell metabolism WITHOUT Seurat (Not recommended)
scMetabolism also supports quantifying metabolism independent of Seurat.
metabolism.matrix<-sc.metabolism(countexp = countexp, method = "AUCell", imputation = F, ncores = 2, metabolism.type = "KEGG")
countexp is a data frame of UMI count matrix (col is cell ID, row is gene name).
method supports VISION, AUCell, ssgsea, and gsva, which VISION is the default method.
imputation allows users to choose whether impute their data before metabolism scoring.
ncores is the number of threads of parallel computation.
metabolism.type supports KEGG and REACTOME, where KEGG contains 85 metabolism pathways and REACTOME contains 82 metabolism pathways.
Citations
scMetabolism
- Yingcheng Wu, Shuaixi Yang, Jiaqiang Ma, Zechuan Chen, Guohe Song, Dongning Rao, Yifei Cheng, Siyuan Huang, Yifei Liu, Shan Jiang, Jinxia Liu, Xiaowu Huang, Xiaoying Wang, Shuangjian Qiu, Jianmin Xu, Ruibin Xi, Fan Bai, Jian Zhou, Jia Fan, Xiaoming Zhang, and Qiang Gao. Spatiotemporal Immune Landscape of Colorectal Cancer Liver Metastasis at Single-Cell Level. Cancer Discovery. 2021.
Genesets and algorithms
- DeTomaso D, et al. Nat Commun. 2019 Sep 26;10(1):4376.
- Aibar S, et al. Nat Methods. 2017 Nov;14(11):1083-1086.
- Xiao Z, et al. Nat Commun. 2019 Aug 21;10(1):3763.
- Hänzelmann S, et al. BMC Bioinformatics. 2013 Jan 16;14:7.
- George C. Linderman, et al. bioRxiv 2019.
Online version of scMetabolism
http://cancerdiversity.asia/scMetabolism/
Contact
Qiang Gao, MD, PhD
Department of Liver Surgery and Transplantation, Liver Cancer Institute, Zhongshan Hospital, Fudan University, Shanghai, China
gaoqiang@fudan.edu.cn
Any technical question please contact Yingcheng Wu (yingchengwu21@m.fudan.edu.cn).
Copyright (C) 2020-2023 Gao Lab @ Fudan University.
Star History
Related Skills
node-connect
332.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
81.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
332.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
81.7kCommit, push, and open a PR
