rdkit 化学性质(ChemicalFeatures)和药效团

本文介绍了Rdkit如何利用特征定义文件(FDef)进行化学特性分析,包括原子类型和特征的定义。重点讨论了2D药效团指纹的生成,如参数设置、Gobbi 2D指纹,并提供了修改FDef设置的方法,以适应不同的特征需求。
摘要由CSDN通过智能技术生成

一、引入所需库

#! /usr/bin/python
# coding: utf-8

import os
from rdkit import Chem
from rdkit import RDConfig

from rdkit.Chem import AllChem
from rdkit.Chem import Draw

from rdkit.Chem import ChemicalFeatures
from rdkit.Chem.Pharm2D.SigFactory import SigFactory
from rdkit.Chem.Pharm2D import Generate, Gobbi_Pharm2D

二、化学性质

# 建立一个化学性质对象,通过该对象可以得到分子的化学性质
fdefName = os.path.join(
    RDConfig.RDDataDir,
    '/Users/zeoy/st/drug_development/st_rdcit/BaseFeatures.fdef'
)
factory = ChemicalFeatures.BuildFeatureFactory(fdefName)

smi = 'C=CC(=O)N1CCC(CC1)C2CCNC3=C(C(=NN23)C4=CC=C(C=C4)OC5=CC=CC=C5)C(=O)N'
m = Chem.MolFromSmiles(smi)
Draw.MolToImageFile(
    m,
    "/Users/zeoy/st/drug_development/st_rdcit/img/mol38.jpg",
)

在这里插入图片描述

# 使用特征工厂搜索特征
feats = factory.GetFeaturesForMol(m)
print(len(feats))  # 16

# 搜索到的每个特征都包含了改特征家族(例如受体、供体等)特征类别、该特征对应的原子、特征对应的序号等
for f in feats:
    print(
        f.GetFamily(),  # 特征家族信息
        f.GetType(),    # 特征类型信息
        f.GetAtomIds()  # 特征对应原子
    )

# Donor SingleAtomDonor (4,)
#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值