375_水体微生物组分析
一句话说明
水体微生物组研究"河流、湖泊、海洋、污水里住着什么菌",重点关注水质监测、污染指示菌和水处理效率。
核心知识点
要点1:水体微生物组的特点
- 菌密度低:1毫升淡水约10^3-10^6个细胞,远少于土壤和肠道
- 需要大量浓缩:通常过滤1-10升水来获取足够的微生物DNA
- 水化学影响大:pH、盐度、溶解氧直接影响菌群组成
- 动态变化快:降雨、温度变化会在几小时内改变水体菌群
要点2:水样采集与浓缩
- 过滤膜法:0.2μm滤膜(收集全部细菌),先用5μm预过滤去颗粒物
- 切向流过滤(TFF):大体积样品的高效浓缩,回收率高
- 保存方式:立即放入-20°C,或加入等体积 DNA/RNA Shield 保护液
要点3:水质指示微生物
| 指示菌 | 指示意义 | 检测方法 |
|---|
| 大肠菌群(Total coliforms) | 粪便污染 | 培养法 + qPCR |
| 肠球菌(Enterococcus) | 娱乐用水标准 | EPA方法1600 |
| 产志贺毒素大肠杆菌 | 食品/水源污染 | PCR stx1/stx2基因 |
| 蓝藻(Cyanobacteria) | 富营养化指标 | 16S V4扩增子 |
要点4:海洋微生物组特殊工具
- TARA Oceans 数据库:全球海洋微生物宏基因组参考数据集
- 物种分层:按深度分层(真光层0-200m、中层200-1000m、深海>1000m)
- 功能特征:光合固碳(蓝藻)、氮循环(氨氧化古菌)
要点5:污水处理厂微生物组
- 活性污泥(Activated sludge):降解有机物的核心菌群
- 硝化菌(Nitrifying bacteria):将氨氮转化为硝酸盐
- 反硝化菌(Denitrifying bacteria):将硝酸盐转为N₂,完成脱氮
实战代码
水样过滤与DNA提取流程记录
# 步骤1:水样过滤(在采样现场进行)
# 先用5微米预滤膜去除大颗粒
filtration_prefilter="5um_prefilter"
filtration_main="0.2um_sterivex"
# 记录过滤体积(用于标准化)
echo "Sample: River_001" > sample_log.txt
echo "Volume filtered: 2000 mL" >> sample_log.txt
echo "Filter type: Sterivex 0.2um" >> sample_log.txt
# 步骤2:Sterivex 滤芯 DNA 提取(使用 PowerWater DNA 试剂盒)
# 向Sterivex注入裂解液,物理震荡,然后柱纯化
# 步骤3:质量检测
# 用 Qubit 检测DNA浓度(Nanodrop 在水样中不准)
echo "DNA concentration: 15 ng/uL" >> sample_log.txt
echo "Volume: 50 uL" >> sample_log.txt
echo "Total DNA: 750 ng" >> sample_log.txt
水体微生物多样性分析(Python + Qiime2)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import spearmanr
# 加载 OTU 丰度表和水质化学数据
otu_df = pd.read_csv("water_otu_table.csv", index_col=0) # 样本×OTU
chem_df = pd.read_csv("water_chemistry.csv", index_col=0) # 样本×化学指标
# 确保样本对齐
common = otu_df.index.intersection(chem_df.index)
otu_df = otu_df.loc[common] # 取公共样本
chem_df = chem_df.loc[common]
# 计算 Shannon 多样性
from skbio.diversity import alpha_diversity
shannon = alpha_diversity("shannon", otu_df.values, otu_df.index)
print("Shannon 多样性:\n", shannon.describe())
# 化学指标(溶解氧、pH、氮磷)与多样性的相关分析
results = []
for col in chem_df.columns:
r, p = spearmanr(chem_df[col], shannon) # Spearman 相关
results.append({"指标": col, "r": round(r, 3), "p": round(p, 4)})
result_df = pd.DataFrame(results)
result_df["显著"] = result_df["p"] < 0.05 # 标记显著关联
print(result_df.sort_values("r", ascending=False))
# 可视化:溶解氧 vs Shannon
fig, ax = plt.subplots(figsize=(6, 4))
ax.scatter(chem_df["DO_mg_L"], shannon, alpha=0.7, color="steelblue")
ax.set_xlabel("溶解氧 (mg/L)")
ax.set_ylabel("Shannon 多样性指数")
ax.set_title("水体溶解氧与微生物多样性关系")
plt.tight_layout()
plt.savefig("DO_vs_shannon.pdf", dpi=300)
污染指示菌 qPCR 定量
# 用 qPCR 定量大肠菌群(uidA 基因)
# 以下为引物信息(备查):
# E.coli uidA-F: 5'-AAAACGGCAAGAAAAAGCAG-3'
# E.coli uidA-R: 5'-ACGCGTGGTTACAGTCTTGCG-3'
# qPCR 标准曲线制备(10倍梯度稀释)
echo "Standard curve dilutions:"
echo "STD1: 1e7 copies/uL"
echo "STD2: 1e6 copies/uL"
echo "STD3: 1e5 copies/uL"
echo "STD4: 1e4 copies/uL"
echo "STD5: 1e3 copies/uL"
# 计算每升水的大肠菌群数
# copies_per_mL = 10^(Ct * slope + intercept) * 稀释倍数
# copies_per_L = copies_per_mL * 1000 / 过滤体积(L)
python3 << 'EOF'
import numpy as np
# 标准曲线参数(从qPCR软件读取)
slope = -3.32 # 理想斜率约 -3.32(对应100% 效率)
intercept = 38.5 # 截距
# 样品Ct值
ct_values = [25.3, 25.1, 25.6] # 三个技术重复
# 计算拷贝数(每微升)
copies_per_ul = [10**((ct - intercept) / slope) for ct in ct_values]
mean_copies = np.mean(copies_per_ul)
# 换算为每升水
elution_volume_ul = 50 # 洗脱体积50微升
filtered_volume_L = 2 # 过滤了2升水
copies_per_liter = mean_copies * elution_volume_ul / filtered_volume_L / 1000
print(f"大肠杆菌浓度:{copies_per_liter:.2e} copies/L")
# WHO 饮用水标准:大肠菌群检出量应为 0
EOF
面试常问点
- 为什么水样DNA提取比土壤难? 水中菌密度低,需要先大量过滤浓缩,且水中腐殖质和盐分也会抑制PCR
- 16S分析能替代培养法检测大肠菌群吗? 不能完全替代——传统培养法是监管标准(EPA方法),16S是研究工具
- 蓝藻爆发如何影响水体微生物组? 蓝藻产毒素,改变水体溶解氧(白天过高夜间过低),导致其他微生物死亡
速查表
| 参数 | 典型值(健康淡水) | 异常提示 |
|---|
| pH | 6.5-8.5 | <6或>9:污染/酸雨 |
| 溶解氧 | >6 mg/L | <2:严重有机污染 |
| 大肠菌群 | 0 CFU/100mL(饮用水) | >0:粪便污染 |
| Shannon 多样性 | 4-6(健康) | <3:污染指示 |