使用BRAKER2进行基因组注释
来自:https://www.jianshu.com/p/e6a5e1f85dda
使用BRAKER2进行基因组注释
BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和转录组数据。
在使用软件之前,有几点需要注意下
- 尽量提供高质量的基因组。目前随着三代测序价格下降,这一点问题不大。
- 基因组命名应该简单,最好就是">contig1"或">tig000001"
- 基因组需要屏蔽重复序列
- 默认参数通常表现效果就很好,但是也要根据物种来
- 一定要对注释结果进行检查,别直接使用
软件安装
BRAKER的依赖软件不少,且Perl需要安装的模块也很多,我们用conda能解决这些问题(需要添加bioconda频道)
安装结束后会输出一些提示信息,汇总以下就是
- 保证AUGUSTUS的config目录能够有可写权限(自己用conda安装不需要考虑这个问题)
- GeneMark和GenomeThreader还需要额外下载安装
我们一定要安装的就是GeneMark,需要从 http://exon.gatech.edu/GeneMark/license_download.cgi 下载安装,然后添加环境变量
此外还有一些BRAKER2建议的软件,conda没有安装,需要自己按需安装
- DIAMOND 0.9.24: 替代NCBI-BLAST+
- cdbfasta 0.99: 纠正AUGUSTUS预测的开放阅读框内内含有终止密码子的基因
- cdbyank 0.981: 纠正AUGUSTUS预测的开放阅读框内内含有终止密码子的基因
- GenomeThreader: 仅在你需要用蛋白数据进行注释时,才需要
关于这些conda未安装的软件参考https://github.com/Gaius-Augustus/BRAKER#optional-tools
以cdbfasta和cdbyank为例
之后可以添加到环境变量
也可以复制到conda建立的braker2的环境中,其中~/miniconda3是我conda的路径
安装完成之后,建议现运行下面这一步检查软件依赖

软件运行
BRAKER根据数据类型,有不同的运行模式,但根据现状其实最常见的情况是测了一个基因组,并且还测了二代的转录组,或许还有一些近缘物种的蛋白序列。因此假设你手头有下面这些数据
- 基因组序列: genome.fasta
- 转录组数据: XX_1.fq.gz, XX_2.fq.gz
- 蛋白序列: proteins.fa
第一步: 屏蔽基因组中的重复序列,这一步参考使用RepeatModeler和RepeatMasker注释基因组重复序列
这一步输出的genome.fasta.masked将是后续注释的输入
第二步: 使用STAR将FastQ比对到参考基因组,STAR使用说明参考「RNA-seq分析软件」RNA-seq比对工具STAR学习笔记
输入结果为 xx.bam 如果测了多个组装的转录组,为每个样本运行一次比对生成多个BAM文件。
第三步: 运行BRAKER2
braker.pl最多支持48个线程。
最终会输出蛋白序列和CDS序列以及GFF文件
可能问题
使用conda安装时可能会出现的问题
原因是因为faToTwoBit程序出错
这是因为conda没能正确处理依赖关系,openssl版本过高,解决方法如下
运行时出现如下警告
无视掉
参考资料
- BRAKER2官方教程: https://github.com/Gaius-Augustus/BRAKER
关注下方公众号可获得更多精彩

