本文以AutoDock Vina软件为例,介绍如何在E-HPC上进行高性能计算实现虚拟药物筛选。
背景信息
分子对接(Molecular docking)是虚拟药物筛选中的关键环节。AutoDock Vina作为一款开源的分子对接软件,具有速度快、算法准确等优点,特别适用于搭建基于分子对接的虚拟筛选,它基于MGLTools工具包进行使用。MGLTools包括AutoDock Tools(ADT)和Python Molecular Viewer(PMV)。ADT用来为Vina生成输入文件,PMV用来查看结果。更多信息,请参见AutoDock Vina和MGLTools。
本文通过模拟小分子配体和生物大分子受体相互作用的过程,预测配体与受体的结合模式和亲和力,模拟实现对药物的筛选。目前商业应用较广泛的Specs、Enamine和ChemDiv化合物库,均可提供大量配体模拟计算配体和给定受体的相互作用。由于不同配体之间没有依赖,因此可以大规模并行处理。本文同样适用于其它大批量、高并发处理需求的生物、医药等场景。
准备工作
创建E-HPC集群。
具体操作,请参见使用向导创建集群。您需要注意以下配置参数:
参数
说明
硬件参数
部署方式为标准,包含2个管控节点,1个计算节点和1个登录节点。
节点均采用ecs.c7.large实例规格,配置为2 vCPU,4 GiB内存,Ice Lake处理器,2.7 GHz。
软件配置
镜像选择CentOS 7.6公共镜像,调度器选择pbs,开启VNC。
创建集群用户。具体操作,请参见创建用户。
集群用户用于登录集群,进行编译软件、提交作业等操作。本文创建的用户示例如下:
用户名:vinatest
用户组:sudo权限组
安装软件。具体操作,请参见安装软件。
需安装的软件如下:
vina,版本为1.1.2。
AutoDockTools,版本为1.5.7。
intel-mpi,版本为2018。
步骤一:连接集群
选择以下一种方式连接集群。本文使用的用户名为vinatest,连接集群后会默认登录到/home/vinatest
。
通过客户端
该方式仅支持使用PBS调度器的集群。操作前,请确保您已下载安装E-HPC客户端,且已配置客户端所需环境。具体操作,请参见配置客户端所需环境。
打开并登录E-HPC客户端。
在客户端左侧导航栏,单击会话管理。
在会话管理页面的右上角,单击terminal,打开Terminal窗口。
通过控制台
登录弹性高性能计算控制台。
在顶部菜单栏左上角处,选择地域。
在左侧导航栏,单击集群。
在集群页面,找到目标集群,单击远程连接。
在远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接。
步骤二:提交作业
下载并解压作业文件。
下载作业文件。
说明如果集群中没有安装git,请先执行
sudo yum install -y git
安装git。git clone https://code.aliyun.com/best-practice/022.git
解压作业文件。
cd 022 tar xzvf vina-ehpcarrayjob.tar.gz
修改配置文件。
cd vina-ehpcarrayjob vim conf.txt
在conf.txt中,删除以下两行内容:
receptor = 1fkn_rgd.pdbqt ligand = $file
创建作业脚本,命名为vina.sh。
cd /home/vinatest vim vina.sh
脚本内容如下:
#!/bin/bash #PBS -N vina_job #PBS -l nodes=1:ppn=2 #PBS -l walltime=00:10:00 #PBS -j oe #PBS -v receptor="022/vina-ehpcarrayjob/1fkn_rgd.pdbqt",ligand="022/vina-ehpcarrayjob/test/ligand_1.pdbqt",config="022/vina-ehpcarrayjob/conf.txt" cd $PBS_O_WORKDIR ppn="$NCPUS" cd $PBS_O_WORKDIR vina --receptor $receptor --config $config --ligand $ligand --out out.pdbqt --cpu $ppn
提交作业。
qsub vina.sh
预期返回如下,表示生成的作业ID为0.scheduler。
0.scheduler
步骤三:查看结果
查看作业运行情况。
qstat -x 0.scheduler
预期返回如下,当返回信息中
S
为R
时,表示作业正在运行中;当返回信息中S
为F
时,表示作业已经运行结束。Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 0.scheduler vina_job vinatest 00:01:56 F workq
说明作业运行结束后会生成结果文件out.pdbqt,保存在提交作业时的路径下,本文示例为
/home/vinatest/out.pdbqt
。使用VNC可视化查看作业结果。
打开VNC。
说明请确保集群所属安全组已打开VNC所需端口。控制台操作时系统会自动打开12016端口,客户端操作时,请您自行打开端口,首个VNC窗口使用12017端口,如果有多个用户使用VNC,则端口号按顺序递增。
通过客户端
在客户端的左侧导航栏,单击会话管理。
在会话管理页面的右上角,单击VNC,打开VNC窗口。
通过控制台
在弹性高性能计算控制台的左侧导航栏,单击集群。
在集群页面,找到目标集群,单击更多 > VNC。
使用VNC远程连接可视化服务。具体操作,请参见连接可视化服务。
在VNC窗口中,选择Application>System Tools>Terminal。
在Terminnal中执行以下命令,打开AutoDock Tools并加载作业结果。
/usr/local/bin/adt /home/vinatest/022/vina-ehpcarrayjob/1fkn_rgd.pdbqt /home/vinatest/out.pdbqt
在弹出的AutoDock Tools窗口中加载模型后,显示结果如下: