pharokka phold--快速噬菌体注释工具

pharokka是一款专用于噬菌体基因组及宏基因组的快速标准化注释工具。PS.仍在积极更新中,最近一次更新是在今年6.20。

若需对细菌基因组进行快速标准化注释,建议使用Bakta。启发pharokka开发及命名的Prokka也是优秀选择,但Bakta实为Prokka的卓越继任者。phold是同一作者开发的另一个噬菌体注释软件,其利用结构同源性来优化噬菌体注释。phold 在注释效果上显著优于 pharokka,尤其对于特征较少的噬菌体(例如来自宏基因组数据集的噬菌体)。目前,pharokka 仍具备一些 phold 尚未支持的功能(如 tRNA、tmRNA、CRISPR 重复序列识别 以及 INPHARED 分类搜索),因此建议在运行 pharokka 后再运行 phold 进行补充注释。phold 可直接将 pharokka 的 Genbank 输出文件 作为输入。也就是说,如果用 pharokka 注释过的噬菌体基因组,只需通过 phold 即可轻松升级注释结果,获得更丰富的功能预测信息。
在这里插入图片描述

pharokka安装和使用

如果不想安装,也有galaxy在线服务器可以使用:Galaxy Europe webserver
除了下面列出的conda,也可以使用Pip、源代码或docker等容器进行安装和使用。

# pharokka
conda install -c bioconda pharokka
# pharokka数据库下载
install_databases.py -o <path/to/databse_dir>
# 国内估计得用这个网址或想点办法
wget "https://zenodo.org/record/8276347/files/pharokka_v1.4.0_databases.tar.gz"
tar -xzf pharokka_v1.4.0_databases.tar.gz
# 注释
pharokka.py -i <phage fasta file> -o <output directory> -d <path/to/database_dir> -t <threads>
# pharokka v1.7.0 新增多序列绘图功能
pharokka_multiplotter.py -g pharokka.gbk  -o pharokka_plots_output_directory 

pharokka原理和结果说明

pharokka 是一款专为噬菌体基因组设计的快速标准化注释工具,默认使用噬菌体特异性基因预测工具 PHANOTATE(也可选 Prodigal/pyrodigal)。它通过 MMseqs2 比对 PHROGs/CARD/VFDB 数据库进行功能注释,并从 v1.4.0 起新增 PyHMMER 的隐马尔可夫模型提升 PHROGs 注释灵敏度。其核心输出包括可直接用于下游分析(如 Roary)的 GFF 文件,以及统计 CDS、tRNA、CRISPR 和功能注释的 cds_functions.tsv 文件。若需进一步优化注释,可将其 Genbank 输出导入 phold 进行基于结构同源性的增强分析。

pharokka.py [-h] [-i 输入文件] [-o 输出目录] [-d 数据库目录] [-t 线程数] [其他选项...]
- 必需参数-i 输入FASTA文件 | -o 输出目录
- 主要选项-t 线程数 | -g 基因预测工具(phanotate/prodigal) | -e E值阈值(默认1E-05)--meta 宏基因组模式 | --fast 仅用PyHMMER加速注释 | --dnaapler 自动调整基因组方向
- 高级控制--skip_extra_annotations 跳过tRNA/CRISPR检测 | --genbank 输入GenBank文件重新注释

phold安装和使用

phold 采用 ProstT5 蛋白质语言模型(深度学习模型),将氨基酸序列快速转化为 3Di 结构token编码,并通过 Foldseek 比对包含 100 万+ 噬菌体蛋白结构的数据库(该数据库主要基于 Colabfold 预测构建)。

# conda安装
mamba create -n pholdENV -c conda-forge -c bioconda phold 
# nvidia gpu版本,还有mac m芯片版本(可能用的人不多,没摘录)
mamba create -n pholdENV -c conda-forge -c bioconda phold pytorch=*=cuda*
# 运行
phold run -i tests/test_data/NC_043029.gbk  -o test_output_phold -t 8

phold结果说明

若本地工作站配备 GPU,建议使用完整流程命令phold run,如果没有gpu,添加–cpu参数。

