十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

把计算蛋白质科学搬上超算:Virtual Lab的SLURM集群与LocalColabFold部署完整指南

把计算蛋白质科学搬上超算:Virtual Lab的SLURM集群与LocalColabFold部署完整指南 把计算蛋白质科学搬上超算Virtual Lab的SLURM集群与LocalColabFold部署完整指南【免费下载链接】virtual-labA virtual lab of LLM agents for science research项目地址: https://gitcode.com/gh_mirrors/vi/virtual-labVirtual Lab 是一个让大语言模型LLM智能体与人类研究者协作做科研的开源虚拟实验室其经典应用是用 ESM、AlphaFold-Multimer 和 Rosetta 三大工具设计新冠纳米抗体nanobody。本文带你把这套计算蛋白质科学流水线部署到 SLURM 调度的高性能计算HPC集群上并用 LocalColabFold 在本地/集群 GPU 上运行 AlphaFold从零跑通 4 轮迭代设计。 为什么要把流水线搬上 SLURM 集群Virtual Lab 的纳米抗体设计不是算一次就完以 4 个起始纳米抗体Ty1、H11-D4、Nb21、VHH-72为例每一轮要为每个候选结构做 AlphaFold 结构预测、Rosetta 结合能打分共80 个 GPU/CPU 任务还要迭代 4 轮。单卡工作站根本扛不住而 SLURM 正是超算集群的标准调度器——通过作业数组Job Array一次提交、并行执行、自动分配 GPU正好匹配这种大量同质任务的场景。项目里已提供三份现成的调度脚本分别对应三个打分工具调度脚本计算模型资源需求作业数组alphafold.sbatchAlphaFold-Multimer1 GPU 4 CPU 16G 内存0–79最多 15 个并行对应 15 块 GPUesm.sbatchESM 语言模型1 GPU 4 CPU 16G 内存0–3每个纳米抗体 1 个任务rosetta.sbatchRosetta纯 CPU4 核 8G 内存0–79每个结构 1 个任务先看懂 Virtual Lab 的纳米抗体设计流水线部署之前花 2 分钟理解数据流后面写脚本就不迷路了。完整命令见 workflow.mdESM 打分用蛋白语言模型给每个单点突变序列算对数似然比esm.pyESM → AlphaFold取每轮 Top 20 序列拼上与 SARS-CoV-2 刺突蛋白如 KP.3 变异株的复合物提交 AlphaFold-Multimer 预测结构结构 → Rosetta对预测出的 PDB 做 FastRelax 弛豫 界面分析得到结合能 ΔG协议文件 rosetta.xml合并打分combine_scores.py 把三项分数加权合并取 Top 5 进入下一轮。输入数据抗体序列、刺突蛋白序列放在 sequences/ 目录每轮的评分结果会落在 designed/scores/ 下方便逐轮追溯。一键安装 LocalColabFold独立 Conda 环境AlphaFold-Multimer 通过 LocalColabFold 在本地 GPU 上运行。项目提供了安装脚本 install_localcolabfold.sh它会自动完成以下工作创建名为localcolabfold的独立 conda 环境Python 3.10含 kalign2、HHsuite、mmseqs2 等依赖安装 ColabFold 并升级为 CUDA 12 版 JAX 与 TensorFlow无头环境适配把 matplotlib 切到非图形后端Agg、重定向参数缓存目录、屏蔽 TensorFlow 告警集群登录节点通常没有显示器这一步很关键最后自动下载 AlphaFold 预训练权重。⚠️ 注意必须保留virtual_lab与localcolabfold两个环境分开——Virtual Lab 本体含 ESM、打分脚本跑在virtual_lab环境只有 AlphaFold 跑在localcolabfold。官方要求固定版本alphafold-colabfold2.3.6、colabfold1.5.5。主环境安装见 nanobody_design/README.mdpip install -e .[nanobody-design] # 出现版本冲突时改用锁定版本 pip install -r nanobody_design/requirements_nanobody_design_frozen.txt读懂并改写 SLURM 调度脚本sbatch 实战三份 sbatch 脚本结构几乎一样掌握一份就能改三份。以 AlphaFold 为例核心就是头部声明 从任务 ID 取命令#SBATCH --job-namealphafold #SBATCH --gpus1 # 每任务 1 块 GPU #SBATCH --cpus-per-task4 #SBATCH --mem16G #SBATCH --array0-79%15 # 80 个任务最多 15 个并行 #SBATCH --partitionjamesz,owners # 按你的集群改分区名 #SBATCH --time4:00:00 #SBATCH --mail-typeEND,FAIL # 结束/失败发邮件提醒脚本体部先把所有待跑任务存进 bash 数组再用SLURM_ARRAY_TASK_ID取出当前任务执行。改写时你只需要动三处分区名与邮箱--partition和--mail-user换成自己集群的配置工作目录cd到你的 Virtual Lab 仓库路径轮次与目录名把ROUND_NUM和输出目录改成当前实验轮次。ESM 脚本esm.sbatch激活的是virtual_lab环境并调用打分脚本Rosetta 脚本rosetta.sbatch则用module load加载 Rosetta不申请 GPU——纯 CPU 任务混排提交能显著榨干集群资源。提交作业并检查结果一轮流水线按顺序提交即可sbatch nanobody_design/scripts/slurm/esm.sbatch sbatch nanobody_design/scripts/slurm/alphafold.sbatch sbatch nanobody_design/scripts/slurm/rosetta.sbatch配套的日常命令squeue -j $SLURM_JOBID # 查看本作业各任务状态 sacct -j $SLURM_JOBID # 查看任务退出码0 为成功输出与错误日志分别落在--output/--error指定的目录里文件名带任务 ID任务结束或失败会收到邮件无需盯终端。新手最常踩的 5 个坑 ⚠️环境混用在virtual_lab环境里直接跑colabfold_batch会报依赖错误——AlphaFold 必须先conda activate localcolabfold权重没下载脚本最后一步python -m colabfold.download会被跳过或网络中断首次运行前请确认参数目录完整图形后端报错无显示器环境下 matplotlib 弹窗失败脚本已用Agg后端修复手动装 ColabFold 的同学记得同样处理分区名照抄示例中的jamesz,owners是作者所在斯坦福分区的名字提交前先sinfo查一下自己可用的分区GPU 并行度不匹配%15表示 15 个 GPU 并行若你的队列 GPU 少把并发数调小否则任务会排队。延伸资料完整单卡/集群命令参考workflow.md模型打分脚本scripts/models/improved/结果分析可视化plot_results.ipynb安装说明总入口nanobody_design/README.md装好环境、改好 sbatch 头部参数后一份提交命令就能让集群替你跑完整个纳米抗体设计循环——这就是把计算蛋白质科学搬上超算的全部门槛。【免费下载链接】virtual-labA virtual lab of LLM agents for science research项目地址: https://gitcode.com/gh_mirrors/vi/virtual-lab创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表