首页 > 解决方案 > 如何从 deepchem 的 ConvMol 对象中获取 MOL 对象

问题描述

关于python库deepchem,如何从deepchem的ConvMol对象中获取mol对象或smiles。

例子

import numpy as np
import tensorflow as tf
import deepchem as dc
from deepchem.models.tensorgraph.models.graph_models import GraphConvModel

tox21_tasks, tox21_datasets, transformers = dc.molnet.load_tox21(featurizer='GraphConv')
train_dataset, valid_dataset, test_dataset = tox21_datasets

print(train_dataset.X)
>>> <deepchem.feat.mol_graphs.ConvMol object at 0x7...>

我想获取每个数据的 MOL 对象或 SMILES。

标签: pythonpython-3.xdeep-learning

解决方案


ConvMol对象是 DeepChem 的图形卷积使用的自定义特征化,因此无法从中获取 SMILES 字符串。但是,从您的示例中,您有train_dataset一个 deepchemDataset对象。您可以将 SMILES 集恢复为train_dataset.ids. 这些将与 中的ConvMol对象的顺序相同train_dataset.X


推荐阅读