添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、摩根分子指纹计算

摩根分子指纹(Morgan Fingerprints),是一种圆形指纹,也属于拓扑型指纹,是通过对标准的摩根算法进行改造后得到。可以大致等同于扩展连通性指纹(Extended-Connectivity Fingerprints,ECFPs)。

这类指纹有诸多优点,例如计算速度快、没有经过预定义(可以表示无穷多种不同的分子特征)、可以包含手性信息、指纹中的每个元素代表一种特定子结构、可以方便地进行分析和解释、可以根据不同的需要进行相应的修改等。这类指纹设计的最初目的是用于搜索与活性相关的分子特征,而非子结构搜索。此外也可以用于相似性搜索、聚类、虚拟筛选等方向。指纹的生成过程大致分为以下几个步骤:

  • 1.原子初始化。为每个重原子分配一个整数标识符
  • 2.迭代更新。以每个重原子为中心,将周围一圈的重原子合并进来,直到到达指定半径。
  • 3.特征生成。对子结构进行运算,并生成特征列表。
  • 更多内容可以 参考ChemAxon的介绍 ,还有 ECFPs的文章

    ECFPs可以捕捉到精确的子结构细节,相对应的,功能基指纹(Functional class fingerprints,FCFPs)则更为泛化,可以将同一类功能基作为一种特征结构。在rdkit中两种特征都可以通过GetMorganFingerprint实现。

  • 先定义两个分子
  • >>> from rdkit import Chem
    >>> from rdkit import DataStructs
    >>> from rdkit.Chem import AllChem
    >>> from rdkit.Chem import Draw
    >>> m1 = Chem.MolFromSmiles('ClC1=COCNC1')
    >>> m2 = Chem.MolFromSmiles('BrC1=COCNC1')
    >>> Draw.MolsToGridImage([m1, m2], subImgSize=(150, 150), legends=['ClC1CNCOC1', 'BrC1CNCOC1'])
    

    2.SparseIntVects

  • 以SparseIntVects方式生成ECFPs指纹:GetMorganFingerprint(mol, radius, …)
    或者称为SparseBitVects
    mol:mol对象
    radius:考虑半径
  • 使用Dice方法比较两个指纹的相似性:DiceSimilarity()
  • >>> fp1 = AllChem.GetMorganFingerprint(m1, 2)
    >>> fp2 = AllChem.GetMorganFingerprint(m2, 2)
    >>> DataStructs.DiceSimilarity(fp1, fp2)
     
  • 查看长度:GetLength()
    返回指纹的长度
  • 查看非空元素:GetNonzeroElements()
    返回值是一个字典,键对应非空指纹的位数,值是指纹出现的频数
  • >>> print(fp1.GetLength())
    4294967295
    >>> print(fp1.GetNonzeroElements())
       39328034: 1, 211414882: 
    文章目录一、摩根分子指纹计算1.简介2.SparseIntVects3.ExplicitBitVects4.FCFPs5.更多泛化二、摩根分子指纹提取1.提取方法一2.提取方法二三、指纹可视化一、摩根分子指纹计算1.简介摩根分子指纹(Morgan Fingerprints),是一种圆形指纹,也属于拓扑型指纹,是通过对标准的摩根算法进行改造后得到。可以大致等同于扩展连通性指纹(Extended...
    指纹计算器 用于生成圆形摩根指纹Python 类集合。 这些类可以在 python 中独立使用,也可以与它们集成的脚本一起使用。 为此,请键入:./FingerprintCalculator.py -help 指纹以二进制和计数格式计算。 此外,指纹可以是: Hashed:用户定义的固定长度。 可能会出现碰撞。 未散列(键控)。 指纹中的每个位置只对应一个化学亚结构。 这些类和脚本允许知道在每个位置映射了哪些化学子结构,因此如果用于预测建模研究(例如 ,可以解释指纹和化学空间的解卷积 )。 请与我联系以获取更多详细信息、反馈或帮助。 谢谢 ! ./FingerprintCalculator.py -bits 256 -radii 1 2 3 -mols Compounds.sdf -output Compound_fps -RDkitPath $RDBASE
    Morgan指纹中更广为人知的是圆形指纹,该指纹是通过将 Morgan 算法应用于一组用户提供的原子不变量而构建的(具体原理参考上一条帖子)。 生成 Morgan 指纹时,还必须提供指纹的半径。Morgan指纹,例如原子对(atom pair)和拓扑扭转(topological torsions),默认使用计数,但也可以将它们计算为位向量。下面我们以丁酰胺为例向大家展示如何计算指纹(计数和位相连): 图1 丁酰胺的结构式 from rdkit.Chem import AllChem from rdkit
    文章目录一、分子指纹提取1.Topological Fingerprints2.MACCS3.Atom Pairs and Topological Torsions4.Morgan Fingerprints (Circular Fingerprints)二、相似性比较 一、分子指纹提取 1.Topological Fingerprints 也叫RDKit topological fingerprint。该算法受Daylight fingerprint启发而产生,它会计算所有介于minPath和maxPath
    分子可以用多种方法表示。本教程介绍一种方法叫做"分子指纹(molecular fingerprint)",这是一种简单的表示主法,对于小分子类药物来说通常工作得很好。 In [1]: import deepchem as dc dc.__version__ Out[1]: '2.4.0-rc1.dev' 什么叫指纹? 深度学习几乎总是以数组作为它们的输入。如果我们要用深度学习来处理它们,我们需要一个或多个数组来表示分子。许多(不是所有)的模型要求它们...
    1 Neural FPs论文简介 论文:Convolutional Networks on Graphs for Learning Molecular Fingerprints 图卷积网络用于学习分子指纹 链接:http://arxiv.org/pdf/1509.09292.pdf 作者:David Duvenaud†, Dougal Maclaurin†, Jorge Aguilera-Iparraguirre (哈佛大学) 来源:NIPS 2015 代码:https://github.com/HIP.
    Kieran Healy撰写的 (免费在线) 克劳斯·威尔克(Claus Wilke)的 (免费在线) Hadley Wickham,Danielle Navarro和Thomas Lin Pedersen撰写的“ ggplot2:用于数据分析的精美图形” (免费在线)(请查阅r4ds.had.co.nz/免费在线书籍,作为R和tidyverse的介绍) 提及的博客文章 丽莎·夏洛特·罗斯特(Lisa Charlotte Rost)(DataWrapper)的“选择颜色进行数据可
    指纹是一种非常有用的低分辨率的分子表征,其形式多种多样。在过去几十年中,指纹已被应用于解决各种问题。扩展连通性指纹(Extended Connectivity Fingerprints,ECFP)是当下最广受使用用于构建化合物定量构效关系(QSAR)模型的分子指纹。 ECFP 于 2000 年随着 Pipeline Pilot 的发布而首次引入。在 RDKit 中,ECFP 指纹又叫 Morgan 指纹,其原因为ECFP的核心思想来自于 Morgan 算法,该算法试图为分子中的每个原子分配一个唯一的、连续的
    计算分子指纹 为每种化合物生成一个指纹并减小其尺寸,以便可以将其绘制在平面上。根据相似性原理,“相似的化合物具有相似的性质”,具有相似结构和性质的化合物应紧密地分布在一个平面上。 尝试使用Morgan指纹。 PCA降维方法 使用主成分分析(PCA)和UMAP进行尺寸缩减。PCA是最常用的方法,但由于...
    m0_74154812: 在用descriptors计算logp的时候报错ArgumentError: Python argument types in rdkit.Chem.rdMolDescriptors.CalcCrippenDescriptors(NoneType) did not match C++ signature: CalcCrippenDescriptors(class RDKit::ROMol mol, bool includeHs=True, bool force=False)想问一下这是什么原因呢? RDKit|一站式搞定分子读取、输出、可视化 LRJ-jonas: openbabel