Press "Enter" to skip to content

AI医疗高精尖!基于AI的新药研发!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第6篇文章,点击查看活动详情

 

:bulb: 作者: 韩信子 @ ShowMeAI
:blue_book:机器学习实战系列: www.showmeai.tech/tutorials/4…
:blue_book:深度学习实战系列: www.showmeai.tech/tutorials/4…
:blue_book:本文地址: www.showmeai.tech/article-det…
:loudspeaker: 声明:版权所有,转载请联系平台与作者并注明出处
:loudspeaker: 收藏ShowMeAI查看更多精彩内容

 

:bulb: 引言&背景

 

:sweat_drops: AI + 新药研发

 

人工智能作为一种新兴技术,是新药研发实现降本增效的重要方式之一,『 人工智能+新药研发 』成为国内外医药企业加速创新转型的重要驱动力,一个更快、更便宜、更有效的新药物研发时代已经到来。

 

一款新药从确认研发目标到完成临床试验,往往需要耗费数年时间和数十亿美元,并伴随着超过 90% 的失败概率。高昂的研发成本、漫长的研发周期、高风险低回报率的特性,笼罩在药物研发领域。而正在探索的各种 AI 应用,可以帮助解决这些挑战。

 

 

:blue_book: 最近发表的一项分析表明 ,150 多种小分子药物处于研发阶段,超过 15 种药物已经在临床试验中,这条 AI 生物技术赛道以每年近 40% 的速度急速扩张种。为追赶这波浪潮,制药公司正在建立自己的内部人工智能团队,或与 IT 公司、AI新药研发创新公司进行投资和合作。

 

:sweat_drops: AI 药物分子结构分析/检索

 

利用 AI 进行药物化合物分子结构分析和检索等,是一个助力新药研发的可行思路。Zilliz 公司与全球顶尖制药研发企业共同开发的『 MolSearch』化合物分子结构分析软件 是一个典型的例子。本篇咱们就一起来了解下这个过程是如何完成的。

 

 

:bulb: 向量搜索 & 医疗研发领域的应用

 

 

在万物皆可 embedding 的深度学习时代,『 特征向量表征+向量检索 』有巨大作用,在很多数据和业务领域都发挥了巨大作用,例如机器视觉(图片视频检索)、自然语言处理(文本检索、问答)、语音识别等。同样的思路也可以用在医疗医药领域。

 

 

:sweat_drops: 药物晶型预测

 

比如新药研发过程 药物晶型预测 ,可以结合图像识别和检索的思路,有效地预测出合适的药物晶型。

 

 

:sweat_drops: 靶点筛选与患者招募

 

比如 靶点筛选 和 患者招募 过程,可以抽象为对文本语义分析问题,可以结合 NLP 表征与检索方法,快速分析有关药物研发的文本数据等。

 

 

:bulb: 虚拟药物筛选

 

AI 可以在新药研发过程中发挥巨大作用的另一个步骤是『 虚拟药物筛选 』,通过模拟药物筛选的过程,预测化合物可能的活性,对比较有可能成为药物的化合物进行针对性的实体筛选,这个过程可以大大降低药物研发的时间和经济成本。

 

有不少传统方法方案在尝试,但受限于算法和算力,对千万级别的化合物分子进行相似性、子结构、超结构等分析时,耗时较长(分钟级别),而在AI向量检索技术优化后,能大大加速这个过程(对十亿级的化学式数据极速分析,仅秒级别)。

 

:sweat_drops: MolSearch 新药结构筛选

 

Zilliz 公司基于 Milvus 向量相似度检索引擎,研发了化合物分析软件 :blue_book: MolSearch ,大家可以在 :blue_book: 这里 查看中文说明。

 

 

药物化学专家通常根据骨架跃迁对分子模块进行优化,并基于它设计出新药结构并做后续筛选。针对海量化合物的虚拟筛选是非常核心关键的一部,其效果很大程度决定了后期小白鼠实验以及临床试验能否成功,候选底库量级越大,筛选准确率越高,新药研发成功的概率也相应越高。

 

