生物信息学:从碱基到生物学意义

目录

  1. 引子:生信到底在干什么?
  2. 场景串讲:用三个故事把核心概念串起来
  3. 知识点与常见坑(Markdown 速查表)
  4. 数据来源:公共数据库生态
  5. 核心算法:它们是怎么来的?
  6. 关键指标的意义
  7. 如何指导生产(医学 / 农业 / 工业)
  8. 与哪些功能 / 学科关联?
  9. 经典问答 FAQ
  10. 最佳工程实践(反例 vs 正解)
  11. 心智模型:ASCII 线框简图
  12. 参考文献与资源

1. 引子:生信到底在干什么?

一句话定义:生物信息学 = 生物学问题 + 计算机算法 + 统计学推断。它的使命是把海量生物数据(DNA/RNA/蛋白/代谢物)翻译成可理解的生物学结论。

用一个比喻:

生信工程师就像图书馆的编目员 + 侦探。
测序仪给你一车撕碎的、带墨点的书页(reads),你的工作是:
① 把碎片拼回原书(组装 / 比对)
② 给每页贴标签、建目录(注释 / 功能分析)
③ 找出哪几页被涂改过、谁改的、改了有什么后果(变异检测 / 差异分析)
④ 最后写一份人话报告给生物学家(可视化 / 生物学解释)


2. 场景串讲:用三个故事把核心概念串起来

场景 A —— 「这坨 DNA 是什么物种?」(序列比对 + 数据库搜索)

故事情节:你从土壤里提取了未知微生物的 DNA,测了序,拿到一段 500bp 的序列。你想知道它可能是什么菌。

涉及的概念串:

原始序列 (FASTA) → BLAST 搜索 → 数据库命中 → E值/p值评估 → 同源推断
  • FASTA:纯文本序列格式,以 > 开头写描述,后面是 ATCG 字符串。
  • BLAST:「生物界的 Google」。把你的序列切成小片段(种子),去全球数据库里找相似的片段,再扩展成完整比对。
  • E 值:在随机情况下,预期能撞上多少条「这么好或更好」的匹配。E 值越小越可信(E=0.001 意味着随机撞上的概率约千分之一)。
  • 同源(Homology):你和老鼠某段 DNA 有 90% 相似 → 说明你们有共同祖先,功能大概率也保守。

🔑 比喻:BLAST 就像拿着一张碎纸片去图书馆,先找上面有几个字跟哪本书对得上(种子命中),再把那本书翻到对应位置核对全文(扩展比对)。


场景 B —— 「癌细胞里哪些基因被打开了?」(转录组 + 差异表达)

故事情节:你有一组肝癌组织 RNA-seq 数据 + 一组正常肝组织数据。要找出差异表达基因(DEGs),解释癌症机制。

涉及的概念串:

RNA-seq reads (FASTQ) → QC → 比对(STAR/HISAT2) → 定量(counts)
  → 归一化(TPM/DESeq2) → 差异分析 → 火山图 → GO/KEGG 富集
步骤 做什么 常用工具
QC 看测序质量、去接头 FastQC, MultiQC
比对 reads 贴回参考基因组 STAR, HISAT2
定量 数每个基因有多少 reads featureCounts, Salmon
差异分析 统计哪些基因显著变化 DESeq2, edgeR, limma
富集分析 变化基因富集到哪些通路 clusterProfiler

🔑 比喻:RNA-seq 就像数每篇文章被朗读的次数。正常肝和癌肝各放一台录音机,最后统计哪些文章的「朗读次数」在两组间差异最大——这些就是候选的「癌症相关基因」。


场景 C —— 「这个人的基因组里有没有致病突变?」(变异检测 + 临床解读)

故事情节:给一个患者做全外显子测序(WES),找致病变异。

涉及的概念串:

FASTQ → BWA 比对 → SAM/BAM → 排序/去重 → BQSR → HaplotypeCaller
  → VCF → VEP/ANNOVAR 注释 → ClinVar 判读 → 报告
  • SNP / Indel:单碱基变异 / 插入缺失,最常见。
  • VCF:变异结果的标准格式,每行一个变异位点。
  • ClinVar:收录变异与疾病关联的数据库。
  • GATK Best Practices:业界金标准流程(Broad 研究所制定)。

🔑 比喻:把基因组想象成一本书,变异检测就是逐字校对——找出哪几个字被打错了(SNP)、哪几行被多印或少印了(Indel),再查字典看这个错字会不会让句子意思完全变掉。


3. 知识点与常见坑

3.1 知识点速查表

