RDKit|骨架分解与侧链分离

一、骨架分解

1.Murcko Scaffold

Murcko骨架由Murcko等人设计并用药物的形状、结构分析。他们将药物分子拆解成四种单元:环系结构(ring system)、接头(linker)、骨架(scaffold)、侧链(side chain),其中scaffold又由ring system和linker组成;scaffold和side chain又组成了药物分子。这么分解可以提供以下几点好处:

  1. Scaffold可以为药物的整体设计提供参考
  2. Ring system和linker可以为药化提供合成单元
  3. 可以通过形状的分析,评价分子库的类药程度

Rdkit中也提供了一些用于骨架和侧链分析的工具

  • 获取Murcko骨架:GetScaffoldForMol()
>>> from rdkit import Chem
>>> from rdkit.Chem import Draw
>>> from rdkit.Chem.Scaffolds import MurckoScaffold
>>> m = Chem.MolFromSmiles('O=C(NCc1cc(OC)c(O)cc1)Cc1cocc1CC')
>>> core = MurckoScaffold.GetScaffoldForMol(m)
>>> m_core = [m, core]
>>> Draw.MolsToGridImage(m_core, subImgSize=(250, 250))

1

  • 直接获取smiles的murcko骨架,并输出smiles:MurckoScaffoldSmilesFromSmiles(smiles, mol, includeChirality)
  • 同MurckoScaffoldSmiles()
>>> MurckoScaffold.MurckoScaffoldSmilesFromSmiles('O=C(NCc1cc(OC)c(O)cc1)Cc1cocc1CC')
'O=C(Cc1ccoc1)NCc1ccccc1'

2.Generic Framework

将分子以图的形式表示,对结构进行抽象,即所有的原子作为顶点,所有的键作为边,主要反映了原子间的连接属性。

  • 产生generic骨架:MakeScaffoldGeneric()
    所有重原子都以碳来代替,所有的键都以单键代替
>>> gen_mcore = map(MurckoScaffold.MakeScaffoldGeneric, m_core)
>>> Draw.MolsToGridImage(list(gen_mcore), subImgSize
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值