分子对接(Molecular docking)是虚拟药物筛选中的关键环节。AutoDock Vina作为一款开源的分子对接软件,具有速度快、算法准确等优点,特别适用于搭建基于分子对接的虚拟筛选,它基于MGLTools工具包进行使用。MGLTools包括AutoDock Tools(ADT)和Python Molecular Viewer(PMV)。ADT用来为Vina生成输入文件,PMV用来查看结果。本文介绍在计算巢快速部署并使用AutoDock Vina Ehpc。
前提条件
部署AutoDock Vina社区版服务实例,需要对部分阿里云资源进行访问和创建操作。因此您的账号需要包含如下资源的权限。
当您的账号是RAM账号时,才需要添加此权限。
权限策略名称 | 备注 |
AliyunECSFullAccess | 管理云服务器服务(ECS)的权限 |
AliyunVPCFullAccess | 管理专有网络(VPC)的权限 |
AliyunROSFullAccess | 管理资源编排服务(ROS)的权限 |
AliyunEHPCFullAccess | 管理弹性高性能计算(EHPC)的权限 |
AliyunNASFullAccess | 管理文件存储(NAS)的权限 |
AliyunComputeNestUserFullAccess | 管理计算巢服务(ComputeNest)的用户侧权限 |
计费说明
AutoDock Vina社区版在计算巢部署的费用主要涉及:
弹性高性能计算集群(EHPC)费用
文件系统(NAS)费用
流量带宽费用
部署架构
部署由一个ehpc集群组成,ehpc集群中包括manager节点、schedule节点和compute节点。
服务使用nas-cpfs构建高性能共享文件系统。
参数说明
参数项 | 说明 |
服务实例名称 | 长度不超过64个字符,必须以英文字母开头,可包含数字、英文字母、短划线(-)和下划线(_)。 |
地域 | 服务实例部署的地域。 |
付费类型 | 资源的计费类型:按量付费和包年包月。 |
集群登录密码 | 长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*-+=|{}[]:;'<>,.?/ 中的特殊符号)。 |
Ehpc部署模式 | Tiny,Simple,Standard。 |
计算节点实例类型 | 可用区下可以使用的计算节点规格。 |
计算节点数量 | 计算节点数量, 可选值:1-99。 |
登录节点实例类型 | 可用区下可以使用的登录节点规格。 |
管控节点数量 | 管控节点数量, 可选值:1,2,4。 |
用户密码 | 长度8-30,必须包含三项(大写字母、小写字母、数字、 ()`~!@#$%^&*-+=|{}[]:;'<>,.?/ 中的特殊符号)。 |
用户名称 | 登录集群所用的用户名,默认为lammps。 |
可用区 | ECS实例所在可用区。 |
VPC ID | 资源所在VPC。 |
交换机ID | 资源所在交换机。 |
部署流程
访问计算巢AutoDock Vina社区版部署链接,按提示填写部署参数。
参数填写完成后可以看到对应询价明细,确认参数后单击下一步:确认订单。
确认订单,同意服务协议并单击立即创建,进入部署阶段。
使用流程
步骤一:通过控制台连接集群
登录弹性高性能计算控制台。
在顶部菜单栏左上角处,选择地域。
在左侧导航栏,单击集群。
在集群页面,找到在计算巢部署好的目标集群,单击远程连接。
在远程连接页面,输入集群用户名、登录密码和端口,单击ssh连接。
步骤二:提交作业
本文通过模拟小分子配体和生物大分子受体相互作用的过程,预测配体与受体的结合模式和亲和力,模拟实现对药物的筛选。目前商业应用较广泛的Specs、Enamine和ChemDiv化合物库,均可提供大量配体模拟计算配体和给定受体的相互作用。由于不同配体之间没有依赖,因此可以大规模并行处理。本文同样适用于其它大批量、高并发处理需求的生物、医药等场景。
下载并解压作业文件。
说明如果集群中没有安装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
使用VNC可视化查看作业结果。
打开VNC。控制台操作时系统会自动打开集群安全组12016端口。
在弹性高性能计算控制台的左侧导航栏,单击集群。
在集群页面,找到目标集群,单击更多>VNC。
使用VNC远程连接可视化服务。具体操作,请参见连接可视化服务。
在VNC窗口中,选择
。在Terminal中执行命令 /usr/local/bin/adt /home/vinatest/022/vina-ehpcarrayjob/1fkn_rgd.pdbqt /home/vinatest/out.pdbqt ,打开AutoDock Tools并加载作业结果。
在弹出的AutoDock Tools窗口中加载模型后,显示结果如下。