666 微生物组与免疫互作¶
一句话概述:菌群-免疫轴(Microbiome-Immunity Axis)是微生物组影响人体健康的核心通路——菌群通过代谢物和信号分子教育、调节免疫系统。
核心知识点速查表¶
| 知识点 | 关键内容 |
|---|---|
| 核心通路 | 菌群→SCFA/胆汁酸/色氨酸代谢物→免疫细胞调节 |
| 关键代谢物 | 丁酸(Treg诱导)、吲哚(AhR激活)、TMAO(炎症) |
| 分析方法 | 多组学整合(宏基因组+代谢组+免疫组) |
| 肿瘤免疫 | 菌群影响ICIs(免疫检查点抑制剂)疗效 |
| 脑肠轴 | 菌群→免疫→神经精神疾病 |
| 分析工具 | MicrobiomeStatPlots、PICRUSt2、HUMAnN3 |
一、菌群如何影响免疫?(白话解释)¶
打个比方:免疫系统就像保安队,菌群就像邻居。好邻居(有益菌)每天给保安送"小费"(短链脂肪酸)让保安保持冷静、训练有素;坏邻居(病原菌)则会让保安队炸锅、过度反应(炎症)。菌群-免疫互作就是研究这种"邻里关系"如何影响整个社区安全。
二、核心互作通路¶
2.1 短链脂肪酸(SCFA)通路¶
# 分析SCFA产生菌与免疫标志物的关联
import pandas as pd # 数据处理
import numpy as np # 数值计算
from scipy import stats # 统计检验
# 读取数据
microbiome = pd.read_csv("species_abundance.csv", index_col=0) # 物种丰度
metabolome = pd.read_csv("scfa_levels.csv", index_col=0) # SCFA浓度
immune = pd.read_csv("immune_markers.csv", index_col=0) # 免疫指标
# SCFA产生菌列表
scfa_producers = {
"butyrate": ["Faecalibacterium_prausnitzii", # 普拉梭菌(最重要的丁酸菌)
"Roseburia_intestinalis", # 肠道罗斯氏菌
"Eubacterium_rectale", # 直肠真杆菌
"Anaerostipes_hadrus"], # 哈德厌氧棒状菌
"propionate": ["Bacteroides_spp", # 拟杆菌属
"Phascolarctobacterium"],
"acetate": ["Bifidobacterium_spp", # 双歧杆菌属
"Blautia_obeum"]
}
# 计算SCFA产生菌总丰度
for scfa_type, producers in scfa_producers.items():
present = [p for p in producers if p in microbiome.index]
if present:
total_abundance = microbiome.loc[present].sum() # 总丰度
# 与SCFA浓度的相关性
if scfa_type in metabolome.columns:
r, p = stats.spearmanr(total_abundance, metabolome[scfa_type])
print(f"{scfa_type}产生菌 vs {scfa_type}浓度: rho={r:.3f}, p={p:.4f}")
# 丁酸与Treg的关联
if "butyrate" in metabolome.columns and "Treg_percent" in immune.columns:
r, p = stats.spearmanr(metabolome["butyrate"], immune["Treg_percent"])
print(f"\n丁酸 vs Treg%: rho={r:.3f}, p={p:.4f}")
# 丁酸促进Treg分化是菌群-免疫轴的经典通路
2.2 多组学整合分析¶
# 菌群-代谢物-免疫三组学整合分析
from sklearn.cross_decomposition import CCA # 典型相关分析
from sklearn.preprocessing import StandardScaler # 标准化
# 1. 数据标准化
scaler = StandardScaler()
X_micro = scaler.fit_transform(microbiome.T) # 微生物组数据
X_metab = scaler.fit_transform(metabolome) # 代谢组数据
X_immune = scaler.fit_transform(immune) # 免疫数据
# 2. 典型相关分析:菌群 vs 免疫
cca = CCA(n_components=2) # 2个典型变量
cca.fit(X_micro, X_immune) # 拟合
X_c, Y_c = cca.transform(X_micro, X_immune) # 变换
# 典型相关系数
for i in range(2):
r, p = stats.pearsonr(X_c[:, i], Y_c[:, i])
print(f"典型变量{i+1}: r={r:.3f}, p={p:.4f}")
# 3. 中介分析:菌群 → 代谢物 → 免疫
from statsmodels.regression.linear_model import OLS # 线性回归
import statsmodels.api as sm
def mediation_analysis(exposure, mediator, outcome, labels):
"""
简单中介分析
exposure: 菌群丰度
mediator: 代谢物浓度
outcome: 免疫指标
"""
# 路径a:exposure → mediator
X_a = sm.add_constant(exposure)
model_a = OLS(mediator, X_a).fit()
a = model_a.params[1] # a路径系数
p_a = model_a.pvalues[1]
# 路径b:mediator → outcome(控制exposure)
X_b = sm.add_constant(np.column_stack([exposure, mediator]))
model_b = OLS(outcome, X_b).fit()
b = model_b.params[2] # b路径系数
# 路径c':直接效应
c_prime = model_b.params[1]
# 间接效应 = a × b
indirect = a * b
# Sobel检验
se_a = model_a.bse[1]
se_b = model_b.bse[2]
se_indirect = np.sqrt(b**2 * se_a**2 + a**2 * se_b**2)
z_sobel = indirect / se_indirect
p_sobel = 2 * (1 - stats.norm.cdf(abs(z_sobel)))
print(f"\n中介分析: {labels[0]} → {labels[1]} → {labels[2]}")
print(f" 间接效应(a×b): {indirect:.4f}, p(Sobel)={p_sobel:.4f}")
print(f" 直接效应(c'): {c_prime:.4f}")
print(f" 中介比例: {abs(indirect/(indirect+c_prime))*100:.1f}%")
# 示例:F. prausnitzii → butyrate → Treg
mediation_analysis(
microbiome.loc["Faecalibacterium_prausnitzii"].values,
metabolome["butyrate"].values,
immune["Treg_percent"].values,
["F. prausnitzii", "butyrate", "Treg%"]
)
三、肿瘤免疫治疗中的菌群分析¶
# 分析菌群对免疫检查点抑制剂(ICI)疗效的影响
def ici_response_analysis(microbiome_df, response_labels):
"""
比较ICI应答者vs非应答者的菌群差异
response_labels: "R"(应答) / "NR"(非应答)
"""
from scipy.stats import mannwhitneyu # 非参数检验
results = []
for species in microbiome_df.index:
responders = microbiome_df.loc[species, response_labels == "R"]
non_responders = microbiome_df.loc[species, response_labels == "NR"]
stat, pval = mannwhitneyu(responders, non_responders,
alternative='two-sided')
fc = responders.mean() / (non_responders.mean() + 1e-10) # fold change
results.append({
"species": species,
"mean_R": responders.mean(),
"mean_NR": non_responders.mean(),
"fold_change": fc,
"p_value": pval
})
results_df = pd.DataFrame(results)
# FDR校正
from statsmodels.stats.multitest import multipletests
_, results_df["q_value"], _, _ = multipletests(
results_df["p_value"], method="fdr_bh")
# 显著差异物种
sig = results_df[results_df["q_value"] < 0.1].sort_values("fold_change",
ascending=False)
print("ICI应答相关物种:")
print(sig[["species", "fold_change", "q_value"]].to_string())
# 已知与ICI应答相关的菌属
# Akkermansia muciniphila ↑ → 抗PD-1应答
# Faecalibacterium prausnitzii ↑ → 抗CTLA-4应答
# Bacteroides thetaiotaomicron ↑ → 抗CTLA-4应答
return sig
四、菌群-脑-免疫轴分析¶
# R语言:菌群-免疫-脑轴的网络分析
library(igraph) # 网络分析
library(ggplot2) # 绑图
library(Hmisc) # 相关分析
# 读取三层数据
microbiome <- read.csv("microbiome.csv", row.names = 1) # 菌群
immune <- read.csv("immune.csv", row.names = 1) # 免疫指标
brain <- read.csv("brain_markers.csv", row.names = 1) # 脑功能指标
# 合并数据
all_data <- cbind(t(microbiome), immune, brain)
# 计算相关矩阵(Spearman)
cor_result <- rcorr(as.matrix(all_data), type = "spearman")
r_matrix <- cor_result$r # 相关系数
p_matrix <- cor_result$P # p值
# 保留显著相关(FDR<0.05,|r|>0.3)
p_adj <- p.adjust(p_matrix[lower.tri(p_matrix)], method = "BH")
significant <- abs(r_matrix) > 0.3 & p_matrix < 0.05
# 构建网络
adj_matrix <- r_matrix * significant # 显著相关的邻接矩阵
g <- graph_from_adjacency_matrix(adj_matrix, weighted = TRUE,
mode = "undirected", diag = FALSE)
# 节点分类
V(g)$type <- ifelse(V(g)$name %in% rownames(microbiome), "菌群",
ifelse(V(g)$name %in% colnames(immune), "免疫", "脑功能"))
V(g)$color <- c("菌群" = "#4CAF50", "免疫" = "#FF9800",
"脑功能" = "#2196F3")[V(g)$type]
# 可视化
plot(g,
vertex.size = degree(g) * 2, # 节点大小按连接度
vertex.label.cex = 0.7,
edge.width = abs(E(g)$weight) * 3,
edge.color = ifelse(E(g)$weight > 0, "#66BB6A", "#EF5350"), # 绿=正,红=负
layout = layout_with_fr(g),
main = "菌群-免疫-脑轴互作网络")
常见报错与解决¶
| 报错 | 原因 | 解决方案 |
|---|---|---|
| 多组学样本不匹配 | 不是所有样本都有三种数据 | 只分析配对样本或用数据插补 |
| 相关≠因果 | 观察性研究只能发现关联 | 用中介分析/孟德尔随机化推断因果方向 |
| 免疫数据高度多重共线 | 免疫指标间强相关 | 用CCA/PLS而非逐个相关分析 |
| SCFA浓度批次效应大 | 代谢组学检测不稳定 | 加内标、做批次校正 |
速查表¶
# 菌群-免疫互作分析流程
1. 菌群分析: 16S/宏基因组 → 物种+功能组成
2. 代谢物检测: LC-MS/GC-MS → SCFA/胆汁酸/色氨酸代谢物
3. 免疫指标: 流式细胞术/CyTOF → 免疫细胞亚群
4. 关联分析: Spearman/CCA/MOFA
5. 因果推断: 中介分析/孟德尔随机化/体外验证
# 关键免疫-菌群互作
丁酸 → 组蛋白去乙酰化 → Treg分化 → 抗炎
吲哚 → AhR受体 → IL-22产生 → 肠道屏障
PSA(脆弱拟杆菌) → TLR2 → IL-10 → 免疫耐受
LPS(革兰阴性菌) → TLR4 → NF-κB → 促炎
# 分析工具
PICRUSt2: 从16S预测功能基因(含SCFA通路)
HUMAnN3: 宏基因组功能通路定量
MaAsLin2: 多变量关联分析
MOFA+: 多组学因子分析
面试高频问题¶
Q1:SCFA如何调节免疫?举一个具体例子。 A:丁酸(butyrate)是最重要的免疫调节SCFA。它通过两个机制调节免疫:(1) 作为HDAC抑制剂,促进结肠Treg细胞分化(增强免疫耐受);(2) 激活GPR43/GPR109A受体,促进IL-10和IL-18分泌。主要产生菌是Faecalibacterium prausnitzii和Roseburia。
Q2:菌群如何影响肿瘤免疫治疗? A:2025年npj Biofilms and Microbiomes综述指出:(1) 特定菌群增强免疫检查点抑制剂疗效(如Akkermansia muciniphila增强抗PD-1);(2) 菌群通过调节肿瘤微环境影响免疫细胞浸润;(3) FMT/益生菌可作为增敏策略。但机制仍不完全清楚。
Q3:如何分析菌群-免疫互作中的因果关系? A:(1) 中介分析:检验"菌群→代谢物→免疫"的间接路径;(2) 孟德尔随机化:用宿主基因变异作为工具变量;(3) 纵向研究:时间滞后相关分析;(4) 体外验证:细菌-免疫细胞共培养实验。观察性研究只能发现关联,需要实验验证因果。
Q4:什么是菌群-脑-免疫轴? A:菌群通过免疫系统影响大脑功能的双向通路。2025年Cell Reports Medicine综述指出:菌群产生的代谢物和信号分子调节外周免疫,进而影响神经炎症和脑功能。这为精神神经疾病(如抑郁症、自闭症、帕金森病)提供了新的治疗思路——通过调节菌群来影响免疫再影响大脑。