我正在尝试在 python 中计算具有 RDkit 的分子列表的所有描述符(2D/3D)。当我运行时:
MolecularDescriptorCalculator.CalcDescriptors(mol, simplelist)
它返回:
AttributeError: 'Mol' object has no attribute 'simpleList'
我正在尝试在 python 中计算具有 RDkit 的分子列表的所有描述符(2D/3D)。当我运行时:
MolecularDescriptorCalculator.CalcDescriptors(mol, simplelist)
它返回:
AttributeError: 'Mol' object has no attribute 'simpleList'
看起来你使用 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,)
要计算所有 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)