snpeff使用_g863402758的博客-程序员宅基地

技术标签: bioinformatics  

这个软件比较重要,尤其是对做遗传变异相关研究的,很多人做完了snp-calling后喜欢用ANNOVAR来进行注释,但是那个注释还是相对比较简单,只能得到该突变位点在基因的哪个区域,那个基因这样的信息,如果想了解更具体一点,就需要更加功能化的软件了,snpEFF就是其中的佼佼者,而且是java平台软件,非常容易使用!而且它的手册写的非常详细:http://snpeff.sourceforge.net/SnpEff_manual.html

官网是:http://snpeff.sourceforge.net/

1       889455  .       G       A       .       .        ## 假设我们的vcf文件里面记录的突变是这个,那么我们可以用snpEFF进行注释,注释得到的信息非常完全!

信息用|符号分割,所有很容易用脚本提取需要的信息

ANN=A|stop_gained|HIGH|NOC2L|ENSG00000188976|transcript|ENST00000327044|protein_coding|7/19|c.706C>T|p.Gln236*|756/2790|706/2250|236/749||,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000487214|processed_transcript||n.*865C>T|||||351|,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000469563|retained_intron||n.*878C>T|||||4171|,A|non_coding_exon_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000477976|retained_intron|5/17|n.2153C>T||||||;LOF=(NOC2L|ENSG00000188976|6|0.17);NMD=(NOC2L|ENSG00000188976|6|0.17)

包括突变类型是:non_coding_exon_variant

突变在各种转录本上面,在每个转录本的第几个碱基呀,哪个氨基酸的改变呀,氨基酸第几位呀!

标准突变表示形式是:

突变发生在NOC2L这个基因上面,它的ensembl 数据库ID是ENSG00000188976

 

其余的看头文件自己慢慢理解:

“Functional annotations: ‘Allele | Annotation | Annotation_Impact | Gene_Name | Gene_ID | Feature_Type | Feature_ID | Transcript_BioType | Rank | HGVS.c | HGVS.p | cDNA.pos / cDNA.length | CDS.pos / CDS.length | AA.pos / AA.length | Distance | ERRORS / WARNINGS / INFO’

 

软件安装:

选择最新版软件下载:https://sourceforge.net/projects/snpeff/files/

wget https://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip

因为是java软件,unzip 解压之后就可以直接使用,当然前提是你有java平台。

1

输入数据:

首先下载用来做注释的数据库:java -jar snpEff.jar download GRCh37.75(自己选择需要的版本)

1

软件下载很快,但是数据库下载就需要一定时间啦,去喝杯咖啡吧。

然后软件本身会提供example文件,里面就是一堆各种各样的vcf数据,而且还提供了运行命令,非常简单(examples.sh) ,这些就是我们的输入数据啦!

运行命令:

运行也很简单:java -Xmx4G -jar snpEff.jar -i vcf -o vcf GRCh37.75 example.vcf > example_snpeff.vcf

指定输入输出格式都是vcf,然后指定刚才下载的必备数据库,然后输入输出文件即可!

也可以调用全路径,如果你写在脚本里面的话!

java -Xmx4G -jar path/to/snpEff/snpEff.jar \

-c path/to/snpEff/snpEff.config \

GRCh37.69 \

path/to/example.vcf > example_snpeff.vcf

 

结果解读:

这个非常复杂,对结果理解了多少,就是我们对软件理解了多少。

具体大家看readme吧,注释信息太多了,按需索取:

  1. chromosome_number_variation
  2. exon_loss_variant
  3. frameshift_variant
  4. stop_gained
  5. stop_lost
  6. start_lost
  7. splice_acceptor_variant
  8. splice_donor_variant
  9. rare_amino_acid_variant
  10. missense_variant
  11. inframe_insertion
  12. disruptive_inframe_insertion
  13. inframe_deletion
  14. disruptive_inframe_deletion
  15. 5_prime_UTR_truncation+exon_loss_variant
  16. 3_prime_UTR_truncation+exon_loss
  17. splice_branch_variant
  18. splice_region_variant
  19. splice_branch_variant
  20. stop_retained_variant
  21. initiator_codon_variant
  22. synonymous_variant
  23. initiator_codon_variant+non_canonical_start_codon
  24. stop_retained_variant
  25. coding_sequence_variant
  26. 5_prime_UTR_variant
  27. 3_prime_UTR_variant
  28. 5_prime_UTR_premature_start_codon_gain_variant
  29. upstream_gene_variant
  30. downstream_gene_variant
  31. TF_binding_site_variant
  32. regulatory_region_variant
  33. miRNA
  34. custom
  35. sequence_feature
  36. conserved_intron_variant
  37. intron_variant
  38. intragenic_variant
  39. conserved_intergenic_variant
  40. intergenic_region
  41. coding_sequence_variant
  42. non_coding_exon_variant
  43. nc_transcript_variant
  44. gene_variant
  45. chromosome

