安装VEP及其注释数据库

为了其它相关软件的顺利运行,我们根据教程来设置默认的安装目录及变量环境:Ensembl's VEP , If you don't have VEP installed, then follow this gist.

export cd=$HOME/vep
export VEP_DATA=$HOME/.vep
mkdir $VEP_PATH $VEP_DATA; cd $VEP_PATH
export PERL5LIB=$VEP_PATH:$PERL5LIB
export PATH=$VEP_PATH/htslib:$PATH
## 这一块代码就创建文件夹和下载数据,理论上不会出错,取决于网速
 perl -e '{print join"\n",@INC}'
 ## 这种临时添加perl模块路径的方法不好用,需要修改 
 source   ~/.bashrc

curl -LO https://github.com/Ensembl/ensembl-tools/archive/release/86.tar.gz
tar -zxf 86.tar.gz --starting-file variant_effect_predictor --transform='s|.*/|./|g'

基因组数据库下载

Download and unpack VEP's offline cache for GRCh37, GRCh38, and GRCm38:

cd $VEP_DATA
#rsync -zvh rsync://ftp.ensembl.org/ensembl/pub/release-86/variation/VEP/homo_sapiens_vep_86_GRCh37.tar.gz $VEP_DATA
rsync -zvh rsync://ftp.ensembl.org/ensembl/pub/release-86/variation/VEP/homo_sapiens_vep_86_GRCh38.tar.gz $VEP_DATA
#rsync -zvh rsync://ftp.ensembl.org/ensembl/pub/release-86/variation/VEP/mus_musculus_vep_86_GRCm38.tar.gz $VEP_DATA
cat $VEP_DATA/*_vep_86_GRC{h37,h38,m38}.tar.gz | tar -izxf - -C $VEP_DATA
## 解压下载好的数据库到指定文件夹
# 4.9G Apr 23 19:40 homo_sapiens_vep_86_GRCh38.tar.gz
## 这一步下载的文件有点大,可能会些微耗时,一般不修改默认文件夹。

Install the Ensembl API, the reference FASTAs for GRCh37/GRCh38/GRCm38:

cd $VEP_PATH
#perl INSTALL.pl --AUTO af --SPECIES homo_sapiens --ASSEMBLY GRCh37 --DESTDIR $VEP_PATH --CACHEDIR $VEP_DATA
perl INSTALL.pl --AUTO af --SPECIES homo_sapiens --ASSEMBLY GRCh38 --DESTDIR $VEP_PATH --CACHEDIR $VEP_DATA
#perl INSTALL.pl --AUTO af --SPECIES mus_musculus --ASSEMBLY GRCm38 --DESTDIR $VEP_PATH --CACHEDIR $VEP_DATA
## 这中间会安装 BioPerl

如果成功,会有提示,如下:

 - downloading Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
  - converting sequence data to bgzip format
 Going to run:
/home/jianmingzeng/vep/biodbhts/scripts/convert_gz_2_bgz.sh /home/jianmingzeng/.vep/homo_sapiens/86_GRCh38/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz /home/jianmingzeng/vep/htslib/bgzip
This may take some time and will be removed when files are provided in bgzip format
Converted FASTA gzip file to bgzip successfully
[fai_load] build FASTA index.
 - indexing OK
The FASTA file should be automatically detected by the VEP when using --cache or --offline. If it is not, use "--fasta /home/jianmingzeng/.vep/homo_sapiens/86_GRCh38/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz"
All done

因为用到perl模块,如果你的服务器环境没有配置好,会需要一些设置;

perl -e 'use LWP::Simple'

wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile
source ~/.profile

cpanm -v --notest -l ~/perl5  Archive::Extract;
cpanm -v --notest -l ~/perl5  Archive::Zip;
cpanm -v --notest -l ~/perl5  HTML::Entities;
cpanm -v --notest -l ~/perl5  LWP::Simple;
cpanm -v --notest -l ~/perl5  Compress::Zlib;
perl -e 'use Archive::Extract'
perl -e 'use HTML::Entities'
perl -e 'use HTML::HeadParser'
perl -e 'use LWP::Simple'
perl -e 'use Archive::Zip'
perl -e 'use Compress::Zlib'

cpanm -v --notest -l ~/perl5  DBD::mysql;
perl -e 'use DBD::mysql'

Convert the offline cache for use with tabix, that significantly speeds up the lookup of known variants:

#perl convert_cache.pl --species homo_sapiens --version 86_GRCh37 --dir $VEP_DATA
perl convert_cache.pl --species homo_sapiens --version 86_GRCh38 --dir $VEP_DATA
#perl convert_cache.pl --species mus_musculus --version 86_GRCm38 --dir $VEP_DATA
## 这个步骤特别耗时

更多细节去看我以前在生信菜鸟团博客分享的笔记:http://www.bio-info-trainee.com/1600.html

安装过程如下:

2018-04-27 13:42:12 - Processing homo_sapiens
2018-04-27 13:42:12 - Processing version 86_GRCh38
2018-04-27 13:42:12 - Processing _var cache type
[===========================================================]  [ 100% ]
2018-04-27 14:59:39 - All done!

下载安装关联软件

Download and build samtools and bcftools, which we'll need for steps below, and when running vcf2maf/maf2maf:

mkdir $VEP_PATH/samtools && cd $VEP_PATH/samtools
curl -LOOO https://github.com/samtools/{samtools/releases/download/1.3.1/samtools-1.3.1,bcftools/releases/download/1.3.1/bcftools-1.3.1,htslib/releases/download/1.3.2/htslib-1.3.2}.tar.bz2
cat *tar.bz2 | tar -ijxf -
cd htslib-1.3.2 && make && make prefix=$VEP_PATH/samtools install && cd ..
cd samtools-1.3.1 && make && make prefix=$VEP_PATH/samtools install && cd ..
cd bcftools-1.3.1 && make && make prefix=$VEP_PATH/samtools install && cd ..
cd ..

Download the liftOver binary down the same path, and make it executable:

curl -L http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/liftOver > bin/liftOver
chmod a+x bin/liftOver

Set $PATH to find all those tools, and also add this line to your ~/.bashrc to make it persistent. Be sure to edit the path below, if you didn't do this in your $HOME:

export PATH=$HOME/vep/samtools/bin:$PATH

使用VEP在真实数据

一般都需要先看看帮助文件:

 perl ~/vep/variant_effect_predictor.pl  --help
#----------------------------------#
# ENSEMBL VARIANT EFFECT PREDICTOR #
#----------------------------------#
version 86
by Will McLaren (wm2@ebi.ac.uk)
Help: dev@ensembl.org , helpdesk@ensembl.org
Twitter: @ensembl , @EnsemblWill
http://www.ensembl.org/info/docs/tools/vep/script/index.html
Usage:
perl variant_effect_predictor.pl [--cache|--offline|--database] [arguments]
Basic options
=============
--help                 Display this message and quit
-i | --input_file      Input file
-o | --output_file     Output file
--force_overwrite      Force overwriting of output file
--species [species]    Species to use [default: "human"]
--everything           Shortcut switch to turn on commonly used options. See web
                       documentation for details [default: off]
--fork [num_forks]     Use forking to improve script runtime
For full option documentation see:
http://www.ensembl.org/info/docs/tools/vep/script/vep_options.html

一般收入数据的vcf格式的:http://samtools.github.io/hts-specs/VCFv4.2.pdf

不过也没有那么标准,我给了如下:

chr1    12861477    .   T   C   .   .   32:1:3.03%:T:23:8:25.81%
chr1    16588939    .   T   C   .   .   22:0:0%:T:8:3:27.27%
chr1    16703018    .   C   G   .   .   28:0:0%:C:21:6:22.22%

处理起来毫无压力:

perl ~/vep/variant_effect_predictor.pl  -i tmp.vcf  -o test.results \
--cache --force_overwrite  --assembly GRCh38 --vcf

得到的结果其实和snpEFF没啥子区别,反正工具嘛,顺手即可。

其它输入数据:

它支持好几种输入格式数据:

  • BED: a simple tab-delimited format containing 3-12 columns of data. The first 3 columns contain the coordinates of the feature. If available, the VEP will use the 4th column of the file as the identifier of the feature.
  • GFF: a format for describing genes and other features. If available, the VEP will use the "ID" field as the identifier of this feature.
  • GTF: treated in an identical manner to GFF.
  • VCF: a format used to describe genomic variants. The VEP will use the 3rd column of the file as the identifier.
  • bigWig: a format for storage of dense continuous data. The VEP uses the value for the given position as the "identifier". Note that bigWig files contain their own indices, and do not need to be indexed by tabix.

Any other files can be easily converted to be compatible with the VEP; the easiest format to produce is a BED-like file containing coordinates and an (optional) identifier:

其实重点就是给出你的突变的坐标即可,在哪条染色体,什么位置!

不过,值得注意的是,我测试了BED格式,似乎不可以。

输出数据及其复杂

建议打印说明慢慢理解,争取熟记掌握。

snpEFF的输出文件说明书我就打印出来了。

非常重要。

当然,你可能会喜欢snpEFF: 安装snpEFF工具并对VCF文件进行注释【直播】我的基因组85

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2018-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信宝典

OrthoMCL鉴定物种同源基因 (安装+使用)

1.3K70
来自专栏kl的专栏

spring batch进阶-基于RabbitMQ远程分区Step

关于spring batch概念及基本使用,可移步《spring batch精选,一文吃透spring batch》,本文主要内容为spring batch的进...

74870
来自专栏玄魂工作室

Msfvenom后门重新学习与分析-windows篇

Msfvenom 是msf框架配套的攻击载荷生成器。 什么是攻击荷载: Payload:目标系统上渗透成功后执行的代码 msfvenom命令行选项如下: ? ?...

61090
来自专栏阿杜的世界

HttpClient使用总结

根据业务量级决定使用同步调用或异步调用:异步回调方式的并发性非常高,缺点是代码可读性一般,在开发中,我会首先选择同步实现,在遇到性能问题后再考虑优化为异步回调方...

9620
来自专栏Ryan Miao

Mybatis-update - 数据库死锁 - 获取数据库连接池等待

最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: update失败,原因是数据库死锁 select等待,原因是c...

47650
来自专栏玄魂工作室

Msfvenom后门重新学习与分析-windows篇

Msfvenom 是msf框架配套的攻击载荷生成器。 什么是攻击荷载: Payload:目标系统上渗透成功后执行的代码 msfvenom命令行选项如下: ? ?...

41280
来自专栏Java工程师日常干货

透彻理解MyBatis设计思想之手写实现

MyBatis,曾经给我的感觉是一个很神奇的东西,我们只需要按照规范写好XXXMapper.xml以及XXXMapper.java接口。要知道我们并没有提供XX...

8710
来自专栏腾讯Bugly的专栏

不给“爸爸”添麻烦 - iTOP iOS 动态库改造

苹果官方文档 对提交商店 APP 的二进制文件中__TEXT段大小有限制,超过大小限制的应用在提交评审的时候会被拒绝...

65490
来自专栏Java成神之路

分布式_事务_02_2PC框架raincat源码解析

上一节已经将raincat demo工程运行起来了,这一节来分析下raincat的源码

24010
来自专栏梦里茶室

sqlite在Android上的一个bug:SQLiteCantOpenDatabaseException when nativeExecuteForCursorWindow

这是sqlite在Android系统上的一个bug,在需要建立索引的sql语句频繁执行时,会发生这个异常。

11120

扫码关注云+社区

领取腾讯云代金券