Gene Ontology 中最基本的概念是 term 。GO 里面的每一个 entry 都有一个唯一的数字标记,形如 GO:nnnnnnn,还有一个 term 名,比如 "cell", "fibroblast growth factor receptor binding",或者 "signal transduction"。每个 term 都属于一个 ontology,总共有三个ontology,它们分别是 molecular function, cellular component 和 biological process。
一个基因 product 可能会出现在不止一个 cellular component 里面,也可能会在很多 biological process 里面起作用,并且在其中发挥不同的 molecular function。比如,基因 product "cytochrome c" 用 molecular function term 描述是 "oxidoreductase activity",而用 biological process term 描述就是 "oxidative phosphorylation" 和 "induction of cell death",最后,它的 celluar component term 是 "mitochondrial matrix" 和 "mitochondrial inner membrane"。
Gene Ontology 中的 term 有两种相互关系,它们分别是 is_a 关系和 part_of 关系。is_a 关系是一种简单的包含关系,比如 A is_a B 表示 A 是 B 的一个子集。比如 nuclear chromosome is_a chromosome。part_of 关系要稍微复杂一点,C part_of_D 意味着如果 C 出现,那么它就肯定是 D 的一部分,但 C 不一定总会出现。比如 nucleus part_of cell,核肯定是细胞的一部分,但有的细胞没有核。
Gene Ontology 的结构是一个有向无环图,有点类似于分类树,不同点在于 Gene Ontology 的结构中一个 term 可以有不止一个 parent。比如 biological process term "hexose biosynthesis" 有两个 parents,它们分别是 "hexose metabolism" 和 "monosaccharide biosynthesis",这是因为生物合成是代谢的一种,而己糖又是单糖的一种。
Gene Ontology 使用 Oxford Dictionary of Molecular Biology (1997) 中的定义,在分选时还要参考 SWISS-PROT, PIR, NCBI CGAP, EC…中的注释。建立起来的标准不是唯一的标准(这是 GOC 所一直强调的),自然也不规定每个研究者必须遵循这套控制字集系统。所采用的动态结构 (dynamic structure) 使用 DAGs(Directed Acyclic Graphs) 方式的 network,将每一个 ontology 串连起来,形成树状结构(hierarchical tree),也就是由前面所说的“is a”和“part of”两种关系。
由于 GO 是一种整合性的分类系统,其下的 3 类主 ontology 我们前面说是独立的,但是无论是 GOC 原初的设计还是我们的使用中其实都还是存在一定的流程关系。一个基因/蛋白质或者一个 ontology 在注解的过程中,首先是考虑涉及在构成细胞内的组分和元件 (cellular component),其次就是此组分/元件在分子水平上所行使的功能 (molecular function),最后能够呈现出该分子功能所直接参与的生物过程 (biological process)。由于这是一种存在反馈机制的注释过程,并且整个系统是动态开放实时更新的,因此在某种程度上说它具有纠错的能力。
TAMBIS 计划是目前唯一实现了在概念和联系层次上集成信息源的系统。但是还有其他一些相关计划正在研究之中。
比如 BioKleisli (宾夕法尼亚大学计算机系),采用 Mediator(调节器)技术实现了若干数据源的集成,其后的 K2/Kleisli 系统还利用数据仓库实现了 OLAP(联机分析处理)。
DiscoveryLink (IBM 研究院),基于 Wrapper/ Mediator(包装器/调节器)实现了信息源集成,提出了查询的分解和基于代价的优化策略。
TAMBIS (曼彻斯特大学计算机系)基于 Wrapper/ Mediator 实现了信息源集成,借助 BioKleisli 中的 CPL 语言作为查询语言并给出了查询优化的方法。通过 TaO(TAMBIS Ontology)本体定义为用户浏览和查询处理提供领域知识。
TINet (GSK 公司和 IBM 研究院),基于多数据库中间件 OPM(Object-Protocol Model,对象协议模型)定义数据源的对象视图,其 CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)服务器使各数据源 Wrapper(包装器) 更易于扩充。
但是他们都存在一定的缺陷。BioKleisli 系统查询能力相对较弱,而且并未给出查询优化策略;TAMBIS 系统和 DiscoveryLink 系统集成的数据源数量相对还很少,后者在查询处理中并未运用领域知识,因而查询分解也未从语义角度考虑;TINet 系统中的查询处理能力不强。
现在面临的突出问题是在数据库查询中尤其是当多个数据库存在信息重叠时,缺乏从中选择最佳检索成员,动态生成优化检索方案的能力。而且现有的工作主要面向数据集成,而对服务集成考虑不多。支持数据与服务综合性集成的体系仍欠完备。因此这也将是 GO 未来发展和提升的一个重要方向。
本文引用网址:http://home.bbioo.com/space-110070-do-blog-id-5182.html