计算化学公社

 找回密码 Forget password
 注册 Register
Views: 48|回复 Reply: 0
打印 Print 上一主题 Last thread 下一主题 Next thread

[并行运算] Autodock 通过PipePool并行加速的方法

[复制链接 Copy URL]

1

帖子

0

威望

14

eV
积分
15

Level 1 能力者

跳转到指定楼层 Go to specific reply
楼主
Autodock 在需要对接的分子非常多的时候,单台机器算力不够,可以有很多方法进行并行。

说在最前面,我感觉这种蒙特卡洛算法的东西不要搞特别多的线程,从费效的角度来看8核就挺好。

有很多方式去并行,比如传统超算用slurm,所有公有云的batch批量计算。本地可以用airflow、nextflow、dask等等一系列的框架。

下面来介绍一种简单粗暴的,通过PipePool并行加速的方法。
大体是在原有bash基础上加一行命令,改一下受体或配体的名字,把文件整理一下。
bash脚本如下:

#!/bin/bash
#pp -nodes 100
vina --config config.txt --receptor $1 --ligand ligand.pdbqt --out ../$1.output.pdbqt --log ../$1.log.txt

这个和slurm很像,这段脚本第二行会开启100台服务器进行并行计算,其中命令部分的$1会根据一系列的receptor的名字进行自动替换,比如有1000个receptor,100台服务器,每台运行10个,结果是$1.output.pdbqt,有很多这样的文件。ligand也是同理。

从费效的角度看,应当让每个节点运行的时间大于30分钟小于1小时最好,建议合理配置nodes的大小。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
sobereva + 5

查看全部评分 View all ratings

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-1-24 06:33 , Processed in 0.154332 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list