基于内存计算的基因疾病搜索系统
2019-01-11臧天仪
杨 勤, 臧天仪
(哈尔滨工业大学 计算机科学与技术学院, 哈尔滨 150001)
0 引 言
近年来随着人类基因组计划(Human Genome Project, HGP)的顺利交付,生物技术不断进步,从而诞生了生命科学和计算机科学结合起来的新科学—生物信息学。生物信息学是结合应用数学、统计学和计算机科学的方法研究生物问题,是建立在分析生物学的基础上,其研究重点主要体现在基因组学(Genomics)和蛋白质组学(Proteomics)2方面。具体就是从核酸和蛋白质序列出发,分析序列中表达的结构功能的生物信息。由于下一代高通量测序(NGS)技术的迅猛发展,生物实验方法和检测手段正日趋丰富多样,由此也就生成了海量生物数据。如何有效利用这些数据来研究疾病的发生机理,寻找致病基因即已成为生物信息学的重要研究分支。
利用现有的数据进行致病基因的预测,提高致病基因的检验效率是目前生物信息学的研究热点。作为生物重要特征,基因型(Genotype)指的是一个生物体内的DNA所包含的基因,表型是指受基因、环境等影响而在生物体上表现出来的特征。整合生物学数据库是为了更好地研究基因与疾病之间关系,而目前各种分析策略在整体上可划定为基于文本的研究、基于网络的研究和基于本体的研究三大类。生物大数据一直都是业界瞩目的焦点,况且生物数据量庞大,数据格式未能统一,传统方法分析颇显复杂繁冗,许多生物项目都迁移到大数据平台亟待处理,对其进行大数据分析、整合与挖掘则已尤其显得紧急与迫切。
本次研究主要分2个部分。一部分是整合相关的基因型、表型和疾病数据,充分利用蛋白质相互作用网络,疾病相似性网络。疾病-基因二分网络构建异构综合网络,将已知的致病基因作为种子节点,改进网页排序TrustRank算法,设计提出YSearch算法模型预测致病基因;另一部分则是系统实现,将整合后的数据存储在NoSql数据库HBase,继而通过Spark大数据框架构建搜索引擎,编码实现预测算法,输出致病基因的排序结果,从而为疾病治疗提供参考。研究内容可论述如下。
1 相关理论与方法
1.1 相关生物网络
疾病网络与基因网络是根据OMIM数据构建,OMIM是持续更新的、关于人类基因和遗传紊乱的数据库。对于疾病相似性网络D,其中节点d1,d2,…,dn∈VD在网络中代表一种疾病,2个节点间的连线ED表示2种疾病是相似的,边的权重ADi, j表示相似程度。表型描述的更标准化方法包括每个特征的频率估计,将大大增加基因型-表型相关性分析的产量。邻接矩阵归一化D满足:
Di, j=p(dj|di)=ADi, j/∑jADi, j
(1)
蛋白质相互作用网络G,其中节点g1,g2,···,gm∈VG在网络中代表一个蛋白质,如果蛋白质gi与蛋白质gj存在相互作用关系,则邻接表AGi, j=1,否则为零。PPI网络数据来自于HPRD数据库,通过预处理将数据存储在邻接表中。PPI邻接矩阵归一化G满足:
Gi, j=p(gj|gi)=AGi, j/∑jAGi, j
(2)
基因-疾病对应网络DG与GD,其中从疾病到基因的转移矩阵GDG,如果基因gi是疾病dj的致病基因,则邻接矩阵Ai, j=1,否则为零。OMIM数据文件中每条记录表示每个疾病表型描述对应的致病基因条目,处理后的转移概率满足:
MDG=p(gi|dj)=Ai, j/∑jAi, j
(3)
同理,从基因到疾病的转移矩阵MGD满足:
MGD=p(dj|gi)=Aj, i/∑iAj, i
(4)
首先构建生物信息的异构网络表明来自多个公共资源的先验信息,表示成G=(V,E),其中V表示节点集合,E表示边集合,蛋白质相互作用网络是无向无权图;疾病-基因对应网络是有向无权图;疾病表型相似性网络是无向有权图。在异构网络中存在着4种状态转移,抽象出来即如图1所示。
1.2 改进TrustRank算法
本文设计疾病表型-基因关联算法YSearch是基于网页排序算法TrustRank的设计改进,算法包括2种形式:查询疾病的致病基因以及查询基因导致的疾病。分别是在疾病表型相似性网络与蛋白质相互作用网络随机游走,还有疾病-基因二分网络的迭代处理。算法的设计代码描述如下。
图1 整合后的异构网络
算法:YSearch
输入:G为蛋白质相互作用转移矩阵;D为疾病表型相似性转移矩阵;M为疾病-基因对应转移矩阵;α为调整参数;n为算法迭代次数
输出:TR为分数
Begin
s=SelectSeed()//种子集
TR0=s
fori=1 tondo
TRk+1=α·M·TRk+(1-α)·s
ReturnTR
end
算法的工作原理可概括为:先人工识别高质量节点(即种子集),种子集指向的节点质量也可能高,即TR值高,与种子集节点连接越远,节点的TR值越低。综上可知,TR算法也就是一个利用网络的拓扑性质在全局网络中进行排序的设计过程。
2 系统框架
2.1 数据
考虑到迄今尚未见到专门的基因相互作用网络数据,且假设蛋白质与基因相对应,因此研究利用了蛋白质相互作用网络(PPI)。数据来源是HPRD数据库(Human Protein Reference Database)。这是与人类蛋白质有关的蛋白质组学信息数据库。本文的HPRD数据是通过网址http://hprd.org/download下载给定的txt文件。文件存储着蛋白质相互作用数据,文件格式详见表1。
表1 HPRD数据格式
疾病表型相似性的数据来源是MimMiner网站,van等人使用MeSH解析了OMIM数据库,对其中5 000多种人类表型进行文本挖掘,生成疾病表型相似性网络。通过网址http://www.cmbi.ru.nl/MimMiner/suppl.html下载数据文件。文件的每一行开头都是一个蛋白质MIM编号,其后就依序排布着一系列与其有相互作用关系的蛋白质MIM编号和相似度,一共是5 080*5 080的对称矩阵。
基因-疾病对应网络的数据来源是OMIM(Online Mendelian Inheritance in Man)数据库,通过网址https://omim.org/downloads/,下载morbidmap.txt文件。文件格式详情可参见表2。
表2 morbidmap文件数据格式
2.2 Spark平台
本文采用的是Spark on yarn平台, Apache Spark是一个以速度、易用性和复杂分析为特点构建的大数据处理框架。Spark在数据处理过程中使用成本更低的洗牌(Shuffle)方式,提升 MapReduce性能,由于内存数据存储和实时的处理能力,Spark比其它的大数据处理技术的性能要更加出色。还支持大数据查询的延迟计算,可以优化大数据处理流程。关于优化,仍需补充的一点就是,当需要多次处理同一数据集时,将中间结果保存在内存中而不是将其写入磁盘的 Spark的设计初衷就是研发既可以在内存中、又可以在磁盘上工作的执行引擎。当内存中的数据过期时,Spark操作符就会执行外部操作,可以将某个数据集的一部分送入内存而剩余部分置于磁盘中。Spark的性能优势得益于这种内存中的数据存储。基于此,可得Spark生态系统的架构设计如图2所示。
2.3 HBase
大量生物网络数据都存储在NoSQL数据库HBase中,通过Spark平台操作数据。HBase是一个面向列、可靠性高的分布式存储系统,一个开源的非关系型分布式数据库(NoSQL)。在技术上,改进了谷歌的BigTable方法,利用HBase技术可在廉价PC机群上搭建起大规模存储集群,HBase为了扩展海量数据,可采用增加节点实现线性扩展,从而可以在集群上管理大量非结构化或半结构化的稀疏数据。HBase仅能通过主键或主键的range检索数据来支持单行事务操作。需要注意的是,HBase的数据存储形式与其它数据库不一样,其中包含了:行键(Row Key)、时间戳(Timestamp)、列族(Column Family)、表和区域(Table&Region)和单元格(Cell)。HBase系统内部框架如图3所示。
图2 Spark生态系统
3 系统设计实现
基因型是控制生物性状的基因座上特定等位基因的组合,在不考虑具体基因座时可以泛指生物个体的全部遗传组成。与基因型相对的是表型,而表型是指生物个体表现的性状。基因型是表型的遗传基础。不同基因型表现相同表型、以及相同基因型表现不同表型的现象广泛存在,这使得从基因型到表型的遗传调控这一科学难题颇显研究难度。而研究中通过运用计算机大数据技术,汇聚整合这些数据库的问题就归结集中在数据格式不统一上。输入文件的数据来源主要有注释变异文件、VCF文件、xml文件等,整体大数据框架是Spark on yarn平台,主要选用技术包括MongoDB数据库存储和Spark SQL查询,输出的是与输入相关的基因型或者表型。设计课题提供一个可扩展且高性能的存储、处理、分析基因大数据的解决方案,设计构建框架如图4所示。
图3HBase系统架构
Fig.3HBasesystemstructure
图4 YSearch系统框架
系统首页是搜索页面,如图5所示。可以手动输入疾病或基因名称,也可以点击示例输入,再点击搜索,生成如图6所示的结果页面。比如搜索疾病寻找致病基因,通过输入疾病表型名称,在结果页面中展示了相关联的蛋白质名称与其相关度,然后可以点击蛋白质名称跳转到HPRD数据库中相关蛋白质的详尽解读内容。链接HRRD效果界面则如图7所示。同样查询基因导致的疾病也是类似操作。
图5 系统首页
图6 搜索结果页面
图7 链接HPRD页面
4 结束语
使用计算方法预测候选基因-疾病相关性既可以研究发病机理,而且也有助于疾病诊断、治疗,以及预防。近年来随着精准医疗的提出与广受关注,个人医疗数据正日趋丰富,通过大数据技术来展开处理研究已成为未来的热点领域。同时个人健康也正成为时下的热、焦点话题,随之优化疾病-基因关联算法,完善搜索系统则更加显现出兼具着不容忽视的社会和经济双重效益。在此基础上,该研究对生物医药产业的发展也必将发挥不可低估的重要推动作用。