使用BRAKER2进行基因组注释
使用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未安装的软件参考
以cdbfasta
和cdbyank
为例
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进行基因组注释相关推荐
- 基因组注释3.基因的功能注释Prokka
基因组注释的前两篇为大家讲解了关于基因组组成成分分析(包括重复序列的识别.非编码基因和编码基因预测等)的内容,今天,将重点介绍如何进行基因的功能注释. 基因的功能注释 获得基因结构信息后,我们希望能够 ...
- 用Bioconductor对基因组注释
这一次,我们来聊聊基因组注释.首先问自己一个问题,为什么要进行基因注释. 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道 ...
- 基因组注释1. 重复序列repeatmasker, trf
本文转自"美格基因",已获授权 基因组注释(Genome annotation)是利用生物信息学方法和工具,对基因组所有基因和其他结构进行高通量注释. 基因组注释主要包括:基因组组 ...
- 【Bioconductor系列】如何用Bioconductor对基因组注释
这一次,我们来聊聊基因组注释.首先问自己一个问题,为什么要进行基因注释. 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道 ...
- linux基因组文件,从基因组注释信息GFF文件中提取所有基因位置信息-AWK
gff文件当中存储了基因组当中所有基因的注释信息,如果想得到基因组当中所有基因的位置信息可以利用awk命令批量的提取,命令如下: $ grep -v '#' Arabidopsis_thaliana. ...
- 基因结构显示服务器,科学网—宏基因组注释和可视化神器MEGAN入门 - 刘永鑫的博文...
有时间可以写一个megan的中文教程.详细介绍软件.数据库安装,示例数据分析和结果描述.这个也引用了几千次,可以学一下.该软件还支持跨平台,我们分析在Linux和Windows上安装和测试,供不同用户 ...
- 使用ChIPSeeker进行ChIP-seq, ATAC-seq,cuttag等富集峰的基因组注释
二代测序产生的数据类型 常规的下一代高通量测序(next generation sequencing, NGS)实验通常产生大量短片段(reads),通常我们需要将这些reads比对到参考基因组/转录 ...
- 叶绿体基因组注释PGA篇
叶绿体基因组PGA注释 PGA中文文档 测试数据依旧选择上两篇中用到的数据 Fasta文件为:MZ489116.1 Genbank文件为 NC_063470.1 PGA 程序运行: 将PGA.pl 写 ...
- 宏基因组注释和可视化神器MEGAN入门
文章目录 MEGAN-宏基因组功能和物种分类 MEGAN功能简介 原理简要示意图 MEGAN特有文件格式:RMA MEGAN下载 MEGAN使用 MEGAN(linux版本安装) MEGAN使用指南( ...
最新文章
- WPF加载相对路径的图片的解决方法
- SAP QM 模块的弊端?
- Redis+Nginx+设计模式+Spring全家桶+Dubbo+阿里P7技术精选文档
- ios 视频知识补充---分解LFLiveKit
- php protobuf 二进制,PHP环境中使用ProtoBuf数据格式
- c++ winpcap开发(6)
- php中函数封装怎么弄,php封装函数步骤
- Hive 中的Mapper Reducer个数 决定因素
- 规则引擎 drools_Drools的入门初探
- 医疗管理系统(Java毕业设计-Springboot项目)
- 详谈Office365和Office2019的版本与区别
- 百度离线地图APIV2.0
- 力扣周赛337场 第一题6319.奇偶位数
- ACL 2022 | DialogVED:用于对话回复生成的预训练隐变量编码-解码模型
- 这一篇说明大多数SQL优化的面试问题
- 如何选择统计检验方法
- 【淘宝API开发系列】获得商品评论 API 返回值说明
- Android Menu菜单栏
- java洗衣店管理课程设计报告_课内资源 - 基于Java的洗衣店管理系统
- dac0832三角波c语言程序,单片机控制DAC0832输出正弦波三角波汇编程序