在化学信息学中,分子数据的获取与解析是最基础的部分。对于已知的化合物,我们可以从各种数据库中获取;对于未知的化合物,我们也可以构造该分子。在RDKit中,无论是从数据库中获取的分子文件还是自己构建的分子,在解析前通常将其转换成mol对象,并用mol对象进行分子绘制,获取原子、键、原子序号、原子名称各种信息以及获取分子描述符等一系列操作。本文大致分为三个部分:不同来源的分子数据转成mol对象方法、分子图像的绘制与分子结构信息的解析。
一:分子数据转换mol对象
(1)SMILE编码(MolFromSmiles)
'SMILE'是Structure,Meaning,Language,Effect的缩写,它是以字符串的形式表示分子结构。并且每个smiles编码与化学结构是一一对应的。在smiles编码字符串中,主要使用C,H,O,N,S等字母表示相应的原子(不包含H);相邻两个原子表示单键连接,原子间'='表示双键,'#'表示三键;若该原子含有支链,则用括号表示支链;若有环结构,首位相连的原子后用1,2等表示(通常芳香结构的原子用小写字母)。对于双键,“/”符号表示顺式,“\”表示反式;对于手性原子,“@”表示原子顺时针排列,“@@”为逆时针。
举例:
1:'CCC'丙烷,2:'C=C'乙烯,3:'C#C'乙炔,4:'C(=O)C'丙酮,5:'C1=CC=CC=C1'苯环,6:'C1(C=CC=C2)=C2C=CC=C1'萘。
from rdkit import Chem
s='NC(C)C(=O)O' #丙氨酸smiles编码
smile=Chem.MolFromSmiles(s) #从smiles编码中获取结构信息
Chem.Draw.ShowMol(smile) #画分子图
使用Chem.MolFromSmiles()函数,可以从smiles编码中获取分子结构信息,进而画分子图。
(2)PDB文件、FASTA文件(MolFromPDBFile、MolFromFSATA)
使用函数MolFromPDBFile获取蛋白质文件分子结构,PDB文件

本文介绍了如何使用RDKit库在化学信息学中处理分子数据,包括从SMILES编码、PDB文件、FASTA文件、氨基酸序列、MOL和MOL2文件中获取mol对象,并详细阐述了分子图像绘制和分子结构信息的解析方法。通过GetAtoms()和GetBonds()获取原子和化学键信息,以及FindMolChiralCenters()查找手性中心等,展示了RDKit在分子结构分析的强大功能。
最低0.47元/天 解锁文章
881





