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

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

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')。)


相关文章
|
2天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
4天前
|
关系型数据库 分布式数据库 PolarDB
**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群
【7月更文挑战第3天】**PolarDB开源指南:构建分布式数据库集群**踏上PolarDB开源之旅,了解如何从零开始搭建分布式集群。采用存储计算分离架构,适用于大规模OLTP和OLAP。先准备硬件和软件环境,包括Linux、Docker和Git。然后,克隆源码,构建Docker镜像,部署控制节点和计算节点。使用PDCli验证集群状态,开始探索PolarDB的高性能与高可用性。在实践中深化学习,贡献于数据库技术创新。记得在安全环境下测试。
10 1
|
15天前
|
存储 关系型数据库 MySQL
|
9天前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
11天前
|
存储 关系型数据库 MySQL
|
13天前
|
SQL XML 数据库
后端数据库开发高级之通过在xml文件中映射实现动态SQL
后端数据库开发高级之通过在xml文件中映射实现动态SQL
19 3
|
13天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
28 3
|
17天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
16天前
|
存储 关系型数据库 MySQL
关系型数据库mysql日志和临时文件
【6月更文挑战第15天】
32 4
|
2天前
|
数据库
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码
提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码