使用BRAKER2进行基因组注释

BRAKER2是一个基因组注释流程,能够组合GeneMark,AUGUSTUS和转录组数据。

在使用软件之前,有几点需要注意下

  • 尽量提供高质量的基因组。目前随着三代测序价格下降,这一点问题不大。
  • 基因组命名应该简单,最好就是">contig1"或">tig000001"
  • 基因组需要屏蔽重复序列
  • 默认参数通常表现效果就很好,但是也要根据物种来
  • 一定要对注释结果进行检查,别直接使用

软件安装

BRAKER的依赖软件不少,且Perl需要安装的模块也很多,我们用conda能解决这些问题(需要添加bioconda频道)

conda create -n braker2 braker2

安装结束后会输出一些提示信息,汇总以下就是

  • 保证AUGUSTUS的config目录能够有可写权限(自己用conda安装不需要考虑这个问题)
  • GeneMark和GenomeThreader还需要额外下载安装

我们一定要安装的就是GeneMark,需要从 下载安装,然后添加环境变量

export GENEMARK_PATH=/your_path_to_GeneMark-ET/gmes_petap/

此外还有一些BRAKER2建议的软件,conda没有安装,需要自己按需安装

  • DIAMOND 0.9.24: 替代NCBI-BLAST
  • cdbfasta 0.99: 纠正AUGUSTUS预测的开放阅读框内内含有终止密码子的基因
  • cdbyank 0.981: 纠正AUGUSTUS预测的开放阅读框内内含有终止密码子的基因
  • GenomeThreader: 仅在你需要用蛋白数据进行注释时,才需要

关于这些conda未安装的软件参考

cdbfastacdbyank为例

git clone https://github.com/gpertea/cdbfasta.git
cd cdbfasta
make all

之后可以添加到环境变量

 export CDBTOOLS_PATH=/path/to/cdbfasta/

也可以复制到conda建立的braker2的环境中,其中~/miniconda3是我conda的路径

cp cdbfasta cdbyank perltest.pl ~/miniconda3/envs/braker2/bin

安装完成之后,建议现运行下面这一步检查软件依赖

 braker.pl --checkSoftware

软件运行

BRAKER根据数据类型,有不同的运行模式,但根据现状其实最常见的情况是测了一个基因组,并且还测了二代的转录组,或许还有一些近缘物种的蛋白序列。因此假设你手头有下面这些数据

  • 基因组序列: genome.fasta
  • 转录组数据: XX1.fq.gz, XX2.fq.gz
  • 蛋白序列: proteins.fa

第一步: 屏蔽基因组中的重复序列,这一步参考使用RepeatModeler和RepeatMasker注释基因组重复序列

RepeatMasker -xsmall -species arabidopsis -pa 40 -e ncbi  -dir . genome.fasta
#-xsmall: soft-mask

这一步输出的genome.fasta.masked将是后续注释的输入

第二步: 使用STAR将FastQ比对到参考基因组,STAR使用说明参考「RNA-seq分析软件」RNA-seq比对工具STAR学习笔记

mkdir -p STAR
# 建立索引
STAR \--runThreadN 20 \--runMode genomeGenerate \--genomeDir STAR \--genomeFastaFiles genome.fasta
# 比对
STAR \--genomeDir STAR \--runThreadN 20 \--readFilesIn XX_1.fq.gz, XX_2.fq.gz \--readFilesCommand zcat \--outFileNamePrefix xx_ \--outSAMtype BAM SortedByCoordinate \--outBAMsortingThreadN 10 \--outSAMstrandField intronMotif \--outFilterIntronMotifs RemoveNoncanonical
mv xx_Aligned.sortedByCoord.out.bam xx.bam

输入结果为 xx.bam 如果测了多个组装的转录组,为每个样本运行一次比对生成多个BAM文件。

第三步: 运行BRAKER2

braker.pl --cores 48 --species=yourSpecies --genome=genome.fasta.masked \--softmasking --bam=xx.bam \--prot_seq=proteins.fa --prg=exonerate \--gff3

braker.pl最多支持48个线程。

最终会输出蛋白序列和CDS序列以及GFF文件

可能问题

使用conda安装时可能会出现的问题

Error in file bamToWig.py at line 172: Return code of subprocess was 127

原因是因为faToTwoBit程序出错

faToTwoBit
faToTwoBit: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

这是因为conda没能正确处理依赖关系,openssl版本过高,解决方法如下

# 建立软链接
cd ~/miniconda3/envs/braker2/lib
ln -s libssl.so libssl.so.1.0.0
ln -s libcrypto.so libcrypto.so.1.0.0

