BRAKER 用户指南
https://github.com/Gaius-Augustus/BRAKER #官网
首届 BGA23 研讨会 BRAKER 专场的录像,通过视频学习,可前往观看:https://www.youtube.com/watch?v=UXTkJ4mUkyg
BRAKER3 现已上线 https://usegalaxy.eu/
联系方式
- TSEBRA 与 BRAKER3 相关:Lars Gabriel,德国格赖夫斯瓦尔德大学,lars.gabriel@uni-greifswald.de
- BRAKER 与 AUGUSTUS 相关:Katharina J. Hoff,德国格赖夫斯瓦尔德大学,katharina.hoff@uni-greifswald.de,+49 3834 420 4624
- GeneMark 相关:Mark Borodovsky,美国佐治亚理工学院,borodovsky@gatech.eduTomas Bruna,美国联合基因组研究所,bruna.tomas@gmail.comAlexandre Lomsadze,美国佐治亚理工学院,alexandre.lomsadze@bme.gatech.edu
BRAKER 核心作者
a\] 德国格赖夫斯瓦尔德大学,数学与计算机科学研究所,Walther-Rathenau-Str. 47,17489 Greifswald\[b\] 德国格赖夫斯瓦尔德大学,微生物功能基因组学中心,Felix-Hausdorff-Str. 8,17489 Greifswald\[c\] 美国佐治亚理工学院与埃默里大学 Wallace H Coulter 生物医学工程系,30332 Atlanta\[d\] 美国计算科学与工程学院,30332 Atlanta\[e\] 俄罗斯莫斯科物理技术学院,莫斯科州 141701,多尔戈普鲁德内 braker2-team-2\[fig10\]braker2-team-1\[fig11\]braker2-team-3\[fig12\]braker2-team-4\[fig13
相关软件
- BRAKER 转录本筛选工具(TSEBRA):https://github.com/Gaius-Augustus/TSEBRA
- BRAKER 核心基因预测软件之一 GeneMark-ETP:https://github.com/gatech-genemark/GeneMark-ETP
- BRAKER 核心基因预测软件之二 AUGUSTUS:https://github.com/Gaius-Augustus/Augustus
- GALBA(BRAKER 衍生流程,使用 Miniprot 或 GenomeThreader 生成训练基因):https://github.com/Gaius-Augustus/GALBA
目录
- 什么是 BRAKER?
- 基因预测成功关键
- BRAKER 运行模式概览
- 容器
- 安装
- 支持的软件版本
- BRAKER
- Perl 流程依赖
- BRAKER 组件
- 生物信息学软件依赖
- 必需工具
- BRAKER3 必需工具
- 可选工具
- 运行 BRAKER
- BRAKER 流程模式
- 基于 RNA-Seq 数据的 BRAKER
- 基于蛋白数据的 BRAKER
- 基于 RNA-Seq + 蛋白数据的 BRAKER
- 基于长短读长 RNA-Seq + 蛋白数据的 BRAKER
- 常用 BRAKER 命令行参数说明
- --ab_initio
- --augustus_args=--some_arg=bla
- --threads=INT
- --fungus
- --useexisting
- --crf
- --lambda=int
- --UTR=on
- --addUTR=on
- --stranded=+,-,.,...
- --makehub --email=your@mail.de
- --busco_lineage lineage
- BRAKER 输出
- 示例数据
- 数据说明
- 使用 RNA-Seq 数据测试 BRAKER
- 使用蛋白数据测试 BRAKER
- 使用蛋白 + RNA-Seq 数据测试 BRAKER
- 使用预训练参数测试 BRAKER
- 使用基因组序列测试 BRAKER
- 基于已有 BRAKER 运行结果启动 BRAKER
- 错误报告
- 在 GitHub 上报错
- 常见问题
- BRAKER 及调用软件引用
- 许可证
什么是 BRAKER?
测序基因组数量快速增长,需要全自动、高精度的基因结构注释方法。为此我们开发了 BRAKER1,它整合 GeneMark-ET 与 AUGUSTUS,利用基因组与 RNA-Seq 数据自动完成新基因组的完整基因结构注释。
但用于新基因组注释的 RNA-Seq 数据质量参差不齐,部分情况下甚至完全没有 RNA-Seq 数据。
BRAKER2 是 BRAKER1 的扩展版本,支持基于 RNA-Seq 和 / 或蛋白同源信息全自动训练基因预测工具 GeneMark-ES/ET/EP/ETP 与 AUGUSTUS,并将 RNA-Seq 与蛋白同源的外部证据整合到预测中。
与其他依赖蛋白同源信息的方法不同,即使没有近缘物种注释、没有 RNA-Seq 数据,BRAKER2 仍能实现高精度基因预测。
BRAKER3 是 BRAKER 套件的最新流程。它可在全自动流程中同时使用 RNA-seq 与蛋白数据,通过 GeneMark-ETP 和 AUGUSTUS 训练并预测高可靠性基因。流程最终输出为两款工具的合并基因集,仅保留外部证据高度支持的基因。
本用户指南中,我们将 BRAKER1、BRAKER2、BRAKER3 统称为 BRAKER,因为三者由同一脚本(braker.pl)执行。
基因预测成功关键
- 使用高质量基因组组装。若基因组中存在大量极短 scaffold,会大幅增加运行时间,但不会提升预测精度。
- 基因组文件使用简单 scaffold 名称 (如
>contig1优于带特殊字符、空格、长注释的名称)。运行比对软件前,确保所有 FASTA 文件的 scaffold 名称简洁。 - 新基因组精准预测基因前,需对重复序列进行软屏蔽 ,避免在重复与低复杂度区域预测出假阳性基因结构。部分 RNA-Seq 比对工具(如 HISAT2)会忽略屏蔽信息。对 GeneMark-ES/ET/EP/ETP 与 AUGUSTUS 而言,软屏蔽(重复区域小写,其余大写)优于硬屏蔽(重复区域用 N 代替)。
- 多数基因组使用 BRAKER 中 GeneMark-ES/ET/EP/ETP 与 AUGUSTUS 的默认参数即可精准预测基因结构。部分基因组具有类群特异性特征(如真菌的特殊分支点模型、非标准剪接位点模式),请阅读参数章节,判断自定义参数是否能提升目标物种基因预测精度。
- 使用前务必检查基因预测结果,可通过基因组浏览器结合外部证据可视化查看基因模型。BRAKER 支持通过 MakeHub 为 UCSC 基因组浏览器生成轨迹数据中心。
BRAKER 运行模式概览
BRAKER 主要以半无监督方式,基于外部证据数据(RNA-Seq 和 / 或蛋白剪接比对信息)训练 GeneMark-ES/ET/EP/ETP,再训练 AUGUSTUS,并在最终基因预测中整合外部证据。此外 BRAKER 还包含多种扩展流程,可用输入文件与流程如下:
-
仅基因组文件 仅用基因组序列训练 GeneMark-ES,选取 GeneMark-ES 预测的长基因训练 AUGUSTUS,最终 AUGUSTUS 进行从头预测。该方法精度通常低于其他流程(图 2)。braker2-main-a [fig1]图 2:BRAKER 流程 A------ 仅基因组数据训练 GeneMark-ES;AUGUSTUS 从头预测基因。
-
基因组 + 同一物种 RNA-Seq 文件 (图 3)适用于转录组覆盖度良好的短读长 RNA-Seq 文库。要求每个内含子被多个比对覆盖 ,不支持组装转录组映射。长读长 RNA-Seq 比对理论上可提供足够数据,但目前 BRAKER 尚未正式支持长读长 RNA-Seq 数据。braker2-main-b [fig2]图 3:BRAKER 流程 B------ 基于 RNA-Seq 剪接比对信息训练 GeneMark-ET,AUGUSTUS 使用相同剪接比对信息进行预测。
-
基因组 + 蛋白数据库 (图 4)适用于无 RNA-Seq 数据的场景。蛋白序列亲缘关系可较远,近缘物种蛋白效果更佳,但远缘蛋白精度下降很小。要求使用蛋白家族数据库 (每个蛋白家族包含多个代表序列),已在 OrthoDB 上成功测试。用于生成 BRAKER 提示文件的 ProtHint 蛋白映射流程:https://github.com/gatech-genemark/ProtHintOrthoDB 输入蛋白制备软件:https://github.com/tomasbruna/orthodb-clades预分好的 OrthoDB v11:https://bioinf.uni-greifswald.de/bioinf/partitioned_odb11/预分好的 OrthoDB v12:https://bioinf.uni-greifswald.de/bioinf/partitioned_odb12/braker2-main-c[fig3]图 4:BRAKER 流程 C------ 基于蛋白剪接比对、起始 / 终止信息训练 GeneMark-EP+,AUGUSTUS 使用相同信息 + 串联 CDSpart 提示进行预测。所用蛋白与目标物种可存在任意进化距离。
-
基因组 + 同一物种 RNA-Seq + 蛋白数据库 (图 5)要求使用蛋白家族数据库(如 OrthoDB),可添加近缘物种蛋白作为补充证据。braker3-main-a [fig4]图 5:BRAKER 流程 D------ 按需下载并比对目标物种 RNA-Seq 数据;基于 RNA-Seq 比对与大型蛋白数据库训练 GeneMark-ETP;随后使用相同外部证据与 GeneMark-ETP 结果训练并预测 AUGUSTUS;最终预测由 TSEBRA 合并 AUGUSTUS 与 GeneMark-ETP 结果得到。
容器
我们深知手动安装 BRAKER3 及其所有依赖繁琐,无 root 权限时尤为困难。因此提供可通过 Singularity 运行的 Docker 容器,相关信息见:https://hub.docker.com/r/teambraker/braker3
简要构建命令:
singularity build braker3.sif docker://teambraker/braker3:latest
执行:
singularity exec braker3.sif braker.pl
测试:
singularity exec -B $PWD:$PWD braker3.sif cp /opt/BRAKER/example/singularity-tests/test1.sh .
singularity exec -B $PWD:$PWD braker3.sif cp /opt/BRAKER/example/singularity-tests/test2.sh .
singularity exec -B $PWD:$PWD braker3.sif cp /opt/BRAKER/example/singularity-tests/test3.sh .
export BRAKER_SIF=/your/path/to/braker3.sif
bash test1.sh
bash test2.sh
bash test3.sh
少数用户希望在 Docker 内运行分析(需 root 权限):
sudo docker run --user 1000:100 --rm -it teambraker/braker3:latest bash
bash /opt/BRAKER/example/docker-tests/test1.sh # BRAKER1
bash /opt/BRAKER/example/docker-tests/test2.sh # BRAKER2
bash /opt/BRAKER/example/docker-tests/test3.sh # BRAKER3
⚠️ 容器不含 Java/GUSHR/ 任何与 UTR 相关工具,目前我们不再维护 BRAKER 的 UTR 预测,功能存在缺陷且不稳定,请勿使用。
⚠️ 用户反馈:从 Nextflow 运行容器前,需手动将 AUGUSTUS_CONFIG_PATH 内容复制到可写路径,并在 Nextflow 中以命令行参数指定可写的 AUGUSTUS_CONFIG_PATH 给 BRAKER。
祝顺利;-)
安装
⚠️ 警告:若你此前使用过 BRAKER1 和 / 或 BRAKER2,请注意使用方式已多处改变。系统 $PATH 中残留的旧版 GeneMark 可能导致未知冲突与程序崩溃,请将所有旧版 GeneMark 移出 $PATH(包括 ProtHint/dependencies 中的 GeneMark)。
支持的软件版本
发布时,本版 BRAKER 已在以下版本测试通过:
- AUGUSTUS 3.5.0
- GeneMark-ETP
- BAMTOOLS 2.5.1
- SAMTOOLS 1.7-4-g93586ed
- Spaln 2.3.3d
- NCBI BLAST+ 2.2.31+
- DIAMOND 0.9.24
- cdbfasta 0.99
- cdbyank 0.981
- GUSHR 1.0.0
- SRA Toolkit 3.00
- HISAT2 2.2.1
- BEDTOOLS 2.30
- StringTie2 2.2.1
- GFFRead 0.12.7
- compleasm 0.2.5
BRAKER
Perl 流程依赖
运行 BRAKER 需要 Linux 系统、bash 与 Perl,且需安装以下 CPAN Perl 模块:
- File::Spec::Functions
- Hash::Merge
- List::Util
- MCE::Mutex
- Module::Load::Conditional
- Parallel::ForkManager
- POSIX
- Scalar::Util::Numeric
- YAML
- Math::Utils
- File::HomeDir
用于 GeneMark-ETP(蛋白 + RNA-Seq 输入):
- YAML::XS
- Data::Dumper
- Thread::Queue
- threads
Ubuntu 示例(使用 cpanm):
sudo cpanm Hash::Merge
无 root 权限可使用 Anaconda 环境:
wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh
bash Anaconda3-2018.12-Linux-x86_64.sh
conda install -c anaconda perl
conda install -c bioconda perl-app-cpanminus
# 依次安装所需模块
注意:bioconda 有 braker 和 augustus 包,但通常滞后于 GitHub 开发版,建议手动安装最新源码。
BRAKER 组件
BRAKER 包含一系列 Perl/Python 脚本与一个 Perl 模块,主脚本为 braker.pl。其他组件:
- filterGenemark.pl
- filterIntronsFindStrand.pl
- helpMod_braker.pm
- findGenesInIntrons.pl
- downsample_traingenes.pl
- ensure_n_training_genes.py
- get_gc_content.py
- get_etp_hints.py
所有 .pl 与 .py 脚本必须可执行:
chmod a+x *.pl *.py
建议将 BRAKER 目录加入环境变量:
PATH=/your_path_to_braker/:$PATH
export PATH
生物信息学软件依赖
必需工具
GeneMark-ETP
下载:http://github.com/gatech-genemark/GeneMark-ETP设置环境变量:
export GENEMARK_PATH=/your_path_to_GeneMark_executables/
AUGUSTUS
下载:https://github.com/Gaius-Augustus/Augustus务必自行编译,使用 GitHub 最新版,不要使用旧版 Debian/bioconda 包。设置可写配置目录:
export AUGUSTUS_CONFIG_PATH=/your_path_to_AUGUSTUS/Augustus/config/
Python3
可通过环境变量指定:
export PYTHON3_PATH=/path/to/python3/
Bamtools
export BAMTOOLS_PATH=/your_path_to_bamtools/bin/
NCBI BLAST+ 或 DIAMOND
二选一即可,优先 DIAMOND(速度更快):
export DIAMOND_PATH=/your_path_to_diamond/
# 或 BLAST
export BLAST_PATH=/your_path_to_blast/
BRAKER3 必需工具(仅 RNA-Seq + 蛋白模式)
- StringTie2
- BEDTools
- GffRead
可选工具
- Samtools
- Biopython
- cdbfasta / cdbyank
- Spaln(已弃用独立支持)
- GUSHR(UTR 专用)
- UCSC 工具(twoBitInfo、faToTwoBit)
- MakeHub
- SRA Toolkit
- HISAT2
- compleasm
运行 BRAKER
仅 RNA-Seq 数据
braker.pl --species=yourSpecies --genome=genome.fasta --bam=file1.bam,file2.bam
BRAKER 软件支持多种方式将 RNA‑Seq 数据作为输入:
你可以将来自 SRA 数据库的 RNA‑Seq 测序文库编号(ID)作为参数 --rnaseq_sets_ids 的输入(若存在多个编号,使用英文逗号分隔)。BRAKER 会自动下载对应编号的测序文库,示例如下:
braker.pl --species=yourSpecies --genome=genome.fasta \
--rnaseq_sets_ids=SRA_ID1,SRA_ID2
你也可以使用本地未经比对的 FASTQ 格式文件作为输入。在这种情况下,你需要将 RNA‑Seq 数据集的编号作为参数 --rnaseq_sets_ids 的输入,并将 FASTQ 文件所在的目录路径作为参数 --rnaseq_sets_dirs 的输入。对于每个编号 ID,如果是单端测序 reads,BRAKER 会在这些目录中搜索名为 ID.fastq 的一个 FASTQ 文件;如果是双端测序 reads,则会搜索名为 ID_1.fastq 和 ID_2.fastq 的两个 FASTQ 文件。
例如,如果你有一个名为 SRA_ID1 的双端文库和一个名为 SRA_ID2 的单端文库,你需要在目录 /path/to/local/fastq/files/ 下存放文件 SRA_ID1_1.fastq、SRA_ID1_2.fastq 和 SRA_ID2.fastq。随后,你可以使用如下命令运行 BRAKER:
braker.pl --species=yourSpecies --genome=genome.fasta \
--rnaseq_sets_ids=SRA_ID1,SRA_ID2 \
--rnaseq_sets_dirs=/path/to/local/fastq/files/
向 BRAKER 提供 BAM 格式的 RNA‑Seq 数据有两种方式。第一种方式与提供 FASTQ 文件的方式相同:将 BAM 文件的编号 / 名称作为参数 --rnaseq_sets_ids 的输入,并使用 --rnaseq_sets_dirs 指定 BAM 文件所在的目录。BRAKER 会自动识别这些编号对应的是 BAM 文件而非 FASTQ 文件,示例如下:
braker.pl --species=yourSpecies --genome=genome.fasta \
--rnaseq_sets_ids=BAM_ID1,BAM_ID2 \
--rnaseq_sets_dirs=/path/to/local/bam/files/
第二种方式是直接指定 BAM 文件的路径。BRAKER 既可以从 BAM 文件中提取 RNA‑Seq 剪接比对信息,也可以直接使用已提取好的信息。
braker.pl --species=yourSpecies --genome=genome.fasta \
--bam=file1.bam,file2.bam
请注意:我们通常默认 BAM 文件是由 HiSat2 软件生成的,因为 BRAKER3 在处理 FASTQ 输入时也会调用该比对软件。如果你出于某些原因希望使用 STAR 软件生成 BAM 文件,请在 STAR 中使用参数 --outSAMstrandField intronMotif,以生成与 BRAKER3 中的 StringTie 兼容的文件。
若要使用已经提取好的 RNA‑Seq 剪接比对信息运行 BRAKER,可执行如下命令:
braker.pl --species=yourSpecies --genome=genome.fasta \
--hints=hints1.gff,hints2.gff
此类 hints 文件的格式必须如下所示(以制表符分隔):
chrName b2h intron 6591 8003 1 + . pri=4;src=E
chrName b2h intron 6136 9084 11 + . mult=11;pri=4;src=E
...
第二列中的来源标识 b2h 以及最后一列中的来源标签 src=E 对 BRAKER 至关重要,软件会据此判断一条 hint 是否由 RNA‑Seq 数据生成。
在同一次 BRAKER 运行中,也可以混合使用 上述不同方式提供 RNA‑Seq 数据集,以上所有参数的任意组合均支持。不建议 在 ETP 模式(同时使用 RNA‑Seq 与蛋白质数据)下通过 --hints 参数提供 RNA‑Seq 数据,因为 GeneMark‑ETP 不会使用这类 hints!
仅蛋白数据
braker.pl --genome=genome.fa --prot_seq=proteins.fa
RNA-Seq + 蛋白数据(BRAKER3 标准模式)
braker.pl --genome=genome.fa --prot_seq=orthodb.fa --bam=file.bam
常用参数
--threads=INT:线程数--fungus:真菌模式(启用分支点模型)--UTR=on:训练并预测 UTR(实验性功能)--addUTR=on:仅添加 UTR,不训练参数--makehub --email=xxx:生成 UCSC 轨迹中心--busco_lineage:指定 BUSCO 谱系
输出文件
braker.gtf:最终基因集braker.codingseq:CDS 序列braker.aa:蛋白序列braker.gff3:GFF3 格式(需指定 --gff3)hintsfile.gff:外部证据提示文件
部分 BRAKER 命令行参数说明
如需获取完整参数列表,请运行 braker.pl --help。
--ab_initio
在基于 hints 的 AUGUSTUS 预测之外,额外进行 AUGUSTUS 从头(ab initio)预测(额外输出文件:augustus.ab_initio.*)。在基因组浏览器中查看预测结果时,该参数可用于评估训练得到的基因参数质量。
--augustus_args="--some_arg=bla"
向 AUGUSTUS 传递一个或多个命令行参数。若传入多个参数,用空格分隔,格式为:"--first_arg=sth --second_arg=sth"。如果你已知特定物种的基因预测在预测阶段使用某一 AUGUSTUS 参数会获得更好效果,该参数会很有用。
--threads=INT
设置计算过程中可使用的最大线程数 。BRAKER 部分步骤只能单线程运行,其他步骤可利用多线程加速。若使用超过 8 个线程,并非所有并行步骤都会提速 :尤其是耗时较长的 optimize_augustus.pl 最多只使用 8 个线程。但如果你不介意部分线程空闲,使用超过 8 个线程仍可加快其他步骤的速度。
--fungus
GeneMark-ETP 参数:启用分支点模型运行算法。如果你的研究对象是真菌基因组,请使用该参数。
--useexisting
如果指定物种已存在配置文件与参数文件,则直接使用;若 BRAKER 执行 AUGUSTUS 训练,会覆盖原有参数。
--crf
对 AUGUSTUS 执行 CRF 训练 。只有当 CRF 训练得到的参数准确率高于 HMM 参数时,才会在最终预测中保留该参数。该参数会增加运行时间!
--lambda=int
修改泊松分布参数 λ,用于根据内含子数量对训练基因进行下采样 (仅对内含子数≤5 的基因进行下采样)。默认值:λ = 2。对于以单外显子基因为主的物种,建议设为 0。(一般来说,与多外显子基因相比,单外显子基因对提升 AUGUSTUS 参数的贡献更小。)
--UTR=on
从 RNA-Seq 覆盖度信息中为 AUGUSTUS 生成 UTR 训练样本 ,训练 AUGUSTUS 的 UTR 参数,并使用 AUGUSTUS 进行带 UTR 的基因预测 ,同时将 RNA-Seq 覆盖度信息作为证据。该功能为实验性特性!
若之前运行 BRAKER 时未加 --UTR=on,可通过以下命令补充 UTR 参数训练并使用 UTR 参数进行基因预测(仅使用 RNA-Seq hints):
braker.pl --genome=../genome.fa --addUTR=on \
--bam=../RNAseq.bam --workingdir=$wd \
--AUGUSTUS_hints_preds=augustus.hints.gtf \
--threads=8 --skipAllTraining --species=somespecies
- 修改
augustus.hints.gtf为上一次 BRAKER 运行得到的带 hints 的 AUGUSTUS 预测文件; - 修改
flanking_DNA为上一次 BRAKER 运行日志文件中的侧翼区域长度; - 修改
some_new_working_directory为本次补充运行的结果存放路径; - 修改
somespecies为上一次 BRAKER 使用的物种名。
--addUTR=on
利用 GUSHR,从 RNA-Seq 覆盖度信息中为 AUGUSTUS 基因预测结果添加 UTR 。不进行 UTR 参数训练 ,也不使用 UTR 参数重新做基因预测。
若之前运行 BRAKER 时未加 --addUTR=on,可通过以下命令为之前的结果补充 UTR:
braker.pl --genome=../genome.fa --addUTR=on \
--bam=../RNAseq.bam --workingdir=$wd \
--AUGUSTUS_hints_preds=augustus.hints.gtf --threads=8 \
--skipAllTraining --species=somespecies
- 修改
augustus.hints.gtf为上一次 BRAKER 运行得到的带 hints 的 AUGUSTUS 预测文件; - 修改
some_new_working_directory为本次补充运行的结果存放路径; - 本次运行不会修改 AUGUSTUS 参数。
建议使用 --species=somespecies 指定原始运行的物种名,否则 BRAKER 会创建无用的 Sp_* 物种参数目录。
--stranded=+,-,.,...
当启用 --UTR=on 时,可通过 --bam=plus.bam,minus.bam 提供按链分开的 bam 文件 。此时 --stranded=... 用于标记各 bam 文件的链信息:
+正义链-反义链.无链信息
注意:只有设置了 --stranded=... ,无链信息的数据才会在基因预测步骤中被使用。**该功能为实验性特性!**GUSHR 目前暂不利用链特异性数据。
--makehub --email=your@mail.de
若同时提供 --makehub 和有效的邮箱地址 --email=your@mail.de,将通过 MakeHub 生成轨迹数据中心(track data hub),用于在 UCSC Genome Browser 中可视化 BRAKER 结果。
--gc_probability=DECIMAL
默认情况下,GeneMark-ES/ET/EP/ETP 对供体剪接位点 GC(而非 GT)的预测概率设为 0.001。对于 GC 型供体位点更常见的物种,可以适当提高该值。例如:赫氏圆石藻(Emiliania huxleyi)中约 50% 的供体剪接位点为 GC 型。
--busco_lineage=lineage
使用物种特异性的 BUSCO 谱系 ,例如节肢动物使用 arthropoda_odb10。BRAKER 不支持谱系自动识别。
在 BRAKER R28 中,指定 BUSCO 谱系会触发两处改动:
-
BRAKER 将以基因组模式运行
compleasm,使用指定谱系,并将检测到的 BUSCO 匹配转换为 AUGUSTUS 的 hints,这可能会略微提高augustus.hints.gtf中的 BUSCO 数量。 -
BRAKER 将调用
best_by_compleasm.py,检查默认由 TSEBRA 生成的braker.gtf,对比augustus.hints.gtf和genemark.gtf,看其缺失 BUSCO 数量是否最低 。若不是,则按照决策流程重新运行 TSEBRA ,以最小化最终输出braker.gtf中的缺失 BUSCO 数量。- 若生成了更优的基因集,原始
braker.gtf会被移至braker_original目录。 best_by_compleasm.py的运行信息会写入best_by_compleasm.log。
- 若生成了更优的基因集,原始
错误报告
在 GitHub 提交 Issue:https://github.com/Gaius-Augustus/BRAKER/issues报告时请附上:
- braker.log 崩溃步骤
- 相关错误文件(bam2hints、GeneMark、etraining、augustus 等 stderr)
引用
[R0] Bruna, Tomas, Hoff, Katharina J., Lomsadze, Alexandre, Stanke, Mario, and Borodovsky, Mark. 2021. "BRAKER2: automatic eukaryotic genome annotation with GeneMark-EP+ and AUGUSTUS supported by a protein database." NAR Genomics and Bioinformatics 3(1):lqaa108.↩
[R1] Hoff, Katharina J, Simone Lange, Alexandre Lomsadze, Mark Borodovsky, and Mario Stanke. 2015. "BRAKER1: Unsupervised Rna-Seq-Based Genome Annotation with Genemark-et and Augustus." Bioinformatics 32 (5). Oxford University Press: 767--69.↩
[R2] Lomsadze, Alexandre, Paul D Burns, and Mark Borodovsky. 2014. "Integration of Mapped Rna-Seq Reads into Automatic Training of Eukaryotic Gene Finding Algorithm." Nucleic Acids Research 42 (15). Oxford University Press: e119--e119.↩
[R3] Stanke, Mario, Mark Diekhans, Robert Baertsch, and David Haussler. 2008. "Using Native and Syntenically Mapped cDNA Alignments to Improve de Novo Gene Finding." Bioinformatics 24 (5). Oxford University Press: 637--44.↩
[R4] Stanke, Mario, Oliver Schöffmann, Burkhard Morgenstern, and Stephan Waack. 2006. "Gene Prediction in Eukaryotes with a Generalized Hidden Markov Model That Uses Hints from External Sources." BMC Bioinformatics 7 (1). BioMed Central: 62.↩
[R5] Barnett, Derek W, Erik K Garrison, Aaron R Quinlan, Michael P Strömberg, and Gabor T Marth. 2011. "BamTools: A C++ Api and Toolkit for Analyzing and Managing Bam Files." Bioinformatics 27 (12). Oxford University Press: 1691--2.↩
[R6] Li, Heng, Handsaker, Bob, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, and Richard Durbin. 2009. "The Sequence Alignment/Map Format and Samtools." Bioinformatics 25 (16). Oxford University Press: 2078--9.↩
[R7] Gremme, G. 2013. "Computational Gene Structure Prediction." PhD thesis, Universität Hamburg.↩
[R8] Gotoh, Osamu. 2008a. "A Space-Efficient and Accurate Method for Mapping and Aligning cDNA Sequences onto Genomic Sequence." Nucleic Acids Research 36 (8). Oxford University Press: 2630--8.↩
[R9] Iwata, Hiroaki, and Osamu Gotoh. 2012. "Benchmarking Spliced Alignment Programs Including Spaln2, an Extended Version of Spaln That Incorporates Additional Species-Specific Features." Nucleic Acids Research 40 (20). Oxford University Press: e161--e161.↩
[R10] Osamu Gotoh. 2008b. "Direct Mapping and Alignment of Protein Sequences onto Genomic Sequence." Bioinformatics 24 (21). Oxford University Press: 2438--44.↩
[R11] Slater, Guy St C, and Ewan Birney. 2005. "Automated Generation of Heuristics for Biological Sequence Comparison." BMC Bioinformatics 6(1). BioMed Central: 31.↩
[R12] Altschul, S.F., W. Gish, W. Miller, E.W. Myers, and D.J. Lipman. 1990. "Basic Local Alignment Search Tool." Journal of Molecular Biology 215:403--10.↩
[R13] Camacho, Christiam, et al. 2009. "BLAST+: architecture and applications." BMC Bioinformatics 1(1): 421.↩
[R14] Lomsadze, A., V. Ter-Hovhannisyan, Y.O. Chernoff, and M. Borodovsky. 2005. "Gene identification in novel eukaryotic genomes by self-training algorithm." Nucleic Acids Research 33 (20): 6494--6506. doi:10.1093/nar/gki937.↩
[R15] Ter-Hovhannisyan, Vardges, Alexandre Lomsadze, Yury O Chernoff, and Mark Borodovsky. 2008. "Gene Prediction in Novel Fungal Genomes Using an Ab Initio Algorithm with Unsupervised Training." Genome Research . Cold Spring Harbor Lab, gr--081612.↩
[R16] Hoff, K.J. 2019. MakeHub: Fully automated generation of UCSC Genome Browser Assembly Hubs. Genomics, Proteomics and Bioinformatics , in press, preprint on bioarXive, doi: https://doi.org/10.1101/550145.↩
[R17] Bruna, T., Lomsadze, A., & Borodovsky, M. 2020. GeneMark-EP+: eukaryotic gene prediction with self-training in the space of genes and proteins. NAR Genomics and Bioinformatics, 2(2), lqaa026. doi: https://doi.org/10.1093/nargab/lqaa026.↩
[R18] Kriventseva, E. V., Kuznetsov, D., Tegenfeldt, F., Manni, M., Dias, R., Simão, F. A., and Zdobnov, E. M. 2019. OrthoDB v10: sampling the diversity of animal, plant, fungal, protist, bacterial and viral genomes for evolutionary and functional annotations of orthologs. Nucleic Acids Research, 47(D1), D807-D811.↩
[R19] Keilwagen, J., Hartung, F., Grau, J. (2019) GeMoMa: Homology-based gene prediction utilizing intron position conservation and RNA-seq data. Methods Mol Biol. 1962:161-177, doi: 10.1007/978-1-4939-9173-0_9.↩
[R20] Keilwagen, J., Wenk, M., Erickson, J.L., Schattat, M.H., Grau, J., Hartung F. (2016) Using intron position conservation for homology-based gene prediction. Nucleic Acids Research, 44(9):e89.↩
[R21] Keilwagen, J., Hartung, F., Paulini, M., Twardziok, S.O., Grau, J. (2018) Combining RNA-seq data and homology-based gene prediction for plants, animals and fungi. BMC Bioinformatics, 19(1):189.↩
[R22] SRA Toolkit Development Team (2020). SRA Toolkit. https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software.[↩](#a22)
[R23] Kim, D., Paggi, J. M., Park, C., Bennett, C., & Salzberg, S. L. (2019). Graph-based genome alignment and genotyping with HISAT2 and HISAT-genotype. Nature biotechnology, 37(8):907-915.↩
[R24] Quinlan, A. R. (2014). BEDTools: the Swiss‐army tool for genome feature analysis. Current protocols in bioinformatics, 47(1):11-12.↩
[R25] Kovaka, S., Zimin, A. V., Pertea, G. M., Razaghi, R., Salzberg, S. L., & Pertea, M. (2019). Transcriptome assembly from long-read RNA-seq alignments with StringTie2. Genome biology, 20(1):1-13.↩
[R26] Pertea, G., & Pertea, M. (2020). GFF utilities: GffRead and GffCompare. F1000Research, 9.↩
[R27] Huang, N., & Li, H. (2023). compleasm: a faster and more accurate reimplementation of BUSCO. Bioinformatics, 39(10), btad595.↩
[R28] Bruna, T., Gabriel, L. & Hoff, K. J. (2024). Navigating Eukaryotic Genome Annotation Pipelines: A Route Map to BRAKER, Galba, and TSEBRA. arXiv, https://doi.org/10.48550/arXiv.2403.19416 .↩