美文网首页
vep docker下使用vcf2maf

vep docker下使用vcf2maf

作者: 日月其除 | 来源:发表于2022-05-07 01:22 被阅读0次

跑完全基因组前面的pipline,拿到了vcf文件
根据指示把vcf转化为maf,进一步画图统计,使用vcf2maf

vcf2maf的git地址为:

GitHub - mskcc/vcf2maf: Convert a VCF into a MAF, where each variant is annotated to only one of all possible gene isoforms

但是第一次跑这个软件的时候报错了,说他没有啥vep的数据
看来是依赖这个工具
然后我只能进一步装这个vep工具
但是!
这个工具是perl写的,需要配置很多perl的环境
我实在是没有配置出来,耗费很多时间
最后!
使用vep的docker!
vep的安装方法主要有三:
1 传统安装
详情见官网:https://asia.ensembl.org/info/docs/tools/vep/script/vep_download.html#docker

image.png
简单来说就是把文件下载下来,然后运行INSTAL.pl
但是报错主要因为环境配置问题,以及运行的过程中会下载一些东西,网速问题
参考网址生信技能树:http://www.360doc.com/content/21/0714/12/76149697_986499871.shtml
  1. conda安装
    在vcf2maf的git中推荐了这种方法:https://github.com/mskcc/vcf2maf
    安装的git:https://gist.github.com/ckandoth/61c65ba96b011f286220fa4832ad2bc0
    但是不知道为啥我的conda默认安装89的,然后升级也不行,卸载也不行
    所以我就放弃了

3.使用docker
在vep的docker环境下运行vcf2maf
在这个环境中需要安装vcf2maf以及conda,samtools
参考:https://asia.ensembl.org/info/docs/tools/vep/script/vep_download.html#docker

首先pull镜像

docker pull ensemblorg/ensembl-vep

新建一个文件夹

mkdir /anypalce/.vep

因为vep需要配置文件,使用vep下载,但是很慢,数据大约有20多G,很难下载下来,推荐自己下载再上传到/.vep中
这里我使用的别人下载好的vep data

image.png
image.png
配置文件的下载参考:https://www.jianshu.com/p/66aa40bff960
下载的地址:http://ftp.ensembl.org/pub/
选中自己vep的版本,然后按照参考网址中的方法配置文件
官方给的下载配置文件的网址:
https://asia.ensembl.org/info/docs/tools/vep/script/vep_cache.html
配置文件主要是下载caches以及fasta image.png image.png

然后新建一个docker

docker run -it --net host -v mkdir /anypalce/.vep:/opt/vep/.vep ensemblorg/ensembl-vep /bin/bash
###--net host 参数 ----容器创建时共享主机的network namespace,即容器可以访问主机上所有的网络信息,这样容器内的网络配置就会和主机一模一样
### /bin/bash 可以获得一个shell的交互页面

这样我们就进入docker了
安装软件
安装vcf2maf参考:https://github.com/mskcc/vcf2maf

export VCF2MAF_URL=`curl -sL https://api.github.com/repos/mskcc/vcf2maf/releases | grep -m1 tarball_url | cut -d\" -f4`
curl -L -o mskcc-vcf2maf.tar.gz $VCF2MAF_URL; tar -zxf mskcc-vcf2maf.tar.gz; cd mskcc-vcf2maf-*
perl vcf2maf.pl --man
perl maf2maf.pl --man

安装conda参考conda管理生信软件一文就够 (qq.com)
利用conda安装samtools
利用conda安装bcftools
最后,可以在docker外面把vcf文件cp到/anypalce/.vep,这样就可以在docker中的/opt/vep/.vep 访问这个文件

然后就可以跑vcf2maf了
vcf2maf虽然只是推荐了input以及output参数,但是一定要用vcf2maf.pl --help查看参数,你会发现很多默认参数都是有问题的,会报错
例如

--vep-path       Folder containing variant_effect_predictor.pl [~/vep]
     --vep-data       VEP's base cache/plugin directory [~/.vep]
     --vep-forks      Number of forked processes to use when running VEP [4]
     --ref-fasta      Reference FASTA file [~/.vep/homo_sapiens/86_GRCh37/Homo_sapiens.GRCh37.75.dna.primary_assembly.fa.gz]

所以你需要检查ref_data的位置,vep的以及vep_data的位置等等。以及--ncbi-build默认是GRCh37,需要按需求修改

报错经验##注意:
还需要检查vep_data里面的数据的权限
使用chmod a+rwx添加文件夹以及所有文件的权限
这里的ref_data的fasta如果是压缩的文件,必须是bgzip压缩

参数详解:
参考: https://www.likecs.com/show-203709633.html

image.png

后续跑vcf2maf的时候也有报错,但是至少vep环境配置得七七八八,不用再考虑perl的一些library的问题

另一个和docker很像的东西,也是配置好了环境:https://www.ensembl.info/2021/05/24/cool-stuff-the-vep-can-do-singularity/

相关文章

网友评论

      本文标题:vep docker下使用vcf2maf

      本文链接:https://www.haomeiwen.com/subject/fcrayrtx.html