计算化学公社
标题:
Autodock 通过PipePool并行加速的方法
[打印本页]
作者Author:
PipePool
时间:
yesterday 21:15
标题:
Autodock 通过PipePool并行加速的方法
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的大小。
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3