运行时出现如下警告

OpenBLAS blas_thread_init: RLIMIT_NPROC 4096

无视掉

参考资料

  • BRAKER2官方教程: https://github.com/Gaius-Augustus/BRAKER

----

版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

使用BRAKER2进行基因组注释相关推荐

  1. 基因组注释3.基因的功能注释Prokka

    基因组注释的前两篇为大家讲解了关于基因组组成成分分析(包括重复序列的识别.非编码基因和编码基因预测等)的内容,今天,将重点介绍如何进行基因的功能注释. 基因的功能注释 获得基因结构信息后,我们希望能够 ...

  2. 用Bioconductor对基因组注释

    这一次,我们来聊聊基因组注释.首先问自己一个问题,为什么要进行基因注释. 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道 ...

  3. 基因组注释1. 重复序列repeatmasker, trf

    本文转自"美格基因",已获授权 基因组注释(Genome annotation)是利用生物信息学方法和工具,对基因组所有基因和其他结构进行高通量注释. 基因组注释主要包括:基因组组 ...

  4. 【Bioconductor系列】如何用Bioconductor对基因组注释

    这一次,我们来聊聊基因组注释.首先问自己一个问题,为什么要进行基因注释. 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道 ...

  5. linux基因组文件,从基因组注释信息GFF文件中提取所有基因位置信息-AWK

    gff文件当中存储了基因组当中所有基因的注释信息,如果想得到基因组当中所有基因的位置信息可以利用awk命令批量的提取,命令如下: $ grep -v '#' Arabidopsis_thaliana. ...

  6. 基因结构显示服务器,科学网—宏基因组注释和可视化神器MEGAN入门 - 刘永鑫的博文...

    有时间可以写一个megan的中文教程.详细介绍软件.数据库安装,示例数据分析和结果描述.这个也引用了几千次,可以学一下.该软件还支持跨平台,我们分析在Linux和Windows上安装和测试,供不同用户 ...

  7. 使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释

    二代测序产生的数据类型 常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录 ...

  8. 叶绿体基因组注释PGA篇

    叶绿体基因组PGA注释 PGA中文文档 测试数据依旧选择上两篇中用到的数据 Fasta文件为:MZ489116.1 Genbank文件为 NC_063470.1 PGA 程序运行: 将PGA.pl 写 ...

  9. 宏基因组注释和可视化神器MEGAN入门

    文章目录 MEGAN-宏基因组功能和物种分类 MEGAN功能简介 原理简要示意图 MEGAN特有文件格式:RMA MEGAN下载 MEGAN使用 MEGAN(linux版本安装) MEGAN使用指南( ...

最新文章

  1. WPF加载相对路径的图片的解决方法
  2. SAP QM 模块的弊端?
  3. Redis+Nginx+设计模式+Spring全家桶+Dubbo+阿里P7技术精选文档
  4. ios 视频知识补充---分解LFLiveKit
  5. php protobuf 二进制,PHP环境中使用ProtoBuf数据格式
  6. c++ winpcap开发(6)
  7. php中函数封装怎么弄,php封装函数步骤
  8. Hive 中的Mapper Reducer个数 决定因素
  9. 规则引擎 drools_Drools的入门初探
  10. 医疗管理系统(Java毕业设计-Springboot项目)
  11. 详谈Office365和Office2019的版本与区别
  12. 百度离线地图APIV2.0
  13. 力扣周赛337场 第一题6319.奇偶位数
  14. ACL 2022 | DialogVED:用于对话回复生成的预训练隐变量编码-解码模型
  15. 这一篇说明大多数SQL优化的面试问题
  16. 如何选择统计检验方法
  17. 【淘宝API开发系列】获得商品评论 API 返回值说明
  18. Android Menu菜单栏
  19. java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统
  20. dac0832三角波c语言程序,单片机控制DAC0832输出正弦波三角波汇编程序

热门文章

  1. 用emacs的org-mode写日记
  2. 金山词霸的词库读取程序
  3. 2023美赛赛题思路分析
  4. DAE向春秋航空公司交付三架新型A320飞机中的第一架
  5. 凯立德2018android零售版,凯立德2018冬季版C-CAR车机零售版懒人包C1204-C7P08-3J21J24
  6. hpux- hp superdome9000 日常硬件故障处理总结
  7. 阿里云游戏盾价格(收费标准)
  8. 完美世界手游服务器维护时间表,完美世界手游开服表
  9. 【数据可视化应用】绘制和弦图(附Python和R语言代码)
  10. CSS奇怪但偶尔实用的技巧