概念 一句话解释 类比
基因组 (Genome) 一个生物的全部 DNA 序列 整本百科全书
转录组 (Transcriptome) 某一时刻细胞里所有 RNA 今天被翻开的那些书页
蛋白质组 (Proteome) 全部表达的蛋白质 工厂里正在干活的工人
代谢组 (Metabolome) 全部小分子代谢物 工厂排出的废料/产品
表观组 (Epigenome) DNA 甲基化/组蛋白修饰 书页上的便签和折角
Read 测序仪读出的短序列片段 碎纸片
FASTQ 带质量值的原始序列格式 碎纸片 + 每个字的清晰度评分
BAM/SAM 比对后的序列格式 碎纸片贴回原书后的位置记录
VCF 变异位点记录格式 勘误表
Contig 组装出的连续序列 拼好的几页连在一起的段落
N50 组装连续性的指标 拼好的段落里「中位数长度」
Coverage 深度 每个碱基被读到的平均次数 同一页被抄了几遍
ORF 开放阅读框,潜在编码区 一段看起来像「正文」的连续文字
BLAST 序列相似性搜索工具 图书馆查相似段落
E 值 随机匹配期望数 「纯属巧合」的概率
FDR / q 值 错误发现率校正 在 100 个「显著」结果里,预计有几个是假的
log2FC 差异倍数取 log2 上调 4 倍 = +2,下调 4 倍 = -2
GO / KEGG 功能注释 / 通路数据库 给基因贴「工种标签」/「流程图」

3.2 常见坑(避坑清单)

❌ 坑 ✅ 正确做法
拿到数据直接分析,跳过 QC 先 FastQC 看质量分布、GC、接头,再决定怎么修
把不同批次数据直接合并 先做 PCA / ComBat 校正批次效应
用 t 检验硬怼 RNA-seq 计数数据 用 DESeq2/edgeR(负二项分布)或先做正态性检验
只看 p 值,不看效应量 同时报告 log2FC / OR 值,判断「统计显著」是否「生物学重要」
富集分析用全基因组当背景 用与研究匹配的组织/条件特异性背景基因集
把相关性当因果 生信结果是假设生成器,需湿实验验证
只报阳性结果 阴性结果同样有价值,隐藏 = 学术不端
不记录软件版本 用 Conda/Singularity 锁版本,写进 README
用 FPKM 做跨样本比较 改用 TPM 或 DESeq2 的标准化计数
盲目追求复杂模型(深度学习) 小样本先用可解释模型(逻辑回归/决策树)

4. 数据来源:公共数据库生态

4.1 三大核心仓库(INSDC 联盟,数据互相同步镜像)

                    ┌─────────────────────────────────────────┐
                    │          INSDC 国际联盟                 │
                    └────────┬───────────────┬───────────────┘
                             │               │
              ┌──────────────┴────┐    ┌─────┴──────────────┐
              │   NCBI (美国)    │    │   EBI (欧洲)        │
              │  GenBank · GEO   │    │  ENA · UniProt     │
              │  SRA · RefSeq    │    │  PDB · ArrayExpress │
              └───────────────────┘    └─────────────────────┘
                        │                        │
                        └─────────┬──────────────┘
                                  │
                    ┌─────────────┴─────────────┐
                    │   DDBJ (日本)              │
                    │   INSDC 第三镜像           │
                    └──────────────────────────────┘

4.2 常用数据库一览

数据库 宿主 存什么 网址
GenBank NCBI 核酸序列(公开提交) ncbi.nlm.nih.gov/genbank
RefSeq NCBI 人工审校的参考序列 ncbi.nlm.nih.gov/refseq
ENA EBI 欧洲核酸档案(含 SRA 镜像) ebi.ac.uk/ena
GEO NCBI 基因表达数据(芯片 + 测序) ncbi.nlm.nih.gov/geo
SRA NCBI 原始测序 reads ncbi.nlm.nih.gov/sra
UniProt EBI 蛋白质序列与功能 uniprot.org
PDB RCSB 蛋白质 3D 结构 rcsb.org
dbSNP NCBI 单核苷酸多态性 ncbi.nlm.nih.gov/snp
ClinVar NCBI 变异-疾病关联 ncbi.nlm.nih.gov/clinvar
KEGG 日本 代谢通路图 kegg.jp
Reactome 国际 精选通路 reactome.org
Ensembl EBI/Sanger 基因组浏览器 + 注释 ensembl.org
UCSC Browser 加州大学 基因组浏览器 genome.ucsc.edu
AlphaFold DB EBI AI 预测蛋白质结构 alphafold.ebi.ac.uk

4.3 数据格式速记

格式 内容 类比
FASTA >描述\nATCG... 纯序列 只有文字,没有页码
FASTQ 序列 + Phred 质量值 文字 + 每个字的清晰度打分
SAM/BAM 比对结果(文本/二进制) 碎纸片在原书的位置坐标
VCF 变异位点 勘误表
GTF/GFF 基因结构注释 目录索引
BED 区间信息 书签

5. 核心算法:它们是怎么来的?

5.1 序列比对算法家族

动态规划双雄(精确但慢)

算法 用途 思想 复杂度
Needleman-Wunsch 全局比对(全长对齐) 动态规划填表,找全局最优 O(n×m)
Smith-Waterman 局部比对(找相似片段) 动态规划 + 负值归零 O(n×m)

