从Seurat对象到发表级图表:Ro/e、Augur、miloR的完整R代码与图形美化全流程
在单细胞数据分析领域,如何将原始数据转化为具有学术发表价值的精美图表,是每个研究者都会面临的挑战。本文将深入探讨三种强大的R语言工具——Ro/e、Augur和miloR,从数据处理到可视化美化的全流程,帮助您创建专业级的科研图表。
1. 数据准备与环境配置
在开始分析前,我们需要确保所有必要的R包已正确安装。以下是完整的依赖包列表和安装代码:
r复制# 安装CRAN包
install.packages(c("ggplot2", "tidyverse", "ggpubr", "patchwork",
"RColorBrewer", "viridis", "qs", "BiocParallel"))
# 安装Bioconductor包
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c("ComplexHeatmap", "circlize", "scater",
"scran", "miloR", "SingleCellExperiment"))
# 安装GitHub包
devtools::install_github("Japrin/STARTRAC")
devtools::install_github("neurorestore/Augur")
提示:建议使用R 4.2.0或更高版本,以确保所有包的兼容性。对于大型数据集,配置BiocParallel可以显著提高计算效率。
加载所需库:
r复制library(Seurat)
library(STARTRAC)
library(Augur)
library(miloR)
library(ComplexHeatmap)
library(ggplot2)
library(tidyverse)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Ro/e分析:细胞类型组织分布倾向性
Ro/e(Observed/Expected)指数是评估细胞类型在不同组织中分布倾向性的有力工具。以下是完整的分析流程:
2.1 数据预处理
r复制# 假设我们已经有一个Seurat对象scRNA
scRNA <- qread("./path/to/your/seurat_object.qs")
# 提取元数据并重命名关键列
meta_data <- scRNA@meta.data %>%
select(clone.id = orig.ident,
patient = sample_id,
majorCluster = celltype,
loc = tissue_location) %>%
mutate(Cell_Name = "Tcell",
across(c(patient, clone.id, majorCluster, loc), as.character))
2.2 Ro/e计算
r复制Roe <- calTissueDist(
meta_data,
byPatient = FALSE,
colname.cluster = "majorCluster",
colname.patient = "patient",
colname.tissue = "loc",
method = "chisq",
min.rowSum = 0
