← 返回软件与算法资源类型 R 包 方法分类 单细胞分析 原始分类 Single-cell 创建时间 2026/6/3
Software & Algorithm Detail
单细胞分析Single-cellR 包
Seurat v5
R 生态中主流的单细胞分析框架,覆盖质控、整合、降维、聚类和注释。
Benchmark
性能基准测试
当前图表用于比较不同数据规模下的时间消耗和内存消耗。
性能基准测试
R 4.4 / Seurat v5 / SCTransform
Documentation
软件原理、用法与参数
统一使用 Markdown 文档渲染,保留命令行代码块、参数表和示例说明。
Seurat v5 单细胞分析框架
工具定位
Seurat v5 是 R 生态中最常用的单细胞分析框架之一,负责从 feature-barcode matrix 出发完成 QC、归一化、降维、聚类、marker 鉴定、整合和注释。
适用场景
- 适合:10x scRNA-seq、整合多样本、marker gene 分析、细胞类型注释。
- 不适合:极大规模百万细胞项目的纯内存分析,此时可结合 BPCells、Sketch 或 Scanpy。
输入与输出
| 类型 | 文件/对象 | 说明 |
|---|---|---|
| 输入 | filtered_feature_bc_matrix/ | Cell Ranger 输出 |
| 输入 | sample metadata | 分组、批次、处理信息 |
| 输出 | Seurat object | 保存完整分析对象 |
| 输出 | UMAP/tSNE 图 | 细胞群可视化 |
| 输出 | marker gene 表 | 注释和机制分析依据 |
安装方式
install.packages("Seurat")
install.packages(c("patchwork", "dplyr", "ggplot2"))
library(Seurat)
packageVersion("Seurat")
推荐项目目录
project_seurat/
├── 00_cellranger/
│ └── sample01/outs/filtered_feature_bc_matrix/
├── 01_objects/
├── 02_qc/
├── 03_cluster/
├── 04_markers/
└── scripts/
最小可运行示例
library(Seurat)
library(dplyr)
counts <- Read10X("00_cellranger/sample01/outs/filtered_feature_bc_matrix")
obj <- CreateSeuratObject(counts = counts, project = "sample01", min.cells = 3, min.features = 200)
obj[["percent.mt"]] <- PercentageFeatureSet(obj, pattern = "^MT-")
obj <- subset(obj, subset = nFeature_RNA > 200 & nFeature_RNA < 6000 & percent.mt < 15)
obj <- SCTransform(obj, vars.to.regress = "percent.mt")
obj <- RunPCA(obj)
obj <- FindNeighbors(obj, dims = 1:30)
obj <- FindClusters(obj, resolution = 0.6)
obj <- RunUMAP(obj, dims = 1:30)
markers <- FindAllMarkers(obj, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)
saveRDS(obj, "01_objects/sample01_seurat.rds")
write.csv(markers, "04_markers/all_cluster_markers.csv")
常用参数表
| 参数/函数 | 含义 | 推荐值 | 注意事项 |
|---|---|---|---|
min.cells | 基因至少出现细胞数 | 3 | 过滤极低可信基因 |
min.features | 细胞至少检测基因数 | 200 | 初步过滤空 droplets |
percent.mt | 线粒体比例 | 人鼠常用 <10-20% | 组织差异很大,不能机械套用 |
SCTransform() | 归一化方法 | 推荐 | 多样本项目更稳健 |
dims | 使用 PCA 维度 | 1:20 到 1:50 | 用 ElbowPlot/JackStraw 辅助 |
resolution | 聚类分辨率 | 0.2-1.2 | 越高 cluster 越多 |
FindAllMarkers() | marker 鉴定 | only.pos=TRUE | 后续用于细胞注释 |
vars.to.regress | 回归变量 | percent.mt 可选 | 谨慎回归 cell cycle 等真实信号 |
结果解读
- QC 小提琴图:看
nFeature_RNA、nCount_RNA、percent.mt是否有异常细胞。 - UMAP:相邻 cluster 不一定代表谱系关系,只是低维邻近。
- marker gene:注释细胞类型时要结合多个 marker,不要只看单个基因。
- resolution:需要根据组织、研究问题和 marker 清晰度调参。
常见错误
| 问题 | 可能原因 | 解决办法 |
|---|---|---|
| 线粒体基因识别失败 | 物种前缀不同 | 人用 ^MT-,小鼠常用 ^mt- |
| cluster 过碎 | resolution 太高 | 降低 resolution 并检查 marker |
| 批次混在生物分组里 | 实验设计混杂 | 分析前先画样本来源 UMAP |
| 注释不稳定 | marker 不明确 | 结合 SingleR、Azimuth 或文献 marker |
关联流程
- 10x 单细胞基础降维聚类
- 单细胞高级下游:拟时序、通讯、RNA velocity