基因组注释工具ANNOVAR是一款非常好用的注释软件,功能强大,输出数据简单美中不足就是对于非人类物种来说UI不够完善,因此总结一下整个注释的过程,帮助别人快乐自己。

首先我们需要明确我们需要的数据和软件:

数据包括:

all.gff3 #MSU的v7.0版本组装的注释文件
all.con #基因组序列

这样就是所有的输入文件了,现在我们列举一下需要用到的软件:

gffread  #gff3 to gtf
gtfToGenePred #gtf to genePred (建库需要的文件)
annovar #注释主程序,只能通过发邮件获取

有了这些我们就可开始做注释了、

一、建库

如果是给人类的基因组注释,网上有非常多的教程,我在这里就不赘述了,请大家自行百度,我要介绍的主要是水稻及其他非人类的生物注释。

首先我们需要在获得ANNOVAR之后在目录下解压,在软件主目录下新建文件夹:

genomics@genomics-70DGA01QCN:~/BioPlatform/annovar$ ls -l
总用量
-rwxr-xr-x genomics genomics 4月 annotate_variation.pl
-rwxr-xr-x genomics genomics 4月 coding_change.pl
-rwxr-xr-x genomics genomics 4月 convert2annovar.pl
drwxr-xr-x genomics genomics 4月 example
drwxr-xr-x genomics genomics 4月 humandb
-rwxr-xr-x genomics genomics 4月 retrieve_seq_from_fasta.pl
-rwxr-xr-x genomics genomics 4月 table_annovar.pl
-rwxr-xr-x genomics genomics 4月 variants_reduction.pl genomics@genomics-70DGA01QCN:~/BioPlatform/annovar$ mkdir ricedb

ricedb就是我们需要建库的文件夹了,和同目录下的humandb是一样的,在这个文件夹中需要有两个文件

genomics@genomics-70DGA01QCN:~/BioPlatform/annovar/ricedb$ ls -l
总用量
-rw-rw-r-- genomics genomics 10月 AsianRice_MSU.fasta
-rw-rw-r-- genomics genomics 2月 AsianRiice_MSU.gff3

gff文件会报错所以第一步要转换成gtf文件

genomics@genomics-70DGA01QCN:~/BioPlatform/annovar/ricedb$ gffread AsianRiice_MSU.gff3 -T -o AsianRice_MSU.gtf

gtf文件转换成GenePred文件,利用GtfToGenePred工具,这里注意“-genePredExt”这个参数一定要加上

genomics@genomics-70DGA01QCN:~/BioPlatform/annovar/ricedb$ gtfToGenePred -genePredExt AsianRice_MSU.gtf Os_refGene.txt

结合基因组数据获得另外一个重要数据,通过上边获得的GenePred文件:

perl ../retrieve_seq_from_fasta.pl --format refGene --seqfle all.fa  Os_refGene.txt --out Os_refGeneMrna.fa

这样我们建库工作就完成了,下次再对相同物种数据进行注释的时候就不用进行这些操作了,库的两个文件组成如下:

genomics@genomics-70DGA01QCN:~/BioPlatform/annovar/ricedb$ ls -l
-rw-rw-r-- genomics genomics 1月 : Os_refGeneMrna.fa
-rw-rw-r-- genomics genomics 1月 : Os_refGene.txt

二、非人类物种注释

  相比与人类的注释,其他物种的注释如果完成了建库的步骤剩下的就很相似。区别在于其他物种并没有人类那么多相关的注释库,一般我们就进行基于基因的注释就可以获得我们想要的数据:

perl table_annovar.pl <variant.vcf> ricedb/ --vcfinput --outfile fnal --buildver Os --protocol refGene --operation g

  剩下的事情交给马克思和处理器就好了!

  输出格式以及后续的处理在随后的博文中会有详细的介绍。

