文章目录
rdkit涵盖了Daylight SMILES所有的标准功能以及一些有用的扩展,下面是扩展的部分内容
一、引入所需库
#! /usr/bin/python
# coding: utf-8
import os
from rdkit import Chem
from rdkit.Chem import Draw
二、芳香性
和氧同族的Te(碲 , 拼音 : dì , 原子序数52 , 是银白色的类金属 ) 元素也可能具有芳香性 , 当其连接2个芳香原子时 , 它贡献2个pi电子 。
m = Chem.MolFromSmiles('OC(=O)c1[te]ccc1')
Draw.MolToImageFile(
m,
'/Users/zeoy/st/drug_development/st_rdcit/img/mol48.jpg',
legend='tellurophene-2-carboxylic acid'
)
# 碲吩-2甲酸分子
# Te原子的编号是4,下面检查其芳香性
aromatic_atom4 = m.GetAtomWithIdx(4).GetIsAromatic()
print('atom4 is aromatic', aromatic_atom4) # atom4 is aromatic True
三、 配位键
rdkit通过 -> 和 < -来支持配位键表示 , 箭头的方向非常重要 , 代表了谁提供电子
配位键不会影响起始原子的价态 , 只会影响指向原子的价态
cu_mol = Chem.MolFromSmiles('[Cu](Cl)Cl')
bipy = Chem.MolFromSmiles('C1(C2=NC=CC=C2)=CC=CC=N1')
bipycu = Chem.MolFromSmiles('c1cccn->2c1-c1n->3cccc1.[Cu]23(Cl)Cl')
mols = [cu_mol, bipy, bipycu]
img = Draw.MolsToGridImage(
mols,
molsPerRow=3,
subImgSize