2、ANNOVAR安装与配置:系统要求、安装步骤

安装ANNOVAR,说白了就三步:选对系统、装好依赖、跑安装脚本。听起来简单?嗯,但我在项目里见过不少人在第一步就卡住了。

我个人习惯先检查系统类型和架构,这步走对了后面基本不会出大问题。咱们先从系统要求说起。

ANNOVAR 安装配置流程 1. 检查操作系统 2. 安装系统依赖 3. 下载解压源码 4. 配置Perl环境 5. 运行测试验证 💡 关键提醒 确保Perl ≥ 5.10

3.1 系统要求

ANNOVAR是用Perl写的,所以它对操作系统没有特别苛刻的要求。你想想看,Perl本身就是跨平台的。但我在实际项目里踩过几次坑,总结下来最稳的还是Linux。

项目最低要求推荐配置
操作系统Linux / macOS / UnixUbuntu 20.04 LTS 或 CentOS 7+
CPU架构x86_64同左
内存2 GB8 GB(处理WGS数据时)
磁盘5 GB50 GB(含数据库缓存)
Perl版本5.105.26 或更高
网络需下载数据库稳定宽带

为什么推荐Linux?我记得第一次在macOS上装ANNOVAR,Perl版本倒是没问题,但有个依赖库死活编译不过。后来换了Ubuntu 20.04,十行命令就搞定了。所以我说,别折腾,选Linux吧。

⚠️ 系统位数警告: 不要用32位系统。ANNOVAR的索引文件都是基于64位架构生成的,装上去大概率跑不起来。我在客户服务器上遇过一次,排查了半天才发现是系统位数不对。

3.2 安装步骤

安装过程其实不复杂,但有几个细节你得留意。我的习惯是这样:先确认环境,再下载,最后配置。一步一步来,别跳步。

步骤一:检查系统环境

先跑下面几个命令,确认你的系统没问题:

uname -a
perl -v
df -h

嗯,这里要注意。Perl版本如果是5.8或者更老,赶紧升级。ANNOVAR有些脚本用了5.10才支持的特性,低了会报编译错误。我遇到过有人直接在CentOS 6上装,系统自带Perl 5.8,结果跑annotate_variation.pl直接挂了。

步骤二:安装系统依赖

ANNOVAR本身不依赖太多第三方库,但有些功能需要额外的模块。说白了,就是Perl的DBI和DBD::mysql这两个包。对于Ubuntu用户:

sudo apt-get update
sudo apt-get install -y perl perl-modules libdbi-perl libdbd-mysql-perl

CentOS用户就换一下包管理:

sudo yum install -y perl perl-DBI perl-DBD-mysql

macOS用户,如果你装了Homebrew:

brew install perl
cpan install DBI DBD::mysql
💡 小技巧: 如果你不打算用ANNOVAR的MySQL接口,可以跳过DBD::mysql的安装。我刚开始时没想清楚,把整个MySQL服务都装上了,白白浪费了半小时。

步骤三:下载并解压

最新稳定版可以从官网获取。我个人习惯用wget直接拉到服务器上:

wget http://www.openbioinformatics.org/annovar/download/annovar.latest.tar.gz
tar -zxvf annovar.latest.tar.gz
cd annovar

解压后你会看到这样一些文件:

annovar/
├── annotate_variation.pl
├── coding_change.pl
├── convert2annovar.pl
├── retrieve_seq_from_fasta.pl
├── table_annovar.pl
└── humandb/

humandb目录初始是空的。别急,后面配置时会下载数据库。

步骤四:配置环境变量

为了方便调用,我建议把ANNOVAR的bin目录加到PATH里。打开你的shell配置文件:

echo 'export PATH=$PATH:/path/to/annovar' >> ~/.bashrc
source ~/.bashrc

注意,/path/to/annovar要换成实际的路径。我曾经因为路径写错了,敲半天命令都没反应。

另外,你还可以设置一个环境变量指向数据库目录:

export ANNOVAR_DATA=/path/to/annovar/humandb

这样后续下载数据库时可以直接引用这个变量,省事。

🔑 关键配置核对清单:
  • Perl版本 ≥ 5.10(运行 perl -v 确认)
  • ANNOVAR解压目录有写入权限(数据库下载需要)
  • PATH环境变量已包含ANNOVAR目录
  • 有稳定的网络连接(下载数据库)

3.3 验证安装

配置好了,怎么知道装没装对?来,跑个简单的测试:

perl annotate_variation.pl --help

如果能看到帮助信息,说明基本OK。再进一步,我一般会测试一个mini数据:

perl table_annovar.pl --buildver hg19 --out test_output \
  --protocol refGene --operation g \
  sample.vcf humandb/

只要没有Perl相关的报错,就表示安装成功了。

为什么先跑这个测试?你想想看,如果等到正式分析时才发现环境不对,那才叫崩溃。我在项目中期遇到过有人拿了一整套流程到新集群上跑,结果Pearl版本不对,全部重装,白费半天。

3.4 常见安装问题与避坑

装得多了,自然知道哪些地方容易出岔子。整理几个我亲身经历过的坑:

问题现象可能原因解决方法
Can't locate DBI.pm in @INC缺少Perl DBI模块安装 libdbi-perl(或 perl-DBI)
Archive::Tar 版本过低Perl Archive::Tar 太旧cpan install Archive::Tar
Cannot write to humandb目录权限问题chmod +w humandb
perl: symbol lookup errorPerl版本不兼容重新编译Perl或升级系统Perl

避坑指南——我曾经在Windows系统上用WSL装ANNOVAR,其他都好,但文件权限搞得很混乱。最后干脆切到原生Linux系统,再也没出过这种问题。

还有一个常见情况:用户直接拿root权限装,后来普通用户运行时报权限错误。我建议先在普通用户下测试,确认无误再全局配置。

⚠️ 重点注意: 如果你修改了系统Perl版本(比如用perlbrew安装),一定要确保PATH中优先调用的是新版,否则系统自带的老版本Perl会跳过你装的新模块。用 which perl 检查一下就清楚了。

嗯,其实安装这部分说复杂也不复杂。大多数问题都集中在Perl环境和系统依赖上。只要把本节开头那三步走好——检查系统、装依赖、配环境——ANNOVAR就能稳稳跑起来。