基于FIPA与生物元数据的生物信息多Agent系统模型
何红波1, 陈 蓉1, 李 宾2, 李义兵1
(1.中南大学 物理科学与技术学院, 湖南 长沙, 410083;
2.中南大学 信息科学与工程学院, 湖南 长沙, 410083)
摘要: 采用智能物理代理基金会(FIPA)提供的代理规范及元数据的智能体(Agent)技术, 构建生物信息的集成系统, 分析分布式生物信息中Agent的分类与结构; 利用Java智能体开发环境JADE设计了一个面向分布式生物信息的多Agent原型系统Bio-Agents, 并给出了其体系结构; 开发了一种脚本语言Bioscript, 研究了基于Agent的生物信息导航。 应用结果表明: 可以通过操纵生物信息功能Agent及控制Agent之间的关系来描述用户任务, 用户在分析与查询复杂的生物信息数据库时, 只需了解生物元数据库中的生物信息, 按Bioscript语言来描述其所需要查询与分析的数据, 就完全可以掌握数据库中的数据情况。
关键词: 智能体; 分布式生物信息; 生物元数据; JADE
中图分类号:TP311.133.1 文献标识码:A 文章编号: 1672-7207(2005)05-0863-05
Model of bio-informatics multi-Agent system based on FIPA and bio-metadata
HE Hong-bo1, CEHN Rong1, LI Bing2, LI Yi-bing1
(1.School of Physics Science and Technology, Central South University, Changsha 410083, China;
2.School of Information Science and Engineering, Central South University, Changsha 410083, China)
Abstract: The Agent technology based on the criterion provided by Foundation for Intelligent Physical Agent (FIPA) and the metadata was applied to constructing integrated framework of bio-informatics. Firstly, the classification and structure of Agent in distributed bio-informatics were analyzed, and the model of communication and distribution and the structure of system were built. Then the proto system Bio-Agents for the distributed bio-informatics multi-Agent system was designed by using Java Agent Development Environment(JADE); a script language Bioscript was also developed. The results shows that the tasks of user can be described by the operation of bio-informatics function agent and control of the relationship of Agent. If the user wants to analyze and query the complex bio-informatics database, the only thing needed is to know bio-information in the bio-metadata. The data can be analyzed and queried by Bioscript language.
Key words: Agent; distributed bioinformatics; bio-metadata; JADE
生物信息学是对基因组研究的相关生物信息的获取、 加工、 储存、 分配、 分析和解释[1]。 这一定义包括两层含义: 一方面是对海量数据的收集、 整理与服务, 也就是管理这些数据; 另一方面是从中发现新的规律, 也就是用好这些数据。 在生物信息学的研究中, 数据库的建立与优化是一个主要的课题。 国际上著名的公共数据库有genebank, swissprot, PIR和PDB等。 迄今为止, 生物学数据库总数已达500个以上。 Baxevanis[2]收集了目前一些常用的数据库。 由于生物信息系具有以下的特点: 第一, 信息结构和生物信息的概念复杂性导致确认生物信息之间的关联性困难; 第二, 信息的储存方式及结构是异质的; 第三, 信息库的储存资料的格式是变动的[3, 4]; 第四, 生物信息的数据量剧增。 因此, 目前迫切需要开发一个基于多Agent的分布式平台来整合各种生物信息的资源 。
1 Agent技术与元数据
关于智能体(Agent)理论和技术的研究最早源于分布式人工智能(DAI), 但从20世纪80年代末开始, Agent理论和技术的研究便从DAI领域拓展开来, 并与许多其他领域相互借鉴和融合[5]。 Agent是一个具有自治性、 自适应性、 协同性和智能性的内部驱动的软件实体。 每个Agent都是具有特定完整功能的、 独立的、 高度智能化的个体。 它掌握一定的知识, 有自己的目标和解决问题的能力。
随着智能代理技术的应用日益广泛, 其标准化问题也日益突出。 为了实现异质代理系统间的互操作, 国际性的标准化组织FIPA对此制定了一个标准化的代理规范, 并得到欧盟及一些著名公司的支持。 FIPA全称为Foundation for Intelligent Physical Agents, 是一个非营利组织, 于1996年建立于瑞士日内瓦[6]。
为了提高异构Agent系统之间的交互性, FIPA制定了一系列的技术规范, 包括体系结构、 ACL代理语言。 FIPA模型的核心是多Agent系统中Agent之间的通信[7, 8], 它通过融合言语行为理论、 谓词逻辑及公共的本体论, 来提供一个标准的方法以理解Agent之间的交流。 FIPA 的基本内容包括:
a. Agent代理管理, 包括Agent的注册、 定位服务, 通信服务及移动性支持。
b. Agent通信语言, 包括语义、 交互协议、 责任等。
c. 与本地软件的交互, 将遗留系统或数据库包装起来。
d. Agent与人的交流, 定义交流内容与交流方式。
元数据(Metadata)又叫描述数据或诠释数据, 是“关于数据的数据”, 用于说明数据内容、 质量、 条件、 查询和其他有关特征的背景信息。 元数据描述的基本对象是数据集, 其存储形式为格式化的文本或关系数据库表[9]。 元数据的主要作用包括:
a. 有效管理和维护数据, 建立数据文档, 避免因人员调动导致数据无法理解和使用;
b. 提供数据分类、 内容、 质量、 条件、 查询、 交换等方面的信息, 便于用户查询和理解数据。
元数据是使数据充分发挥作用的重要条件之一, 可用于数据文档的建立、 数据发布、 数据浏览、 数据转换等, 对于促进数据的管理、 使用和共享有重要的作用。 原始数据中如果没有元数据, 就不能有效的进行管理和使用。 生物信息资源元数据(Bio-metadata)中的数据项信息如表1所示, 元数据库建设如图1所示。
图 1 元数据库建设
Fig. 1 Construction of metadata
表 1 生物信息资源元数据中的数据项信息
Table 1 Data item of bio-metadata in bio-information resources
本研究的目的是将Agent技术应用到分布式生物信息系统的建设中, 分析分布式生物信息中Agent的分类与结构, 设计一个面向分布式生物信息的多Agent系统模型bio-Agents[10], 给出其通讯模型、 体系结构和分布模型, 并对它在生物信息导航中的应用进行研究。
2 Bio-Agents模型
2.1 Agent分类与功能系统结构
Bio-Agent系统是基于多Agent的体系结构。 该体系结构内各个Agent可以分布在网络的多个计算机节点上运行。 生物信息 Agent是一种反应式Agent, 它不仅能够独立自主地完成自己的任务, 而且还能与其他Agent相互通信, 交换信息, 进行合作[11]。 结合分布式生物信息技术和Agent技术, 分布式生物信息中的Agent可以分成3类, 如图2所示。
图 2 Bio-Agent系统结构图
Fig. 2 Bio-Agent system structure
2.1.1 接口Agent
接口Agent的主要功能是管理与用户的交互。 从用户的角度看, 接口Agent是用户的“秘书”, 在其他Agent看来, 它是代表用户参与活动的主体。 它接受用户对生物信息的分析及查询任务, 进行任务分解, 利用Agent间的统一通信机制交由任务Agent完成, 并利用生物信息功能Agent返回的结果完成用户指定的计算, 返回最终结果。 系统通过我们开发的Bioscript语言与用户交互。
接口Agent是Bio-Agents中最基本的Agent, 它为Application提供了一组访问接口, Application可以通过Bioscript语言向Bio-Agents提出任务。 正如关系数据库系统提供SQL语言用来描述关系查询任务一样, Bio-Agents提供Bioscript语言用来描述生物信息任务。 当遇到具体问题时, 只需把任务用Bioscript语言描述成Bioscript代码段提交给通用 Agent, 接口Agent就可以自动地去完成该任务。
Bioscript语言是一个解释性语言, 它提供输入、 输出参数描述语句、 变量定义语句、 Agent定义语句、 Agent控制语句、 合作控制语句、 条件控制语句、 并行控制语句、 代码移动控制语句以及生物数据请求描述语句等, 其主要作用就是通过操纵生物信息功能Agent及控制Agent之间的关系来描述用户任务。 接口Agent内有一个Bioscript语言解释器, 它解释执行一段描述用户任务的Bioscript语句, 将用户任务分解成一个个子任务交给生物信息功能Agent, 并协调这些生物信息功能Agent完成用户任务。 对最终用户来说, 这一切都是透明的, 无须知道数据在哪里, 任务是由谁完成以及在哪里完成。
2.1.2 任务Agent
对分布式生物信息系统中的生物分析或查询功能进行封装, 将不同的生物数据资源, 包括超文本文件、 关系数据库、 文本文件、 XML 文件格式等, 转化为基于XML 的数据描述模型, 克服不同的生物学数据库数据结构、 信息提取过程的不统一等问题, 完成不同数据要求的同一类生物分析或查询, 并利用Agent间的统一通信机制返回查询结果。 任务Agent包括PDB Agent, PIR Agent, Swiss Agent, Blast Agent和MEMSAT Agent等。
2.1.3 系统管理Agent
主要担负全局管理和协调职能。 为Bio-Agent系统的运行提供环境。 它主要有以下功能: 通信服务、 传输服务、 和安全机制。 目前, Facilitator只负责通信任务, 使用知识查询与处理语言(KQML)作为通信语言[6]。 KQML定义了一种Agent之间传递消息的标准语法以及一些“动作表达式”, 如, Tell, Perform和Reply等。
从功能上分, 整个系统可分为下面5个子系统:
a. 控制子系统, 负责协调、 控制整个生物信息 Agent的正常运转。 它根据内部数据资源和所接收到的消息进行推理, 确定采取功能子系统中的哪些功能模块或构件按照一定的模式完成相应的任务。
b. 功能子系统, 包括生物信息 Agent完成自身所能提供的任务所需具备的各种功能模块、 生物信息构件及其他功能构件。
c. 通信子系统, 它是与其他生物信息 Agent通信的接口, 负责传递请求、 控制信息以及交换数据。 生物信息 Agent之间的通讯利用消息进行通讯的。
d. 人机界面与人的交互接口, 包括Bio-script语言的导入、 生物数据的显示以及其他交互操作。
e. 数据资源为生物信息 Agent提供各种数据库资源。
2.2 开发环境
目前Agent 有两大平台规范, 即OMG组织于1997 年提出的MASIF和于2002 年提出的标准FIPA。 本文采用FIPA 标准。 FIPA 的基本内容包括:
a. 中间件支持, 包括Agent 的注册、 定位服务、 通信服务、 移动性及安全性支持。
b.Agent 通信语言, 包括语义、 交互协议、 责任等。
c.和本地软件的交互, 将遗留系统或数据库包装起来。
d.Agent 与人的交流, 定义了交流内容与交流方式。
常用的基于JAVA和FIPA的agent toolkit有FIPAOS(FIPA Open Source)[12], JADE[13]和ZEUS等。 我们的开发环境选择JADE, JADE参考结构如图3所示。
图 3 JADE参考结构
Fig. 3 JADE reference structure
3 Bio-Agents的应用
随着计算机网络的发展和社会信息化的深入, 越来越多的生物数据库与网络进行连接, 可供别人使用, 但是使用者并不知道在什么地方有生物数据、 有什么样的生物数据可以使用、 该如何使用这些生物数据等。 将生物元数据与Agent技术结合起来, 可以全面有效地管理网上分布的生物数据并提供一个智能化的生物信息服务[14]。
生物元数据屏蔽了生物信息在生物数据库中的存储和管理细节, 生物数据的使用者只需了解生物元数据库中的信息就可以完全掌握数据库中的数据情况, 而用不着去了解诸如数据结构和表模式等难以掌握的计算机专业概念。 为了有效地管理网络上分布的生物数据, 设计了一种基于网络环境的多层次生物元数据库框架。
在基于Bio-Agent 系统的基础上, 开发了基因的突变信息数据库, 实现突变信息在基因组层次、 转录层次、 蛋白序列、 二级结构、 三级结构、 以及新陈代谢、 信号转导、 疾病相关等全方面的定位, 并且将SNP 在不同层次的定位都以图示方式给出, 提供非常友好的用户界面。
信息获取Agent, 获取包括GenBank, KEGG, Locus, UniGene, dbSNP, HGVbase, OMIM, SwissProt和InterPro 等数据库的相关信息。 任务Agent 以突变信息在不同层次的定位为主线, 对各个方面的数据进行数据综合, 以dbSNP, HGVbase和OMIM数据为基础, 将SNP 在基因, 转录mRNA 的位置进行定位, 以及非同义SNP 对应的蛋白位置; 结合SwissProt中蛋白的不同和特征信息, 将非同义SNP 在Swissprot中蛋白的特征所在位置进行定位; 结合综合二级结构数据库InterPro, 将非同义SNP 在SwissProt 中蛋白的不同二级结构域进行定位; 结合PDB 中的三级结构信息, 将非同义SNP 在三级结构信息中进行定位; 同时结合OMIM中的突变信息, 结合新陈代谢信息, 将突变信息在网络层次定位。 用户接口Agent 提供良好的用户使用界面, 可以查询基因、 蛋白、 酶、 OMIM、 染色体分布、 SNP 等相关信息, 并且这些信息提供丰富的相互联接。
4 结 论
a. 采用FIPA和JADE技术构建一个Bio-Agents原型系统。 Bio-Agents系统的应用增加了数据的透明性, 减轻了用户分析与查询复杂的生物信息数据库的负担, 提高了用户的效率。
b. 用户无需知道各种生物数据库的具体存放位置, 具体数据结构, 只需要按Bioscript语言来描述其所需要查询与分析的数据即可。
参考文献:
[1]Martin A C. Can we integrate bioinformatics data on the Internet[J] . Trends Biotech, 2001, 19(9): 327-328.
[2]Baxevanis A D. The molecular biology database collection: an updated compilation of biological database resources[J]. Nucleic Acids Res, 2001, 29(5): 1-10.
[3]Brauer G. The human revolution: behavioural and biological perspectives on the origins of modern humans[M]. Edinburgh: Edinburgh University Press, 1989.
[4]Durbin R, Eddy S R, Krogh A, et al. Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids[M]. Cambridge: Cambridge University Press, 1998.
[5]Wooldridge M, Jennings N R. Intelligent Agents: theory and practice[J]. Knowledge Engineering Review, 1994, 25(10): 65-73.
[6]Finin T, Labrou Y, Mayfield J. KQML as an Agent communication language[A]. Bradshaw J. Software Agents[C]. Cambridge: MIT Press, 1997.
[7]Rober M. FIPA Agent management specification[EB/OL]. http://www.fipa.org, 2003-12-05.
[8]Paul H. FIPA Abstract Architecture Specification[EB/OL]. http://www.fipa.org, 2003-12-05.
[9]Achard F, Vaysseix G, Barillot E X. Bioinformatics and data integration[J]. Bioinformatics, 2001, 17(2): 115-125.
[10]Heijne G V. Sequence Analysis in Molecular Biology: Treasure Trove or Trivial Pursuit[M]. New York: Academic Press, 1987.
[11]Nwana H S. Software Agents: an overview[J]. Knowledge Engineering Review, 1996, 11(3): 205-244.
[12]Jim C Y. FIPA Open Source[EB/OL]. http://fipa-os.sourceforge.net, 2004-03-20.
[13]John M D.JADE (Java Agent Development Framework)[EB/OL].http://jade.cselt.it, 2004-03-20.
[14]Nwana H S. Software Agent An Overciew[EO/OL]. http://agents.umbc.edu/introduction/ao,2004-01-25.
收稿日期: 2005-03-20
基金项目: 国家自然科学基金资助项目(60371046)
作者简介:何红波(1972-), 男, 湖南长沙人, 博士, 教授, 从事生物信息、 网格研究
论文联系人: 陈 蓉, 女, 硕士研究生; 电话: 0731-6217680(O); E-mail: crr18@sohu.com