SnpEff是韦恩州立大学Douglas M. Ruden团队于2012年发表的一款变异注释工具。到现在已近10年历史,持续更新,已至5.0版,总引用6044次。

SnpEff的优点

  1. 基于Java环境,便于安装和运行 (More tiny than VEP);

  2. 注释结果丰富(More HGVS than ANNOVAR);

  3. 支持38,000基因组;

  4. 与GATK兼容;

  5. 可自定义数据库。

HGVS是国际通用的变异命名标准(HGVS符号),这里指代符合用其标准书写的变异位点。

安装和使用

# SnpEff程序安装:mkdir -p  ~/wgs/public
cd  ~/wgs/public
# 下载、解压后即可使用(提前具备java运行环境)
wget -c https://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip/
unzip snpEff_latest_core.zip# 下载人相关注释
java -jar  ~/wgs/public/snpEff/snpEff.jar  download GRCh38.86
# 保持网络畅通,耐心等待 ...# 使用方法:java -jar snpEff.jar hg38 yourSampleName.normalize.vcf \-hgvs1LetterAa -canon > yourSampleName.snpeff.vcf

参数解释

-i Input format [ vcf, bed ]. Default: VCF.

-hgvs  氨基酸子字段使用HGVS标注。默认值: true

-lof 添加功能丧失(loss of function, LOF)和无义介导的降解事件(Nonsense mediated decay, NMD) 标签。

-canon Only use canonical (典型/典范/标准) transcripts. 即使用典型的转录本。

-noshifthgvs 不根据HGVS表示法来移动变异(而是使用3’原则 most 3prime end)。Do not shift variants according to HGVS notation (most 3prime end).

-interval <file 在TXT/BED/BigBed/VCF/GFF文件中使用自定义间隔(可以多次使用这个选项)

-hgvs1LetterAa 在HGVS符号中使用一个字母的氨基酸代码。默认值: FASLE (即默认不使用)。

-chr <string : 在染色体名称前添加’string’(例如: 输出’chr1’而不是’1’)。只在TXT输出。

-classic: 使用旧风格的注释代替Sequence Ontology and Hgvs。

-csvStats <file : 创建CSV摘要文件。

-download: 如果没有参考基因组,则下载。默认值: true

-fileList: 输入实际上要处理的文件的列表。

-s, -stats, -htmlStats: 创建HTML摘要文件。默认是“snpEff_summary.html”

-noStats: 不创建stats(摘要)文件

-t: 使用多个线程(意味着’-noStats’)。默认的“off”

https://theory.labster.com/codon-de/

结果过滤

-no-downstream: 不显示下游变化

-no-intergenic: 不显示基因间变化

-no-intron: 不显示内含子变化

-no-upstream: 不显示上游的变化

-no-utr: 不显示5_PRIME_UTR或3_PRIME_UTR的更改

-no <effectType : 不显示“effectType”。这个选项可以多次使用。

-fi, -filterInterval <file : 只分析与此文件中指定的间隔(intervals)相交的变化(可以多次使用此选项)  Only analyze changes that intersect with the intervals specified in this file (you may use this option many times)

注释选项

-cancer: 进行“癌症”比较 (Somatic vs Germline)。默认值: false

-cancerSamples: 两列TXT文件,定义“original \t derived”样本。

-formatEff: 使用与旧版本兼容的’EFF’字段(而不是’ANN’)。

-geneId: 使用基因ID代替基因名(VCF输出)。默认值: false

-hgvsOld: 使用旧的HGVS符号。默认值: false

-hgvsTrId: 在HGVS表示法中使用transcript ID。默认值: false

-noHgvs: 不添加HGVS注释。

-noLof: 不添加LOF和NMD注释。

-oicr: 在VCF文件中添加OICR tag。默认值: false

-sequenceOntology: 使用序列本体术语。默认值: true

通用选项

-c, -config: 指定配置文件

-configOption name=value: 覆盖配置文件选项

-d, -debug: Debug mode (very verbose).

-dataDir: 覆盖配置文件中的data_dir参数。

-nodownload: 如果本地没有SnpEff数据库,不要下载。

-h, -help: 显示帮助并退出

-noLog: 不向服务器报告使用统计信息

-q, -quiet: 安静模式(不显示任何消息或错误)

-v, -verbose: 冗长提示模式

-version: 显示版本号并退出

数据库选项

-canonList: 只使用典型的(canonical)转录本;指定一个文件,并使用其中的’gene_id transcript_id’条目替换一些转录本。

-interaction: 使用交互进行注释(需要交互数据库)。默认值: true

-maxTSL: 只使用转录本支持性级别低于。Only use transcripts having Transcript Support Level lower than.

-motif: 使用Motif进行注释(需要Motif数据库)。默认值: true

-nextProt: 使用NextProt注释(需要NextProt数据库)。

-noGenome: 不加载任何基因组数据库(例如,使用自定义文件进行注释)。

-noExpandIUB: 在输入变量中禁用IUB码扩展

-noInteraction: 禁用交互注释

-noMotif: 禁用主题注释。

-noNextProt: 禁用NextProt注释。

