首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RDKit:从锌数据库中生成用于聚类分析的指纹

RDKit 是一个开源的化学信息学和机器学习软件包,广泛应用于药物发现和化学研究领域。它提供了丰富的功能,包括分子描述符的计算、分子指纹的生成以及基于这些指纹的相似性搜索和聚类分析。

基础概念

分子指纹(Molecular Fingerprints) 是一种将分子结构转换为位向量的方法,用于表示分子的化学特征。这些位向量可以用于比较分子之间的相似性,进而进行聚类分析。

锌数据库(ZINC Database) 是一个包含大量化合物信息的公共数据库,常用于药物设计和化学研究。

相关优势

  1. 高效性:RDKit 提供了快速的分子指纹计算功能。
  2. 灵活性:支持多种类型的分子指纹,可以根据具体需求选择合适的指纹类型。
  3. 易用性:拥有简洁的 API 和丰富的文档,便于开发者使用。

类型与应用场景

常见的分子指纹类型包括:

  • Morgan Fingerprints:基于分子图的径向展开,广泛用于相似性搜索和聚类。
  • Daylight-like Fingerprints:模拟 Daylight 公司的指纹算法,适用于多种化学信息学任务。
  • Atom PairsTopological Torsions:基于原子对和拓扑扭转的特征。

应用场景包括:

  • 药物筛选:通过聚类分析快速识别具有相似生物活性的化合物。
  • 结构优化:指导新药物分子的设计和改进。
  • 数据库搜索:在大型化学数据库中高效检索相似化合物。

示例代码

以下是一个使用 RDKit 从锌数据库中提取分子并生成 Morgan 指纹进行聚类分析的 Python 示例:

代码语言:txt
复制
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit import DataStructs
from rdkit.ML.Cluster import Butina

# 假设你已经有了一个包含 SMILES 字符串的列表
smiles_list = ["CCO", "CCN", "CCC", "CCCl"]  # 示例 SMILES

# 将 SMILES 转换为分子对象并生成 Morgan 指纹
mols = [Chem.MolFromSmiles(smiles) for smiles in smiles_list]
fingerprints = [AllChem.GetMorganFingerprintAsBitVect(mol, 2, nBits=1024) for mol in mols]

# 计算指纹之间的相似性矩阵
similarity_matrix = DataStructs.BulkTanimotoSimilarity(fingerprints)

# 使用 Butina 算法进行聚类分析
clusters = Butina.ClusterData(similarity_matrix, len(mols), 0.4, isDistData=True)

print("Clusters:", clusters)

遇到的问题及解决方法

问题:生成的指纹质量不高,导致聚类效果不佳。

原因

  • SMILES 字符串解析错误。
  • 指纹参数设置不当(如半径、位数等)。

解决方法

  1. 验证 SMILES 字符串:确保输入的 SMILES 字符串正确无误。
  2. 调整指纹参数:尝试不同的指纹类型和参数组合,找到最适合当前数据集的配置。
  3. 预处理分子:在进行指纹计算前,对分子进行必要的预处理(如去除盐基、标准化等)。

通过以上步骤,可以有效提升指纹的质量和聚类分析的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

RDKit | 化学信息学与AI(专辑)

内容涵盖了基于RDKit的Python3的分子的读写、化合物的分子指纹和分子描述符计算、化合物的2D/2D比对、化合物相似性搜索、化合物骨架分析和亚结构搜索、RMSD计算与构象生成优化、分子相似图与聚类分析...1 RDKit简介 开源化学信息学与机器学习工具包 RDKit在2000-2006年期间在Rational Discovery开发和使用,用于构建吸收、分布、代谢、代谢、毒性和生物活性的预测模型。...2 RDKit特点 商业友好型BSD许可证 核心数据结构和算法由C ++编写 使用Boost.Python生成的Python 3.x包装器 用SWIG生成的Java和C#包装器 2D和3D分子操作 机器学习与深度学习的分子指纹和分子描述符生成...PostgreSQL分子数据库集成 KNIME的化学信息学Nod ?...RDKit的分子指纹与描述符计算 分子指纹 RDKit:化学指纹(Chemical Fingerprinting) https://blog.csdn.net/u012325865/article/details

2.3K61

Methods | MSNovelist:从质谱生成小分子结构的新方法

