我们在做分子对接,特别是蛋白与多肽小分子对接的时候需要准备多肽分子的结构文件才能用于后续的对接操作。
我们可以利用ChemDraw等软件来完成这个操作,但是这类软件一般都是商业软件,需要付费。
为此,前不久我们写了一款在线工具,用来在线免费的将多肽序列转换成SMILES,有了SMILES就很容易转换成.sdf或者pdb等格式了。这款在线工具支持20种L型自然氨基酸以及D型氨基酸,同时支持各种成环方式,包括首尾成环,二硫键成环等7种成环方式。
在线工具地址:多肽序列转SMILES
用法很简单,可以参考页面的说明,在此不做赘述。
比如,我们输入多肽序列:DYKDDDDK,选择首尾成环,得到SMILES为:
N2[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(Cc1ccc(O)cc1)C(=O)N[C@@]([H])(CCCCN)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CCCCN)C2(=O)
然后我们可以有好几种方式展示这条多肽的2维结构。
在线工具
如http://cdb.ics.uci.edu/cgibin/Smi2DepictWeb.py,https://pubchem.ncbi.nlm.nih.gov/edit3/index.html
通过RDKit包
RDkit是著名的开源化学信息学工具之一,基于BSD协议,核心数据结构与算法由C++编写。支持Python2与Python3,支持KNIME,支持机器学习方面的分子描述符的产生。
我们主要介绍下RDKit如何用来显示结构及转换格式
安装RDKit
建议通过anaconda来安装及管理python环境。比如笔者电脑中安装了python 3.6(环境名为python3)及python2.7(环境名为python2).如果要在python 3.6中安装RDKit的话,就先打开Anaconda Prompt输入: activate python2, 激活环境之后,再输入:conda install -c conda-forge rdkit python=3.6即可;如果是要在python2.7中安装,类似的,先打开Anaconda Prompt输入: activate python3, 激活环境之后,再输入:conda install -c conda-forge rdkit python=2.7
运行下面的代码
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import Draw
mol = Chem.MolFromSmiles('N2[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(Cc1ccc(O)cc1)C(=O)N[C@@]([H])(CCCCN)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CC(=O)O)C(=O)N[C@@]([H])(CCCCN)C2(=O)');
# 将SMILES生成图片
Draw.MolToFile(mol,'flag-tag.png',size=(600,600))
# 将SMILES格式转换成SDF格式
w = Chem.SDWriter('flag-tag.sdf')
# 加上坐标
AllChem.Compute2DCoords(mol)
w.write(mol)
w.flush()
Souce: 纽普生物 2019-08-28