phold run 命令核心参数说明▌ 基础参数-i  输入文件路径 (必需,支持GenBank/FASTA格式)-o  输出目录 [默认: output_phold]-t  线程数 [默认: 1]-p  输出文件前缀 [默认: phold]▌ 数据库与性能-d  指定phold数据库路径--batch_size  ProstT5批处理大小 [默认1,推荐GPU使用]--cpu         强制使用CPU模式--keep_tmp_files 保留临时文件(含完整Foldseek结果)▌ 高级分析选项-e  Foldseek E值阈值 [默认1e-3]--card_vfdb_evalue  CARD/VFDB专用E值 [默认1e-10]--ultra_sensitive  超敏感模式(跳过预过滤,小数据集适用)--only_representatives 仅比对聚类代表序列▌ 特殊功能--separate  为每个contig生成独立GenBank文件--finetune  启用实验性PhrostT5微调模型(不推荐常规使用)--save_per_residue_embeddings 保存残基级嵌入数据使用示例:
phold run -i input.gbk -o results -t 8 --batch_size 4注:GPU环境下推荐直接使用默认参数运行,大数据集建议调整--max_seqs限制结果数量
_aa.fasta
保存所有预测编码序列(CDS)的氨基酸序列_3di.fasta
包含由ProstT5预测的所有CDS的Foldseek 3Di结构序列.gbk
生成包含完整注释信息的GenBank格式文件_all_cds_functions.tsv
按contig统计的汇总数据:CDS总数各PHROG功能分类的CDS数量CARD/VFDB/Defensefinder/ACR数据库匹配的CDS数量_per_cds_predictions.tsv
每个CDS的详细注释信息表注:所有输出文件均以用户指定的前缀开头(默认"phold_")3Di序列文件可用于后续结构比对研究

在这里插入图片描述

参考:

  • https://github.com/gbouras13/phold
  • https://github.com/gbouras13/pharokka
  • Galaxy Europe webserver:https://usegalaxy.eu/?tool_id=toolshed.g2.bx.psu.edu%2Frepos%2Fiuc%2Fpharokka%2Fpharokka%2F1.2.1%2Bgalaxy1&version=1.2.1%20galaxy1

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

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

相关文章

深入浅出 Python Asynchronous I/O:从 asyncio 入门到实战

在现代软件开发中&#xff0c;性能是一个永恒的话题。特别是在处理网络请求、文件读写等 I/O 密集型任务时&#xff0c;传统的同步编程模型可能会因为等待而浪费大量时间。为了解决这个问题&#xff0c;异步编程应运而生。Python 通过内置的 asyncio 库&#xff0c;为开发者提供…

OpenCV颜色矩哈希算法------cv::img_hash::ColorMomentHash

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该类实现了颜色矩哈希算法&#xff08;Color Moment Hash&#xff09;&#xff0c;用于图像相似性比较。它基于图像在HSV颜色空间中的颜色矩统计特…

上海交大医学院张维拓老师赴同济医院做R语言训练营培训

当前&#xff0c;医学与人工智能的深度融合正迎来历史性发展机遇。华中科技大学同济医学院附属同济医院&#xff08;以下简称“同济医院”&#xff09;作为医疗人工智能应用的先行探索者&#xff0c;已在电子病历辅助书写、科研数据分析、医疗合同自动化审核等关键场景完成试点…

使用阿里云/腾讯云安装完成mysql使用不了

显示错误1130 - Host 106.228.110.117 is not allowed to connect to this MySQL server解决方案进入服务器的mysql命令行mysql -u root -p查看数据库SHOW DATABASES;选择mysql数据库USE mysql;查看里面的表SHOW TABLES;查询user表格的权限限制SELECT Host, User FROM user;将权…

第35周—————糖尿病预测模型优化探索

目录 目录 前言 1.检查GPU 2.查看数据 ​编辑 3.划分数据集 4.创建模型与编译训练 5.编译及训练模型 6.结果可视化 7.总结 前言 &#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 1.检查GPU import torch.n…

接口(上篇)

接口&#xff08;上篇&#xff09;1.概念2.语法规则3.使用和特性4.实现多接口5.接口间继承1.概念 接口就是公共的行为规范标准&#xff0c;大家在实现时&#xff0c; 只要符合规范标准&#xff0c;就可以通用。 在Java中&#xff0c;接口可以看成是&#xff1a;多个类的公共规…

UE5 源码编译setup.bat报错

文章目录编译报错改动说明小结更新编译报错 改动说明 因为需要整服务器&#xff0c;就编译源码&#xff0c;然后就遇到这个&#xff0c;很无语。这个问题一直存在&#xff0c;UE官方也不修复&#xff0c;也算是修复了&#xff0c;只是每次都要去重新下载替换下。也可以去问问d…

Linux下PCIe子系统(二)——PCIe子系统框架详解

