基因组注释工具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. Windows系统Git安装配置

    Git的安装 Git是一个开源的分布式的版本控制软件,是Linus Torvalds 为了方便开源贡献者协同开发和管理 Linux 内核开发替代BitKe而开发的. 打开git官网的下载地址:http ...

  2. 触发器中的after与before理解

    做一个表的insert的trigger,目的是只修改插入行的字段. CREATE OR REPLACE TRIGGER TR_RME_SLOT BEFORE INSERT ON RME_SLOT FO ...

  3. PHP算法学习(7) 双向链表 实现栈

    2019年2月25日17:24:34 final class BasicNode { public $index; public $data; public $next = null; public ...

  4. High Performance Networking in Google Chrome

    小结: 1. 小文件存储于一个文件中: 在内部,磁盘缓存(disk cache)实现了它自己的一组数据结构, 它们被存储在一个单独的缓存目录里.其中有索引文件(在浏览器启动时加载到内存中),数据文件( ...

  5. 【C++】括号匹配

    #include<iostream> #include<cstring> #include<cstdlib> #include<queue> using ...

  6. docker上部署rabbitmq

    1.docker search rabbitmq 2.docker pull rabbitmq:3.6 3.docker run -d -p 5672:5672 -p 15672:15672 --na ...

  7. Autofac之生命周期和事件

    Autofac为注册的类型对象提供了一套生命周期事件,覆盖了一个类型从注册到最后“释放”的一套事件.有了这些事件,我们可以相对方便的在类型对象的各个阶段进行AOP操作. builder.Registe ...

  8. DOM---节点关系

    DOM可以说是把文档当成一种树状结构,这种结构被称为节点树,JavaScript脚本可以通过节点树访问所有节点,可是执行修改或者是删除它们的内容,同时也可以创建新的节点. 节点之间的关系是有上下级别的 ...

  9. [jquery.validate]自定义方法实现"手机号码或者固定电话"的逻辑验证

    最近项目开发中遇到这样的需求“手机号码或者固话至少填写一个”,如下图所示: 项目采用的jquery.validate.js验证组件,目前组件不支持这种“或”逻辑的验证,于是就自己定义一个 jQuery ...

  10. mysql表类型导致的 setRollbackOnly() 事务不回滚

    在SpringBoot 中,使用事务非常简单,只需在方法上面加入 @Transactional  注解就可以实现.也可加在类上,此时则类中所有方法都支持事务. 而当我使用下面代码时,发现事务却没有回滚 ...