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

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

44fb0f3861a0a0563c75c21c89d3f2dd.png

3c38452ffb9958ca047e5b10018213dc.png

outside_default.png

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”

5fb4d4cbd06d81967e382b2abfdf2b92.png

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 shell
  perl  $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 *.maf

cat *.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)

bed02cfa71716d9f35c96be3d8bc852f.png

其它变异注释方法

暂不过多介绍,例如使用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开课!!!


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

34c810fcdeff08326c6c733799f88ab8.png

babc9928f536653699e531df5e76da87.png

3afdd719d6b48869d46e8b6ee895b2f0.png

d06b2a724b81e4c06b406e9ee93594b0.png

19b9d868fada7ad967dc0decb395585c.png

f4ed3c40bf674e35658cb7c258c44bc4.png

937e2f915394278832be2cf60e0237d9.png

ef1a6052b3b5643b9ac77a3d4d786593.png

7369bf9040e38cbdbfee369f212c5453.png

858013e2ab129ca8b12849dd8c321cb3.png

9dae671d0af4bda0ec16329309c3301d.png

9dafe0993c10a6e13b35129c0896d15c.png

b3bac544824ead62e0489cb6e8245388.png

03cd1276e00e634539976402efcd550e.png

25ac2319a025465f480027f807970955.png

73e3be8288c162c3d03b589569827f1c.png

7e8e8513d3e08b9479e0fb44934c836a.png

64593749655b36269e8d00fbbe586113.png

04c8ee3dbab078dde99e73fd9a3fb29a.png

d87aee2cf455f9215ce9d0bd0f56759d.png

125dfe68c54a09eafb34e289305995d1.png

bd66f3043c8c062634b00f21ff32b14e.png

581f8875c4838e0914dcc2660efe4d35.png

2836a97126830611a288438d3263f829.png

139e5d46219229a251cd8582d3b0645e.png

5cc9ff6ed84ee67bcc93cfa838eed772.png

d77c0babe07a9c0f4b93e38345645168.png

4962b57233cb4c009575fbe17cbcb696.png

机器学习

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

eed350d4f49fd275557182a95e4f87e2.png

e56daf947894798416af0de113469698.png

98fe4f9b9944bbbb3a3019f39b8afacd.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值