Bitacora:基因组组件中基因家族识别和注释的综合工具

news2025/5/11 9:52:01

软件教程 | Bitacora:基因组组件中基因家族识别和注释的综合工具

  • https://zhangzl96.github.io/tags#生物信息工具)

📅 官方地址:https://github.com/molevol-ub/bitacora

🔬 教程版本:BITACORA 1.4


📋 主要功能

  1. 基因家族识别与注释优化
    • 纠正常见注释错误: 自动修正错误基因模型(如跨基因融合转录本、部分外显子缺失或错误剪接位点)。
    • 发现新基因家族成员: 通过整合序列相似性搜索工具(如BLAST、HMMER),直接从基因组DNA中识别未注释的基因家族拷贝。
  2. 非模式生物优化的流程
    • 针对缺乏高质量参考基因组的物种(如新测序的非模式生物),提高基因模型的完整性和准确性。
  3. 数据整合与输出
    • 生成标准化文件:
      • GFF 文件: 包含修正后的基因模型和新发现的基因家族拷贝结构信息。
      • FASTA 文件: 提供所有预测的蛋白质序列,便于后续功能注释和分析。
      • 兼容主流基因组注释编辑器(如Apollo、Geneious),简化人工校验和下游分析。

🔧 依赖环境:

Perl
# https://learn.perl.org/installing/

BLAST
# ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/

HMMER
# http://hmmer.org/

GeMoMa
# https://www.jstacs.de/index.php/GeMoMa
# BITACORA软件压缩包中默认包含了V1.7.1版本的GeMoMa

🧷 安装方式:

# 下载解压即可
wet https://github.com/molevol-ub/bitacora/archive/refs/tags/BITACORA-v1.4.2.tar.gz
tar zxf BITACORA-v1.4.2.tar.gz
mv bitacora-BITACORA-v1.4.2/ bitacora-v1.4.2
cd bitacora-v1.4.2
unzip GeMoMa-1.7.1.zip && rm GeMoMa-1.7.1.zip __MACOSX/ -rf
chmod 755 runBITACORA*

🚩 主要参数介绍:

bitacora-v1.4.2目录下runBITACORA.sh中有EXPORT EXECUTABLES TO PATHPREPARE THE DATAEDITABLE PARAMETERSHOW TO RUNPIPELINE - CODE五个部分。

# EXPORT EXECUTABLES TO PATH
# 添加HMMER和BLAST程序、BITACORA脚本(Scripts)、GeMoMa路径

# PREPARE THE DATA
# NAME       设置待分析物种的名称
# GENOME     待分析物种的基因组数据,.fasta文件
# GFFFILE    待分析物种的基因组的GFF3或GTF文件。如果是来自NCBI的GFF文件,则需要使用“reformat_ncbi_gff.pl”脚本进行转换(位于/Scripts/Tools目录下)
# PROTFILE   GFF预测蛋白质的fasta文件
# QUERYDIR   包含FPDB数据库的文件夹(包括一个命名为YOURFPDB_db.fasta的fasta文件和命名为YOURFPDB_db.hmm的HMM文件);可以在文件夹中包含多个FPDB以进行搜索

!!![NOTE: mRNA or transcript, and CDS are mandatory fields]

使用细菌基因组的GFF文件,用reformat_ncbi_gff.pl转换后得到的文件为空。

📰 软件测试

一个运行BITACORA的示例可以在Example文件夹中找到。首先,解压缩Example_files.zip文件以获取BITACORA所需的文件。在此示例中,将在果蝇(Drosophila melanogaster)的2R染色体中搜索两个与化学感应相关的基因家族:气味受体(ORs)和CD36-SNMP基因家族。GFF3和蛋白质文件是从原始注释中修改的,删除了某些基因模型,以便BITACORA能够识别未注释的新基因。

📋 测试数据:

# bitacora-v1.4.2/Example文件中的数据,包括Files目录下果蝇(Deml_genecounts)基因组fasta文件、GFF文件和蛋白质fasta文件,还有DB中CD36-SNMP和OR的FPDB数据库
# 在Deml_genecounts中查询CD36-SNMP和OR家族基因

📑 测试代码:

将主目录下的runBITACORA.sh拷贝到Example目录下,正确配置后直接运行

bash runBITACORA_v1.4_demo.sh

📣 结果解释:

