2、ANNOVAR安装与配置:系统要求、安装步骤
安装ANNOVAR,说白了就三步:选对系统、装好依赖、跑安装脚本。听起来简单?嗯,但我在项目里见过不少人在第一步就卡住了。
我个人习惯先检查系统类型和架构,这步走对了后面基本不会出大问题。咱们先从系统要求说起。
3.1 系统要求
ANNOVAR是用Perl写的,所以它对操作系统没有特别苛刻的要求。你想想看,Perl本身就是跨平台的。但我在实际项目里踩过几次坑,总结下来最稳的还是Linux。
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Linux / macOS / Unix | Ubuntu 20.04 LTS 或 CentOS 7+ |
| CPU架构 | x86_64 | 同左 |
| 内存 | 2 GB | 8 GB(处理WGS数据时) |
| 磁盘 | 5 GB | 50 GB(含数据库缓存) |
| Perl版本 | 5.10 | 5.26 或更高 |
| 网络 | 需下载数据库 | 稳定宽带 |
为什么推荐Linux?我记得第一次在macOS上装ANNOVAR,Perl版本倒是没问题,但有个依赖库死活编译不过。后来换了Ubuntu 20.04,十行命令就搞定了。所以我说,别折腾,选Linux吧。
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
步骤三:下载并解压
最新稳定版可以从官网获取。我个人习惯用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 error | Perl版本不兼容 | 重新编译Perl或升级系统Perl |
避坑指南——我曾经在Windows系统上用WSL装ANNOVAR,其他都好,但文件权限搞得很混乱。最后干脆切到原生Linux系统,再也没出过这种问题。
还有一个常见情况:用户直接拿root权限装,后来普通用户运行时报权限错误。我建议先在普通用户下测试,确认无误再全局配置。
嗯,其实安装这部分说复杂也不复杂。大多数问题都集中在Perl环境和系统依赖上。只要把本节开头那三步走好——检查系统、装依赖、配环境——ANNOVAR就能稳稳跑起来。