基于rdkit将smiles转换为smarts

基于rdkit将smiles转换为smarts

载入包

from rdkit import Chem

载入smiles

mol = Chem.MolFromSmiles("CC1=C(N(N=N1)C)C2=CC3=C(C4=C(N3C(C5CCOCC5)C6=CC=CC=C6)C=C(C=C4)C(C)(C)O)N=C2")

转换

s = Chem.MolToSmarts(mol)
smart = s.replace('#6', 'C').replace('#8', 'O').replace('#15', 'P').replace('#7', 'N')
print(Chem.MolToSmiles(mol))
print(s)
print(smart)

结果

Cc1nnn(C)c1-c1cnc2c3ccc(C(C)(C)O)cc3n(C(c3ccccc3)C3CCOCC3)c2c1
 
[#6]-[#6]1:[#6](:[#7](:[#7]:[#7]:1)-[#6])-[#6]1:[#6]:[#6]2:[#6](:[#6]3:[#6](:[#7]:2-[#6](-[#6]2-[#6]-[#6]-[#8]-[#6]-[#6]-2)-[#6]2:[#6]:[#6]:[#6]:[#6][#6]:2):[#6]:[#6](:[#6]:[#6]:3)-[#6](-[#6])(-[#6])-[#8]):[#7]:[#6]:1

[C]-[C]1:[C](:[N](:[N]:[N]:1)-[C])-[C]1:[C]:[C]2:[C](:[C]3:[C](:[N]:2-[C](-[C]2-[C]-[C]-[O]-[C]-[C]-2)-[C]2:[C]:[C]:[C]:[C]:[C]:2):[C]:[C](:[C]:[C]:3)-[C](-[C])(-[C])-[O]):[N]:[C]:1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值