# 三个汇总的表格文件:
Deml_genecounts_annotated_and_genomic_proteins.txt # 基于注释和识别未注释的蛋白质汇总
Deml_genecounts_annotated_proteins.txt
Deml_genecounts_summary.txt
# 不同FPDB家族会生成不同的目录结果,包括以下主要文件:
CD36-SNMP_genomic_and_annotated_genes.gff3
CD36-SNMP_genomic_and_annotated_genes_nr.gff3
CD36-SNMP_genomic_and_annotated_proteins_trimmed.fasta
CD36-SNMP_genomic_and_annotated_proteins_trimmed_idseqsclustered.fasta
CD36-SNMP_genomic_and_annotated_proteins_trimmed_idseqsclustered.gff3
CD36-SNMP_genomic_and_annotated_proteins_trimmed_idseqsclustered.gff3_overlapping_genes.txt
CD36-SNMP_genomic_and_annotated_proteins_trimmed_idseqsclustered_table.txt
CD36-SNMP_genomic_and_annotated_proteins_trimmed_nr.fasta
CD36-SNMPtblastn_parsed_list_genomic_positions.bed
CD36-SNMPtblastn_parsed_list_genomic_positions_nogff_filtered.bed

如:从Deml中注释到了2个CD36-SNMP家族蛋白(FBpp0072303和FBpp0072310),并发现了一个新的CD36-SNMP家族蛋白成员CD36-SNMPg003.t1

cat CD36-SNMP_genomic_and_annotated_proteins_trimmed_idseqsclustered.fasta|grep ">"

VNYWLXZB

runBITACORA_genome_mode

在使用runBITACORA.sh处理Prokka生成的.gff.faa文件时会出现报错信息,可以通过使用genome模式的runBITACORA_genome_mode.sh命令从基因组层面进行数据处理,可顺利运行。

参考:

1, Genomic signatures of the evolution of loss of egg yolk in parasitoid wasps

2, bitacora: A comprehensive tool for the identification and annotation of gene families in genome assemblies - Vizueta - 2020 - Molecular Ecology Resources - Wiley Online Library

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2373029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【WebRTC-13】是在哪,什么时候,创建编解码器?

Android-RTC系列软重启,改变以往细读源代码的方式 改为 带上实际问题分析代码。增加实用性,方便形成肌肉记忆。同时不分种类、不分难易程度,在线征集问题切入点。 问题:编解码器的关键实体类是什么?在哪里&什么时候…

青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备

青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备 一、Rust核心特性应用场景开发工具社区与生态 二、Rust 和 Python 比较1. **内存安全与并发编程**2. **性能**3. **零成本抽象**4. **跨平台支持**5. **社区与生态系统**6. **错误处理**7. **安全性**适用场景总结 三、…

Redis持久化存储介质评估:NFS与Ceph的适用性分析

#作者:朱雷 文章目录 一、背景二、Redis持久化的必要性与影响1. 持久化的必要性2. 性能与稳定性问题 三、NFS作为持久化存储介质的问题1. 性能瓶颈2. 数据一致性问题3. 存储服务单点故障4. 高延迟影响持久化效率.5. 吞吐量瓶颈 四、Ceph作为持久化存储介质的问题1.…

Ceph 原理与集群配置

一、Ceph 工作原理 1.1.为什么学习 Ceph? 在学习了 NFS 存储之后,我们仍然需要学习 Ceph 存储。这主要是因为不同的存储系统适用于不同的场景,NFS 虽然有其适用之处,但也存在一定的局限性。而 Ceph 能够满足现代分布式、大规模、…

天线的PCB设计

目录 天线模块设计的重要性 天线模块的PCB设计 天线模块设计的重要性 当智能手表突然断连、无人机信号飘忽不定——你可能正在经历一场来自天线模块的"无声抗议"。这个隐藏在电子设备深处的关键组件,就像数字世界的隐形信使,用毫米级的精密结…

C++笔记-set和map的使用(包含multiset和multimap的讲解)

1.序列式容器和关联式容器 前面我们已经接触过STL中的部分容器如:string、vector、list、deque、array、forward_list等,这些容器统称为序列式容器,因为逻辑结构为线性序列的数据结构,两个位置存储的值之间一般没有紧密的关联关系&#xff0…

Linux `ifconfig` 指令深度解析与替代方案指南

Linux `ifconfig` 指令深度解析与替代方案指南 一、核心功能与现状1. 基础作用2. 版本适配二、基础语法与常用操作1. 标准语法2. 常用操作速查显示所有接口信息启用/禁用接口配置IPv4地址修改MAC地址(临时)三、高级配置技巧1. 虚拟接口创建2. MTU调整3. 多播配置4. ARP控制四…