【annotation】非人类物种基因组注释(MSU为例)的更多相关文章

  1. 使用BRAKER2进行基因组注释

    来自:https://www.jianshu.com/p/e6a5e1f85dda 使用BRAKER2进行基因组注释 BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和转 ...

  2. 答读者问(1):非模式物种找marker;如何根据marker定义细胞类型

    下午花了两个小时回答读者的疑问,觉得可以记录下来,也许能帮到一部分人. 第一位读者做的是非模式物种的单细胞. 一开始以为是想问我非模式物种的marker基因在哪儿找,读者朋友也提到了blast 研究的 ...

  3. 人类及其他物种基因组DNA之问

    问题1 : 不同人类个体的基因组长度总长是不是一样,如果不一样,那么人类基因组长度排序和范围区间是如何控制的?最短是多少,最长是多少?如果一样,如何理解基因的插入与缺失,INDEL等现象,如何平衡的呢 ...

  4. 植物基因组|注释版本问题|重测序vs泛基因组

    生命组学: 细菌和其他物种比,容易发生基因漂移,duplication和重排. 泛基因组学研究的一般思路是通过comparison找到特殊基因区域orspecific gene,研究其调控机制(即通过 ...

  5. Bedtools如何比较两个参考基因组注释版本的基因?

    目录 问题 思路 问题 原问题来自:How to calculate overlapping genes between two genome annotation versions? 其实可分为两个 ...

  6. 【基因组注释】ncRNA注释

    目录 1. ncRNA 2. 软件 tRNA注释 rRNA注释 其他ncRNA注释 3. 注释 tRNA rRNA snRNA.miRNA等 4. snRNA.miRNA等结果的统计 1. ncRNA ...

  7. 【基因组注释】同源注释比对软件tblastn、gamp和exonerate比较

    基因结构预测中同源注释策略,将mRNA.cDNA.蛋白.EST等序列比对到组装的基因组中,在文章中通常使用以下比对软件: tblastn gamp exonerate blat 根据我的实测,以上软件 ...

  8. 【基因组注释】RepeatMasker和RepeatModeler安装、配置与运行避坑

    目录 1.conda安装 2.配置RepBase 3.RepeatMasker避坑 4.RepeatProteinMask避坑 5.RepeatModeler避坑 6.自定义重复序列库 后记 1.co ...

  9. 关于基因组注释文件GTF的解释

    GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...

随机推荐

  1. less 基础+ flex

    1.less 中的变量 @ 符号 引入 /*普通变量*/ @color:pinker; .styles{ color:@color; } /*选择器变量*/ @I:img; @{I}{ width: ...

  2. 多个if语句和else if区别

    多个if是所有的if都会进行判断if else if是只要有满足条件的,就不再对之后的else if进行判断比如a = 2;if(a==1) c=1;if(a==2) c=2;if(a%2==0) c ...

  3. 小甲鱼零基础python课后题 P21 020函数:内嵌函数和闭包函数

    测试题 0.如果希望在函数中修改全局变量的值,应该使用什么关键字? 答:globe 1.在嵌套函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字? 答:nonlocal 2.pyth ...

  4. corefx 源码学习:SqlClient 是如何同步建立 Socket 连接的

    在昨天的技术周会上发现 EnyimMemcached 中建立 Socket 连接的代码有问题,今天坐车的时候在手机上阅读 .net core 2.2 的 SqlClient 中同步建立 Socket ...

  5. vmware您无权输入许可证密钥,请请使用系统管理员账户重试

    vmware15,输入许可证时报“您无权输入许可证密钥,请请使用系统管理员账户重试”,切换到Administrator以后,并没有什么作用. 网上的各种进入cmd的方法也无效. 后来发现,只要是已经存 ...

  6. 【C++】满二叉树问题

    /* 给出一棵满二叉树的先序遍历,有两种节点:字母节点(A-Z,无重复)和空节点(#).要求这个树的中序遍历.输出中序遍历时不需要输出#. 满二叉树的层数n满足1<=n<=5. Sampl ...

  7. 从github上下载一个项目的子目录

    https://github.com/pbojinov/developer.chrome.com/tree/master/extensions/examples/extensions/proxy_co ...

  8. static_cast 使用

    static_cast 用于基本类型转换,入int转double: int distanceThreshold  = 4: double val = static_cast<qreal>( ...

  9. 大疆2019校招FPGA笔试总结

    1.对于同步fifo,每100个cycle可以写入80个数据,每10个cycle可以读出8个数据,fifo的深度至少为? 写时钟频率 w_clk, 读时钟频率 r_clk, 写时钟周期里,每B个时钟周 ...

  10. @RequestParam @PathVariable

    1.Request参数 在访问各种各样网站时,经常会发现网站的URL的最后一部分形如:?xxxx=yyyy&zzzz=wwww.这就是HTTP协议中的Request参数,它有什么用呢?先来看一 ...