来自: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. IOC和DI之刨根问底之第一节

    很多freshman上来就想搞清楚什么是IOC和DI,其实很多先进的理论和技术都在老的基础上升华出来的,最终目的是为了解放生产力. 所以先来说说下面两点基础知识: Direct Dependency( ...

  2. 零基础学习Linux所必备的七大习惯

    对于很多Linux初学者来说,在刚开始使用linux系统时会感到很多的不适.这里为大家整理了自己以前linux入门时别人告诉我的七个习惯.我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安 ...

  3. 到底能不能用 join

    互联网上一直流传着各大公司的 MySQL 军规,其中关于 join 的描述,有些公司不推荐使用 join,而有些公司则规定有条件的使用 join, 它们都是教条式的规定,也没有详细说其中的原因,这就很 ...

  4. linked-list-cycle leetcode C++

    Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...

  5. linux 内核源代码情景分析——地址映射的全过程

    linux 内核采用页式存储管理.虚拟地址空间划分成固定大小的"页面",由MMU在运行时将虚拟地址映射成某个物理内存页面中的地址.页式内存管理比段式内存管理有很多好处,但是由于In ...

  6. Piakchu之RCE漏洞

    一.Ping(远程系统命令执行) 首先正常输入一个ip,查看页面的返回值.发现有乱码,但是能看出执行了ping命令. 查看源代码,可以看到只是对操作系统进行了判断,而对输入内容是否为ip地址并没有判断 ...

  7. java中的泛型设计

    1.为什么要使用泛型程序设计 ArrayList<String> files = new ArrayList<>() 等价于 var files = new ArrayList ...

  8. Java的基本数据类型和数据类型转换

    首先java属于强类型语言,要求变量的使用要严格遵守规范,所有变量都必须先定义后才能使用. Java的数据类型分为以下两种: 1 基础数据类型(primtive type) 和 2 引用数据类型(re ...

  9. IDEA插件和个性化配置推荐

    插件推荐 我自己现在使用的一些插件和一些自己感觉比较舒服配置分析给大家 idea如何安装插件: 如果打开设置没有看到,直接搜索plugins 然后在这里搜索即可 CodeGlance 小地图 和vsc ...

  10. Java学到什么程度能找到一份还不错的工作

    我的读者里有很多 Java 新人,新人是指正在学 Java 的.以及工作时间不长的年轻人,他们经常问我一个问题: Java 学到什么程度才能找到一份还不错的工作? 今天我就从我自己面试新人的角度来回答 ...