美文网首页重测序生物信息学mysql
snpEff构建物种数据库及完成vcf变异文件注释

snpEff构建物种数据库及完成vcf变异文件注释

作者: 云养江停 | 来源:发表于2022-06-07 22:40 被阅读0次

    1. 如果在没有jdk12的conda下安装snpeff,会报错

    Error: A JNI error has occurred, please check your installation and try again
    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/snpeff/SnpEff has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
     at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
     at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
    

    解决方法(针对非root用户)

    conda create -n java12
    conda activate java12
    conda install -c r r-rjava
    java -version
    openjdk version "11.0.9.1-internal" 2020-11-04
    OpenJDK Runtime Environment (build 11.0.9.1-internal+0-adhoc..src)
    OpenJDK 64-Bit Server VM (build 11.0.9.1-internal+0-adhoc..src, mixed mode)
    ##足够能带动snpEff就行
    conda install -y snpeff   ##下载后启动snpEff 
    

    参考:https://www.jianshu.com/p/3e3ebd397293
    https://zhuanlan.zhihu.com/p/476561285

    2.构建自有物种数据库

    因为我是要从头构建注释基因集,所以它自带的数据库对我就没有什么用
    而第一步便是要找到snpEff.config这个文件进行添加
    这个文件在哪呢?
    我的是在下面这个这个文件,如果你使用conda安装的,基本就是在minicondas下面pkgs里面的snpeff开头的文件夹里面,然后依次往下找就是了

    cd /home/wangshuangyi/miniconda2/pkgs/snpeff-5.1-hdfd78af_2/share/snpeff-5.1-2
    #该目录下存在:
    scripts  snpEff  snpEff.config  snpEff.jar
    

    假设我要构建的基因组叫Amur_ide

    (1) 追加一行文件内容到snpEff.config

     echo "Amur_ide.genome: Amur_ide" >> snpEff.config  
    

    (2) 在含有snpEff.config那个地方,创建个文件夹data, 然后在data里面又创建两个文件夹Amur_ide,genomes

        Amur_ide/   genomes/
     Amur_ide/中包括了genes.gff3   cds.fa protein.fa   ##无论原名是啥都改为这个
    genomes/中包括了基因组文件 Amur_ide.fa ##无论原名是啥都改为这个。
    

    (3) 在含有snpEff.config那个地方,执行命令构建数据库

    ./snpEff build -gff3 -v Amur_ide
    # -c , -config   : Specify config file
    #  -v , -verbose : Verbose mode (详细模式)
    

    (4) 注释

    在注释之前,检查vcf变异文件,应去除##注释信息,开头应为:

    #CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT
    
    java -Xmx4g -jar ../snpEff.jar ann Amur_ide  -o vcf -v ./alk_fw_pass_merged_filter.vcf -csvStats 1.csv -stats 1.html > selected.ann.vcf
    
    ##-Xmx:堆内存的最⼤值,默认值是物理内存的1/4(且⼩于1G),如默认情况下当堆中可⽤内存⼤于70%时,堆内存会开始减少,⼀直减⼩到-Xms的⼤⼩
    # -csvStats <file> : Create CSV summary file.
    #-s , -stats, -htmlStats: Create HTML summary file.  Default is 'snpEff_summary.html'
    #-o <format> : Ouput format [ vcf, gatk, bed, bedAnn ]. Default: VCF.
    #-formatEff: Use 'EFF' field compatible with older versions (instead of 'ANN'). (使用与旧版本兼容的'EFF'字段(而不是'ANN')。)
    

    相关文章

      网友评论

        本文标题:snpEff构建物种数据库及完成vcf变异文件注释

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