AttributeError: ‘NoneType‘ object has no attribute ‘GetAtoms‘

遇到这个问题很简单,只要你打印一下你的smile的mol是否存在即可,利用以下命令将smiles转mol:

mol = Chem.MolFromSmiles(smi)

SMILES变成它的Mol对象,它只是返回None,这就是为什么错误说'NoneType'而不是RDKit内部Mol对象。检查您试图加载的SMILES字符串,并确保它是正确的。所以你需要重新审视你输入的smiles的准确性。有两种处理方式:

1、要么对当前报错块区域进行如下修改,对转换之后的mol进行过滤

      if mol is None: continue

2、要么对生成smiles文件进行重新生成,对原smiles进行处理

mol = Chem.MolFromSmiles(smi)
if not mol:
    return ''
if remove_atom_mapping:
    for atom in mol.GetAtoms():
        if atom.HasProp("molAtomMapNumber"):
            atom.ClearProp("molAtomMapNumber")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值