snpeff注释最全,包括错误分析和理解,3.0版本

经过半个月的乱七八糟,更新最近能理解的东西

首先自行去官网Introduction - SnpEff & SnpSift (pcingola.github.io)下载一个压缩包,经常用得到,反正数据有问题卸载之后再次安装可以重新构建

这里我重新构建一下,也算是重新整理一份

snpeff需要Java环境,自己去下载Java

然后环境配置,记得生效,这个是我的路径,改一下路径就OK

export JAVA_HOME=/usr/lib/jvm/jdk-13.0.1
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export SNPEFF_HOME=/home/yjl/pack/snpEff
export PATH=$PATH:$SNPEFF_HOME

1.下载软件

 

按照上面命令解压,进入之后页面是这个

 

 我们是自己构建数据库

2.构建数据库

准备条件,参考

使用snpEff对VCF进行注释 - 简书 (jianshu.com)

#直接手动创建
在~/snpEff/目录中,创建一个文件夹:data

在~/snpEFF/data目录下,创建两个文件夹
    (自己的想命名的物种名,这里假设是C)/   genomes/

    1.1.1在~/snpEFF/data/c
    下面放我们的文件,
        CDS.fa,
        protein.fa,
        genes.gff(这个是我们物种的gFF文件)
    #如果没有CDS,或者是protein文件,就直接在命令后面加-noCheckCds -noCheckProtein,可以去官网看看为什么,这个基本上不影响最终注释结果
    1.1.2在~/snpEFF/data/genomes/
    下面放我们的文件
        C.fa

    1.1.3~/snpEff/snpEff.config文件
        vim snpEff.config直接进入然后看到data.dir =./data/
    注意这个地方要更改,直接改成这样就行了#别问,问就是卡了半天,就是路径问题emmm
    data.dir = data
    #c
    c.genome:c

好了,我们现在已经把最基本的数据处理文件放到我们软件里面去了,这个地方我卡了半天emmm。反正慢慢来弄熟了都好办。

3.注释

刚刚是准备阶段,然后让我们的数据库生效,并且注释,一共两步

1.注意目录,~/snpEff

java -jar snpEff.jar build -gff3 -v c

#之前也说了,可以加上-noCheckProtein -noCheckCds

这里有一个检测报告,说不定后面能用得上,先截屏留个纪念一下

2.

接下来把我们的需要注释的vcf文件放在我们~/snpEFF文件下面,

#注意

        2.1我们的染色体名称,需要注释的vcf染色体名称必须和gFF文件的染色体名称一致

如果不一致需要我们修改一下:

使用

        2.2我们的染色体名称从1234开始,我们的gFF文件的染色体名称最好也是从1234开始,因此需要对我们的gFF文件进行处理,当然要是没处理问题也不大,我这里就算了,直接注释,等报错再说

java -jar snpEff.jar ann c c.vcf > c.snpeff.vcf

#这个代码不能查看特别细致的错误,所以我们可以使用官网查证,这里我又卡了半天,当然如果没强制要求可以不需要

java -Xmx8g -jar snpEff.jar -v -canon c c.vcf > c.snpeff.vcf -stats c.html

 我们必须得承认这个错误足够多,emmm,查看找了好多没得解释的,只能翻烂官网

注意如果这个地方报错的话,类似一个都注释不出来,一定要记得,保持染色体的名称相同 

4.错误解释

4.1我们得明白原始vcf文件怎么看

生信:1:vcf格式文件解读_vcf alt_f1r2-CSDN博客

网上一堆解释,我这边就简单说几句

CHROM    POS    ID    REF    ALT    QUAL    FILTER    INFO    FORMAT    

 1               841    .       T           C         .             .             PR         GT    0/0    0/1    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    0/0    

相应是:

  1. CHROM:染色体编号或ID。

  2. POS:变异位点在染色体上的位置。发生变异的位置的第一个碱基所在的位置,

  3. ID:变异ID,可以是rs号等。

  4. REF:参考基因组碱基。

  5. ALT:变异碱基,可能包含多个碱基。变异所支持的碱基类型及碱基数量,

  6. QUAL:变异质量得分,表示该变异位点的可信度。

  7. FILTER:过滤标志,表示该变异位点是否通过了质量控制等过滤步骤。

  8. INFO:额外的变异信息,例如变异类型、功能注释、影响的转录本等。

  9. FORMAT:样本基因型信息的格式。variants的格式,例如GT:AD:DP:GQ:PL

  10. 0/1表示杂合,1/1表示纯合

4.2注释之后的文件

4.2.1html文件

给你们看一下这个多出来的文件,一般我们会选择查看html的文件夹,但是我们会发现里面的图打不开因为画图代码是用的谷歌,爬个墙就OK了

 2.0版本的弄到这边,当时有点事情耽搁了,今天我把理解SnpEff注释的东西给弄完,最近有点倒霉,希望大顺。

4.2.2注释的vcf.snpEff文件

接下来我们查看一下vcf多出来哪些信息,我这里随便截取一部分,linux命令提取第一行

1.grep -v "^#" file.txt | head -n 1

过滤掉#的行,取前1行

2.(我这里用了,awk列提取的命令,只保留位点和注释的信息)

awk '!/^#/ {print $1, $2, $3}' data.txt > wenjian,txt

1 841 PR;ANN=C|intergenic_region|MODIFIER|CHR_START-EVM_prediction_Chr1.1|CHR_START-evm.TU.Chr1.1|intergenic_region|CHR_START-evm.TU.Chr1.1|||n.841T>C||||||

