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