🤖 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

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
devtools::install_github("wu-yc/scMetabolism")
scMetabolism generally supports the quantification and visualization of metabolism at the single-cell resolution.
scMetabolism currently supports human scRNA-seq 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)
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.
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.
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.
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.
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.
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.
http://cancerdiversity.asia/scMetabolism/
Qiang Gao, MD, PhD
Department of Liver Surgery and Transplantation, Liver Cancer Institute, Zhongshan Hospital, Fudan University, Shanghai, China
Any technical question please contact Yingcheng Wu (yingchengwu21@m.fudan.edu.cn).
Copyright (C) 2020-2023 Gao Lab @ Fudan University.