MolSearch 系统集成向量相似度检索引擎 Milvus ,构建分子检索功能,可以实现十亿级的化学分子结构秒级检索分析能力。

 

:sweat_drops: MolSearch 效果&性能

 

目前 MolSearch 中集成了 8.2 亿 zinc 开放化学式分子式数据集,这些化学式被转换为 2048 位的化学指纹(特征向量),在有表征特征向量之后,借助于高效向量检索引擎,可以实现对分子结构的相似性、子结构和超结构检索。

 

 

MolSearch 端到端的检索性能数据如图所示(图中『响应时间(p99)』表示 99% 的检索能在多少时间完成)。

 

:bulb: AI 新药研发辅助系统

 

:sweat_drops: 筛选流程 & 核心步骤

 

详细展开 MolSearch 的虚拟化合物筛选技术如下图所示,包含以下步骤:

 

① 通过 :blue_book: RDKit 工具将化合物分子的化学式转换为化学式指纹/Chemical Fingerprint(也即表征特征向量)。
② 通过向量检索引擎,对化合物分子之间关系分析:子结构检索、相似性检索、重复结构检索。

:sweat_drops: 化学指纹生成

 

化学指纹通常用来做结构检索和相似度检索,如下图所示,最终的指纹向量表征为01串,每一位(0/1)代表化学结构中例如指定元素,分子片段等是否存在。

 

 

MolSearch 中这个环节使用了工具 RDKit ,它会生成 RDKit fingerprint,底层的算法原始是:分析从一个原子开始直至到达指定数量键的路径(path,通常为线性)上所有的分子片段,然后对每一个路径进行哈希(hash)产生指纹(fingerprint)。

 

上图展示了从NH2(已圈出)开始一直到 6 个长度的所有路径,然后将每个路径 hash 映射为二进制位。

 

图例是一个单个起始原子出发的片段和比特位,最终的完整指纹生成,是对分子中的每个原子进行这个操作后的结果。可以指定 fpSize 调整生成的向量维度,这个过程对于每个分子都适用,我们把最终生成的向量导入 Milvus 以实现后续检索,完整的指纹向量生成过程示例代码如下:

 

from rdkit import Chem
mols=Chem.MolFromSmiles(smiles)
fp=Chem.RDKFingerprint(mols,fpSize=VECTOR_DIMENSION)
bit_fp=DataStructs.BitVectToFPSText(fp)
vectors=bytes.fromhex(hex_fp)

 

:sweat_drops: 化合物检索

 

我们将生成的指纹向量导入 Milvus,即可应用不同计算方式完成对化合物的『相似度检索』、『子结构检索』和『超结构检索』。示例代码如下:

 

from milvus import *
milvus = Milvus()
milvus.insert(collection_name=MILVUS_TABLE, records=vectors)
milvus.search(collection_name=MILVUS_TABLE, query_records=query_list, top_k=topk, params={})

相似度检索 。用于寻找与输入的参考分子比较相似的分子。
子结构检索 。检测一个分子结构是否为另一个分子的子结构。
超结构检索 。检测一个分子结构是否为另一个分子的超结构。

:sweat_drops: 指纹距离度量与相似度计算

 

Milvus工具本身支持各种常用相似度计算指标,包括『欧氏距离』、『内积』、『汉明距离』和『Jaccard距离』等。因为指纹是二值型数据向量,我们可以选择 Jaccard/Substructure(子结构)/Superstructure(超结构) 距离计算相似度。我们定义以下表示:

 

 

根据以上定义,化学式指纹之间的距离和相似度度量计算,可以如下表中描述来计算:

 

 

参考资料

:blue_book: AI in small-molecule drug discovery: a coming wave? : (https://www.nature.com/articles/d41573-022-00025-1
:blue_book: MolSearch 官方 GitHub : github.com/zilliztech/…
:blue_book: MolSearch 中文说明 : github.com/zilliztech/…
:blue_book: RDKit : www.rdkit.org/

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。