美文网首页
基于化合物的smiles信息,如何获得其对应的fingerpri

基于化合物的smiles信息,如何获得其对应的fingerpri

作者: dming1024 | 来源:发表于2024-06-19 12:21 被阅读0次

要基于化合物的SMILES信息获取其对应的指纹(fingerprint)信息,可以使用Python中的化学信息学库,如RDKit。RDKit 是一个用于化学信息学的开源工具包,能够处理化学结构和化学反应,生成化学指纹等。

以下是使用RDKit从SMILES生成化学指纹的步骤和示例代码:

  1. 安装RDKit
    如果你还没有安装RDKit,可以使用以下命令进行安装:

    conda install -c conda-forge rdkit
    
  2. 从SMILES生成指纹
    RDKit支持生成多种类型的指纹,例如Morgan指纹(也称为环指纹或ECFP),传统的RDK指纹等。下面的示例代码展示了如何从SMILES生成Morgan指纹和RDK指纹。

from rdkit import Chem
from rdkit.Chem import AllChem

# SMILES字符串
smiles = 'CCO'

# 将SMILES字符串转换为RDKit的分子对象
mol = Chem.MolFromSmiles(smiles)

# 生成Morgan指纹(等同于ECFP4,半径为2)
morgan_fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048)

# 生成RDK指纹
rdk_fp = Chem.RDKFingerprint(mol)

# 将指纹转换为位向量字符串
morgan_fp_str = morgan_fp.ToBitString()
rdk_fp_str = rdk_fp.ToBitString()

# 输出指纹信息
print("Morgan Fingerprint (ECFP4):", morgan_fp_str)
print("RDK Fingerprint:", rdk_fp_str)

# 如果需要将指纹转换为整数列表,可以使用以下方法
morgan_fp_list = list(morgan_fp)
rdk_fp_list = list(rdk_fp)

print("Morgan Fingerprint as List:", morgan_fp_list)
print("RDK Fingerprint as List:", rdk_fp_list)

代码解释:

  1. 导入必要的模块

    from rdkit import Chem
    from rdkit.Chem import AllChem
    
  2. SMILES字符串

    smiles = 'CCO'
    

    定义化合物的SMILES字符串。

  3. 将SMILES字符串转换为RDKit的分子对象

    mol = Chem.MolFromSmiles(smiles)
    

    使用 Chem.MolFromSmiles 方法将SMILES字符串转换为分子对象。

  4. 生成Morgan指纹

    morgan_fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048)
    

    使用 AllChem.GetMorganFingerprintAsBitVect 方法生成Morgan指纹,半径为2,指纹位数为2048。

  5. 生成RDK指纹

    rdk_fp = Chem.RDKFingerprint(mol)
    

    使用 Chem.RDKFingerprint 方法生成RDK指纹。

  6. 将指纹转换为位向量字符串

    morgan_fp_str = morgan_fp.ToBitString()
    rdk_fp_str = rdk_fp.ToBitString()
    

    使用 ToBitString 方法将指纹转换为位向量字符串形式。

  7. 输出指纹信息

    print("Morgan Fingerprint (ECFP4):", morgan_fp_str)
    print("RDK Fingerprint:", rdk_fp_str)
    

    输出指纹信息。

  8. 将指纹转换为整数列表(可选)

    morgan_fp_list = list(morgan_fp)
    rdk_fp_list = list(rdk_fp)
    

    将指纹转换为整数列表形式。

使用上述方法,您可以从化合物的SMILES信息生成其对应的指纹信息,用于化学信息学研究和应用。

相关文章

  • SMILES & InChI | 化学结构的线性表示法

    SMILES表示法、SMARTS表示法和InChI表示法都是用少量字符表示结构信息的重要方法。 化合物的图表示 可...

  • 如何获得更多的画外信息?

    我是一名新手心理咨询师,一般是面询,我获得画外信息更多是通过对来访者的观察,这些信息我会在来访者的画中做对比和印证...

  • 如何获得真实的公司信息

    如何获得真实的公司信息 业余投资可以再招股说明书、季报以及年报上查到所有应该得到的信息。 不要相信小道消息。 小道...

  • 如何获得真实的公司信息

    收集信息和筛选公司是投资股票的基础,正确,全面,可靠的信息是为投资股票提供了至关重要的帮助,本章让我从彼得林奇成功...

  • 如何获得真实的公司信息

    我的舅舅是一个不“安分守己”的人,相对于普通上班族来讲,他更喜欢自己做一些小买卖,他送过报纸,卖过水果,卖过菜,现...

  • 数据挖掘

    如何从获得的RNA-Seq数据中获得生物学信息 目的:1、找出差异表达基因 2、从基因的表达模式对其进行聚类和分类...

  • 【金贝】走近速读

    刚刚完成了《如何阅读》的共读。总结本书的各种方法,我发现最根本的原理是基于:只有当眼睛停留时才能获得信息。 因此,...

  • SMILES 和 SMARTS 式

    SMILES SMILES是简化分子线性输入的方法(Simplified molecular input line...

  • 天然有机化合物质谱图集 丛浦珠等编著(天然有机化合物结构信息手册

    天然有机化合物质谱图集 丛浦珠等编著(天然有机化合物结构信息手册) 《天然有机化合物结构信息手册:天然有机化合物质...

  • SMILES:一种简化的分子语言

    一.什么是SMILES SMILES,全称是Simplified Molecular Input Line...

网友评论

      本文标题:基于化合物的smiles信息,如何获得其对应的fingerpri

      本文链接:https://www.haomeiwen.com/subject/wmsfcjtx.html