deepchem中图卷积的输出

Output of Graph Convolution in deepchem

我正在使用 Deepchem to create features for the my GraphConvolution 模型如下。

import deepchem as dc
from rdkit import Chem
import numpy as np
import pandas as pd
from rdkit.Chem import Draw
from rdkit.Chem.Draw import IPythonConsole

smile = 'O=C(C1=CC=C(C=C1)C(O)=O)O'
molecules = []
molecules.append(Chem.MolFromSmiles(smile))
featurizer = dc.feat.graph_features.ConvMolFeaturizer()
mol_object = featurizer.featurize(mols=molecules)

现在我想知道输出 mol_object。我知道 dc.feat.graph_features.ConvMolFeaturizer() returns 是一个数组对象。但它实际上对输入起作用。

所以 featurizer.featurize(mols=molecules)molecules 作为输入。 molecules[0] 将打印下图。

因为 molecules 是一个列表,它只包含索引 0 处的一个元素,即 molecules[0]。这意味着 dc.feat.graph_features.ConvMolFeaturizer() 中的 mols 将此图像作为输入并输出 mol_object.

这是什么 mol_object 输出,我如何查看它?显示是一个数组,但是我看不到这个数组的内容?

print(np.shape(mol_object))
(1,)
print(type(mol_object))
<class 'numpy.ndarray'>
print(mol_object)
[<deepchem.feat.mol_graphs.ConvMol object at 0x7f96a68c6e48>]

如何检查或查看 [<deepchem.feat.mol_graphs.ConvMol object at 0x7f96a68c6e48>]

为什么不查看 ConvMol 对象的 source code

featurizer 的输出 returns 一个 ConvMol 对象数组(每个 rdkit 分子输入一个对象)即 deepchem.feat.mol_graphs.ConvMol,您真正想要检查的是数组的第一个元素,mol_object[0]。

查看源代码,您可以了解包含哪些有关分子的信息,例如可以访问的原子特征 ConvMol.atom_features,或者在您的情况下 mol_object[0]。atom_features