-onlyReg: 只使用调控tracks。Only use regulation tracks.

-onlyProtein: 只使用蛋白质编码转录本。默认值: false

-onlyTr: 只使用此文件中的转录本。格式:每行一个笔录ID。

-reg: 要使用的调控track(Regulation track)(该选项可以使用多次添加)。

-ss, -spliceSiteSize: 设置碱基中剪接位点(donor和acceptor)的大小。默认值: 2

-spliceRegionExonSize: 设置外显子内,剪接位点区域大小。默认值: 3 bases

-spliceRegionIntronMin: 设置内含子内,剪接位点区域的最小碱基数。默认值: 3 bases

-spliceRegionIntronMax: 设置内含子内,剪接位点区域的最大碱基数。默认值: 8 bases

-strict: 只使用“验证过的”转录本(即序列已被检查过)。默认值: false

-ud, -upDownStreamLen: 设置上游下游间隔(interval)长度(以bases为单位)

SnpEff变异注释术语

查看SnpEff的注释结果汇总,可打开这个文件:snpEff_summary.html

结果解读参考资料:http://snpeff.sourceforge.net/VCFannotationformat_v1.0.pdf

其它技术文档:

  1. https://pcingola.github.io/SnpEff/se_inputoutput/

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

SnpEff注释结果中,可能影响编码蛋白的术语包括:

  • missense, exon_loss, rare_amino_acid_variant,

  • frameshift, inframe_deletion, inframe_insertion, disruptive_inframe_insertion, disruptive_inframe_deletion,

  • splice_acceptor_variant, splice_donor_variant, splice_region_variant,

  • start_lost, start_retained, initiator_codon_variant,

  • stop_gained, stop_lost, stop_retained,

  • protein_protein_contact, structural_interaction_variant,

  • duplication, inversion,

  • feature_ablation, gene_fusion, bidirectional_gene_fusion,

  • conserved_intergenic_variant, conserved_intron_variant

另外,相比CADDVEP,SnpEff的注释结果包含结构互作 (Structural interaction) 变异。

Additionally, we check whether SnpEff annotated the variant as protein_protein_contact or structural_interaction_variant.

Notes: These annotations are not present in the manually built SnpEff databases.

The score from this part (functional_part_score) is:

1.0 for protein changing variants localized within the functional region without benign variation;

1.0 for protein changing variants predicted by SnpEff to change protein residue essential for structural conformation or protein-protein interactions (this annotation is PDB based);

0.0 for other variants (different mutation effect, not in the functional region, or within the functional region with known benign variants).

来源:https://intelliseq.com/variants-classification-according-to-the-acmg-amp-criteria/ (根据ACMG和AMP标准的变异分类)

SnpEff变异注释结果与maftools的衔接工具

工具的链接:https://github.com/tsy19900929/snpeffToMaf

或工具的百度云链接:https://pan.baidu.com/s/15bypEB2QwdO6zaJwT20Erg  提取码:58ff

转换格式

代码:############################ in shellperl  $public/bin/snpeffToMaf-master/snpeffToMaf.pl \${result}/Genotype.cohort.dbSNP.anno.g.vcf 20 0.1# Germline: 20 for minimum depth, 0.1 for minimum allele frequency# Tumour: 100 for minimum depth, 0.05 for minimum allele frequency# warn: you may need edit code once if vcf created by other variant callers. please issue me# maf格式(突变注释格式)结果:ls *.mafcat *.maf | awk '!/Hugo_Symbol/ || NR==1' > all.maf
# concatenate all of yourSampleName.maf, but not necessary

maftools绘图

############################ in R
library(maftools)
syn <- c("synonymous_variant","start_retained","stop_retained_variant")
df <- data.table::fread("all.maf")
vc <- names(table(df$Variant_Classification))
nonSyn <- setdiff(vc,syn)
colors <- rainbow(length(nonSyn))
names(colors) <- nonSyn
maf <- read.maf("all.maf", vc_nonSyn = nonSyn)
plotmafSummary(maf, rmOutlier = TRUE, addStat = 'median', dashboard = TRUE, titvRaw = FALSE, color = colors)

其它变异注释方法

暂不过多介绍,例如使用annovar注释

convert2annovar.pl -format xx.vcf > xx.annovar
annotate_variation.pl -buildver hg38 --geneanno --outfile xx.anno xx.annovar   ANNOVAR/annovar/humandb/
annotate_variation.pl -buildver hg38 --dbtype knownGene --geneanno --outfile xx.anno xx.annovar  ANNOVAR/annovar/humandb/

新鲜出炉 | 临床基因组学数据分析实战将于2021年11月12-14开课!!!

往期精品(点击图片直达文字对应教程)

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

