RDKit|分子基础操作与药效团查找

分子基础操作与药效团查找

1.原子操作

在rdkit中,分子中的每一个原子都是对象,可以通过原子对象的属性和函数来获取各种信息。

  • 对原子进行遍历:m.GetAtoms()
  • 获取原子索引:GetIdx()
  • 获取原子序号:GetAtomicNum()
  • 获取原子符号:GetSymbol()
  • 获取原子连接数(受H是否隐藏影响):GetDegree()
  • 获取原子总连接数(与H是否隐藏无关):GetTotalDegree()
  • 获取原子形式电荷:GetFormalCharge()
  • 获取原子杂化方式:GetHybridization()
  • 获取原子显式化合价:GetExplicitValence()
  • 获取原子隐式化合价:GetImplicitValence()
  • 获取原子总的化合价:GetTotalValence()
>>> from rdkit import Chem
>>> m = Chem.MolFromSmiles('C1OC1')
>>> print('\t'.join(['id', 'num', 'symbol', 'degree', 'charge', 'hybrid']))
>>> for atom in m.GetAtoms():
>>>     print(atom.GetIdx(), end='\t')
>>>     print(atom.GetAtomicNum(), end='\t')
>>>     print(atom.GetSymbol(), end='\t')
>>>     print(atom.GetDegree(), end='\t')
>>>     print(atom.GetFormalCharge(), end='\t')
>>>     print(atom.GetHybridization())
id	num	symbol	degree	charge	hybrid
0	6	C		2		0		SP3
1	8	O		2		0		SP3
2	6	C		2		0		SP3
  • 也可以通过索引获取原子:GetAtomWithIdx()
>>> print(m.GetAtomWithIdx(0).GetSymbol())
C
  • 获取相连的原子:GetNeighbors()
>>> atom = m.GetAtomWithIdx(1)
>>> [x.GetAtomicNum() for x in atom.GetNeighbors()]
[6, 6]

2.键操作

同样,每一个键也都是对象,可以通过属性和函数来获取键的信息。

  • 对键进行遍历:m.GetBonds()
  • 获取键的索引:GetIdx()
  • 获取键的类型:GetGetBondType()
  • 以数字形式显示键的类型:GetBondTypeAsDouble()
  • 是否为芳香键:GetIsAromatic()
  • 是否为共轭键:GetIsConjugated()
  • 是否在环中:IsInRing()
  • 是否在n元环中:IsInRingSize(n)
  • 获取起始原子:GetBeginAtom()
  • 获取末尾原子:GetEndAtom()
>>> m = Chem.MolFromSmiles('C=C-C=C')
>>> print('\t'.join(['id', 'type', 'double', 'aromic', 'conjug', 
  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值