但是这种方法存在结构数量的组合爆炸问题,然而用于靶向从头分子生成的深度学习模型不存在这样的问题,可以查询大量新化合物的化学空间。...encoder-decoder的RNN模型中,在分子表达式的约束下,RNN模型可以根据指纹特征向量从头生成分子的SMILES表达式;最后,使用修改的Platt分数计算生成的分子和真实质谱指纹之间的得分作为损失来优化模型参数...不但可以被RDKIT解析且可以和分子式匹配的样本比率; 已修改的Platt分数: 生成的SMILES与真实质谱指纹计算出的已修改的Platt分数,衡量生成的候选者与真实指纹的接近程度; 相似度: 预测出的排名最高的候选者...图3: 在苔藓植物数据集上的对比结果 图4: 多酚化合物(m/z为381.1020,分子式为C21H16O7)预测结果可视化 5 总结和讨论 MSNovelist表明从质谱中从头生成分子结构而不依赖于结构数据库是可能的...,虽然深度学习模型已经被用于从质谱数据中生成候选分子结构,但是MSNovelist能够整合编码的结构信息到指纹中,并且MSNovelist为超过一半的MS2质谱提出了合理的分子结构。

63930
  • 开源化学信息学工具包(Open Access Cheminformatics Toolkits)

    ;;2D图表编辑和生成;3D几何图形生成;使用精确结构和SMARTS类查询进行子结构搜索;定量构效关系分子描述子计算(QSAR)研究;指纹计算;国际化学标识符(InChI)支持;在生物信息学领域,功能包括同源配体检测...RDKit 官网:http://www.rdkit.org/ RDKit在2000-2006年期间在Rational Discovery开发和使用,用于构建吸收、分布、代谢、代谢、毒性和生物活性的预测模型...RDKit提供各种功能,如不同的化学I/O格式,包括SMILES/SMARTS,结构数据格式(SDF),Thor数据树(TDT),Sybyl线符号(SLN),Corina mol2和蛋白质数据库(PDB...其中一些功能和指纹是使用Open Babel和RDKit派生的。使用MOPAC,ChemoPy计算大量的3D分子描述符。...该软件包的第一个版本于2008年出版。它包含用于化合物之间二维结构相似性比较的功能,针对化合物数据库的相似性搜索,用于聚类整个化合物库的功能,以及聚类结果的可视化。

    2.3K31

    RDKit | 基于不同描述符和指纹的机器学习模型预测logP

    log P(油水分配系数)是确定化合物是否适合用作药物的最重要属性之一。当前,用于计算机预测log P的大多数可用回归模型都在实验测得的log P值(PHYSPROP数据库)。...但是,该数据库中的大多数化合物并不高度代表药物样化学空间。不幸的是,当前缺乏可用于训练更好的预测工具的公开可用的实验log P数据集。...因此,将首先尝试使用上面生成的RDKit物理描述符训练我们自己的简单logP模型。...在许多可用方法中,将测试Morgan指纹(ECFP4和ECFP6),RDKFingerprints和拓扑药效团指纹(TPAPF和TPATF),脚本可从MayaChemTools获得。...总体而言,TPATF指纹性能最好,甚至胜过简单描述符模型。在所有回归方法中,默认随机森林的性能最佳,尽管在对模型参数进行一些优化后,这种可能性很可能会改变。

    4.4K30

    基于AI的新药研发!⛵

    化学指纹生成 化学指纹通常用来做结构检索和相似度检索,如下图所示,最终的指纹向量表征为01串,每一位(0/1)代表化学结构中例如指定元素,分子片段等是否存在。...图片 MolSearch 中这个环节使用了工具 RDKit ,它会生成 RDKit fingerprint,底层的算法原始是:分析从一个原子开始直至到达指定数量键的路径(path,通常为线性)上所有的分子片段...图例是一个单个起始原子出发的片段和比特位,最终的完整指纹生成,是对分子中的每个原子进行这个操作后的结果。...可以指定 fpSize 调整生成的向量维度,这个过程对于每个分子都适用,我们把最终生成的向量导入 Milvus 以实现后续检索,完整的指纹向量生成过程示例代码如下: from rdkit import...用于寻找与输入的参考分子比较相似的分子。 子结构检索。检测一个分子结构是否为另一个分子的子结构。 超结构检索。检测一个分子结构是否为另一个分子的超结构。

    69181

    Milvus 赋能 AI 药物研发

    | 系统概览 MolSearch 系统中运用的虚拟化合物筛选技术,首先通过 RDKit 工具[3]将化合物分子的化学式转换为化学式指纹 (Chemical Fingerprint),就是一组特征向量,然后通过计算这些向量之间的距离来分析化合物分子之间的相似性...化学指纹生成 化学指纹通常用来做结构检索和相似度检索,如下图所示,指纹是 (1/0) 位表示的有序列表,每一位代表化学结构中例如指定元素,分子片段等的存在。...MolSearch 系统中利用 RDKit 工具生成 RDKit fingerprint,该算法分析从一个原子开始直至到达指定数量键的路径(path,通常为线性)上所有的分子片段,然后对每一个路径进行哈希...(hash)产生指纹(fingerprint),如下图中展示了从NH2(已圈出)开始一直到 6 个长度的所有路径,然后将每个路径散列为二进制位。...此类指纹适用于任意一个分子,并可以指定 fpSize 调整其向量维度,最终生成的 vectors 可以导入 Milvus 并检索。

    1K10

    Knowledge-based BERT: 像计算化学家一样提取分子特征的方法

    此外,由K-BERT 生成的通用指纹 K-BERT-FP 在 15个药物数据集上表现出与 MACCS 相当的预测能力。...预训练任务1-原子特征预测(图1A):对RDKit计算所得的分子中每个重原子的原子特征进行预测。...使用RDKit 计算 CHEMBL 中每个分子的一个canonical SMILES和4个随机生成的 SMILES,用于预训练任务3。...CHIRAL1中的每个分子只有一个四面体中心,根据中心的手性分为R和S。在本研究中,共有204778个分子用于进一步的预训练,使得K-BERT能学习到手性信息。...此外,作者以分子‘C=CCC(O)CC(C)(C)C’(不在预训练数据集中)为例,通过RDkit随机生成十个SMILES字符串,并对分子中的不同原子embedding进行了t-SNE可视化,结果如图2所示

    1.1K31

    . | 增强指纹图注意力网络(FinGAT)模型用于抗生素发现

    它利用了两种类型的分子表示,即二维指纹和基于图的表示。对于二维指纹,作者考虑使用2048位的Morgan指纹(MorganFP),它可以从分子的SMILES序列生成。...对于每个分子,根据RDKit中的分子图使用SMILES序列生成节点特征矩阵和邻接矩阵。需要注意的是,边表示分子中的共价键。邻接矩阵指示了分子图中的任意两个原子是否共享一个共价键。...每个节点代表一个原子,节点特征是基于其对应的基于原子的属性使用RDKit构建的。通过将表1中的所有基于原子的属性组合起来,形成了一个大小为133的节点特征。...类似地,边特征矩阵的每一行是一个大小为4的向量,包含了键类型、共轭性、环成员资格和立体化学等信息。这些信息也是从RDKit中计算得出的。...在FinGAT模型中,作者提出了基于SMILES的Morgan指纹和基于GAT的结构相结合的方法,用于抗生素活性预测。在指纹研究中,作者首先使用梯度提升树比较了八种2D指纹的性能。

    37610

    JCIM|VenomPred2.0:基于AI的药物分子毒性预测工具

    对于科学社区实际有用的是能够从结构的角度解释和解密机器学习模型的预测,直接可视化分析的分子中哪些部分可能具有毒性/不希望的特性。...具体来说,计算了Morgan、RDKit和PubChem的化学指纹(FPs)。...可靠性 对在开发VenomPred中生成的模型进行了性能分析,观察到基于PubChem、RDKit和Morgan指纹的机器学习模型在统计上表现优于使用LINGO和Pharm2D指纹的其他模型。...图2显示了基于相同指纹类型的五组模型在Matthew的相关系数(MCC)方面的排名分布。如图所示,基于PubChem、RDKit和Morgan指纹的模型获得的MCC中位排名显著高于其他两组模型。...、RDKit和Morgan指纹的模型的平均性能似乎明显高于其他模型。

    94810

    JCIM|大型语言模型作为分子设计引擎

    数据集与表征学习 本研究选取了ZINC数据库中的约130万个小分子作为数据集,这些分子具有特定的化学特性,如含氮以及至少一个氢键供体或受体,且分子量低于200道尔顿。...这些母分子的SMILES(简化分子输入行输入系统)字符串被用于生成其变体,并通过RDKit化学信息学工具包验证生成分子的有效性及唯一性。...谷本相似度:用于量化母分子与生成分子之间的结构相似度,通过计算它们的摩根指纹之间的Tanimoto相似度得出。...这个查看器已经包含在Zenodo软件库中,可供研究人员免费使用和下载。 分子指纹潜空间 为量化LLM修饰分子的行为,作者利用摩根指纹生成分子的潜空间嵌入,并用三维坐标z描述分子特征。...图3 用基于计数的Morgan指纹对ZINC数据库中的小分子进行特征化并用PCA嵌入得到的潜在空间。

    10010

    使用Python构建智能药物发现平台

    本文将带你了解如何使用Python构建一个简单的药物发现平台,从分子数据处理到药物活性预测,全面解析实现过程。 药物发现的关键步骤 分子数据准备:获取药物分子结构和生物活性数据。...所需Python库 在开始之前,安装以下Python库: pip install rdkit pandas scikit-learn matplotlib RDKit:用于分子操作和特征提取。...将SMILES转化为分子指纹(分子描述符)。...from rdkit import Chem from rdkit.Chem import AllChem # 转化SMILES为分子指纹 def smiles_to_fingerprint(smiles...总结 本文详细介绍了如何使用Python构建智能药物发现平台,从分子特征提取到活性预测,展示了完整实现过程。通过机器学习与化学信息学的结合,药物发现效率可显著提高。

    11610

    DGL | 基于深度学习框架DGL的分子图初探

    DGL与化学 个人关注的是药物模型,用于分子性质预测,生成和优化的各种模型,DGL 致力于将GNN(图形神经网络)应用于化学领域,并且作为分子生成模型,DGMG(图形的深度生成模型)和JT-VAE(连接树变分自动编码器...化学家开发了一种规则,将分子转换为二进制字符串,其中每个位都表明存在或不存在特定的子结构。指纹的发展使分子的比较容易得多。以前的机器学习方法主要基于分子指纹来开发。...图神经网络使数据驱动的原子、键和分子图拓扑结构之外的分子表示成为可能,这可以看作是学习指纹。...它们可用于分子生成和优化。 ?...基于深度学习框架DGL的分子图初探 导入库 import osimport numpy as npimport pandas as pdfrom rdkit import Chemfrom rdkit.Chem

    1.2K40

    . | 利用条件循环神经网络生成特定性质分子

    实验表明输入条件可操纵循环神经网络生成目标化学空间中的分子,例如对特定蛋白质结构有生物活性的分子。 2 方法 2.1 数据集 作者使用两个开源分子数据库:ChEMBL和ExCAPE-DB。...其中ChEMBL被用于训练条件循环神经网络,而ExCAPE-DB中靶向多巴胺受体(DRD2)的分子被用于训练基于支持向量机的QSAR分类模型进而检验生成模型能否通过输入条件来生成对DRD2有生物活性的分子...(B)基于指纹的模型(FPB)接受由RDKIT计算的2048bit Morgan指纹向量。...图3 从DRD2测试集中随机挑选两个分子作为conditional seed(中心),以其结构指纹为条件,利用FPB模型生成分子(虚线内);以其物理化学描述符为条件,利用PCB模型生成分子(虚线外)。...图3展示了从DRD2测试集中随机挑选活性分子作为conditional seed,利用FPB和PCB模型生成的分子。

    66451

    榕树集--新型抗生素的发现

    数据处理 作者使用Chemprop,进行图神经网络的训练,以建立一个基于化学结构的二元分类预测模型。 首先使用Rdkit基于输入的SMILES格式生成基于图的分子表示。...基于Rdkit可以计算的特征(Supplementary Data 1),为分子的每个原子和键生成一个特征向量: 原子特征包括原子序数、每个原子的键数、正电荷、手性、与之相连的氢原子数、杂化化、芳香性和原子质量...并且与其余的没有Rdkit特征的模型以及基于Morgan分子指纹的模型相比,使用ChemProp构建的基于Rdkit特征的模型表现最好。...作者应用了基于Morgan指纹的t-SNE 分析并将分子进行可视化。可以看到作者筛选出的药物中,多个hits与训练集中的活性化合物不同,证明作者所建立的模型,筛选到了未知的化学空间。...讨论: 抗生素耐药危机,从1962年氟喹诺酮类抗生素引入后的38年内变得明显,直到2000年氧唑烷酮类抗生素的引入。

    22410

    RDKit | 基于Murcko骨架聚类化合物库

    化合物多样性评估 一种方法是使用合适的指纹技术将化合物矢量化并评估他们之间的距离。这种方法经常被使用,但是对于人类很难直观地理解化合物之间的距离。...基于Murcko骨架,分子大致聚集在化合物骨架中,并且每个簇中的顶部化合物都作为候选化合物。此方法非常符合人类的直觉,因此可以预期人将通过查看候选化合物列表来自动缩小化合物的范围。...Murcko骨架 Murcko骨架通过从化合物中去除多余的侧链并仅表达连接它们的“环结构”和“连接子”,可以执行更简单的化合物表达。 ?...Murcko骨架生成 基于Murcko骨架聚类化合物库 导入库 import numpy as np from rdkit import Chem from rdkit.Chem import Draw...from rdkit.Chem.Scaffolds import MurckoScaffold from rdkit.Chem.Draw import IPythonConsole 载入数据 sdfloader

    2.6K50

    RDKit | 通过评估合成难度筛选化合物

    药物研发中合成难度评估的重要性 药物发现研究中的主要候选化合物 预期的活性值 结构新颖,易于申请专利 如果化合物是从商业产品或内部数据库获得,则“合成潜力”得到保证。...在这种情况下,如果优先考虑其他指标(例如活性)并在最后考虑“合成的难易程度”,则倾向于选择具有相似化学型和骨架的化合物。为了防止这种情况,期望从筛选的初期就通过均等地处理“合成可及性”来评价化合物。...这是一种判断合成难度的技术。后者可以说是更可靠的指标,但是计算量很大,并且反应数据库的维护也很困难。 SA Score SA Score是根据简洁的规则设计的,可以快速评估大量化合物。...具体地,基于从PubChem获得的100万种化合物的ECFP4指纹的频率进行加权。由出现频率加权然后相加的子结构为下式中的“ fragmentScore” ?...---- 导入库 from rdkit import rdBase, Chem from rdkit.Chem import AllChem, Draw, PandasTools from rdkit.Chem.Draw

    1.4K40

    JCIM|深度学习用于血液毒性预测和血液毒性化合物的结构分析

    然后,作者分析了模型学习到的原子权重的热图和SHAP值,并用于解释模型,以及从训练模型的总体水平和个体水平中错误分类的分子。...8.200 bit的RDKit描述符(RDKit-d),一组构象无关描述符,可以是从分子的符号表示中获得的实验描述符或理论描述符。...9.RDKit指纹(the RDKit fingerprint, RDKit-f),1024 bit的哈希子结构或路径指纹。...对于Murcko骨架,超过81%的骨架含有不超过10个分子。对于碳骨架,约64%含有不超过10个分子。从血液毒性数据中提取频率最高的150个支架,并用于生成相关的云图,以直观地说明数据的多样性。...相似度的AD和RF模型中性能最好的结构指纹的RDKit指纹。

    1.3K10

    RDKit | 基于Ward方法对化合物进行分层聚类

    导入库 from rdkit import rdBase, Chem, DataStructsfrom rdkit.Chem import AllChemfrom rdkit.Chem.Draw import...np.random.seed(1234)np.random.shuffle(mols_free) 基于scikit-learn通过Ward方法进行聚类 Morgan指纹生成和距离矩阵计算 创建指纹作为聚类的输入数据...因此,有必要在保留数据集特征的同时将维数减小为我们可以理解的形式。最常用于此目的的方法称为“ 主成分分析(PCA) ”。...主成分分析中的累积贡献 通过将数据从多维数据转换为具有大量信息的轴来实现主成分分析。在尺寸减小的过程中,从具有大量信息的轴中进行选择。在此过程中,最初沿轴的信息量最少的信息会丢失。...随着主要成分数量的增加,累积贡献率逐渐增加。这种情况下,用于可视化的前两个组件只能解释大约37%的信息量。换句话说,如果主要使用剩余的60%信息进行聚类,则无法在2D平面上将其分离。

    1.7K60
    领券