推荐一款高引超6000次的全基因组/全外显子组变异注释工具相关推荐

  1. 大学生无线耳机怎么选?内行推荐四款高性价比蓝牙耳机

    随着蓝牙耳机的使用频率越来越高,大学生成为了蓝牙耳机的主要用户群体之一.最近看到很多网友问,大学生无线耳机怎么选?针对这个问题,我来给大家推荐几款高性价比蓝牙耳机,一起来看看吧. 一.南卡小音舱Lit ...

  2. 哪款蓝牙耳机音质好?内行推荐四款高音质蓝牙耳机

    蓝牙耳机经过近几年的快速发展,在音质上的表现也越来越好.哪款蓝牙耳机音质好?最近看到很多人问.接下来,我来给大家推荐四款高音质蓝牙耳机,可以当个参考. 一.南卡小音舱蓝牙耳机 参考价:246 发声单元 ...

  3. 推荐一款高颜值第三方网易云客户端: YesPlayMusic

    文章首发于公号「阿拉平平」 有需要的小伙伴可以到公众号后台回复 yesplay 获取安装包 闲来无聊,打开了网易云客户端,不经意间听到了首好歌,于是翻看评论寻求共鸣.浏览过后,我从起初的兴奋到疑惑,再 ...

  4. 推荐几款高质量的图片网站

    可能你还不知道在用的哪些高质量的图片网站,是不是有点out了哈 ~ 今天良心推荐,下面推荐几个热门.国内主题摄影.小众图库.COO图片搜索引擎.PPT大背景图片.矢量图标类.建筑绘图类及其他相关的网站 ...

  5. 强烈推荐8款高质量的网站,可以解决很多问题

    推荐8个非常实用的网站,可以解决很多问题,每一个都是精心挑选的,喜欢的话记得点个赞哦~ 1.USEUM USEUM是一个免费的艺术品下载网站,网站聚合了六所著名的博物馆,放了共计21578幅艺术作品的 ...

  6. 野火stm32开发板给定一个脉冲程序_STM32开发板哪个好,推荐一款高性价比stm32MP157开发板...

    一款能跑Linux的STM32开发板: 一款既可以玩Linux又可以玩单片机的开发板: 一款可同时学习A7和M4的双核异构开发板: 一款支持最新的Linux 5.4.31系统和u-boot 20200 ...

  7. 无线耳机哪个品牌好一点?综合体验,推荐几款高性价比的无线耳机

    本着要买就认认真真的挑选一台的想法.和有线耳机相比,无线耳机确实有一定优势,比如说它的实用性明显要高不少.那么如何挑选,一款合适自己的耳机呢,首先,还是挑选出当前的热门款式,和各种网红推荐款,通过对主 ...

  8. 发烧友走心推荐五款高音质蓝牙耳机,佩戴舒适高性价比蓝牙耳机

    耳机,相信大家对它并不陌生,只要是听歌就会用到它了.不过随着技术的发展,耳机的形态也发生了翻天覆地的变化,从以前的有线耳机到了现在的蓝牙耳机,而真无线耳机的出现就是蓝牙耳机发展的一个里程碑了,至此便掀 ...

  9. 给大家推荐一款高逼格的Linux磁盘信息查看工具

    可以使用df命令来显示在Linux.macOS和类Unix系统中挂载的文件系统上有多少可用磁盘空间.还可以使用du命令来估计文件空间的使用情况.我们现在有了另一个奇特的工具,名为duf,是一款gola ...

最新文章

  1. JAVA并发编程JUC基础学习(简介)
  2. 三层架构:软件设计架构
  3. Python+ZeroMQ快速实现消息发布与订阅
  4. ASP.NET2.0中Calendar的使用(添加自己的日期备注)
  5. 怎样在html应用样式表,html – 如何仅将CSS样式应用于文本
  6. easyui中清空filebox的值
  7. java修改mariadb数据_MariaDB更新数据
  8. shape()函数的用法
  9. jq操作数组的常用方法
  10. 如何进行高效学习——费曼技巧了解一下
  11. golang:context介绍
  12. 移动100m宽带慢的要死_wifi慢到快崩溃明明100m宽带却像2m的网速教你1招快速解决...
  13. (HTTP代理与socket5)客户端访问,服务器处理步骤
  14. MySql InnoDB与MyISAM的区别
  15. 图森计划裁员25%/ 特斯拉被曝将冻结招聘/ 天才黑客Geohot从推特辞职…今日更多新鲜事在此...
  16. 【OpenStack(Train版)安装部署(十二)】之win7系统安装,qcow2格式镜像制作
  17. 若非群玉山头见,会向瑶台月下逢
  18. 中国网游公司上市突击大事记
  19. 一级b类计算机知识点,全国计算机一级B考试知识点与试题(个人观点)
  20. 补齐 windows 运行库和运行环境(VC++、DirectX、.Net)

热门文章

  1. 作者:李超(1988-),男,上海交通大学硕士生,主要研究方向为大数据网络。...
  2. 编译原理——实验叁预习报告——基于YACC的TINY语法分析器的构建
  3. 【操作系统】进程の易错点解答
  4. 【Java】Socket多客户端Client-Server聊天程序
  5. PBFT 算法原理简介
  6. 阿里云MVP第六期发布——覆盖全球20多个国家和地区,成为数字化转型的中坚力量...
  7. Linux/unix不同shell环境下数值运算的处理
  8. hibernate dialect 方言 sqlserver2000 的方言
  9. Android项目中,在一个数据库里建立多张表
  10. mysqldump的几个主要选项探究