来自: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

cdbfastacdbyank为例

之后可以添加到环境变量

也可以复制到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进行基因组注释的更多相关文章

  1. 【annotation】非人类物种基因组注释(MSU为例)

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

  2. 【基因组预测】braker2基因结构注释要点记录

    目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...

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

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

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

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

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

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

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

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

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

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

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

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

  9. 【基因组注释】GMAP安装使用问题

    homology策略预测基因结构,下载了公共mRNA/CDS序列,考虑用gmap比对.本来是个很简单的脚本,但总是不那么顺利. 无论是用conda安装,还是源码安装较新版本,都存在问题. gmap_b ...

随机推荐

  1. UltraSoft - Beta - 发布声明

    1. Beta版本更新内容 新功能 (1)消息中心页面 课程爬取到新DDL.资源时会以通知的方式通知用户,本次同步更新了哪些内容一目了然.此外,当被作为参与成员添加DDL时也会通知.一些系统通知也会放 ...

  2. 如何洗白xi校长?(初稿)

    看看咱们太子殿下,谁还敢黑全世界最好的太子殿下 我们不如来考虑一下如何给校长洗白. 第一当然是买断热搜了.买断热搜可以阻止消息进一步传播.当然这种操作学校再8月18日晚就已经做过了.8月18日该条消息 ...

  3. Linux入门需要搞清楚的思路问题

    很多同学接触linux不多,对linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机it行业从业人员,="" 掌握linux是一种很重要的 ...

  4. stm32学习笔记之串口通信

    在基础实验成功的基础上,对串口的调试方法进行实践.硬件代码顺利完成之后,对日后调试需要用到的printf重定义进行调试,固定在自己的库函数中. b) 初始化函数定义: void USART_Confi ...

  5. 洛谷 P2680 [NOIP2015 提高组] 运输计划

    链接:P2680 题意: 在树上把一条边边权变为0使得最长给定路径最短 分析: 最大值最小可以想到二分答案,对于每一个mid,寻找所有大于mid的路径,再寻找是否存在一条边使得删去它后大于mid的路径 ...

  6. 神经网络 感知机 Perceptron python实现

    import numpy as np import matplotlib.pyplot as plt import math def create_data(w1=3,w2=-7,b=4,seed=1 ...

  7. 优客源创会 西安站 西邮Linux兴趣小组

    2016年5月19日晚7:00,优客源创会西安站在西安邮电大学长安校区东区教学楼FF305如期举行,西安邮电大学计算机学院教授.西邮Linux兴趣小组指导老师陈莉君.王小银老师和来自开源中国的周凯先生 ...

  8. linux网络编程 IO多路复用 select epoll

    本文以我的小型聊天室为例,对于服务器端的代码,做了三次改进,我将分别介绍阻塞式IO,select,epoll . 一:阻塞式IO 对于聊天室这种程序,我们最容易想到的是在服务器端accept之后,然后 ...

  9. 【数据结构&算法】09-队列概念&参考源码

    目录 前言 队列的定义 队列的抽象数据类型 循环队列与链式队列对比 循环队列 特点 定义 循环队列相关计算 链式队列 定义 阻塞队列 并发队列 代码实现 循环队列代码 链式队列实现 前言 李柱明博客: ...

  10. js分支语句

    一.逻辑分支(选择结构,分支结构) 其实今天的课程才算开始涉及到逻辑 程序的三大结构 顺序结构 - 每天 代码逐行执行,一行一行自上而下执行 分支结构 有选择了,十字路口的选择,只能选择一个,如果.. ...