生信分析的经验之谈
因为本书的宗旨是以最小的学习生信专业知识为代价来完成生信分析任务,所以我们不会深入探讨每种生信数据的分析的理论和方法,而是分享一些我的实用的经验和技巧,帮助您更高效地完成生信分析工作。
查找与获取公共数据
在开始生信分析之前,首先需要找到合适的公共数据。本节以查找肾癌单细胞数据为例,介绍一套系统的数据查找和筛选流程。
文献检索与数据源定位
1. PubMed检索策略
以肾癌单细胞数据为例,推荐的检索策略如下:
- 检索式示例:
(kidney cancer OR renal cell carcinoma) AND single cell AND (2020:2025[dp]) - 时间范围:建议检索近5年的文献,确保数据的时效性和技术先进性
2. 文献管理与优先级排序
将检索结果导出到Zotero等文献管理工具:
- 在PubMed检索结果页面,选择”Send to” → “Citation manager”
- 导入到Zotero后,按影响因子(Impact Factor)从大到小排序(可使用easyScholar、Zotero Box等插件)
- 从高影响因子期刊开始逐篇筛选,这些文章通常数据质量更高
数据筛选标准
在逐篇浏览文章时,需要重点关注以下几个方面:
核心筛选指标:
- 测序技术
- 10x Genomics(最常见)
- Smart-seq2(全长转录本)
- Drop-seq、inDrop等
- 不同技术的数据特点和分析流程有所差异
- 组织来源
- 肿瘤组织 vs 癌旁组织 vs 正常组织
- 原发灶 vs 转移灶
- 新鲜组织 vs 冷冻组织
- 细胞分选情况
- 是否进行了细胞分选(FACS/MACS)
- 分选策略(如仅分选免疫细胞、上皮细胞等)
- 未分选的全组织数据更全面但可能包含较多污染
- 样本处理
- 是否有基因敲除/敲低
- 是否有药物处理
- 是否有体外培养
- 特殊处理会影响基因表达模式,需根据研究目的判断是否合适
数据获取策略选择
对于标准的生信分析,一般推荐从原始数据开始分析,以确保数据质量和分析的可控性。但在某些情况下,使用预处理好的数据也可以满足需求。下表总结了两种策略的适用场景、数据来源和优势:
| 策略 | 适用场景 | 数据来源 | 优势 |
|---|---|---|---|
| 从原始数据分析 | 发表论文、数据整合、质量要求高 | GEO/SRA/ENA的FASTQ文件 | 完全掌控QC流程、可重复性强 |
| 使用预处理数据 | 快速验证假设、查看基因表达 | 文章补充材料、GEO表达矩阵、TISCH、CellxGene | 快速便捷、无需大量计算资源 |
数据分析方法选择
上游数据尽量使用如nf-core等社区维护的标准化流程进行处理,可大大减少工作量和提高结果的可靠性。
下游数据分析的方法选择则需要根据具体的数据类型和研究目的来决定。由于生信领域的方法众多且更新迅速,建议搜索最新的方法测评文章来选择,如搜索”single cell RNA-seq integrate benchmark”、“scRNA-seq best practices”等关键词。
Bulk RNA-seq数据的分析经验
质控与预处理
- 样本质量评估:优先检查RIN值(≥7为佳)、测序深度(20-30M reads/样本)和比对率(≥70%)
- 批次效应:使用PCA图检查批次效应,必要时用ComBat或limma的removeBatchEffect校正
- 过滤低表达基因:通常保留在至少3个样本中CPM>1的基因,减少多重检验负担
差异表达分析
- 工具选择:DESeq2(count数据,推荐)或edgeR(灵活性高)或limma-voom(速度快),多尝试几种方法,看哪个能得到想要的结果
- 设计矩阵:明确对照组和处理组,考虑配对设计、批次等协变量
- 阈值设定:常用标准为|log2FC|>1且adjusted p-value<0.05,可根据研究目的调整
- 多重比较校正:默认使用BH(FDR)方法,保守研究可用Bonferroni
下游分析要点
| 分析类型 | 推荐工具/方法 | 注意事项 |
|---|---|---|
| GO/KEGG富集 | clusterProfiler、enrichr | 使用正确的背景基因集;关注富集倍数而非仅看p值 |
| GSEA | fgsea、GSEA官方软件 | 使用全部基因的排序列表,不要预过滤;选择合适的基因集数据库 |
| 共表达网络 | WGCNA | 样本量≥15;选择合适的软阈值;模块与表型关联分析 |
| 可视化 | ggplot2、ComplexHeatmap | 热图需标准化(z-score);火山图突出关键基因 |
常见陷阱:
- 不要对p值过滤后的基因做富集分析(应该用adjusted p值的全部基因)
- 注意基因ID转换的版本一致性(ENSEMBL、Symbol、Entrez)
- 生物学重复≥3,技术重复意义不大
单细胞数据的分析经验
质控标准
方法一:固定阈值过滤(快速但需手动调整)
# 常用过滤标准
nFeature: 200-6000 # 检测到的基因数
nCount: 500-50000 # 总UMI数
percent.mt: < 15% # 线粒体基因比例(根据组织类型可调)方法二:MAD过滤(更稳健,自适应数据特征)
MAD(Median Absolute Deviation)方法基于中位数和偏差,对异常值更稳健:
# 计算MAD阈值(以nFeature为例)
median_val <- median(seurat_obj$nFeature_RNA)
mad_val <- mad(seurat_obj$nFeature_RNA)
lower_bound <- median_val - 3 * mad_val # 下限
upper_bound <- median_val + 3 * mad_val # 上限
# 通常使用3倍MAD,可根据数据调整为2-5倍优势:MAD方法能自动适应不同组织、测序深度的数据,减少主观设定阈值的偏差。
质控要点:
- 双细胞/多细胞:使用DoubletFinder或Scrublet识别并去除
- 低质量细胞:太少基因数可能是空液滴,太多可能是双细胞
- 死亡细胞:线粒体基因比例过高提示细胞损伤
- 方法选择:数据质量较好时用固定阈值;数据异质性大或批次多时优先用MAD
数据标准化与整合
- 标准化方法:Seurat的SCTransform(推荐)或传统的NormalizeData+ScaleData
- 批次整合:Harmony(快速简单)、Seurat CCA/RPCA(效果好但慢)、scVI(深度学习方法)
- 整合后检查:用UMAP/PCA确认批次效应是否消除,但生物学差异保留
细胞类型注释
推荐首选手动注释、次选自动注释。可以把每个cluster的差异分析结果发给AI来注释,同时人工复核。
| 方法类型 | 工具/策略 | 适用场景 |
|---|---|---|
| 自动注释 | SingleR、CellTypist、scType | 用高质量参考数据集;快速初步注释 |
| 标记基因 | 已知marker基因+文献 | 研究充分的组织;需要精确分型 |
| 参考映射 | Seurat Label Transfer、Symphony | 有相似的已注释数据集 |
注释原则:
- 先粗分群(大类),再细分亚群
- 结合多个marker基因,不依赖单个基因
- 用DotPlot或FeaturePlot验证注释的准确性
- 对未知群体保持谨慎,标注为”Unknown”而非强行赋予细胞类型
下游分析建议
差异表达分析:
- 用FindMarkers时注意
min.pct和logfc.threshold参数 - 考虑使用MAST(适合单细胞特点)或Wilcoxon秩和检验(快速稳健)
- 细胞数差异大时,使用下采样保证可比性
轨迹推断:
- Monocle3(灵活),Slingshot(快速),RNA velocity(动态信息)
- 需要有明确的生物学过程(分化、发育等)
- 验证拟时序与已知生物学过程的一致性
细胞通讯分析:
- CellChat、CellPhoneDB、NicheNet
- 关注统计显著性和生物学意义的平衡
- 结合空间转录组数据验证(如有)
常见问题处理:
- 过度聚类:降低分辨率参数或合并相似的亚群
- 稀有细胞群丢失:单独分析,或降低
min.cells过滤标准 - 批次效应残留:尝试更强的整合方法,或在下游分析中控制批次因素