💡 为什么需要两种? 全局比对适合「两段高度相似的同源基因比一比」;局部比对适合「在 30 亿碱基的基因组里找一个 200bp 的保守结构域」。

打分矩阵是比对的核心「字典」:

  • PAM(Point Accepted Mutation):基于进化模型,适合远缘比较。
  • BLOSUM(BLOcks SUbstitution Matrix):基于实际序列块统计,BLOSUM62 是 BLAST 默认。

启发式三剑客(快但近似)

算法 核心思想 速度 典型用途
FASTA 哈希表查短词 → 动态规划精修 中 早期数据库搜索
BLAST 种子命中 → 扩展 → 统计评估 快 NCBI 在线搜索
BLAT 给数据库建索引(反向思路) 很快 UCSC 浏览器内搜索

BWT 系(应对 NGS 海量短读长)

工具 基础 特点
Bowtie / Bowtie2 Burrows-Wheeler Transform 极快、内存小,适合短读长
BWA / BWA-MEM BWT + 种子扩展 比对准确,GATK 流程标配
STAR 后缀数组 支持剪接比对,RNA-seq 首选

🔑 BWT 比喻:把整本参考基因组压缩成一棵「可快速查找的字典树」。查询时不用逐字扫描全书,而是像查字典一样按字母顺序快速定位。

5.2 BLAST 算法详解(种子-扩展策略)

