BioForge:用 Rust 编写的快速、安全的大分子结构准备库
BioForge: a fast and safe macromolecular structure preparation library in Rust.
一句话提出 BioForge,为大分子结构提供不依赖特定力场的预处理,并支持浏览器部署和流程嵌入。
研究问题
数据与样本
分析流程
- 1实现结构预处理:在 BioForge 中提供清理、基于几何的缺失原子修复、质子化和溶剂化。
- 2开展性能评测:在单个 CPU 核心上测试 22 个不同原子规模的结构,并与 PDBFixer 和 PDB2PQR 比较。
- 3评估规模扩展:拟合实际运行时间随原子数的变化,并报告大型结构 9MJN 的耗时、峰值内存及对照工具运行情况。
- 4支持部署与集成:将 BioForge 编译为 WebAssembly 用于浏览器运行,并通过应用程序编程接口嵌入模拟和参数化流程。
关键方法与工具
- BioForge
- 大分子结构预处理
- Rust
- 实现结构准备库
- PDBFixer
- 性能评测对照
- PDB2PQR
- 性能评测对照
- WebAssembly
- 支持浏览器部署
设计思路
主要发现
- BioForge 提供清理、基于几何的缺失原子修复、质子化和溶剂化,作为不依赖特定力场的预处理阶段。
- 在 22 个结构的单核评测中,BioForge 实际运行时间的拟合为 N0.89,PDBFixer 和 PDB2PQR 分别为 N1.17 和 N1.25。
- BioForge 处理含 3.8M 个原子的 9MJN 耗时 5.1 s,峰值内存为 1.1 GB;PDBFixer 报错,内存为 273 GB。
- PDB2PQR 仅限于少于 100 000 个原子的结构。
- BioForge 可编译为 WebAssembly 在浏览器中运行,并通过应用程序编程接口直接嵌入模拟和参数化流程。
可借鉴之处
- 评估结构处理工具时,可借鉴本文跨原子规模测试并拟合运行时间的做法,而不只比较单一结构的耗时。
- 大型结构的基准评测可同时记录耗时、峰值内存和运行失败情况,避免仅凭速度判断工具的适用性。
- 需要将结构准备接入自身模拟或参数化课题时,可借鉴本文将预处理设计为不依赖特定力场的库,并提供程序接口的做法。
数据与代码
局限
- 报告的性能评测基于单个 CPU 核心,不能据此判断多核环境下的性能。
摘要(中文翻译)
概要:BioForge 是首个面向 Rust 的大分子结构准备库,通过提供清理、基于几何的缺失原子修复、质子化和溶剂化,作为不依赖特定力场的预处理阶段,补充 Rust-Bio 等序列分析库。在单个 CPU 核心上对 22 个结构(1439-3 819 839 个原子)的测试中,BioForge 的实际运行时间呈线性扩展(拟合为 N0.89),而 PDBFixer 和 PDB2PQR 分别呈超线性的 N1.17 和 N1.25;BioForge 处理含 3.8M 个原子的 9MJN 耗时 5.1 s,峰值内存为 1.1 GB(PDBFixer:报错,273 GB);PDB2PQR 仅限于少于 100 000 个原子的结构。BioForge 还可编译为 WebAssembly 以部署于浏览器,并支持通过其应用程序编程接口直接嵌入模拟和参数化流程。
可得性与实现:采用 MIT 许可证的 Rust 库 crate(bio-forge)和 WebAssembly 包(bio-forge-wasm)为 Rust 生物信息学生态系统扩展了结构准备功能,分别发布于 https://crates.io 和 NPM;同一个 WebAssembly 二进制文件还驱动位于 https://bio-forge.app 的客户端网页应用,该应用完全在浏览器中运行,无需服务器或数据上传。源代码及预编译命令行二进制文件可从 https://github.com/TKanX/bio-forge 免费获取;所有报告实验所用版本的归档快照存放于 Zenodo(https://doi.org/10.5281/zenodo.21627953)。
英文原文摘要
Summary:BioForge is the first macromolecular structure preparation library for Rust, complementing sequence-analysis libraries such as Rust-Bio with cleaning, geometry-based missing-atom repair, protonation, and solvation as a force-field-agnostic preprocessing stage. Across 22 structures (1439-3 819 839 atoms) on a single CPU core, BioForge scales linearly in wall time (fitted N0.89) versus super-linear N1.17 for PDBFixer and N1.25 for PDB2PQR, completing the 3.8M-atom 9MJN in 5.1 s at 1.1 GB peak (PDBFixer: error, 273 GB); PDB2PQR is limited to fewer than 100 000 atoms. BioForge also compiles to WebAssembly for browser deployment and supports direct embedding into simulation and parameterization pipelines via its application programming interface.
Availability and implementation: An MIT-licensed Rust library crate (bio-forge) and a WebAssembly package (bio-forge-wasm) extend the Rust bioinformatics ecosystem with structure preparation, both published on https://crates.io and NPM respectively; the same WebAssembly binary powers a client-side web application at https://bio-forge.app that runs entirely in the browser without a server or data upload. Source code and precompiled command-line binaries are freely available at https://github.com/TKanX/bio-forge; an archival snapshot of the version used for all reported experiments is deposited at Zenodo (https://doi.org/10.5281/zenodo.21627953).
摘要来自 PubMed。翻译与解读由模型根据摘要生成,可能有误,不构成诊疗建议;数据以原文为准,版权归原出版方所有。