0

我正在尝试在 python 中计算具有 RDkit 的分子列表的所有描述符(2D/3D)。当我运行时:

MolecularDescriptorCalculator.CalcDescriptors(mol, simplelist) 

它返回:

AttributeError: 'Mol' object has no attribute 'simpleList'
4

2 回答 2

0

看起来你使用 API 有点错误,你需要MolecularDescriptorCalculator先用你需要的描述符列表初始化类。

simplelist = ['TPSA']  # In the list add the names of the descriptors required
calculator = MolecularDescriptorCalculator(simplelist)
descriptors = calculator.CalcDescriptors(mol)
print(descriptors)

[Out]:
(21.259999999999998,)
于 2020-10-02T11:49:25.073 回答
0

要计算所有 rdkit 描述符,可以使用以下代码:

descriptor_names = list(rdMolDescriptors.Properties.GetAvailableProperties())

get_descriptors = rdMolDescriptors.Properties(descriptor_names)

使用微笑字符串计算描述符

def smi_to_descriptors(smile):
    mol = Chem.MolFromSmiles(smile)
    descriptors = []
    if mol:
        descriptors = np.array(get_descriptors.ComputeProperties(mol))
    return descriptors

如果微笑在熊猫数据框中

dataset['descriptors'] = dataset.SMILES.apply(smi_to_descriptors)
于 2021-10-12T00:39:14.037 回答