一种新的基于图像的药物发现深度学习算法,需要将包含约 3000 种化合物的文件拆分为包含单个 2D 200 x 200 像素图像的 png 文件(.: SN00001400.png、SN00002805.png、SN00002441.png.. ......)。不需要任何构象,也不需要任何其他 3D 信息。
我可以发送一个包含 9 个复合图像、名称和微笑的初始 f1.sdf 示例,每个复合行一个。
在带有 Python 3.6、3.7 或 3.8、Jupyter 笔记本和/或 Python 提示符的 Anaconda3 中使用 rdkit 2017.09.1,在 Windows 8 专业版中的 2 个 e7 64 计算机中,我正在寻找一个简单的 Python 代码来分割图像,将它们转换为200 x 200 像素的 png 文件 (carios),通过其对应的复合 ID 命名它们并将它们保存到不同的目录 (.: images) 中,以供测试。
我尝试了许多不同的网络代码和组合,但尽管进行了密集的测试,但它们没有工作:-(。
遵循我最好的(?)代码试验。
rdkit 进口测试
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import Draw
from rdkit.Chem.Draw import rdMolDraw2D
from rdkit.Chem.Draw.rdMolDraw2D import MolDraw2DSVG
from rdkit.Chem.Draw.rdMolDraw2D import MolDraw2DCairo # cannot import
from rdkit.Chem.Draw import IPythonConsole
from IPython.display import SVG # IPython not in module
from rdkit.Chem import rdDepictor
from rdkit.Chem import MolFromSmiles
使用独特微笑的最佳测试
IPythonConsole.molSize = (200, 200)
IPythonConsole.ipython_useSVG = True #I would rather use Cairo but I could not make it to work!
mol = Chem.MolFromSmiles('N#Cc1cccc(-c2nc(-c3cccnc3)no2)c1')
display(mol) # not working
AllChem.Compute2DCoords(mol)
在这条线上,我尝试了不同的微笑,但结果相似。
IMG_SIZE = 200
smiles="CCCC"
mol = Chem.MolFromSmiles(smiles)
drawer = rdMolDraw2D.MolDraw2DSVG(IMG_SIZE, IMG_SIZE) #MolDraw2D has no attribute MolDraw2DCairo despite cairo being installed!
drawer.drawOptions().bondLineWith = 1
drawer.DrawMolecule(mol) # bad conformer id (?????)
drawer.FinishDrawing()
drawer.WriteDrawingText('comp_id.png')
在 f1.sdf 中使用 9 种化合物的最佳尝试
suppl=Chem.SDMolSupplier('f1.sdf')
for mol in suppl:
print(mol.GetName()) # AttributeError: 'Mol' object has no attribute 'GetMolecule_Name'
mols=[x for x in suppl]
Name(mols)
suppl = Chem.SDMolSupplier('f1.sdf')
ms= [x for x in suppl if x is not None]
for m in ms:
tmp=AllChem.Compute2DCoords(m)
Draw.MolToFile(ms[0], 'images/mol1.png') cairo.IOError: error while writing to output stream
Draw.MolToFile(ms[1], 'images/mol2.png')
..................................................... .....................
希望能得到一些帮助!感谢您的关注,真诚的胡里奥
juliocollm@gmail.com