Python pandas 向excel追加数据,不覆盖之前的数据

最近突然看了一下pandas向excel追加数据的方法,发现有很多人出了一些馊主意; 比如用concat,append等方法,这种方法的会先将旧数据df_1读取到内存,再把新数据df_2与旧的合并,形成df_new,再覆盖写入,消耗和速…

【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路

摘要:本文详细阐述了政府项目中将 MySQL 5.7 数据库迁移至 KingbaseES 的全过程,涵盖迁移前的环境评估、数据梳理和工具准备,迁移实战中的数据源与目标库连接配置、迁移任务详细设定、执行迁移与过程监控,以及迁移后的质量验证、系…

Go语言——goflow工作流使用

一、引入依赖 这个很坑,他不允许连接带密码的redis,只能使用不带密码的redis,要带密码的话得自己改一下源代码,无语 go get github.com/s8sg/goflow二、画出我们的工作流程 三、编写代码 package mainimport ("encoding/j…

yarn npm pnpm

1 下载方式 npm 之前串行下载 现在并行下载 yarn 并行下载 加入缓存复用 pnpm 硬连接 避免重复下载,先检查本地是否存在,存在的话直接连接过去

Block Styler——字符串控件

字符串控件的应用 参考官方帮助案例:(这个方式感觉更好,第二种方式也可以)E:\NX1980\UGOPEN\SampleNXOpenApplications\C\BlockStyler\ColoredBlock 普通格式: 读取: //方法一 string0->GetProperti…

LangGraph(三)——添加记忆

目录 1. 创建MemorySaver检查指针2. 构建并编译Graph3. 与聊天机器人互动4. 问一个后续问题5. 检查State参考 1. 创建MemorySaver检查指针 创建MemorySaver检查指针: from langgraph.checkpoint.memory import MemorySavermemory MemorySaver()这是位于内存中的检…

【无标题】I/O复用(epoll)三者区别▲

一、SOCKET-IO复用技术 定义:SOCKET - IO复用技术是一种高效处理多个套接字(socket)的手段,能让单个线程同时监听多个文件描述符(如套接字)上的I/O事件(像可读、可写、异常)&#x…

ClassLoader类加载机制的核心引擎

ClassLoader类加载机制的核心引擎 文章目录 ClassLoader类加载机制的核心引擎1. ClassLoader基础1.1 什么是ClassLoader?1.2 ClassLoader的层次结构1.3 类加载的过程 2. 源码解析与工作原理2.1 ClassLoader的核心方法2.2 双亲委派模型的工作原理2.3 打破双亲委派模型…

tryhackme——Enumerating Active Directory

文章目录 一、凭据注入1.1 RUNAS1.2 SYSVOL1.3 IP和主机名 二、通过Microsoft Management Console枚举AD三、通过命令行net命令枚举四、通过powershell枚举 一、凭据注入 1.1 RUNAS 当获得AD凭证<用户名>:<密码>但无法登录域内机器时&#xff0c;runas.exe可帮助…

【Linux学习笔记】系统文件IO之重定向原理分析

【Linux学习笔记】系统文件IO之重定向原理分析 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Linux学习笔记 文章目录 【Linux学习笔记】系统文件IO之重定向原理分析前言一. 系统文件I/01.1 一种传递标志位的方法1.2 hello.c写文件:1.3 he…

SpringBoot中使用MCP和通义千问来处理和分析数据-连接本地数据库并生成实体类

文章目录 前言一、正文1.1 项目结构1.2 项目环境1.3 完整代码1.3.1 spring-mcp-demo的pom文件1.3.2 generate-code-server的pom文件1.3.3 ChatClientConfig1.3.4 FileTemplateConfig1.3.5 ServiceProviderConfig1.3.6 GenerateCodeController1.3.7 Columns1.3.8 Tables1.3.9 Fi…

实现滑动选择器从离散型的数组中选择

1.使用原生的input 详细代码如下&#xff1a; <template><div class"slider-container"><!-- 滑动条 --><inputtype"range"v-model.number"sliderIndex":min"0":max"customValues.length - 1"step&qu…

基于Credit的流量控制

流量控制(Flow Control)&#xff0c;也叫流控&#xff0c;它是控制组件之间发送和接收信息的过程。在总线中&#xff0c;流控的基本单位称为flit。 在标准同步接口中(比如AXI协议接口)&#xff0c;握手信号如果直接采用寄存器打拍的方式容易导致信号在不同的方向上出现偏离。因…