本文是关于一个受体与多个配体的分子对接批处理。
由于作者本人也是赶鸭子上架,写出来的脚本比较简单,请见谅。
此外,由于对某个语言某个包的喜爱与使用,作者用到的编程工具比较杂,但是可以作为思路参考。当然,如果您具备条件,也可以选择复刻,本文章的代码都被跑过,请根据自己需要修改参数(内含中文不能直接跑)与编程。
一、获取受体
WIndows 系统
从 https://www.rcsb.org/ 获取需要用到的蛋白,从Chimera/Pymol经处理后保存到文件夹receptor,命名为receptor.pdbqt
具体可见我之前的文章中第四步对接蛋白准备:https://blog.csdn.net/Squirrelity/article/details/124839353?spm=1001.2014.3001.5502
二、获取配体
WIndows 系统
此处需要批量获取分子信息,选用的网站上pubchem。所用到的编程语言是python。
首先是获取一份药物分子名称(或者是cid、分子构成等)的列表(根据你的需要,自行百度)
其次利用pubchempy包转换为cid
官方文档:
https://pubchempy.readthedocs.io/en/latest/guide/gettingstarted.html#retrieving-a-compound
然后根据cid批量下载分子的3D-SDF文件。这里我把文件命名为分子名称-cid.sdf的格式,便于以后分析。
```python
import pubchempy as pcp
file = open("含有药物分子名称的文件","r")
total = 分子总数
for name in file:
print(name)
compounds = pcp.get_compounds(name,"name")
for compound in compounds:
print(compound.cid)
rs = name.rstrip('\n')
sdfpath = "安装路径\\%s-%s.sdf" %(rs,format(compound.cid))
try:
pcp.download('SDF', sdfpath, overwrite=True, identifier=compound.cid, record_type='3d')
except pcp.NotFoundError as e:
print('No 3d Conformer for {}.'.format(compound.cid))
total