编译 | 王勤玉
今日介绍的是Alberto Santos 最新发表在《自然生物技术》上的文章 ” A knowledge graph to interpret clinical proteomics data”. 针对生物医学数据数量大、种类丰富而带来的数据整合困难,该工作提出了一个开源的临床知识图谱平台CKG(Clinical Knowledge Graph), 该平台结合了统计和机器学习算法,加速了典型蛋白质组学工作流程的分析和解释。相比于其他解决方案,CKG平台显得更加友好,将一系列数据库和科学文献信息与omic数据整合到一个易于使用的工作流中,显著增强了科学研究和临床实践的能力。
研究背景
基于证据的精准医疗的模式已经朝着更全面的疾病表型分析发展。这需要无缝整合各种数据,如临床、实验室、成像和多组学数据。该研究组发现,结合临床和分子数据对疾病进行更精细的定义,可以更深入地了解个人的疾病表型,并揭示预后和治疗的候选标记。此外,多组学数据可以产生新的假设,最终转化为临床上可操作的结果。生物医学研究界早已认识到需要收集、组织和构建相关数据,因此在全社会范围内采用了多种生物医学数据库。然而,协调和整合仍然具有挑战性,因为数据往往是多样的、异质的和分布在多个平台上,并且许多科学数据和知识只是 "储存 "在数以百万计的非标准化的期刊出版物中。
过去的十年里,基于质谱(MS)的蛋白质组学有了很大的进步,现在可以越来越全面地了解生物过程、细胞信号传导事件和蛋白质的相互作用。然而,目前使用的基于质谱的蛋白质组学工作流程是在十多年前构思的,迅速增加的数据量给该领域带来了新的挑战。高通量蛋白质组学的一个更大的瓶颈是难以解释定量结果以制定生物或临床假说。只有少数工具旨在缓解这一问题,需要有解决方案来整合多种数据类型,同时捕捉到分子实体和由此产生的疾病表型之间的关系。
生物学中,网络和图形已经成为代表连接数据的自然方式。将大量的不同信息组织成节点(实体)和边(关系)的集合。由此产生的灵活结构被称为知识图谱,它能迅速适应复杂的数据及其关系,并能有效利用网络分析技术来识别隐藏的模式和知识。该工作将这一概念带入一个新的方向,并描述了一个知识图谱框架CKG,该框架在整合相关生物医学数据库和从科学出版物中提取的文本的同时,促进了蛋白质组学与其他全能数据的协调,它构成了一个由数百万个节点和关系组成的图数据库。它允许有临床意义的查询和先进的统计分析,实现自动数据分析、知识挖掘和可视化。
CKG 概述
CKG建立在科学的Python库上,具有可靠、可维护性。整个系统是开源的,并取得了MIT许可。它可以在标准工作流程和基于Jupyter笔记本的互动探索中实现可重复、可再现和透明的分析。
CKG包括几个独立的功能模块:
(1)格式化和分析蛋白质组学数据(analytics_core);
(2)通过整合来自一系列可公开访问的数据库、用户进行的实验、现有本体和科学出版物的可用数据,构建一个图形数据库(graphdb_builder);
(3)连接和查询这个图形数据库(graphdb_connector);
(4)通过在线报告(report_manager)和Jupyter notebooks促进数据可视化、存储和分析(图1a,b)。这个架构无缝地协调和整合了数据以及用户提供的分析。它还促进了数据共享和可视化,以及基于详细的生物医学知识注释的统计报告的解释,产生了临床相关的结果。
图1 CKG结构
下面简要描述各个模块和知识图谱的构建过程。
Analytics Core
蛋白质组学数据下游分析的第一步需要一个全面的、多功能的统计、机器学习和可视化方法的集合。该工作组选择了Python及其相关的科学堆栈,在分析核心中实现的功能以统计和视觉数据表示为中心,涵盖所有主要的计算领域,如表达、相互作用和翻译后、基于修饰的蛋白质组学(图1b)。
其设计的分析核心包括数据科学管道的主要步骤:数据准备(过滤、规范化、估算和数据格式化)、数据探索(汇总统计、排名和分布)、数据分析(降维、假设检验和相关性)和可视化。分析核心整合了除蛋白质组学之外的其他数据类型的分析(即临床数据、多组学、生物背景和文本挖掘)。
Graphdb Builder
为了实现蛋白质组学数据与其他全能实验或文献信息的无缝注释和整合,该工作构建了一个能自然连接大型异质数据的图形数据库。为了构建知识图谱,该工作首先编写了一个解析器库(graphdb_builder),为每个本体、数据库和实验类型提供相关配置。这些解析器从在线资源中下载数据,提取信息并生成实体和关系,两者在蛋白质节点中都可以有属性,如名称或描述。解析器使用配对的配置文件,指定需要如何解释本体、数据库或实验。
一旦本体、数据库和实验文件被标准化、格式化和导入,graphdb_builder模块就会用一组Cypher查询将它们加载到图数据库中,从而创建相应的节点和关系(方法)。
Graphdb Connector graphdb_connector
提供连接和查询CKG数据库的功能。这个模块依赖于Neo4j。它使用Python库py2neo,能独立于平台中的其他功能,这使得与数据库的互动不可知,有利于适应和扩展。同样,在整个平台上用Cypher语言对数据库的查询也被定义为YAML对象,其结构使它们可以被找到(名称、涉及的节点和关系)和被理解(描述),并易于替换。
报告管理器和Jupyter notebooks
报告管理器是一个与CKG数据库中现有项目对接的工具。这个功能模块利用分析核心来分析项目数据并生成交互式图表,然后用这些分析结果创建详细的报告。新的报告管道可以用配置文件(YAML格式)来定义,描述数据处理中要使用的参数,以及要执行的分析顺序。该结构要求用户为每个分析的配置指定要使用的数据(数据框架的名称)、分析列表和可视化结果的图表(分别是分析核心中的函数:analytics和viz)、是否将结果存储为数据框架以及分析和可视化需要的参数。
该工作将 Jupyter notebooks作为CKG平台的另一个组成部分,主要是以下三个方面上因素上的考虑:(1)作为测试和开发新的分析和可视化的平台;(2)解释如何使用CKG的Python库;(3)能作为已发布的案例研究进行再分析的资源库,可以共享、复制和重用。
参考资料
Santos, A., Colaço, A.R., Nielsen, A.B. et al. A knowledge graph to interpret clinical proteomics data. Nat Biotechnol (2022).
https://doi.org/10.1038/s41587-021-01145-6