首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于RDKit的Python脚本:SDF格式转SMILES格式

RDKit: Open-Source Cheminformatics Software

http://www.rdkit.org/

简化分子线性输入规范(SMILES)是一种用ASCII字符串明确描述分子结构的规范,由David Weininger和Arthur Weininger于20世纪80年代晚期开发,并由其他人,尤其是日光化学信息系统有限公司修改和扩展。

SMILES字符串可以被大多数分子编辑软件导入并转换成二维图形或分子的三维模型。转换成二维图形可以使用Helson的“结构图生成算法”(Structure Diagram Generation algorithms)。

基于RDKit的Python脚本:sdf格式转smiles格式

代码语言:javascript
复制
#!usr/bin/python3
# python sdftosmiles.py molecules.sdf
import sys
from rdkit import Chem
def converter(file_name):
    mols = [ mol for mol in Chem.SDMolSupplier( file_name ) ]
    outname = file_name.split(".sdf")[0] + ".smi"
    out_file = open( outname, "w" )
    for mol in mols:
        smi = Chem.MolToSmiles(mol)
        name = mol.GetProp("_Name")
        out_file.write( "{}\t{}\n".format(smi, name ))
    out_file.close()
if __name__=="__main__":
    converter( sys.argv[1] )
下一篇
举报
领券