接下来我们来稍稍解读一下,根据下面的规则

Annotation Type(描述了变异对蛋白质编码的基因的影响):
    missense_variant:氨基酸改变的突变,可能会导致蛋白质功能改变。

    frameshift_variant:插入或删除碱基导致读框移位,可能会导致蛋白质完全改变。

    stop_gained:导致编码区域产生提前终止密码子,导致蛋白质缺失或截短。

    synonymous_variant:同义突变,不改变氨基酸序列。

    intron_variant:发生在内含子区域,不直接影响蛋白质序列。

    intergenic_region:位于基因之间的区域,对基因本身没有直接影响。

    5_prime_UTR_variant和3_prime_UTR_variant:分别发生在基因的5'UTR和3'UTR区域,可能会影响转录后调控。

    downstream_gene_variant和upstream_gene_variant:分别位于基因的下游和上游区域,可能会影响基因表达。

    regulatory_region_variant:位于转录因子结合位点或其他调控元件,可能影响功能元件的调控作用。


Functional Impact(描述变异对蛋白质功能的影响):
    HIGH(高影响):变异对蛋白质结构、功能或稳定性的影响较大,可能导致显著的功能改变或丧失。

    MODERATE(中等影响):变异对蛋白质结构、功能或稳定性的影响适中,可能导致一定程度的功能改变。

    LOW(低影响):变异对蛋白质结构、功能或稳定性的影响较小,可能对蛋白质功能产生轻微影响或无明显影响。

    MODIFIER(修饰因子):变异对蛋白质功能没有直接影响,通常发生在非编码区域或没有已知功能的区域。


Gene:一个基因ID,可能与该变异所在的基因相邻或靠近。


HGVS cDNA:
    突变类型+基因名+cDNA位置+核苷酸变化:如c.123A>T表示在基因中的第123个核苷酸位置上发生了A到T的变化。

    突变类型+基因名+cDNA位置+碱基插入:如c.123_124insT表示在基因中的第123和124个核苷酸之间插入了一个T。

    突变类型+基因名+cDNA位置+碱基缺失:如c.123delA表示在基因中的第123个核苷酸上发生了A的缺失。

    突变类型+基因名+cDNA位置+碱基替换+碱基插入:如c.123A>TinsC表示在基因中的第123个核苷酸位置上发生了A到T的替换,并插入了一个C。

    突变类型+基因名+cDNA位置+跳跃突变:如c.123_126delGTAA表示在基因中的第123到126个核苷酸上发生了GTAA的缺失。

SnpEff注释后一般会包括这些东西(问了GPT的,懒得翻官网了)

  1. 基因名称:注释可能会提供与该变异位置最相关的基因的名称。
  2. 功能类型:注释可能会指示该变异位置所在的基因区域的功能类型,例如编码区(coding sequence)、间基因区(intergenic region)、调控区(regulatory region)等。
  3. 作用效果:注释可能会提供关于该变异对基因功能的可能影响的信息,例如是否导致蛋白质结构改变、编码序列突变、剪接异常等。
  4. 突变类型:注释可能会指明该变异的具体类型,例如单核苷酸变异(Single Nucleotide Variant,SNV)、插入(Insertion)、缺失(Deletion)等。
  5. 基因组坐标:注释可能会提供该变异在基因组上的具体位置,如起始坐标和终止坐标。

 再来看一下我们的注释

ANN=C|intergenic_region|MODIFIER|CHR_START-EVM_prediction_Chr1.1|CHR_START-evm.TU.Chr1.1|intergenic_region|CHR_START-evm.TU.Chr1.1|||n.841T>C||||||

这个注释大概就是, 大家随意看看,等之后我懂了我在来补充一下。

指出在该位置上发生了一种核苷酸变异,由碱基T变为C,指示该变异位置所在的基因区域的功能类型在间基因区(intergenic region),该变异对蛋白质功能的影响中等,

|CHR_START-EVM_prediction_Chr1.1这个我不太懂,可能是gff文件的注释信息,GPT搜索一下【"CHR_START" 仍然表示基因组的起始位置,而 "evm.TU.Chr1.1" 则可能是某个基因预测软件(如EVM)生成的、与该转录单元相关的标识符或名称】,反正就是坐标吧,

n.841T>C,表示变异发生在cDNA的第841个碱基上,从T突变为C。但是一般是c开头是cDNA,这里我也不是特别懂,【"n.841T>C" 中的 "n." 表示这是一个核酸变异,"841T>C" 则指明了具体的变异类型。】

还有一些其他文件大家可以去查看一下,这里不做多的解释。总体上来说,SnpEff我一开始想得过于复杂,其实都差不多

学习软件步骤的更新,

1.下载和官网,构建步骤看一个能看懂的,然后多翻一下官网,

2. 软件和理解性的问题从根本上找,比如画图代码,比如搜索,

3.记得总结以及处理好文件,文件不能乱,我构建过程中过于文件混乱浪费了不少时间,及时总结能够在下一次学习的 时候,方便你我他。

 5,总结代码就两步

1,java -jar snpEff.jar build -gff3 -v c

#之前也说了,可以加上-noCheckProtein -noCheckCds

2,java -Xmx8g -jar snpEff.jar -v -canon c c.vcf > c.snpeff.vcf -stats c.html

6,如果需要EFF的注释信息的位点的话

1,java -jar snpEff.jar build -gff3 -v c

2,java -Xmx8g -jar snpEff.jar -v -canon -formatEff c c.vcf > c.eff.snpeff.vcf -stats c.html

  • 53
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值