┌──────────────────────────────────────────────────────────────┐
│  Step 1  建库索引                                             │
│  把数据库序列切成所有长度为 W 的短词 (k-mer),建哈希表          │
├──────────────────────────────────────────────────────────────┤
│  Step 2  种子命中 (Seeding)                                   │
│  在 Query 上滑窗取短词,查哈希表,找到 DB 中匹配位置            │
│  仅保留得分 ≥ 阈值 T 的命中                                    │
├──────────────────────────────────────────────────────────────┤
│  Step 3  扩展 (Extension)                                     │
│  从种子向两端延伸,用打分矩阵评分                                │
│  当总分不再增长时停止 → 得到 HSP (High-scoring Segment Pair)   │
├──────────────────────────────────────────────────────────────┤
│  Step 4  统计评估                                              │
│  计算原始分 S → Bit-score S' → E 值                            │
│  E = m × N × 2^(-S')                                         │
│  E 越小 → 越不可能是随机撞上的                                  │
└──────────────────────────────────────────────────────────────┘

5.3 变异检测算法(GATK 流程)

GATK Best Practices 是业界标准,分两大阶段:

阶段一:单样本预处理 + 变异调用

FASTQ → BWA-MEM 比对 → SAM → Picard 排序 → MarkDuplicates
  → RealignerTargetCreator + IndelRealigner (旧版)
  → BaseRecalibrator + PrintReads (BQSR 碱基质量重校正)
  → HaplotypeCaller (输出 gVCF)

阶段二:联合基因分型 + 过滤

多个 gVCF → GenotypeGVCFs (联合基因分型)
  → VQSR (Variant Quality Score Recalibration) 或硬过滤
  → 输出最终 VCF

💡 为什么不直接比对完就找变异? 因为测序仪给的质量值有系统偏差(比如某些碱基类型总被低估),BQSR 就是用已知变异位点当「标准答案」来校正这些偏差。

5.4 差异表达统计模型

RNA-seq 计数数据服从负二项分布(过离散的 Poisson),因此:

  • DESeq2:用经验贝叶斯方法估计每个基因的离散度,做 Wald 检验 / LRT。
  • edgeR:类似思路,用精确检验(exact test)。
  • limma + voom:把计数数据转换后用线性模型,适合大样本。

5.5 多序列比对与进化树

工具 策略 适合场景
ClustalW / Clustal Omega 渐进式比对(先两两比对 → 建引导树 → 按距离逐步合并) 蛋白/DNA 多序列
MAFFT FFT 加速 + 迭代优化 大规模多序列
MUSCLE 对数期望迭代 高精度
RAxML / IQ-TREE 最大似然法建树 大数据集进化树

6. 关键指标的意义

6.1 测序质量指标

指标 含义 警戒线
Q20 / Q30 碱基识别准确率 99% / 99.9% Q30 ≥ 80% 为佳
GC 含量 全库 ATCG 分布 偏离物种典型值 → 污染或偏好
接头残留率 未去除的接头序列比例 >5% 需重洗
重复率 (Duplication rate) PCR 重复占比 >20% 警惕
比对率 (Mapping rate) 成功比对到参考的 reads 比例 <70% 查污染/参考不匹配
覆盖均匀性 各区域覆盖深度方差 高方差 → 捕获偏好

6.2 差异表达指标

指标 含义 怎么用
raw p-value 单次检验的显著性 不直接用于决策(多重检验未校正)
FDR / q-value 错误发现率 q < 0.05 为常用阈值
log2 Fold Change 差异倍数(对数化) |log2FC| > 1 通常要求
baseMean 归一化后的平均表达量 低表达基因即使显著也不可靠
FDR 校正方法 BH (Benjamini-Hochberg) 最常用 比 Bonferroni 保守度低、更灵敏

6.3 变异检测指标

指标 含义
QUAL 变异位点的 Phred 打分
DP 该位点覆盖深度
AF (Allele Frequency) 变异等位基因频率
VQSLOD VQSR 给出的质量对数比值
SIFT / PolyPhen 错义变异的有害性预测

6.4 火山图:一眼看尽差异基因

火山图把 log2FC(X 轴) 和 -log10(p-value)(Y 轴) 合在一张图里:

  • 右上角:显著上调
  • 左上角:显著下调
  • 中间:无显著差异
  • 越靠上越显著,越靠两侧倍数越大

7. 如何指导生产(医学 / 农业 / 工业)

7.1 精准医疗

应用 生信角色 实例
疾病风险预测 分析 BRCA1/2 等易感基因变异 乳腺癌/卵巢癌风险分层
肿瘤分子分型 转录组 + 突变谱聚类 肺癌 EGFR/ALK 分型指导靶向药
用药指导 药物代谢基因多态性分析 华法林剂量按 VKORC1 基因型调整
液体活检 血液中 ctDNA 低频变异检测 癌症早筛、复发监测
疫苗设计 病原体基因组变异追踪 新冠病毒刺突蛋白突变监测

7.2 农业育种

应用 生信角色 实例
全基因组选择 用 SNP 芯片/测序做基因组育种值估计 高产、抗病水稻选育
抗逆基因挖掘 GWAS 定位抗旱/耐盐 QTL 节水抗旱稻培育
基因组编辑靶点设计 设计 CRISPR sgRNA + 脱靶预测 精准编辑作物基因
畜禽遗传改良 基因组选择 + 系谱分析 高瘦肉率猪、高产奶牛
微生物肥料 宏基因组挖掘固氮/解磷菌株 减少化肥使用

7.3 公共卫生与传染病

  • 病原体实时监测:流感病毒、新冠病毒的基因组变异追踪,绘制传播链。
  • 耐药基因监测:宏基因组检测环境中耐药基因丰度,指导抗生素使用。
  • 传染病预警模型:结合气候、人口流动、基因组数据做预测。

7.4 药物研发

  • 虚拟筛选:基于靶点 3D 结构从化合物库筛候选分子。
  • 老药新用:整合疾病基因、药物靶点、临床数据做药物重定位。
  • 靶点发现:单细胞转录组挖掘新型药物靶点。

8. 与哪些功能 / 学科关联?

                          ┌──────────────────────┐
                          │   生物信息学 (核心)    │
                          └──────────┬───────────┘
            ┌────────────┬──────────┼──────────┬────────────┐
            ▼            ▼          ▼          ▼            ▼
      ┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ ┌──────────┐
      │ 分子生物学│ │ 遗传学   │ │ 统计学 │ │ 计算机 │ │ 化学     │
      │ DNA/RNA/ │ │ 群体遗传 │ │ 假设检验│ │ 算法/  │ │ 药物化学 │
      │ 蛋白功能 │ │ 连锁分析 │ │ 贝叶斯 │ │ 数据结构│ │ 结构生物学│
      └──────────┘ └──────────┘ └────────┘ └────────┘ └──────────┘
            │            │          │          │            │
            ▼            ▼          ▼          ▼            ▼
      ┌──────────┐ ┌──────────┐ ┌────────┐ ┌────────┐ ┌──────────┐
      │ 临床医学 │ │ 育种学   │ │ 流行病 │ │ 软件工程│ │ 制药工程 │
      │ 精准医疗 │ │ 农业科学 │ │ 公共卫生│ │ DevOps  │ │ 化学信息 │
      └──────────┘ └──────────┘ └────────┘ └────────┘ └──────────┘

关键交叉点:

  • 统计学:假设检验、贝叶斯推断、多重检验校正、机器学习。
  • 计算机科学:算法设计、数据结构(后缀树/BWT)、并行计算、数据库。
  • 分子生物学:理解 DNA→RNA→蛋白的中心法则,才能正确解释数据。
  • 临床医学:变异的临床意义判读需要医学知识。
  • 化学:药物-靶点相互作用、代谢通路。

9. 经典问答 FAQ

Q1:为什么二代测序读长那么短(100-300bp),却能测完整基因组?
A:靠「覆盖深度」取胜。把基因组随机打断成亿万条短片段,每条都测序,然后用算法根据片段重叠区把碎片拼回去。30x 覆盖度意味着每个碱基平均被读了 30 次,通过投票纠错。

Q2:BLAST 的 E 值和 p 值有什么区别?
A:p 值是「至少出现一条这么好的随机匹配」的概率(0~1);E 值是「预期出现多少条」(可 >1)。关系近似 E ≈ p × 数据库大小。E=0.001 比 p=0.999 更直观易懂,所以 BLAST 选报 E 值。

Q3:为什么 RNA-seq 不能用 t 检验直接做差异分析?
A:RNA-seq 计数是整数且方差随均值增大(过离散),不满足 t 检验的正态分布假设。DESeq2/edgeR 用负二项分布建模更准确。

Q4:TPM 和 FPKM 到底选哪个?
A:优先 TPM。FPKM 在样本间比较时因基因长度归一化方式有问题(分母包含的基因集随样本变化)。TPM 先除长度再归一化到百万,跨样本可比性更好。不过 DESeq2 的归一化计数仍是许多场景的首选。

Q5:什么是「批次效应」,怎么发现?
A:非生物学因素(测序批次、试剂批号、操作员)引入的系统偏差。用 PCA 图看样本是否按批次而非按生物学条件聚类——如果是,就需要 ComBat/SVA 校正。

Q6:为什么三代长读长测序错误率更高,还有人用?
A:因为短读长搞不定的事它搞得定:跨越重复序列、检测大片段结构变异(SV)、直接测甲基化、全长转录本 isoform 定相。HiFi 模式(PacBio 多次循环测序同一分子取共识)已把准确率推到 >99.9%。

Q7:GATK 流程里 MarkDuplicates 是干什么的?
A:PCR 扩增会产生完全相同的 reads 副本。如果不标记去除,变异检测时会把这些副本当成「独立证据」而高估变异支持度。MarkDuplicates 给它们打标签,后续工具会忽略或降权。

Q8:多序列比对为什么不能用动态规划直接做?
A:N 条序列的动态规划复杂度是 O(L^N),3 条就够呛,100 条直接爆炸。所以用渐进式策略(先两两比对建树,再按树逐步合并)做近似最优解。


10. 最佳工程实践(反例 vs 正解)

10.1 项目目录结构

❌ 反例:所有文件堆在一个文件夹,命名靠心情

project/
  数据.xlsx
  分析.R
  test2_fastqc.html
  new_new_result.txt

✅ 正解:标准化分层布局

project/
├── config/
│   ├── samples.tsv          # 样本清单(唯一真相源)
│   └── references.yaml      # 参考基因组版本锁定
├── raw/                     # 原始 FASTQ(只读)
├── trimmed/                 # 质控后
├── align/                   # BAM 文件
├── counts/                  # 定量矩阵
├── qc/                      # FastQC / MultiQC 报告
├── results/                 # 最终表格、图
├── workflow/                # Snakefile / nextflow.config
└── envs/                    # conda environment.yml

10.2 可重复性三件套

实践 工具 作用
版本控制 Git 追踪代码变更,支持回滚和协作
环境锁定 Conda / Docker / Singularity 保证「在我机器上能跑」=「在你机器上也能跑」
流程编排 Snakemake / Nextflow 把多步分析串成一条命令可重跑的管线

❌ 反例:

# 手动一步步跑,没有记录参数
bwa mem ref.fa sample_R1.fastq sample_R2.fastq > aln.sam
samtools view -b aln.sam > aln.bam
# ...三个月后忘了用了什么参数...

✅ 正解(Snakemake 风格):

rule bwa_mem:
    input:  ref="ref/genome.fa",
            r1="raw/{sample}_R1.fq.gz",
            r2="raw/{sample}_R2.fq.gz"
    output: "align/{sample}.bam"
    params: threads=8
    shell:
        "bwa mem -t {params.threads} {input.ref} "
        "{input.r1} {input.r2} | "
        "samtools sort -@4 -o {output}"

10.3 数据质控反例 vs 正解

❌ 反例:

「测序公司给的数据应该没问题吧?」→ 直接比对 → 差异基因全是 rRNA 污染导致。

✅ 正解:

  1. FastQC 看每条样本的质量曲线、GC 分布、接头含量。
  2. MultiQC 汇总所有样本,一眼看全貌。
  3. 用 Trimmomatic / fastp 去接头、切低质量尾。
  4. 比对后查 rRNA 比例(特别是转录组),超标重过滤。

10.4 统计检验反例 vs 正解

❌ 反例:

from scipy.stats import ttest_ind
# 直接对原始 counts 做 t 检验
t_stat, p_val = ttest_ind(group_A_counts, group_B_counts)

✅ 正解:

# R: 用 DESeq2 做差异分析
library(DESeq2)
dds <- DESeqDataSetFromMatrix(countData = counts, colData = metadata, design = ~ condition)
dds <- DESeq(dds)
res <- results(dds, alpha = 0.05)
# 看 padj (FDR 校正后的 p 值) 和 log2FoldChange

10.5 富集分析反例 vs 正解

❌ 反例:

把 20000 个基因全丢进 GO 富集,p 值校正后还有 500 条显著通路 → 什么都显著 = 什么都没说。

✅ 正解:

  • 用与研究匹配的背景基因集(如特定组织、特定条件表达的基因)。
  • 同时看 富集因子 (Enrichment Factor)、基因数、p 值三者,不只追 p 值最小。
  • 多数据库交叉验证(GO + KEGG + Reactome)。

11. 心智模型:ASCII 线框简图

11.1 测序技术三代演进

┌─────────────────────────────────────────────────────────────────┐
│                    测序技术三代演进                              │
├─────────────────┬───────────────────┬───────────────────────────┤
│   第一代 Sanger  │   第二代 Illumina│   第三代 PacBio/Nanopore  │
├─────────────────┼───────────────────┼───────────────────────────┤
│ 读长 ~1000 bp   │ 读长 50-300 bp  │ 读长 10-50 kb (长!)       │
│ 准确率 99.99%   │ 准确率 >99.9%   │ HiFi >99.9% / 实时         │
│ 通量极低        │ 通量极高 (Tb/run)│ 通量中等                  │
│ 成本高/碱基     │ 成本极低/碱基    │ 成本中等                  │
│                 │                   │                           │
│ 适合: 验证      │ 适合: 重测序     │ 适合: de novo / SV         │
│ 金标准确认      │ RNA-seq / 变异   │ 重复区域 / 全长转录本      │
├─────────────────┼───────────────────┼───────────────────────────┤
│ 1977 ──────────│ 2005 ───────────│ 2011 ─────────────────   │
│                 │   ↓ 成本暴降     │                           │
│                 │   通量暴增       │   长读长革命               │
└─────────────────┴───────────────────┴───────────────────────────┘

趋势: 读长 ↑   成本 ↓   通量 ↑   从「验证单个基因」走向「发现全基因组奥秘」

11.2 组学层级与中心法则

                    ┌─────────────────────────────────────────┐
  最稳定(静态) ◀────│  DNA 基因组  │ 蓝图  │ 你继承了什么潜力  │
                    ├─────────────────────────────────────────┤
                    │  表观修饰     │ 开关  │ 哪些基因被打开    │
                    ├─────────────────────────────────────────┤
                    │  RNA 转录组  │ 信使  │ 哪些基因正在工作  │
                    ├─────────────────────────────────────────┤
                    │  蛋白质组     │ 工人  │ 实际干活的分子    │
                    ├─────────────────────────────────────────┤
  最动态(瞬时) ───▶│  代谢组      │ 产物  │ 此刻细胞的真实状态│
                    └─────────────────────────────────────────┘
                          ▲                            │
                          └──── 反馈调控 ───────────────┘
                              (代谢物影响基因表达)

  越往上: 越稳定, 变化慢, 决定"可能性"
  越往下: 越灵敏, 变化快, 反映"现实状态"

11.3 标准生信分析流水线

  ┌──────────────┐
  │  FASTQ 原始  │  测序仪产出, 带质量值
  └──────┬───────┘
         ▼
  ┌──────────────┐
  │  ① QC 质控   │  FastQC → 看质量/GC/接头
  └──────┬───────┘
         ▼
  ┌──────────────┐
  │ ② 预处理     │  Trimmomatic/fastp 去接头/低质量
  └──────┬───────┘
         ▼
  ┌──────────────────────┐
  │ ③ 比对/定量           │  BWA·STAR·Salmon
  │ Reads → 参考基因组   │
  └──────┬───────────────┘
         ▼
  ┌──────────────────────┐
  │ ④ 核心分析            │  DESeq2·GATK·...
  │ 差异表达/变异检测     │
  └──────┬───────────────┘
         ▼
  ┌──────────────────────┐
  │ ⑤ 功能注释            │  BLAST·GO·KEGG
  │ 这是什么基因/通路?    │
  └──────┬───────────────┘
         ▼
  ┌──────────────────────┐
  │ ⑥ 可视化 & 解释       │  PCA·热图·火山图
  │ 写成人话给生物学家    │
  └──────────────────────┘

  ── 数据量递减, 信息密度递增 ──

11.4 BLAST 种子-扩展策略

   Query:  A C G T G A T C T G A C
                  │
                  ▼  Step1: 取短词 "GATC" (W=4)
                  │
                  ▼  Step2: 在数据库哈希表中查 "GATC"
                  │
   Database:  ...G G A C G T G A T C T G A C C...
                       ★命中! 位置=5
                  │
                  ▼  Step3: 从命中位置向两端扩展
                  │         用 BLOSUM62 打分
                  │
           得到 HSP:  G T G A T C T G A
                      │ │ │ │ │ │ │ │ │
                      得分 = Σ匹配 - Σ错配 - Σ空位
                  │
                  ▼  Step4: 计算 E 值
                     E = m × N × 2^(-S')
                     E=1e-15 → 几乎不可能是随机的!

11.5 Burrows-Wheeler Transform (BWT) 直觉

   原文:  A C G T $
         │
         ▼  生成所有循环移位
   ┌─────────────────────┐
   │ A C G T $           │
   │ C G T $ A           │
   │ G T $ A C           │
   │ T $ A C G           │
   │ $ A C G T           │
   └────────┬────────────┘
            ▼  按字典序排序
   ┌─────────────────────┐
   │ $ A C G T  ← F列    │
   │ A C G T $           │
   │ C G T $ A           │
   │ G T $ A C           │
   │ T $ A C G           │
   └────────┬────────────┘
            ▼  取末列 → BWT 输出
         BWT = "$ G A T C"

   LF 映射: 末列第 k 个 X → 首列第 k 个 X
   → 可从 BWT 无损还原原文!
   → 参考基因组只需存 BWT (高度压缩), 查询时 O(1) 定位

11.6 GATK 变异检测管线

  ┌──────────────────────────────────────────────────────────┐
  │                  GATK Best Practices                      │
  ├──────────────────────────────────────────────────────────┤
  │                                                          │
  │  FASTQ ──▶ BWA-MEM ──▶ SAM ──▶ Sort ──▶ BAM            │
  │                                                  │       │
  │                                                  ▼       │
  │                                          MarkDuplicates   │
  │                                                  │       │
  │                                                  ▼       │
  │                                      BQSR (碱基质量校正)   │
  │                                                  │       │
  │                                                  ▼       │
  │                                      HaplotypeCaller       │
  │                                      (→ gVCF)             │
  │                                                          │
  │ 多个样本 gVCF ──▶ GenotypeGVCFs ──▶ 联合基因分型          │
  │                                                  │       │
  │                                                  ▼       │
  │                                          VQSR / 硬过滤    │
  │                                                  │       │
  │                                                  ▼       │
  │                                          ★ 最终 VCF ★     │
  └──────────────────────────────────────────────────────────┘

11.7 火山图解读

              -log10(p-value)
                    │
         ★ ★ ★      │      ★ ★ ★
       ★ ★ ★ ★ ★    │    ★ ★ ★ ★ ★     ← 显著上调 (右上)
     ★ ★ ★ ★ ★ ★   │   ★ ★ ★ ★ ★ ★
    ★ ★ ★ ★ ★ ★ ★ │  ★ ★ ★ ★ ★ ★ ★
  ──────────────────┼──────────────────→ log2 Fold Change
    ★ ★ ★ ★ ★ ★ ★ │  ★ ★ ★ ★ ★ ★ ★
     ★ ★ ★ ★ ★ ★   │   ★ ★ ★ ★ ★ ★
       ★ ★ ★ ★ ★    │    ★ ★ ★ ★ ★     ← 显著下调 (左上)
         ★ ★ ★      │      ★ ★ ★
                    │
         ┌──┐       │       ┌──┐
         │  │       │       │  │  ← |log2FC|>1 且 p<0.05
         └──┘       │       └──┘
                    │
           非显著区域 (中间大片灰色点)

11.8 可重复性架构

  ┌─────────────────────────────────────────────────────────┐
  │                 可重复生信的四根柱子                      │
  ├──────────────┬──────────────┬──────────────┬────────────┤
  │  ① 版本控制  │ ② 环境管理  │ ③ 流程编排  │ ④ 文档记录 │
  ├──────────────┼──────────────┼──────────────┼────────────┤
  │ Git          │ Conda       │ Snakemake   │ README.md  │
  │ GitHub/GitLab│ Docker      │ Nextflow    │ 参数说明   │
  │ 每次改动有   │ Singularity │ 一键重跑    │ 工具版本   │
  │ commit 记录  │ 锁版本      │ 自动依赖    │ 数据来源   │
  ├──────────────┼──────────────┼──────────────┼────────────┤
  │ 防「在我机器 │ 防「环境漂移│ 防「步骤遗忘│ 防「三个月  │
  │  上能跑」     │  导致结果变 │  导致结果不可│  后忘记当时│
  │              │  得不一样   │  复现       │  怎么跑的」 │
  └──────────────┴──────────────┴──────────────┴────────────┘

12. 参考文献与资源

核心论文 / 文档

  • Altschul SF, et al. "Basic local alignment search tool." J Mol Biol. 1990. (BLAST 原始论文)
  • Needleman SB, Wunsch CD. "A general method applicable to the search for similarities in the amino acid sequence of two proteins." J Mol Biol. 1970.
  • Smith TF, Waterman MS. "Identification of common molecular subsequences." J Mol Biol. 1981.
  • Li H, Durbin R. "Fast and accurate short read alignment with Burrows-Wheeler Transform." Bioinformatics. 2009. (BWA)
  • Langmead B, Salzberg SL. "Fast gapped-read alignment with Bowtie 2." Nat Methods. 2012.
  • Love MI, et al. "Moderated estimation of fold change and dispersion for RNA-seq data." Genome Biol. 2014. (DESeq2)
  • Robinson MD, et al. "edgeR: a Bioconductor package for differential expression analysis." Bioinformatics. 2010.
  • Van der Auwera GA, et al. "From FastQ to VCF: GATK Best Practices." Curr Protoc Bioinformatics. 2013.
  • Barbitoff YA, et al. "Systematic benchmark of state-of-the-art variant calling pipelines." BMC Genomics. 2022.

在线资源

资源 链接 用途
NCBI BLAST blast.ncbi.nlm.nih.gov 在线序列比对搜索
GATK 文档 gatk.broadinstitute.org 变异检测最佳实践
Bioconductor bioconductor.org R 生信包集合
Bioconda bioconda.github.io Conda 生信软件源
Snakemake 教程 snakemake.readthedocs.io 流程编排入门
NGS 数据分析指南 ngless.embl.de 新手友好教程
生信技能树 bioinfoer.com 中文社区/教程

推荐书籍

  • 《Bioinformatics Algorithms》 (Pavel Pevzner) — 算法直觉,配图极佳
  • 《Genome Analysis》 (Steven Salzberg) — 基因组学实战
  • 《RNA-Seq Data Analysis》 (Eija Korpelainen) — 转录组分析全流程
  • 《生物信息学》 (樊龙江) — 中文教材,系统全面

📌 写在最后:生信的核心不是「会跑软件」,而是理解数据从何而来、算法做了什么假设、结果该怎么解释。工具在变、算法在迭代,但「垃圾进、垃圾出」的铁律不变。先把数据质量搞扎实,再谈生物学洞见——这是这份指南最想传达的一件事。


在生物信息学(尤其是高通量测序/NGS)中,GC含量和接头(Adapter)是两个非常基础且关键的概念。它们直接关系到数据的质量控制(QC)和后续分析的准确性。

以下是详细的解释:


一、 GC 含量 (GC Content)

1. 是什么?
GC含量是指在一段DNA或RNA序列中,鸟嘌呤(G)和胞嘧啶(C)占碱基总数的百分比。
公式:GC\% = \frac{G + C}{A + T + G + C} \times 100\%

2. 为什么重要?

  • 稳定性: G和C之间有三个氢键,而A和T之间只有两个。因此,GC含量高的DNA片段物理稳定性更高,解链(融化)需要的温度也更高。
  • 物种特征: 不同物种的基因组平均GC含量不同(例如,人类约为41%,某些细菌可能高达70%)。在测序数据中,如果GC分布出现异常双峰,可能暗示有物种污染。
  • 测序偏差(GC Bias): 这是生信中最头疼的问题之一。目前的测序技术(如Illumina)在PCR扩增和集群生成阶段,对极高或极低GC含量的区域不够友好,会导致这些区域的测序深度偏低。

3. 生信分析中的应用:

  • 质量检测: 使用 FastQC 等软件查看 GC Distribution。如果曲线偏离理论上的正态分布,说明实验过程可能存在偏差。
  • 校正: 在进行定量分析(如RNA-seq或WGS找变异)时,需要用算法校正GC偏差,以确保结果的真实性。

二、 接头 (Adapter)

1. 是什么?
接头是一段人工合成的短DNA序列(通常几十个碱基长),在构建测序文库时,会被人工连接到生物样品DNA片段的两端。

2. 它的作用是什么?
接头是测序芯片(Flowcell)和待测DNA之间的“桥梁”,主要有三大功能:

  • 固定作用: 接头的末端能与测序仪芯片上的引物互补结合,让DNA片段“站”在芯片上。
  • 引物绑定: 提供测序引物结合的点,让机器知道从哪里开始读碱基。
  • 索引/标签(Index/Barcode): 在多样本混合测序时,接头序列中包含一段特异的“条形码(Index)”。通过识别这段序列,生信软件可以将混合在一起的数据重新归类到对应的样本中。

3. 为什么在生信分析中要“去接头”?

  • 测序读穿(Read-through): 如果你的生物DNA片段(Insert)比测序长度短,测序仪读完生物片段后,会继续往后读,把接头的序列也读出来。
  • 后果: 接头序列不是生物体本身的序列。如果不去除,在进行序列比对(Alignment)时,这些接头序列会导致比对不上参考基因组,或者产生错误的变异结果。

4. 常用工具:
在数据预处理阶段,我们会使用 fastp, Cutadapt, Trimmomatic 等软件来识别并切除这些人为的接头序列。


总结对比

概念 类别 来源 生信处理目标
GC含量 生物特征 生物样本本身 检查是否有偏倚或污染,进行偏差校正
接头 (Adapter) 人工序列 实验室建库添加 必须彻底去除(Trim),否则影响后续比对

一句话总结:
在拿到测序数据后,你首先要做的就是检查GC含量(看数据质量好不好)并切除接头(把人工杂质去掉),然后才能开始正式的生物学分析。


文档版本: v1.0 | 更新日期: 2026-08-16

image.png

image.png

image.png

image.png

image.png

image.png

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容