http://snpeff.sourceforge.net/VCFannotationformat_v1.0.pdf

 

本文固定链接: http://www.bio-info-trainee.com/1594.html | 生信菜鸟团


#################################

1, download 

$ wget https://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip

2, $unzip snpEff_latest_core.zip

3, 配置hg19基因组$./java -jar snpEff.jar -v hg19

java版本需要1.7+

(Exception in thread "main" java.lang.UnsupportedClassVersionError: org/snpeff/SnpEff : Unsupported major.minor version 51.0)

 参考/examples/的例子进行练习,

$ ./java -Xmx4g -jar snpEff.jar -v -classic -cancer -cancerSamples examples/samples_cancer_one.txt hg19 examples/variants_2.vcf > variants_2.ann.vcf

##

input_vcf格式(参考VCF格式详解):

1       889455  .       G       A       .       .       .

output_vcf格式:

##SnpEffVersion="4.1 (build 2015-01-07), by Pablo Cingolani"
##SnpEffCmd="SnpEff  testHg3775Chr1 examples/variants_1.vcf "
##INFO=<ID=ANN,Number=.,Type=String,Description="Functional annotations: 'Allele | Annotation | Annotation_Impact | Gene_Name | Gene_ID | Feature_Type | Feature_ID | Transcript_BioType | Rank | HGVS.c | HGVS.p | cDNA.pos / cDNA.length | CDS.pos / CDS.length | AA.pos / AA.length | Distance | ERRORS / WARNINGS / INFO' ">
##INFO=<ID=LOF,Number=.,Type=String,Description="Predicted loss of function effects for this variant. Format: 'Gene_Name | Gene_ID | Number_of_transcripts_in_gene | Percent_of_transcripts_affected' ">
##INFO=<ID=NMD,Number=.,Type=String,Description="Predicted nonsense mediated decay effects for this variant. Format: 'Gene_Name | Gene_ID | Number_of_transcripts_in_gene | Percent_of_transcripts_affected' ">
1 889455 . G A. . ANN=A|stop_gained|HIGH|NOC2L|ENSG00000188976|transcript|ENST00000327044|protein_coding|7/19|c.706C>T|p.Gln236*|756/2790|706/2250|236/749||,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000487214|processed_transcript||n.*865C>T|||||351|,A|downstream_gene_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000469563|retained_intron||n.*878C>T|||||4171|,A|non_coding_exon_variant|MODIFIER|NOC2L|ENSG00000188976|transcript|ENST00000477976|retained_intron|5/17|n.2153C>T||||||;LOF=(NOC2L|ENSG00000188976|6|0.17);NMD=(NOC2L|ENSG00000188976|6|0.17)




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/g863402758/article/details/53080579

智能推荐

HALCON 21.11:深度学习笔记---分类(10)_read_dl_dataset_classification_机器视觉001的博客-程序员宅基地

HALCON 21.11:深度学习笔记---分类(10)HALCON 21.11.0.0中,实现了深度学习方法。本章介绍了如何在训练和推理阶段使用基于深度学习的分类。基于深度学习的分类是一种对一幅图像分配一组置信值的方法。这些置信度值表明图像属于每个可分辨类的可能性有多大。如果我们只考虑顶部的预测,分类就是在给定的类集合中指定一个特定的类给一幅图像。下面的模式说明了这一点。分类示例: 网络区分三个类别. 输入图像获得三个可分辨类的置信值:“apple”0.85、“lemon”0.03和._read_dl_dataset_classification

js 获取本月第一天和最后一天,上月第一天和最后一天_js本月第一天下月最后一天-程序员宅基地

