1. 课程介绍:ANNOVAR与VEP——从原始注释到漂亮图表

做生物信息学的朋友,估计都跟变异注释打过交道。说白了,你拿到一个 VCF 文件,里面一堆变异位点——它落在哪个基因上?是不是外显子?导致氨基酸变化了没有?人群频率高不高?这些问题,光靠 VCF 文件本身是回答不了的。

这时候就需要注释工具上场。目前的业界主力,就是 ANNOVAR 和 VEP 这两款。我个人习惯两个都会用,因为它们各有各的脾气。这章我们先聊聊它们是什么、能干什么、为什么值得你花30节课来学。

1.1 什么是变异注释?为什么这么重要?

变异注释,说白了就是把 VCF 里的染色体位置“翻译”成人类能读懂的信息。

  • 它落在哪个基因上?比如 BRCA1、TP53
  • 属于什么类型?错义、无义、同义、剪切位点
  • 对蛋白有什么影响?SIFT 评分、PolyPhen 预测
  • 在人群里的频率?gnomAD、1000 Genomes、ESP

没有注释,你手头的变异就是一堆坐标,毫无临床意义。嗯,这一步要是跳过了,后面分析再花哨也是白搭。

一句话总结:注释就是把“chr1:12345 A>G”变成“BRCA1 基因上的错义突变,SIFT 0.01(有害),gnomAD 频率 0.0005”。

1.2 ANNOVAR 是什么?

ANNOVAR 是我最早接触的注释工具。它走的是“本地化”路线,需要你自己下载数据库。优点是速度极快,能批量跑几百个 VCF。缺点?配置起来稍微有点折腾。

ANNOVAR 的哲学很简单:你把 VCF 丢进去,它给你一张大表。每个变异一行,每列对应一个数据库。我自己在项目中遇到过这样的事:第一次用 ANNOVAR,忘了下载某些数据库,跑出来一堆空列。后来养成了习惯,跑之前先检查数据库是否全。

典型的 ANNOVAR 命令长这样:

annotate_variation.pl -geneanno \
    -buildver hg38 \
    -outfile my_anno \
    input.avinput \
    humandb/

它的输出是一张 tab 分隔的表,方便在 Excel 或 R 里继续搞。

1.3 VEP 是什么?

VEP(Variant Effect Predictor)是 Ensembl 家族的亲儿子。它更像一个“在线+离线”双模战士。你可以用它的 web 界面上传小文件,也能在本机装个 Perl 版本。

VEP 最大的优点是注释信息极其丰富。每个变异我不光能告诉你它落在哪个基因,还能给出这个基因的转录本 ID、蛋白质结构域、调控区域标记。缺点也明显——慢。你想想看,注释一个全基因组 VCF,VEP 可能要跑一整天,ANNOVAR 可能两小时就完事了。

有一次我帮同事跑一组肿瘤样本,他非要只用 VEP,结果等了三天还没完。我建议他用 ANNOVAR 先做个粗筛,再拿 VEP 对候选位点做精细注释。嗯,这个思路后来成了我们团队的标准流程。

VEP 的典型命令:

vep -i input.vcf -o output.vep \
    --cache --dir_cache /path/to/cache \
    --assembly GRCh38 \
    --everything --fork 4

1.4 两个工具的对比

先别急着站队,我帮你列个表,一眼看明白区别。

维度 ANNOVAR VEP
速度 快,批量处理效率高 慢,尤其是全基因组
注释广度 常用数据库覆盖不全时需手动加 极广,Ensembl 生态一站式
数据库下载 需要提前下载 humandb/ 支持在线查询或本地缓存
输出格式 简单的 tab 分隔表 丰富但略复杂的结构
临床适用性 适合作初筛 常作为金标准

我个人做过一个测试:一个 2GB 的 VCF,含约 500 万个变异。ANNOVAR 跑了 35 分钟,VEP 跑了 4 小时 20 分钟。但是 VEP 给出的注释信息量大约是 ANNOVAR 的 2-3 倍。你想想看,这中间的取舍,完全取决于你的项目需求。

1.5 应用场景——学了这门课你能干什么?

我自己刚入行那会儿,只会跑命令,不会看结果。最惨的一次是给临床医生汇报,人家问“这个位点注释说有致病性,你确认过了吗?”我哑口无言。因为那时候我只会对着 Excel 表念数据,根本不会验证注释的可靠性。

这门课里,我要带你逐步搞定的场景包括:

  1. 从原始 VCF 出发,同时用 ANNOVAR 和 VEP 跑出注释。
  2. 对比两个工具的注释差异——同样的位点,为什么评分不一样?我遇到过一次因为数据库版本不一致导致的假阳性,后来再也不信单一工具。
  3. 可视化注释结果:用 Python(matplotlib、plotly、PyRanges)把注释结果变成漂亮的瀑布图、曼哈顿图、基因-变异关联网络图。
  4. 避坑指南:比如如何检测注释数据库版本冲突、如何处理多等位基因位点、如何用 BED 文件子集注释。

我曾经踩过的坑:用 ANNOVAR 对一个癌症样本做注释,运行后检查输出,发现有很多空白列。排查了半天,原来是数据库下载不完整。后来我写了个脚本自动化检查数据库完整性。这门课里我会把这个脚本也分享给你。

1.6 课程目标——30 章结束后你能做什么?

我们不搞虚的。学完这 30 章,你至少能:

  • 独立搭建 ANNOVAR + VEP 双注释流程,并自动对齐输出
  • 用 Python 解析、比较、可视化注释结果,而不是对着 Excel 发呆
  • 写出生产级的注释处理管线,自动化跑成千上万个样本
  • 知道什么时候选 ANNOVAR、什么时候用 VEP,甚至知道怎么把它们互补使用

我曾带过一个实习生,刚来的时候连 VCF 的 FORMAT 列都搞不明白。我让他用 ANNOVAR 跑了两次,自己画出注释字段分布图。两周后,他已经能帮我检查全外显子数据的注释质量了。所以别担心基础,只要动手,你也能做到。

提前预告一个常见误区:很多人觉得注释完就结束了。实际上,注释只是开始。如何验证注释正确性、如何从大量注释信息里筛选真正重要的变异,才是关键。这门课会花一半以上的时间来覆盖后半段——注释结果的可视化与解读。

1.7 本章知识体系总览

先给你一张框架图,看看这章讲的东西在整个课程里怎么定位。

第1章:课程介绍——ANNOVAR与VEP注释结果可视化实战 变异注释是什么? 变异注释就是把 VCF 里的位置信息 翻译成基因、功能、频率等可读信息 ANNOVAR 速度快、批量强 本地数据库手动下载 适合初筛与批量处理 VEP 注释丰富、准确性高 支持在线与本地缓存 常作为临床金标准 课程目标:注释 → 对比 → 可视化 → 实战管线 说明:一门课学两个主流工具,并掌握结果可视化技能 不再只跑命令,而是真正读懂注释、发现故事

这张图把第 1 章的核心逻辑串了一遍。你从上往下看:先理解变异注释是什么,再对比 ANNOVAR 和 VEP 各自的特点,最后指向课程目标——让你能流畅地用两个工具做注释,再把结果可视化出来,形成你自己的分析管线。