仅凭指令,AI就能自己找软件,找文件,生成分析脚本并且自行纠错,完成单细胞分析。
我们直接举例,复现2025年5月发表在Nature上的有关单细胞测序分析的内容。《Immune checkpoint TIM-3 regulates microglia and Alzheimer's disease》
研究揭示免疫检查点分子TIM-3在小胶质细胞及阿尔茨海默病(AD)中的作用。全基因组关联研究发现HAVCR2(编码TIM-3)是晚发性AD风险基因且在小胶质细胞中高表达。研究表明,TGFβ信号诱导小胶质细胞表达TIM-3,TIM-3通过羧基末端尾巴与SMAD2和TGFBR2相互作用,促进TGFBR介导的SMAD2磷酸化,增强TGFβ信号,维持小胶质细胞稳态。条件性敲除小胶质细胞中Havcr2的小鼠,基因表达谱呈现MGnD特征,吞噬活性增强。在5×FAD小鼠模型中,小胶质细胞特异性缺失Havcr2可改善认知障碍,减少Aβ病理,Aβ斑块面积在6和7个月时显著降低,斑块表型向低毒性转变。单细胞测序显示,Havcr2缺陷的5×FAD小鼠存在独特的小胶质细胞亚群,具有促吞噬和抗炎基因表达特征。该研究表明TIM-3通过TGFβ信号调节小胶质细胞稳态,靶向小胶质细胞TIM-3有望成为AD治疗的新策略。
简单来说:免疫分子 TIM-3 会“限制”大脑清洁工(小胶质细胞)清理阿尔茨海默病相关垃圾(Aβ斑块)的能力。阻断 TIM-3 能让清洁工更卖力工作,减少垃圾堆积,改善记忆力,这为治疗老年痴呆提供了新思路。单细胞转录组对该研究结论提供了有力的佐证!
文章DOI:10.1038/s41586-025-08852-z
CLAUDE.md
# 单细胞分析
## 研究背景和内容
研究揭示免疫检查点分子TIM-3在小胶质细胞及阿尔茨海默病(AD)中的作用。
全基因组关联研究发现HAVCR2(编码TIM-3)是晚发性AD风险基因且在小胶质细胞中高表达。
研究表明,TGFβ信号诱导小胶质细胞表达TIM-3,TIM-3通过羧基末端尾巴与SMAD2和TGFBR2相互作用,促进TGFBR介导的SMAD2磷酸化,增强TGFβ信号,维持小胶质细胞稳态。
条件性敲除小胶质细胞中Havcr2的小鼠,基因表达谱呈现MGnD特征,吞噬活性增强。
在5×FAD小鼠模型中,小胶质细胞特异性缺失Havcr2可改善认知障碍,减少Aβ病理,Aβ斑块面积在6和7个月时显著降低,斑块表型向低毒性转变。
单细胞测序显示,Havcr2缺陷的5×FAD小鼠存在独特的小胶质细胞亚群,具有促吞噬和抗炎基因表达特征。
该研究表明TIM-3通过TGFβ信号调节小胶质细胞稳态,靶向小胶质细胞TIM-3有望成为AD治疗的新策略。
## 实验设计
此实验共包含 4个单细胞测序样本:
2个对照组(con1_cortex, con2_cortex)即他莫昔芬处理后 Tim3 未被敲除 的基线模型
2个条件敲除组(cKO1_cortex, cKO2_cortex)对应他莫昔芬诱导小胶质细胞特异性敲除Tim3
## 分析方法
1、读取数据并创建Seurat对象
2、质控(去除基因计数 (nFeature_RNA) < 200、UMI 计数 (nCount_RNA) < 1,000 且线粒体基因比例 (percent.mt) ≥ 80%
的低质量barcode)
3、绘制单细胞图谱
4、根据article_text.txt文章的信息,注释细胞类型
5、对每个细胞类型做差异分析(差异结果绘制火山图)
## 结果
画布为白色,图形尺寸小于画布大小,图注在图形右边。
## 应答语言
中文,图中文字保留原始语言
指令: 对当前目录下的scRNA测序数据进行分析。首先读取CLAUDE.md的内容,有任何意义不明或有歧义的地方请指正。
指令的内容需要根据流程的表现随时改变,并没有“一劳永逸”的指令,这里只提供初始指令。
除了在分析过程中监视结果,Claude默认保存中间文件,包括脚本,结果,方便检查:
细胞注释图:
差异分析火山图:
细胞注释代码:
# 从原始数据重新生成带细胞类型注释的图
library(Seurat)
library(ggplot2)
library(dplyr)
# 设置工作目录
setwd("/mnt/data/home/sunting/repitition/3")
cat("=== 重新生成细胞类型注释图 ===\n")
# 读取原始处理后的数据
combined_seurat <- readRDS("results/combined_seurat_complete.rds")
# 重新添加细胞类型注释
cell_type_mapping <- c(
"0" = "Homeostatic_Microglia", # 最大聚类,稳态小胶质细胞
"1" = "Activated_Microglia", # 激活的小胶质细胞
"2" = "MGnD_Microglia", # 疾病相关小胶质细胞
"3" = "Microglia_Subtype1", # 小胶质细胞亚型1
"4" = "Microglia_Subtype2", # 小胶质细胞亚型2
"5" = "Astrocytes", # 星形胶质细胞
"6" = "Oligodendrocytes", # 少突胶质细胞
"7" = "OPC", # 少突胶质细胞前体
"8" = "Neurons", # 神经元
"9" = "Endothelial", # 内皮细胞
"10" = "Pericytes", # 周细胞
"11" = "Other_Cells" # 其他细胞
)
# 添加细胞类型注释
combined_seurat@meta.data$cell_type <- cell_type_mapping[as.character(combined_seurat@meta.data$seurat_clusters)]
# 验证添加成功
cat("细胞类型统计:\n")
print(table(combined_seurat@meta.data$cell_type))
# 生成按细胞类型分组的UMAP图
p1 <- DimPlot(combined_seurat, reduction = "umap", group.by = "cell_type",
label = TRUE, label.size = 3, repel = TRUE) +
ggtitle("单细胞图谱 - 按细胞类型分组") +
theme(
plot.title = element_text(hjust = 0.5, size = 16),
legend.position = "right",
panel.background = element_rect(fill = "white"),
plot.background = element_rect(fill = "white"),
legend.text = element_text(size = 9)
)
# 生成按细胞类型和实验组分组的分面图
p2 <- DimPlot(combined_seurat, reduction = "umap", group.by = "cell_type",
split.by = "group", label = TRUE, label.size = 2.5, repel = TRUE) +
ggtitle("单细胞图谱 - 按细胞类型和实验组分组") +
theme(
plot.title = element_text(hjust = 0.5, size = 16),
legend.position = "right",
panel.background = element_rect(fill = "white"),
plot.background = element_rect(fill = "white"),
legend.text = element_text(size = 8)
)
# 保存图片
ggsave("figures/cell_type_annotation_final.png", p1, width = 14, height = 10, dpi = 300, bg = "white")
ggsave("figures/cell_type_by_group_final.png", p2, width = 18, height = 8, dpi = 300, bg = "white")
# 统计各细胞类型在不同组的分布
celltype_stats <- table(combined_seurat@meta.data$cell_type, combined_seurat@meta.data$group)
write.csv(celltype_stats, "results/celltype_by_group_final.csv")
cat("\n各细胞类型在不同组的分布:\n")
print(celltype_stats)
# 计算各细胞类型比例
celltype_counts <- table(combined_seurat@meta.data$cell_type)
celltype_prop <- prop.table(celltype_counts) * 100
cat("\n各细胞类型比例:\n")
print(round(celltype_prop, 2))
# 创建细胞类型比例的柱状图(更简单)
pie_data <- data.frame(
cell_type = names(celltype_prop),
proportion = as.numeric(celltype_prop)
)
p3 <- ggplot(pie_data, aes(x = reorder(cell_type, proportion), y = proportion)) +
geom_col(fill = "steelblue", alpha = 0.7) +
coord_flip() +
ggtitle("细胞类型比例分布") +
xlab("细胞类型") +
ylab("比例 (%)") +
theme(
plot.title = element_text(hjust = 0.5, size = 16),
panel.background = element_rect(fill = "white"),
plot.background = element_rect(fill = "white"),
axis.text.y = element_text(size = 10)
) +
geom_text(aes(label = paste0(round(proportion, 1), "%")),
hjust = -0.1, size = 3)
ggsave("figures/cell_type_proportion_bar.png", p3, width = 12, height = 8, dpi = 300, bg = "white")
# 重新保存带注释的Seurat对象
saveRDS(combined_seurat, "results/combined_seurat_annotated_final.rds")
cat("\n=== 细胞类型注释可视化完成 ===\n")
cat("图片已保存至 figures/ 目录\n")
cat("- cell_type_annotation_final.png: 按细胞类型分组的UMAP图\n")
cat("- cell_type_by_group_final.png: 按细胞类型和实验组分组的分面图\n")
cat("- cell_type_proportion_bar.png: 细胞类型比例柱状图\n")