当前月第一天 CurrentMonthFirst(){ var date=new Date(); date.setDate(1); return date; },当前月最后一天CurrentMonthLast(){ var date=new Date(); var currentMonth=date.getM..._js本月第一天下月最后一天

html表单基本内容_html表单的内容-程序员宅基地

html1.最新的web标准提倡用id属性取代name属性,并且要求id属性唯一的标识元素名称。虽然设定元素的name值不是必须的,但元素设定中同时使用name和id属性是一个良好地习惯。/*在html4.0和xhtml1.0标准出现之前,web文档中的元素都是使用属性name而不是id来设定元素名称,并且对name的值没有特别要求,即同一web文档可以出现相同的元素名称。2.基本_html表单的内容

什么是对数器?-程序员宅基地

什么是对数器?对数器的概念:1.有一个你想要测的方法a;2.实现一个绝对正确但是复杂度不好的方法b;3.实现一个随机样本产生器;4.实现对比算法a和b的方法;5.把方法a和方法b比对多次来验证方法a是否正确;6.如果有一个样本使得比对出错,打印样本分析是哪个方法出错;7.当样本数量很多时比对测试依然正确,可以确定方法a已经正确。对数器的用法下面以冒泡排序为例,用C++代码描述对数器的用法..._对数器

git介绍和一些常用命令-程序员宅基地

可以将git简单的分为三个区域 1、工作区(working directry)2、暂缓区(阶段索引) 3、历史记录区(历史) 如图:git add files把当前工作目录中的文件放入暂存区域其实做了两件事:1、将本地文件的时间戳,长度,当前文档对象的id等信息保存到一个树形目录中去(index,即平时说的暂存区)2、将本地文件的内容做快照并保存到Git的对象库(综上:实际上就是...

随便推点

已解决org.apache.jasper.JasperException: Unable to find taglib [c] for URI: [/core]-程序员宅基地

org.apache.jasper.JasperException: Unable to find taglib [c] for URI: [/core]解决方法:在jsp页面中使用了c标签,但没把标签库引进来,所以报错方法:http://www.yayihouse.com/yayishuwu/chapter/1429...

C++基础-对象的使用_创建对象的时候用指针好吗-程序员宅基地

一、对象指针对象占用一块连续的内存区域,可以使用一个指向对象的指针来访问对象,即对象指针,它指向存放该对象的地址。可以用类来定义对象指针变量,通过对象指针来访问对象的成员,定义形式如下:类名 * 对象指针名;对象指针采用 ->运算符访问公有数据成员和成员函数对象指针名 ->数据成员名对象指针名 ->成员函数名(参数表)使用对象指针作为函数的参数有以下好处:实现地址传递:通过在调用函数时将实参对象的地址传递给形参指针对象,使二者指向同一内存地址,这样对象指针所指向对_创建对象的时候用指针好吗

面试之-垃圾回收-程序员宅基地

聊一下这个java的垃圾回收,每次面试都会被问到这个问题 - -.. 总结一下。java里的垃圾回收主要是靠系统来决定,程序员只能调用System.gc()或者Runtime.getRuntime.gc()来提醒系统进行垃圾回收,但具体何时回收还是系统决定。要说垃圾回收先要了解jvm中的内存区有哪几块组成:程序计数器,堆,系统方法栈,方法区,本地方法栈。进行垃圾回收

Day13-CSS的三大特性_ian燃.的博客-程序员宅基地

2.可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择,以此类推...text-、font-、line-这些元素开头的可以继承,以及color属性。,如果该元素没有直接被选中,不管父元素权重多高,子元素得到的权重都是0.如果子元素没有设置行高,则会继承父元素的行高为1.5。如果是复合选择器,则会有权重叠加,需要重新计算权重。此时子元素的行高是:当前子元素的文字大小乘以1.5。当同一个元素指定多个选择器,就会有优先级的产生。CSS中的继承:子标签会继承父标签的。子元素可以继承父元素的样式(

BZOJ 1202 狡猾的商人-程序员宅基地

题面: 刁姹接到⼀个任务,为税务部⻔调查⼀位商⼈的账本,看看账本是不是伪造的。账本上记录了nn个⽉以来的收⼊情况,其中第ii个⽉的收⼊额为AiA_i(i=1...n)(i=1...n)。当Ai≥0A_i \ge 0 时表示这个⽉盈利AiA_i 元,当Ai≤0A_i \le 0 时表示这个⽉亏损AiA_i元。所谓⼀段时间内的总收⼊,就是这段时间内每个⽉的收⼊额的总和。刁姹的任务是秘密进⾏的,为了调查