之间介绍过annovar进行对snp注释,今天介绍snpEFF

SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of variants on genes

详细的说明请阅读:

http://snpeff.sourceforge.net/SnpEff_manual.html

一、安装

1 wget http://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip
2 unzip snpEff_latest_core.zip
3
4 #会产生一个snpEff目录 所有的程序都在这里面

二、配置自己的基因组和注释文件

以菠菜(spinach)参考基因组为例子:

打开snpEFF文件夹下的snpEff.contig, 增加新的物种信息,可以在任意一行添加,个人建议在 # Databases & Genomes 添加

1 # spinach_v1
2 spinach_v1.genome : spinach

建立data文件夹并且建立名为spinach_v1的文件夹 (和上述对应)

1 mkdir -p data/spinach_v1

在该文件夹下存放两个文件:

  • sequences.fa
  • genes.gff            # (我用的是gff3格式,也可使gff2)

(一定按上述名字)

用build命令进行构建

1 # 在snpEff文件夹下运行命令
2 java -jar snpEff.jar build -gff3 -v spinach_v1
3
4 ## 参数
5 -v: 版本
6 -gff3:gff文件类型

三、开始注释

1 java -jar snpEff.jar ann spinach_v1 input.vcf.gz > snpeff.vcf

同样我们可以选择以下参数简化输出

  • -no-downstream
  • -no-upstream
  • -no-utr
  • -no-intergenic
  • -no-intron

比如说我们只关注CDS中的注释信息,不考虑上游、下游、UTR、基因间区等信息

1 java -jar snpEff.jar ann -no-utr -no-downstream -no-upstream -no-intergenic spinach_v1 input.vcf.gz > snpeff.vcf

四、结果的说明

  • snpEff_genes.txt
  • snpEff_summary.html

两个文件记录总结性信息比较简单

*.ann.vcf 是一个注释结果文件,其就在vcf的info信息新添加了anno一列信息,其具体每个值含义如下:

  • Allele

  突变之后的碱基,第一个突变位点由T碱基突变成了C碱基,对应Allel的值为C

  • Annotation

  由sequence ontology定义的突变类型

  • Annotation_Impact

  对变异位点有害程度的简单评估,取值有HIGHMODERATELOWMODIFIER 4种,含义如下

  • Gene_Name

  基因名字

  • Gene_ID

  基因ID

  • Feature_Type

  想要分析的特征类型,transcript, motif, miRNA 等

  • Feature_ID

  根据Feature Type指定的特征,给出对应的ID

  • Transcript_BioType

  转录本类型, 通常采用Ensembl数据库的转录本类型

  • Rank

  只有当变异位点位于基因区域时才有值,会给出变异位点所处的exon/intron的编号和该基因的exon/intron的总数,比如一个突变位点位于基因的第3个exon上,该基因一共有12个exon, 对应的Rank的值为3/12
当变异位点位于基因区域以外时,该字段的值为空

  • HGVS.c

  采用HGVS标准命名的基因水平的变异情况

  • HGVS.p

  采用HGVS标准命名的蛋白质水平的变异情况,只有当突变位点位于编码区是才会有值

  • cDNA.pos/cDNA.length

  突变位点在cDNA上的位置/cDNA的总长度

  • CDS.pos/CDS.length

  突变位点在CDS上的位置/CDS的总长度

  • AA.pos/AA.length

  突变位点在氨基酸序列上的位置/氨基酸序列的总长度

  • Distance

变异位点与最近的特征的距离,当变异位点位于基因间区时,会给出与最近的基因之间的距离;当变异位点位于exon区域时,会给出与最近的内含子边界的距离,不同的情况,距离的定义不同。

  • ERRORS/WARNINGS/INFO

  对注释结果的可靠程度进行评估,各种取值代表的含义如下图

参考

关注下方公众号可获得更多精彩

