细胞死亡相关分析¶
一句话概述¶
对铁死亡(ferroptosis)、焦亡(pyroptosis)、凋亡(apoptosis)、坏死性凋亡(necroptosis)等程序性细胞死亡方式进行基因集评分,分析其与肿瘤微环境、免疫浸润和预后的关联。
核心知识点总览¶
| 知识点 | 关键内容 | 重要程度 |
|---|---|---|
| 铁死亡(Ferroptosis) | GPX4/SLC7A11/脂质过氧化 | ⭐⭐⭐⭐⭐ |
| 焦亡(Pyroptosis) | GSDM家族/Caspase-1/炎性体 | ⭐⭐⭐⭐⭐ |
| 凋亡(Apoptosis) | Caspase cascade/BCL-2家族 | ⭐⭐⭐⭐ |
| 坏死性凋亡(Necroptosis) | RIPK1/RIPK3/MLKL | ⭐⭐⭐⭐ |
| 评分方法 | ssGSEA/GSVA/自定义打分 | ⭐⭐⭐⭐ |
| TME关联 | 细胞死亡与免疫浸润/免疫治疗 | ⭐⭐⭐⭐ |
| 预后模型 | 死亡基因signature构建 | ⭐⭐⭐ |
| 药物敏感性 | 细胞死亡诱导与药物响应 | ⭐⭐⭐ |
各步骤详解¶
第一步:程序性细胞死亡类型概述¶
白话解释: 细胞可以通过多种方式"死亡",每种方式有不同的分子机制和对周围环境的影响。凋亡是"安静的死"(不引起炎症),焦亡和坏死性凋亡是"炎性的死"(释放炎症因子),铁死亡是铁离子和脂质过氧化驱动的独特死亡方式。肿瘤中不同死亡方式的活跃程度影响免疫微环境和治疗响应。
技术细节:
# === 各细胞死亡类型基因集定义 ===
# 1. 铁死亡(Ferroptosis)
ferroptosis_genes <- list(
drivers = c("ACSL4", "LPCAT3", "ALOX15", "ALOX5", "ALOX12",
"NCOA4", "TFRC", "SLC39A14", "NOX4"),
suppressors = c("GPX4", "SLC7A11", "FSP1", "DHODH", "GCH1",
"NFE2L2", "SLC3A2", "GSS", "GCLC", "GCLM"),
markers = c("PTGS2", "CHAC1", "HMOX1", "FTH1", "SAT1", "ACSL4")
)
# 2. 焦亡(Pyroptosis)
pyroptosis_genes <- list(
inflammasome = c("NLRP3", "NLRC4", "NLRP1", "AIM2", "PYCARD", "CASP1"),
gasdermins = c("GSDMD", "GSDME", "GSDMA", "GSDMB", "GSDMC"),
effectors = c("IL1B", "IL18", "CASP1", "CASP4", "CASP5"),
# 注意:CASP11是小鼠基因(人类同源物为CASP4/CASP5),人类数据分析不应包含CASP11
all = c("NLRP3", "NLRC4", "AIM2", "PYCARD", "CASP1", "CASP4",
"GSDMD", "GSDME", "IL1B", "IL18", "HMGB1")
)
# 3. 凋亡(Apoptosis)
apoptosis_genes <- list(
pro_apoptotic = c("BAX", "BAK1", "BID", "BIM", "BAD", "BIK",
"PUMA", "NOXA", "CASP3", "CASP7", "CASP8", "CASP9"),
anti_apoptotic = c("BCL2", "BCL2L1", "MCL1", "BCL2A1", "BCL2L2"),
markers = c("CASP3", "CASP7", "PARP1", "CYCS", "APAF1", "DIABLO")
)
# 4. 坏死性凋亡(Necroptosis)
necroptosis_genes <- list(
core = c("RIPK1", "RIPK3", "MLKL"),
regulators = c("FADD", "CASP8", "CFLAR", "TNFRSF1A", "TRADD",
"CYLD", "LUBAC", "TAB2", "TAK1"),
all = c("RIPK1", "RIPK3", "MLKL", "FADD", "TNFRSF1A", "CYLD",
"ZBP1", "PGAM5", "HMGB1")
)
# 5. 铜死亡(Cuproptosis)- 新发现
cuproptosis_genes <- c("FDX1", "LIAS", "LIPT1", "DLD", "DLAT",
"PDHA1", "PDHB", "MTF1", "GLS", "CDKN2A")
第二步:细胞死亡评分计算¶
白话解释: 对每个样本(或每个单细胞),根据各细胞死亡类型的基因表达计算一个综合分数。分数越高说明该死亡方式的活性越强。常用的评分方法包括ssGSEA、GSVA和Seurat的AddModuleScore。
技术细节:
# === TCGA/GEO数据的细胞死亡评分(Bulk RNA-seq)===
library(GSVA)
# 准备基因集列表
death_genesets <- list(
Ferroptosis = unlist(ferroptosis_genes),
Pyroptosis = pyroptosis_genes$all,
Apoptosis = c(apoptosis_genes$pro_apoptotic, apoptosis_genes$markers),
Necroptosis = necroptosis_genes$all,
Cuproptosis = cuproptosis_genes
)
# ssGSEA评分
# 注意:GSVA >= 1.52 (Bioc 3.19+) 使用新API,旧method参数已废弃
# 新API写法:
ssgsea_param <- ssgseaParam(as.matrix(log2(tpm_matrix + 1)), death_genesets)
death_scores <- gsva(ssgsea_param)
# 旧API写法(GSVA < 1.50,仅供参考):
# death_scores <- gsva(as.matrix(log2(tpm_matrix + 1)), death_genesets, method = "ssgsea")
# GSVA评分(另一种方法)
gsva_param <- gsvaParam(as.matrix(log2(tpm_matrix + 1)), death_genesets)
death_gsva <- gsva(gsva_param)
# 查看评分分布
library(ggplot2)
scores_df <- as.data.frame(t(death_scores))
scores_df$sample <- rownames(scores_df)
scores_long <- tidyr::pivot_longer(scores_df, -sample, names_to = "death_type", values_to = "score")
ggplot(scores_long, aes(x = death_type, y = score, fill = death_type)) +
geom_boxplot() + theme_minimal() +
labs(title = "Cell Death Scores Distribution")
第三步:与肿瘤微环境(TME)关联分析¶
白话解释: 不同的细胞死亡方式对免疫微环境的影响不同。免疫原性细胞死亡(如焦亡、坏死性凋亡)释放DAMP信号分子,招募免疫细胞,可能增强抗肿瘤免疫。而某些凋亡方式是"免疫沉默"的。分析细胞死亡评分与免疫浸润的关联,可以理解其免疫学意义。
技术细节:
# === TME关联分析 ===
library(IOBR) # 或 immunedeconv
# 1. 免疫浸润评估(CIBERSORT/xCell/ESTIMATE)
# 使用CIBERSORT LM22估计22种免疫细胞比例
immune_fractions <- CIBERSORT(tpm_matrix, LM22_reference)
# 2. 相关性分析
# 细胞死亡评分 vs 免疫细胞浸润
cor_matrix <- cor(t(death_scores), immune_fractions, method = "spearman")
# 热图可视化
library(pheatmap)
pheatmap(cor_matrix, display_numbers = TRUE, fontsize_number = 8,
color = colorRampPalette(c("blue", "white", "red"))(100),
main = "Cell Death vs Immune Infiltration")
# 3. 与免疫检查点基因关联
checkpoint_genes <- c("CD274", "PDCD1", "CTLA4", "LAG3", "HAVCR2",
"TIGIT", "BTLA", "IDO1")
checkpoint_expr <- log2(tpm_matrix[checkpoint_genes, ] + 1)
for (death_type in rownames(death_scores)) {
cors <- cor(as.numeric(death_scores[death_type, ]),
t(checkpoint_expr), method = "spearman")
cat(sprintf("%s vs PD-L1: r=%.3f\n", death_type, cors[, "CD274"]))
}
# 4. ESTIMATE免疫/基质评分
library(estimate)
estimateScore(tpm_matrix, "estimate_scores.gct")
第四步:构建死亡相关预后模型¶
白话解释: 从细胞死亡相关基因中筛选与预后相关的基因,构建多基因风险评分。这类模型在当前生信论文中非常流行——铁死亡signature、焦亡signature等。
技术细节:
# === 铁死亡预后模型构建示例 ===
library(survival)
library(glmnet)
# 1. 单因素Cox筛选
ferro_genes_all <- unique(unlist(ferroptosis_genes))
ferro_expr <- t(log2(tpm_matrix[ferro_genes_all[ferro_genes_all %in% rownames(tpm_matrix)], ] + 1))
surv_obj <- Surv(clinical$OS_time, clinical$OS_status)
uni_cox_results <- data.frame()
for (gene in colnames(ferro_expr)) {
cox <- coxph(surv_obj ~ ferro_expr[, gene])
s <- summary(cox)
uni_cox_results <- rbind(uni_cox_results, data.frame(
gene = gene, HR = s$conf.int[1,1], pval = s$coefficients[1,5]
))
}
sig_ferro_genes <- uni_cox_results$gene[uni_cox_results$pval < 0.05]
# 2. LASSO Cox构建模型
x <- as.matrix(ferro_expr[, sig_ferro_genes])
set.seed(42)
cv_fit <- cv.glmnet(x, surv_obj, family = "cox", alpha = 1, nfolds = 10)
coefs <- coef(cv_fit, s = "lambda.min")
selected <- rownames(coefs)[coefs[,1] != 0]
# 3. 计算风险评分
risk_score <- as.numeric(predict(cv_fit, newx = x, s = "lambda.min", type = "link"))
clinical$risk_group <- ifelse(risk_score > median(risk_score), "High", "Low")
# 4. KM验证
fit <- survfit(Surv(OS_time, OS_status) ~ risk_group, data = clinical)
ggsurvplot(fit, data = clinical, pval = TRUE, risk.table = TRUE,
title = "Ferroptosis Risk Score")
第五步:药物敏感性关联¶
白话解释: 某些药物通过诱导特定类型的细胞死亡发挥抗肿瘤作用——如erastin诱导铁死亡、ABT-263诱导凋亡。分析细胞死亡评分与药物敏感性的关联,可以预测哪些患者可能对特定药物响应。
技术细节:
# === 药物敏感性分析 ===
library(pRRophetic) # 或 oncoPredict
# 使用GDSC/CTRP药物敏感性数据预测
# pRRophetic基于细胞系数据预测临床样本的药物IC50
predicted_ic50 <- pRRopheticPredict(
testMatrix = tpm_matrix,
drug = "Erastin", # 铁死亡诱导剂
tissueType = "all"
)
# 比较高/低铁死亡评分组的药物敏感性
clinical$erastin_ic50 <- predicted_ic50
clinical$ferro_group <- ifelse(death_scores["Ferroptosis", ] >
median(death_scores["Ferroptosis", ]),
"High", "Low")
wilcox.test(erastin_ic50 ~ ferro_group, data = clinical)
boxplot(erastin_ic50 ~ ferro_group, data = clinical,
main = "Erastin sensitivity by Ferroptosis score")
第六步:单细胞水平的细胞死亡分析¶
白话解释: 在单细胞层面评估各细胞类型的死亡倾向性,可以揭示肿瘤微环境中哪些细胞最容易经历特定类型的死亡,以及死亡细胞释放的信号如何影响邻近细胞。
技术细节:
# === 单细胞死亡评分 ===
library(Seurat)
library(UCell)
# UCell评分
seurat_obj <- AddModuleScore_UCell(seurat_obj, features = death_genesets)
# 各细胞类型的死亡评分比较
VlnPlot(seurat_obj,
features = c("Ferroptosis_UCell", "Pyroptosis_UCell",
"Apoptosis_UCell", "Necroptosis_UCell"),
group.by = "celltype", pt.size = 0)
# 哪种细胞类型铁死亡评分最高?
ferro_by_celltype <- seurat_obj@meta.data %>%
group_by(celltype) %>%
summarise(mean_ferro = mean(Ferroptosis_UCell)) %>%
arrange(desc(mean_ferro))
print(ferro_by_celltype)
实战命令速查¶
# 快速细胞死亡分析
library(GSVA)
# 新API (GSVA >= 1.52)
scores <- gsva(ssgseaParam(expr_matrix, death_genesets))
# 生存分析
survfit(Surv(time, status) ~ ifelse(scores["Ferroptosis",]>median(scores["Ferroptosis",]), "H","L"))
# 免疫关联
cor(t(scores), immune_scores, method="spearman")
面试常问点¶
Q1: 铁死亡与传统凋亡的核心区别?¶
A: 凋亡是caspase依赖的、不引起炎症的程序性死亡,形态特征为细胞皱缩、核碎裂、凋亡小体形成。铁死亡不依赖caspase,由铁离子催化的脂质过氧化驱动,形态特征为线粒体萎缩(嵴减少、外膜破裂),释放DAMPs可能引起免疫反应。铁死亡的抑制需要GPX4/系统Xc-通路,而凋亡由BCL-2家族调控。
Q2: 为什么细胞死亡分析在肿瘤研究中热门?¶
A: (1) 免疫原性细胞死亡(ICD)概念兴起——铁死亡/焦亡/坏死释放的DAMPs可激活抗肿瘤免疫;(2) 新药物靶点——诱导铁死亡/焦亡是新的抗肿瘤策略;(3) 预后预测——死亡相关基因expression pattern与patient outcome相关;(4) 免疫治疗biomarker——死亡方式影响TME的免疫状态。
Q3: ssGSEA和GSVA评分有什么区别?¶
A: ssGSEA对每个样本独立计算基因集得分(适合样本间比较),值为富集分数(可正可负)。GSVA使用非参方法估计基因集活性(考虑基因间相对表达),适合差异分析。两者结论通常一致,但GSVA在差异检测中统计性能更好。对细胞死亡评分两者均可用,多用ssGSEA因为直观易解释。
Q4: 如何验证计算预测的细胞死亡类型?¶
A: (1) 特征性标志物蛋白检测——铁死亡看GPX4/4-HNE/脂质ROS,焦亡看GSDMD-N/IL-1β/LDH release,凋亡看cleaved caspase-3/Annexin V;(2) 抑制剂验证——Fer-1抑制铁死亡, VX-765抑制焦亡, zVAD抑制凋亡, Nec-1抑制坏死性凋亡;(3) 形态学——电镜观察线粒体/细胞膜/核形态变化。
易错点¶
1. 混淆细胞死亡的driver和marker¶
某些基因(如HMGB1)在多种死亡方式中都有角色。不应简单将HMGB1高表达等同于坏死。需要综合评估多个pathway-specific基因。
2. 评分方法选择影响结论¶
不同评分方法对同一基因集可能给出不同排序。建议用2+种方法验证结论的稳健性。
3. 转录水平不等于蛋白活性¶
很多死亡执行蛋白是通过翻译后修饰(如caspase切割、GSDMD切割)激活的。mRNA表达不直接反映功能状态。
4. 忽略死亡方式之间的互作¶
细胞死亡通路间有crosstalk——如caspase-8同时调控凋亡和坏死性凋亡(互相抑制关系)。不应将各种死亡完全独立分析。
5. 基因集来源不统一¶
不同文献定义的铁死亡基因集差异很大(20-259个基因不等)。应明确引用来源,使用经典且有实验支持的基因集。
补充知识¶
细胞死亡数据库¶
- FerrDb V3(https://www.zhounan.org/ferrdb/):2025年更新,已从铁死亡扩展至22种调控性细胞死亡(RCD)类型,含驱动因子/抑制因子/标志物/疾病关联
- GeneCards + MSigDB:焦亡相关基因通常从GeneCards搜索"pyroptosis"或MSigDB获取(无专用焦亡数据库)
- Reactome pyroptosis pathway(R-HSA-5620971):焦亡通路基因
- KEGG apoptosis pathway:经典凋亡通路
- GeneCards:基因功能注释
前沿方向¶
- 铜死亡(Cuproptosis)——Tsvetkov et al., Science, 2022
- 二硫化物死亡(Disulfidptosis)——Liu et al., Nature Cell Biology, 2023;SLC7A11高表达+葡萄糖饥饿→二硫键应激→肌动蛋白骨架崩溃
- PANoptosis——多种死亡方式同时激活的"泛死亡"
- 细胞死亡与免疫治疗的协同策略
引用推荐¶
- 铁死亡: Dixon et al., Cell, 2012; Jiang et al., Nature, 2021
- 焦亡: Shi et al., Nature, 2015
- 铜死亡: Tsvetkov et al., Science, 2022
- 细胞死亡综述: Galluzzi et al., Cell Death & Differentiation, 2018