美文网首页
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