【问题标题】:Calculate descriptors with RDkit使用 RDkit 计算描述符
【发布时间】:2020-09-30 16:18:47
【问题描述】:

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

MolecularDescriptorCalculator.CalcDescriptors(mol, simplelist) 

它返回:

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

【问题讨论】:

    标签: descriptor rdkit molecule


    【解决方案1】:

    看起来你使用的 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,)
    

    【讨论】:

      【解决方案2】:

      要计算所有的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-02-19
        • 2016-03-16
        • 2016-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-14
        • 2012-10-06
        相关资源
        最近更新 更多