目前,一种药物被批准上市平均需花费20-30亿美元和10多年的开发。基于结构的虚拟筛选有可能加速药物研发。通过基于结构的虚拟筛选,命中的质量随着筛选的化合物的数量而提高[1]。LeDock是常用的虚拟筛选软件,使用LeDock成功发现了新型激酶抑制剂和溴结构域拮抗剂[2]。LeDock具有较高的准确率,便捷性,计算速度也相当令人满意。但是,在虚拟筛选过程中还存在以下两个问题:(1)小分子化合物的输入格式是SYBYL Mol2,其他3D格式如pdb、xyz、sdf甚至1D格式SMILES等转为mol2格式的时候,往往导致原子类型错误,使LeDock的准确率下降[3];(2)LeDock目前的版本为单核心运行,难以发挥多核心CPU的优势。因此,本文将以海洋化合物中筛选SARS-CoV-2Mpro的潜在抑制剂[4]为例,主要介绍上面两个问题的一些解决方案,仅供参考。
1.研究背景
Mpro是一种同源二聚体,具有两个活性位点,每个位点包含一个Cys-His催化二元组,进行肽键的水解,在病毒复制过程中介导多聚蛋白(polyprotein)的成熟裂解。因此,Mpro被作为防止病毒复制的潜在药物靶点。
据估计,市场上提供的药物中有60%以上来自天然产物或灵感来自天然产物。因此,它为发现具有从抗病毒到抗癌等生物活性的治疗药物提供了一个潜在的机会。在过去的几十年里,不仅植物和陆生生物,而且海洋生物也为开发具有更大疗效和特性的新药提供着重要的来源。海洋真菌和细菌是很有前景的来源,含有许多独特结构的化学分子,为现代创新药物研发提供了重要结构信息,已成为人类重大疾病药物先导化合物发现的重要源泉。
2.化合物准备
从https://pubs.rsc.org/en/content/articlelanding/ra/2021/d1ra03852d补充材料获得690个海洋天然化合物的SMILES式,使用smi2sdf.py脚本转为sdf格式[5]。
学术版LeDock目前仅支持mol2格式(http://www.lephar.com/index.htm),因此使用chimera转为mol2格式。
下载安装chimera,运行命令:
for i in *.sdf
do
jobname=`basename $i .sdf`
chimera –nogui $i processSDF.cmd
mv output.mol2 $jobname.mol2
done
其中processSDF.cmd内容为:
write format mol2 0 output.mol2
3.蛋白结构准备
wget http://www.pdb.org/pdb/files/7JYC.pdb
lepro 7JYC.pdb
网格中心是 Narlaprevir 质心,对接盒子大小为2.4×2.4×2.4 nm。修改dock.in文件,其中
Xmin=111.55 Xmax=135.55
Ymin=-9.731 Ymax=14.269
Zmin=10.25 Zmax=34.25
4.LeDock的并行
(1)使用命名管道(fifo)的方式,实现进程数量的可控
mkfifo testfifo #新建一个fifo类型的文件
exec 1000<>testfifo #以读写方式打开文件,并把文件描述符fd1000指向该文件
rm -rf testfifo #该文件可以删掉(存在未关闭的fd,实际上文件并没有真正删除)
for((i=1;i<=${threads};i++))
do
echo >&1000 #echo输出空行,循环执行,相当于给文件输入threads个空行
done
for i in xxx
do
read -u1000 #从该文件中读一行,如果没有就会卡在这里,相当于开启一个线程。
{
ledock dock.in
echo >&1000 #执行完任务后,输入一行到该文件。相当于释放一个线程。
}&
done
wait
exec 1000>&- #关闭fd1000
(2)使用parallel实现并行
利用for循环将对接运行的任务写入文件(parallel-LeDock.txt),如下所示:
./ledock_linux_x86 dock-M001.in
./ledock_linux_x86 dock-M002.in
…….
./ledock_linux_x86 dock-M689.in
./ledock_linux_x86 dock-M690.in
运行:
parallel -j 48 < parallel-LeDock.txt
github上也有更优雅的LeDock虚拟高通量筛选脚本[6]。
另外也可以通过判断线程数,如果小于设定线程数,则运行新的任务[7]。
5.总结
本文主要介绍了化合物结构准备的过程以及LeDock实现并行的两个思路,脚本也可以直接提交至超算集群进行更大规模的虚拟筛选(调用上万个核心可能存在问题,慎用)。也可以改进这两个脚本,加上if判断实现续算,避免各种意外的情况发生。并行的思路可以运用到多个软件,最大化地使用CPU,减少任务执行时间。
文中使用的脚本链接:https://pan.baidu.com/s/12AXZ5-9MnDcXrPMN2xg7PA 提取码:test 。
参考资料
[1] Gorgulla C, Boeszoermenyi A, Wang Z F, et al. An open-source drug discovery platform enables ultra-large virtual screens[J]. Nature, 2020, 580(7805): 663-668.
[2] http://www.lephar.com/
[3] https://b23.tv/vIpEX2
[4] Tam N M, Pham M Q, Nguyen H T, et al. Potential inhibitors for SARS-CoV-2 Mpro from marine compounds[J]. RSC Advances, 2021, 11(36): 22206-22213.
[5] https://github.com/UnixJunkie/smi2sdf3d
[6] https://github.com/cemilcansaylan/ledock_hts
[7] http://bbs.keinsci.com/thread-1433-1-1.html