Linux下PCIe子系统&#xff08;二&#xff09;——PCIe子系统框架详解 1. 概述 PCIe&#xff08;PCI Express&#xff09;子系统是Linux内核中负责管理PCI/PCIe设备的核心组件。它提供了一套完整的框架来发现、配置和管理PCI设备&#xff0c;实现了设备的即插即用和热插拔功能。…

[特殊字符] LLM(大型语言模型):智能时代的语言引擎与通用推理基座

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 从千亿参数到人类认知的AI革命 &#x1f50d; 一、核心定义与核心特征…

18-C#改变形参内容

C#改变形参内容 1.ref 参数 int A100; add1(ref A) public int add1 (ref int x) {x x 10;return x; }2.out 参数 int A100; int B200; int Z; add3(A,B, out Z) public int add3 (int x&#xff0c;int y&#xff0c;int z) {z x y;return z; }

恒盾C#混淆加密大师最新版本1.4.0更新 - 增强各类加密效果, 提升兼容性, 使.NET加密更简单

C#/.NET作为托管语言, 其编译生成的EXE/DLL极易被反编译工具还原源码。据统计&#xff0c;大量的商业软件曾遭遇过代码逆向风险&#xff0c;导致核心算法泄露、授权被跳过. 因此对于C#语言开发的.NET程序来说, 在发布前进行混淆和加密非常有必要. 恒盾C#混淆加密大师作为一款.N…

数学建模:非线性规划:二次规划问题

一、定义如果规划模型的目标函数是决策向量的二次函数&#xff0c;约束条件都是线性的&#xff0c;那么这个模型称为二次规划&#xff08;QP&#xff09;模型。二次规划模型的一般形式为二、性质凸性判定准则二次规划问题的凸性完全由Hessian矩阵H决定&#xff1a;​​严格凸QP…

4. 那在详细说一下 http 2.0 的特点

总结 二进制协议&#xff1a;文本通信改为二进制帧通信&#xff0c;数据可以划分为更小的帧&#xff0c;便于高效解析和传输。多路复用&#xff1a;废除 pipeline 管道&#xff0c;避免了“队头阻塞”问题。允许同一个 TCP 连接同时发送多个请求和协议&#xff0c;提高网络资源…

Qt中遍历QMap的多种方法及性能分析

Qt中遍历QMap的多种方法及性能分析遍历QMap的方法**1、使用迭代器&#xff08;STL风格&#xff09;****2、使用Java风格迭代器****3、使用C11范围循环****4、使用键值分离遍历**性能分析使用建议遍历QMap的方法 1、使用迭代器&#xff08;STL风格&#xff09; QMap<QStrin…

Unity3D物理引擎性能优化策略

前言 在Unity3D中优化物理引擎性能&#xff0c;尤其是处理3D碰撞器与2D碰撞器的映射问题&#xff0c;需要结合系统特性和最佳实践。以下是关键策略和实现方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀…

集群与集群应用

负载均衡与高可用综合实验一、集群是什么&#xff1f;是有一组独立的计算机系统构成的一个松耦合的多处理系统&#xff0c;作为一个整体向用户提供一组网络资源&#xff0c;这些单个的计算机就是集群的节点。二、集群类型Load Balance cluster&#xff08;负载均衡集群&#xf…

jmm,`as - if - serial` 与 `happens - before` 原则

在Java并发编程中&#xff0c;as - if - serial 与 happens - before 原则是确保程序在多线程环境下正确执行的重要规则&#xff0c;下面为你详细讲解&#xff1a; as - if - serial原则 定义&#xff1a;as - if - serial 原则是指&#xff0c;不管编译器和处理器如何优化&…

主流大模型Agent框架 AutoGPT详解

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《GPT多模态大模型与AI Agent智能体》&#xff08;跟我一起学人工智能&#xff09;【陈敬雷编著】【清华大学出版社】 GPT多模态大模型与AI Agent智能体书籍本章配套视频课程【陈敬雷】 文…

kotlin学习,val使用get()的问题

疑问&#xff1a;定义val怎么还能使用get()代码示例&#xff1a;private val nametype:Intget()Business.carInfo?.let{carSc(it)}?:LType.AS回答&#xff1a;Kotlin 允许为属性定义自定义 getter&#xff0c;每次访问属性时会执行该方法疑问&#xff1a;这里引出另一个不解&…

解决el-select数据类型相同但是显示数字的问题

这个不是我写的&#xff0c;只是遇到的bug&#xff0c;写法问题&#xff0c;忽略了值的绑定的问题源代码bug&#xff1a;<el-selectv-model"schemeInfo.horizon"placeholder"请选择起报月份"clearablefilterable><el-option v-for"(option,i…