SNPEFF snp注释 (添加自己基因组)的更多相关文章

  1. python笔记30-docstring注释添加变量

    前言 python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢? docstring也就是给代码加注释的内容了,python可以给函数,类.方法,模块添加注释内容,注释标 ...

  2. mybatis generator为实体类生成自定义注释(读取数据库字段的注释添加到实体类,不修改源码)

    我们都知道mybatis generator自动生成的注释没什么实际作用,而且还增加了代码量.如果能将注释从数据库中捞取到,不仅能很大程度上增加代码的可读性,而且减少了后期手动加注释的工作量. 1.首 ...

  3. ADMethodsAccountManagement 一些简单注释添加

    using System; using System.Collections; using System.Text; using System.DirectoryServices.AccountMan ...

  4. Pycharm头部注释添加

    1.第一步 2.第二步 搜索框输入:File and Code Templates 然后右边找到 Python Script 3.第三步 将下面内容复制到图中红框内,然后点击OK #!/usr/bin ...

  5. 根据SNP的位置从基因组提取上下游序列

      代码如下: #!/usr/bin/perl -w use strict; die "perl $0 <vcf> <genome>" if(@ARGV = ...

  6. 突变注释工具SnpEff,Annovar,VEP,oncotator比较分析--转载

    https://www.jianshu.com/p/6284f57664b9 目前对于variant进行注释的软件主要有4个: Annovar, SnpEff, VEP(variant Effect ...

  7. EF架构~为EF DbContext生成的实体添加注释(T5模板应用)

    回到目录 相关文章系列 第八回 EF架构~将数据库注释添加导入到模型实体类中 第二十一回  EF架构~为EF DbContext生成的实体添加注释(T4模板应用) 第二十二回EF架构~为EF DbCo ...

  8. EF架构~为EF DbContext生成的实体添加注释(T5模板应用)(转载)

    转载地址:http://www.newlifex.com/showtopic-1072.aspx 最近新项目要用Entity Framework 6.x,但是我发现从数据库生成模型时没有生成字段的注释 ...

  9. zendstudio添加注释快捷键

    最常用的是ctrl+/来添加行注释 方法是选中代码,按ctrl+/就可以注释掉代码.再按ctrl+/可以去掉注释 添加块注释时,现加/,再加*,再按enter即可添加块注释.

随机推荐

  1. Java:并发笔记-05

    Java:并发笔记-05 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 4. 共享模型之内存 本章内容 上一章讲解的 Monitor 主要关注的是访问共享变量 ...

  2. STM32的I2C框图详解及通讯过程

    STM32 的I2C 特性及架构 如果我们直接控制STM32 的两个GPIO 引脚,分别用作SCL 及SDA,按照上述信号的时序要求,直接像控制LED 灯那样控制引脚的输出(若是接收数据时则读取SDA ...

  3. 云效Flow如何实现阿里云ECS多环境发布

    一.背景 云效Flow基于标签功能实现阿里云ECS多环境发布,在软件开发和部署过程中,我们的软件往往需要在不同的运行环境中运行,例如:开发人员本地开发环境.测试团队的测试环境.还有类生产环境和生产环境 ...

  4. 字符串与模式匹配算法(一):BF算法

    一.BF算法的基本思想 BF(Brute Force)算法是模式匹配中最简单.最直观的算法.该算法最基本的思想是从主串的第 start 个字符起和模式P(要检索的子串)的第1个字符比较,如果相等,则逐 ...

  5. 最短路计数(SPFA× Dijkstra√)

    题目描述 给出一个n个顶点m条边的无向无权图,顶点编号为1−n.问从顶点1开始,到其他每个点的最短路有几条. 输入格式 第一行包含2个正整数n,m,为图的顶点数与边数. 接下来M行,每行2个正整数x, ...

  6. NOIP模拟88(多校21)

    前言 对于这套题的总体感觉就是难,然后就是自己很菜... 对于 T1 考试时只会一个最垃圾的背包,考完之后对于思路这一块也不是很顺利,大概这就是薄弱的地方吧. 然后 T2 是比较简单的一道题了,但是考 ...

  7. Python3使用Print输出彩色字体

    一.介绍 在一些开发程序中,有些输出消息需要突出显示,我们可以尝试着给他们换上更靓丽的颜色来突出显示. 二.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. ...

  8. Linux 文本三剑客之 awk

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  9. .Net Minimal Api 介绍

    Minimal API是.Net 6中新增的模板,借助C# 10的一些特性以最少的代码运行一个Web服务.本文脱离VS通过VS Code,完成一个简单的Minimal Api项目的开发. 创建项目 随 ...

  10. 微服务之十四如何在 Ocelot 网关中配置多实例 Swagger 访问

    一.介绍 当我们开发基于微服务的应用程序的时候,有一个环节总是跳不过去的,那就是要创建 WebApi,然后,我们的应用程序基于 WebApi 接口去访问.在没有 Swagger 以前,我们开发好了 W ...