1

我正在使用 Deepchem为我的 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()返回一个数组对象。但它实际上对输入起作用。

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

毫升

作为molecules一个列表,它仅包含索引 0 处的一个元素,即molecules[0]. 这意味着molsindc.feat.graph_features.ConvMolFeaturizer()将此图像作为输入和输出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>]

4

1 回答 1

4

为什么不看一下ConvMol 对象的源代码呢?

特征化器的输出返回一个 ConvMol 对象数组(每个 rdkit 分子输入一个),即 deepchem.feat.mol_graphs.ConvMol,您实际要检查的是数组的第一个元素 mol_object[0]。

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

于 2019-10-08T09:32:36.573 回答