《Digital Discovery》:PyRosettaCluster: a Python framework for scalable and reproducible bio-macromolecular modeling and designOpen Access
编辑推荐:
Rosetta软件套件为生物大分子建模与设计提供了一套强大的工具,能够实现高分辨率蛋白质结构精修以及具有亚埃级原子精度的全新蛋白质设计。大规模利用这些工具既需要巨大的计算资源,也需要领域专业知识,否则可能导致独立研究者无法科学复现其结果,部分原因在于难以传达所
Rosetta软件套件为生物大分子建模与设计提供了一套强大的工具,能够实现高分辨率蛋白质结构精修以及具有亚埃级原子精度的全新蛋白质设计。大规模利用这些工具既需要巨大的计算资源,也需要领域专业知识,否则可能导致独立研究者无法科学复现其结果,部分原因在于难以传达所有必要的运行时配置和系统需求。为解决大规模生物大分子建模与设计模拟中的这些可复现性挑战,研究人员开发了PyRosettaCluster——一个集成于PyRosetta软件中的多功能Python框架,可自动捕获精确复现一个decoy所需的模拟数据,并将其直接编码至每个输出decoy文件中。PyRosettaCluster抽象化了分布式生物大分子建模与设计工作流中复杂的任务执行编排细节,利用轻量级Dask库,高效并行化由用户自定义任务参数化的模块化用户自定义PyRosetta协议。PyRosettaCluster支持将新兴第三方软件应用集成到PyRosetta协议中,使得能够在生物大分子建模与设计任务中调用现代图形处理单元(GPU)加速的人工智能(AI)模型进行推理,前提是这些模型为可复现目的而保持确定性运行时行为。与Dask-Jobqueue库的集成使得能够在具有任意计算资源的高性能计算(HPC)或弹性云计算基础设施上进行作业调度。总体而言,这一多功能工具为PyRosetta软件中的可扩展且可复现的生物大分子建模与设计工作流奠定了基础。PyRosettaCluster于2020年9月并入Rosetta软件套件代码库,其源代码自2024年3月起公开可获取。
论文解读:PyRosettaCluster——面向可扩展与可复现生物大分子建模与设计的Python框架
一、研究背景与问题
生物大分子建模与设计是计算生物学的重要前沿领域。Rosetta软件套件凭借其丰富的工具集,在蛋白质三维结构预测、序列设计及高精度结构精修等方面展现出强大能力,并可通过RosettaScripts等模块化接口组合出创新工作流。PyRosetta作为Rosetta的交互式Python接口,进一步实现了与科学Python生态系统的无缝集成。然而,生物大分子建模与设计任务通常包含构象采样与能量评估两大环节,即使拥有完美的能量模型,对蛋白质庞大构象空间进行穷举采样在实际计算资源下仍不可行,因此通常依赖基于Metropolis准则的蒙特卡洛最小化方法进行多条独立稀疏轨迹搜索,其计算需求极为庞大,常需依托高性能计算(HPC)或弹性云基础设施。随着GPU加速AI模型在生物大分子建模与设计中的重要性日益凸显,PyRosetta仍是结构评分与精修的重要互补工具。但Rosetta代码库的持续演进以及各研究机构间异构且规模不一的计算环境,使得PyRosetta模拟的可复现性面临严峻挑战。独立研究者若无法验证已发表结果,科学方法的基础便受到动摇。因此,开发能够自动捕获完整模拟信息、支持规模化并行计算并保障结果可复现的框架具有重要的科学意义。
二、研究内容与核心结论
针对上述可复现性难题,研究人员开发了PyRosettaCluster——一个集成于PyRosetta软件pyrosetta.distributed.cluster命名空间的Python框架。该框架能够自动捕获模拟所需的全部数据与元数据,并将其编码至每个输出decoy文件及可选的scorefile中,从而仅凭单个归档文件即可实现decoy的精确复现。框架通过集成轻量级Dask及Dask-Jobqueue库,支持在本地工作站、HPC及弹性云基础设施上对用户自定义的PyRosetta协议进行高效并行化。PyRosettaCluster于2020年9月并入PyRosetta软件,其源代码自2024年3月起在RosettaCommons/rosetta GitHub仓库公开。研究通过Trp-cage迷你蛋白TC5b的蓝图中性蛋白骨架构建与松弛模拟,生成2000个decoy并成功复现最低能量decoy的精确原子坐标与Rosetta总得分,验证了框架的基础可复现功能。进一步,研究将Foundry包中基于GPU加速的RFdiffusion3、ProteinMPNN及RosettaFold-3等第三方AI模型集成至多阶段PyRosetta协议,结果表明在CPU-only计算资源下decoy可完全复现,而在NVIDIA Tesla T4 GPU上因浮点非结合性与无序并行归约导致精确原子坐标无法复现,凸显了用户自定义协议确定性运行时行为对可复现性的决定性作用。
三、关键技术方法
研究人员主要采用了以下关键技术方法:其一,基于Dask库实现任务分布式并行化,通过Dask客户端、调度器与工作节点协同完成任务的分配与结果收集;其二,利用billiard库从Dask工作节点派生独立子进程,在每个子进程中以唯一伪随机数生成器(RNG)种子及用户自定义Rosetta命令行选项初始化PyRosetta,实现任务级全局选项配置;其三,借助pyrosetta.distributed框架将重量级Pose对象序列化为轻量级PackedPose对象以提升分布式计算兼容性;其四,通过内置的reproduce函数读取decoy文件中的完整模拟记录,验证运行时环境配置与Git提交SHA-1哈希后实现decoy复现;其五,支持将GPU加速AI模型以确定性方式集成至PyRosetta协议中执行。
四、研究结果
PyRosettaCluster框架概览:研究展示了框架的示意流程,PyRosettaCluster类在头节点实例化并管理一个或多个Dask客户端,每个任务由输入PackedPose对象、用户自定义任务字典及用户自定义PyRosetta协议三部分构成,协议在Dask工作节点派生的billiard子进程中异步执行,结果按到达顺序写盘,并可实时分析模拟进度与系统性能。
完整模拟记录:框架捕获的模拟数据与元数据分为实例属性、元数据及评分数据三类,涵盖PyRosetta构建签名、Git提交SHA-1哈希、RNG种子、协议函数名、decoy文件路径、模拟时间信息以及Rosetta能量项、RosettaScripts Filter对象值、SimpleMetrics值及Pose.cache字典中的任意数据,全部编码至每个输出decoy文件。
基础可复现工作流:通过TC5b蛋白的2000个decoy模拟,研究展示了单阶段模拟的完整复现流程,复现decoy与原decoy的重原子RMSD为0.0 ?、序列一致性100%、Rosetta总得分完全一致,形成漏斗状蛋白折叠能量景观。
GPU与CPU计算资源对比:在多阶段de novo蛋白设计模拟中,集成Foundry包GPU加速AI模型时,GPU资源下复现decoy因浮点非结合性等问题与原decoy几何结构不同;而CPU-only资源下复现decoy与原decoy在序列一致性、Rosetta总得分差值及骨架重原子RMSD上均达到完全一致。
五、讨论与结论
讨论部分指出,PyRosettaCluster框架利用Dask及Dask-Jobqueue库提供直观API以扩展模拟规模,支持单阶段与多阶段模块化工作流,多阶段模拟实现了类似RosettaScripts中MultiplePoseMover的轨迹分支功能且各任务高效并行化。框架通过billiard子进程派生解决了Rosetta全局选项系统无法按任务定制的问题,使每条decoy轨迹由每个协议对应的RNG种子链决定。decoy可复现性的核心原则在于:在特定运行时环境与计算平台上,给定输入原子坐标、Rosetta命令行选项及协议,输出原子坐标仅由模拟期间生成的伪随机数序列决定。RosettaCommons提供的预构建版本化PyRosetta发布为长期可复现性提供了保障。然而,decoy可复现的必要条件始终是用户自定义协议在所采用计算资源上表现出确定性运行时行为,这要求用户在启动生产模拟前充分评估协议确定性,并将额外模拟信息记录于系统信息字典中。研究结论表明,只要满足原始运行时环境配置可重建、Git仓库可在缓存哈希处检出、必要外部文件可提供以及协议具备确定性运行时行为四个条件,即可从单个输出decoy文件或scorefile精确复现目标decoy的原子坐标。PyRosettaCluster框架的采用,配合确定性协议的开发,为PyRosetta软件建立了可验证、可追溯、可扩展、模块化且协作性的模拟机制,有力推动计算蛋白质设计领域向成熟的计算科学学科迈进。