使用BRAKER2进行基因组注释的更多相关文章
- 【annotation】非人类物种基因组注释(MSU为例)
基因组注释工具ANNOVAR是一款非常好用的注释软件,功能强大,输出数据简单美中不足就是对于非人类物种来说UI不够完善,因此总结一下整个注释的过程,帮助别人快乐自己. 首先我们需要明确我们需要的数据和 ...
- 【基因组预测】braker2基因结构注释要点记录
目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...
- 植物基因组|注释版本问题|重测序vs泛基因组
生命组学: 细菌和其他物种比,容易发生基因漂移,duplication和重排. 泛基因组学研究的一般思路是通过comparison找到特殊基因区域orspecific gene,研究其调控机制(即通过 ...
- Bedtools如何比较两个参考基因组注释版本的基因?
目录 问题 思路 问题 原问题来自:How to calculate overlapping genes between two genome annotation versions? 其实可分为两个 ...
- 【基因组注释】同源注释比对软件tblastn、gamp和exonerate比较
基因结构预测中同源注释策略,将mRNA.cDNA.蛋白.EST等序列比对到组装的基因组中,在文章中通常使用以下比对软件: tblastn gamp exonerate blat 根据我的实测,以上软件 ...
- 【基因组注释】ncRNA注释
目录 1. ncRNA 2. 软件 tRNA注释 rRNA注释 其他ncRNA注释 3. 注释 tRNA rRNA snRNA.miRNA等 4. snRNA.miRNA等结果的统计 1. ncRNA ...
- 【基因组注释】RepeatMasker和RepeatModeler安装、配置与运行避坑
目录 1.conda安装 2.配置RepBase 3.RepeatMasker避坑 4.RepeatProteinMask避坑 5.RepeatModeler避坑 6.自定义重复序列库 后记 1.co ...
- 关于基因组注释文件GTF的解释
GTF文件的全称是gene transfer format,主要是对染色体上的基因进行标注.怎么理解呢,其实所谓的基因名,基因座等,都只是后来人们给一段DNA序列起的名字而已,还原到细胞中就是细胞核里 ...
- 【基因组注释】GMAP安装使用问题
homology策略预测基因结构,下载了公共mRNA/CDS序列,考虑用gmap比对.本来是个很简单的脚本,但总是不那么顺利. 无论是用conda安装,还是源码安装较新版本,都存在问题. gmap_b ...
随机推荐
- 【二食堂】Beta - Scrum Meeting 4
Scrum Meeting 4 例会时间:5.17 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 继续完成文本区域划词添加的功能 issue 1. 划词功能已经实现,继续开发 ...
- Mac上安装Grafana
Mac上安装Grafana 一.背景 二.安装步骤 1.通过 Home Brew 安装 2.通过二进制包进行安装 1.下载 2.grafana配置文件的路径 3.修改grafana配置 1.修改默认的 ...
- 微信小程序 scroll-view 完成上拉加载更多
我们经常在软件客户端上看到这么一个功能,当我们阅读信息浏览到文章的末尾时,通常会加载出更多的信息.比如,我们在简书客户端上浏览推荐文章时,浏览到屏幕的末尾,此时又加载出了另一页的推荐文章,即实现了上拉 ...
- stm32电机控制之控制两路直流电机!看完你会了吗
手头上有一个差分驱动的小车,使用两个直流电机驱动,要实现小车的在给定速度下运动,完成直线行驶,转向,加速,刹车等复杂运动. 使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制, ...
- python numpy版本报错: File "*\numpy\__init__.py", line 305, in <module> _win_os_check()
具体代码如下所示: from numpy import * import operator a = random.rand(4, 4) print(a) 具体报错内容如下所示: Traceback ( ...
- Django 开发------django-crontab实现服务端的定时任务
一.需求: 想实现类似 Linux 中crontab 的功能.定时执行计划任务. 二.配置: a.安装插件: # pip3 install django-crontab b.在settings.py ...
- 利用pyplot绘制sin(x)和cos(x)的组合图像
一.实验目标 (1) 掌握numpy库的使用 (2) 掌握matplotlib库的使用 (3) 掌握pyplot的基本函数和方法 二.实验内容 import matplotlib.pyla ...
- shell 脚本静默安装oracle11g
以下脚本的手动安装连接: https://www.cnblogs.com/leihongnu/p/12698593.html [ #/bin/bash#安装日志touch /root/message ...
- istio基础详解
1.Istio介绍? 官方文档:https://istio.io/docs/concepts/what-is-istio/ 中文官方文档:https://istio.io/zh/docs/concep ...
- Fiddler抓包工具学习及使用
一.Fiddler工作原理 Fiddler是位于客户端和服务器端之间的代理,客户端发送请求,fiddler会拦截该请求,再转发到服务器端,服务器端处理请求做出的响应,也要被fiddler拦截,fidd ...