译者 | 崔皓
审校 | 孙淑娟
开篇
本文探讨了TypeDB帮助科学家们实现医学上的下一个突破,并且会通过指导性的代码例子和视觉效果展示结果。
生物技术领域存在大量的炒作都集中于革命性药物发现上。毕竟,过去十年是该领域的黄金时代。与之前的十年相比,2012年到2021年这段时间批准的新药增加了73%--比之前的十年增加了25%。这些药物包括治疗癌症的免疫疗法、基因疗法,当然还有科威德疫苗。从这些方面可以看出制药业做得很好。
但其呈现的趋势也越来越令人担忧。药物发现的成本和风险正变得令人望而却步。截至到当前,新药推向市场的平均费用在10亿至30亿美元,平均时间在12至18年。同时,一种新药的平均价格已经从2007年的2千美元飙升到2021年的18万美元。
这就是为什么许多人把希望寄托在
人工智能(AI)(如统计机器学习)上,以帮助加速新药的开发,从早期目标识别到试验。虽然已经利用各种机器学习算法确定了一些化合物,但这些化合物仍处于早期发现或临床前的开发阶段。人工智能彻底改变药物发现的承诺仍然是令人兴奋但尚未实现的承诺。
什么是人工智能?
为了实现这一承诺,理解人工智能的真正含义就显得至关重要了。近年来,人工智能这个词已经成为相当热门的词汇,没有多少技术含量。那么,什么才是真正的人工智能?
人工智能,作为一个学术领域,从20世纪50年代起就已经存在了,随着时间的推移,分支成各种类型,代表不同的学习方式。佩德罗-多明戈斯教授在《算法大师》一书中对这些类型进行了描述(他称它们为 "部落"):连接主义者、符号主义者、进化主义者、贝叶斯主义者和模拟主义者。
在过去的十年里,贝叶斯主义者和连接主义者受到了公众的广泛关注,而符号主义者则不同。符号学派在进行逻辑推理的规则集的基础上,创造出真实的世界表征。符号人工智能系统没有其他类型的人工智能所享有的巨大宣传,但它们拥有其他类型所缺乏的独特而重要的能力:自动推理和知识表示。
对生物医学知识的表现
事实上,知识表现的问题正是药物发现中最大的问题之一。现有的数据库软件,如关系数据库或图形数据库,很难准确地表示和理解生物学错综复杂的问题。
药物探索所表述的问题很好地说明了要为不同的生物医学数据源(如Uniprot或Disg
.NET)建立统一的模型。在数据库层面,这意味着创建数据模型(有些人可能把这些称为本体),描述无数复杂的实体和关系,如蛋白质、基因、药物、疾病、相互作用等之间的关系。
这就是TypeDB,一个开源的数据库软件,旨在实现的目标--使开发者能够创建高度复杂领域的真实表现,计算机可以利用它来获得洞察力。
TypeDB的类型系统是基于实体关系的概念,代表了TypeDB中存储的数据。这使得它足以捕捉复杂的生物医学领域知识(通过类型推理、嵌套关系、超关系、规则推理等),使科学家获得洞察力并加速药物开发时间。
一家大型制药
公司的例子说明了这一点,该公司使用语义网标准为一个疾病网络建模奋斗了五年多,但在迁移到TypeDB之后,仅用三周时间就成功实现了这一目标。
例如,一个用TypeQL(TypeDB的查询语言)编写的、描述蛋白质、基因和疾病的生物医学模型看起来如下:
define
protein sub entity,
owns uniprot-id,
plays protein-disease-association:protein,
plays encode:encoded-protein;
gene sub entity,
owns entrez-id,
plays gene-disease-association:gene,
plays encode:encoding-gene;
disease sub entity,
owns disease-name,
plays gene-disease-association:disease,
plays protein-disease-association:disease;
encode sub relation,
relates encoded-protein,
relates encoding-gene;
protein-disease-association sub relation,
relates protein,
relates disease;
gene-disease-association sub relation,
relates gene,
relates disease;
uniprot-id sub attribute, value string;
entrez-id sub attribute, value string;
disease-name sub attribute, value string;
关于一个完整的工作实例,可以在
Github上找到一个开源的生物医学知识图。这是从各种著名的生物医学资源加载数据,如Uniprot、Disgenet、Reactome和其他。
有了存储在TypeDB中的数据,你可以运行查询,问一些问题,如:哪些药物会与SARS病毒有关的基因相互作用?
为了回答这个问题,我们可以使用TypeQL中的以下查询。
match
$virus isa virus, has virus-name "SARS";
$gene isa gene;
$drug isa drug;
($virus, $gene) isa gene-virus-association;
($gene, $drug) isa drug-gene-interaction;
运行这个将使TypeDB返回符合查询条件的数据。并可以在TypeDB Studio中可视化,如下所示,这将有助于了解哪些相关药物可能值得进一步调查。
通过自动推理,TypeDB也可以推断出数据库中不存在的知识。这是通过编写规则来完成的,这些规则构成了TypeDB中模式的一部分。例如,一个规则可以推断出一个基因和一种疾病之间的关联,如果该基因编码的蛋白质与该疾病有关。这样的规则将被写成:
rule inference-example:
when {
(encoding-gene: $gene, encoded-protein: $protein) isa encode;
(protein: $protein, disease: $disease) isa protein-disease-association;
} then {
(gene: $gene, disease: $disease) isa gene-disease-association;
};
然后,如果我们要插入以下数据:
TypeDB将能够推断出基因和疾病之间的联系,即使没有插入到数据库中。在这种情况下,以下关系基因-疾病-关联将被推断出来。
match
$gene isa gene, has gene-id "2";
$disease isa disease, has disease-name $dn; ;
(gene: $gene, disease: $disease) isa gene-disease-assocation;
通过机器学习加速目标探索
有了TypeDB对生物医学数据(符号)进行表示,再加上机器学习的上下文知识就可以让整个系统变得更加强大,从而增强洞察力。例如,可以通过药物探索管道发现有希望的目标。
寻找有希望的目标的方法是使用链接预测算法。TypeDB的规则引擎允许这样的ML模型执行,该模型通过推理推断对事实进行学习。这意味着从对平面的、无背景的数据学习转向对推理的、有背景的知识学习。其中一个好处是,根据领域的逻辑规则,预测可以被概括到训练数据的范围之外,并减少所需的训练数据量。
这样一个药物发现的工作流程如下:
1. 查询TypeDB,创建上下文知识的子图,利用TypeDB的全部表达能力。
2. 将子图转化为嵌入(embedding),并将这些嵌入到图学习算法中。
3. 预测结果(例如,作为基因-疾病关联之间的概率分数)可以被插入TypeDB,并用于验证/优先考虑某些目标。
有了数据库中的这些预测,我们可以提出更高层次的问题,利用这些预测与数据库中更广泛的背景知识。比如说:什么是最有可能成为黑色素瘤的基因目标,这些基因编码的蛋白质在黑色素细胞中如何表达?
用TypeQL写,这个问题看起来如下:
match
$gene isa gene, has gene-id $gene-id;
$protein isa protein;
$cell isa cell, has cell-type "melanocytes";
$disease isa disease, has disease-name "melanoma";
($gene, $protein) isa encode;
($protein, $cell) isa expression;
($gene, $disease) isa gene-disease-association, has prob $p;
get $gene-id; sort desc $p;
这个查询的结果将是一个按概率分数排序的基因列表(如图学习者预测的):
{$gid "TOPGENE" isa gene-id;}
{$gid "BESTGENE" isa gene-id;}
{$gid "OTHERTARGET" isa gene-id;}
...
然后,我们可以进一步研究这些基因,例如通过了解每个基因的生物学背景。比方说,我们想知道TOPGENE基因编码的蛋白质所处的组织。我们可以写下面的查询。
match
$gene isa gene, has gene-id $gene-id; $gene-id "TOPGENE";
$protein isa protein;
$tissue isa tissue, has name $name;
$rel1 ($gene, $protein);
$rel2 ($protein, $tissue);
在TypeDB Studio中可视化的结果,可以显示这个基因编码的蛋白质在结肠、心脏和肝脏中的表达:
结论
世界迫切需要创造治疗破坏性疾病的解决方案,希望通过人工智能的创新建立一个更
健康的世界,在这个世界中每种疾病都可以被治疗。人工智能作用于药物探索仍处于起步阶段,但是如果一旦实现将会让生物学释放出新的创新浪潮,并使21世纪真正成为属于它的纪元。
在这篇文章中,我们看了TypeDB是如何实现生物医学知识的符号化表示,以及如何改善ML来为药物探索做出贡献的。在药物探索中应用人工智能的科学家们使用TypeDB来分析疾病网络,更好地理解生物医学研究的复杂性,并发现新的和突破性的治疗方式。
译者介绍
崔皓,51CTO社区编辑,资深
架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。
原文标题:Artificial Intelligence in Drug Discovery,作者:Tomás Sabat