一个基于软件设计模式生物信息存储模式 摘 要:为了消除各生物信息学数据库之间的模式异构问题,根据生物信息的存储现状,提出了一种存储模式。该模式从物种、类别、基本信息、功能和测序方法五个方面对数据中的信息进行抽象。运用了软件设计模式的思想,通过“派生”“组装”等面向对象的方法生成与模式对应的XML schema文件。抽象出的存储模式不但能使数据之间的关系更加紧密,而且可以形成交叉索引的完整生物信息体系。 关键词:生物信息抽象; 生物数据存储模式; 设计模式; 可扩展标记语言 中图分类号:Q811.4文献标志码:A 文章编号:1001-3695(2010)07-2598-04 doi:10.3969/j.issn.1001-3695.2010.07.055 Storage pattern of bio-information based on software design patterns YANG Jin-cai, ZHAO Sen, LIU Xiao-jiao, HU Jin-zhu (Dept. of Computer Science, Huazhong Normal University, Wuhan 430079, China) Abstract:For eliminating the pattern heterogeneous between bio-information databases, this paper proposed a storage pattern according to the current storage status of biological data, which abstracted data information from five aspects, including species, category, basic information, function, and sequencing method. Generated the corresponding XML schema files by using concepts of design patterns and some object-oriented means like “deriving” and “assembling”. This storage pattern can not only make the relationships between biological data more close, also can form a complete biological information system with cross-index. Key words:bio-information abstraction; biological data storage pattern; design patterns; XML 目前,越来越多的生物基因(组)已测序完成,生物信息学数据呈指数增长。当前主流的生物信息数据库包括核酸序列数据库(GenBank、EMBL、DDBJ等)、蛋白质序列数据库(PIR、PROSITE等)、三维分子结构数据库(PDB、SCOP等)[1]。由于这些数据库中数据的存储模式千差万别,使得生物信息学数据中存在严重的模式异构现象。模式异构是指同样的生物信息在不同的数据库中采用不同的属性集与不同的结构。因为目前国际上还没有形成生物数据存储模式的统一标准,对于模式异构问题尚无很好的解决方法[2]。关于生物信息学数据的整合也存在大量的讨论和研究,文献[3,4]中阐述了生物信息学数据整合的困难所在。但绝大多数研究都是在现有数据存储模式的基础上加以整合,争取较大限度地对其进行数据挖掘,虽然在一定程度上解决了数据的语法和语义异构,但所得结果并不能完全满足大多数领域学者的要求。本文提出了一种基于软件设计模式思想的生物信息学数据的存储模式SCIFS,其代表从五方面抽象生物信息学数据中所含信息(species,category,information,function and sequencing),能最大程度地解决数据存储的模式异构问题,随之从根本上避免了非同源数据间的语法及语义异构问题。本文使用XML(extensible markup language,可扩展标记语言)描述SCIFS的具体实现。 1 生物信息学数据与XML 1.1 XML在生物信息学中的应用 XML是一种半结构化的数据模型,以一种开放的自我描述方式定义数据结构在描述数据内容的同时能突出对结构的描述, 从而体现出数据之间的关系[5]。这正是当前生物数据所需要的描述语言,使用XML可更好地规范生物数据的结构,方便数据之间的交流与集成。当前流行的生物信息学数据库中大多都已提供了XML格式的数据下载[6,7],但均为“单方向”的,即只有当用户需要XML格式的生物数据时,各大数据库才提供XML文件,但在各数据库之间仍然存在着“数据鸿沟”。而要从根本上解决这些问题,就必须充分发挥XML的特点,从数据的存储层面杜绝数据异构现象。 1.2 XML在新型存储模式中的优势 本文提出的SCIFS存储模式(下文将进行详细描述)借用了软件设计模式的思想,将数据结构模块化,利用派生、继承等手段生成灵活多变且结构统一的数据存储模式。XML对数据结构的描述和本身灵活多变的特点,使其十分适用于这种组装模式,为新型存储模式的应用提供了技术基础。 2 生物信息学数据的模式抽象 2.1 软件设计模式思想 软件设计模式简单来说就是在一个环境中,将遇到的问题抽象出来,提出解决方案,当在其他环境中遇到类似的问题时,可直接利用已有的方案来解决当前问题。将设计模式的思想引入生物信息学数据存储,可为数据中信息的抽象提供理论依据,并使之更加规范。 2.2 对于生物信息学数据存储需求的分析 当前生物信息学数据的存储大多根据(以DNA序列为例)测序者、参考文献、所在生物体组织、序列本身等信息进行存储。虽然这些信息是不可或缺的,但对于要使用此序列的生物学家或医学家来说,其中很多信息是无用的。虽然当前有众多检索系统可以根据不同的关注角度进行查询,如SRS和Entrez等,但其采用的方法都是建立分散在不同的异构数据库中数据之间的简单链接,数据本身没有有机地整合在一起,迫使用户仍要手动地在大量的查询结果中寻找有用的信息[8]。这就需要将生物学家甚至于医学家、药物学家等各个领域学者对于生物信息的不同需求进行抽象,在提交和存储生物信息数据时对其进行详细的分类描述。如此一来,用户在搜索数据时就能更有针对性,并能提高搜索效率。 当然,这只是针对序列功能的单一抽象,本文提出的存储模式从五个方面抽象生物数据信息,每一方面看做一个“拟类”,“拟类”中的方法则是把抽象出来的信息用XML进行描述,并根据此“拟类”的特点和内容设计大量“派生拟类”。然后对部分“派生拟类”进行组装,形成最终的数据存储模式。之后的数据提交和存储即看做“拟类”的实例化。通过这种方式,不但使数据的描述更加详细、全面,并且可使海量数据形成层次分明、枝干交错的大型结构体系,便于各领域学者交叉检索。同时,因为“类”的封装性,每个“拟类”中描述的信息对其他“拟类”是独立的,用户对某一或某几方面信息的检索结果将更加准确,大大减少冗余结果。 2.3 SCI FS SCIFS分别是模式中五个“拟类”的英文名称首字母,包括物种―species、类别―category、基本信息―information、功能―function、测序方法―sequencing。这一节将详细介绍SCIFS存储模式中各“拟类”的设计目的(确定模式中的对象)、抽象过程(设计对象的类)和具体实现(对象的实现)。 为方便起见,下文中用名词“类”代替“拟类”。但要注意的是,“拟类”并非严格意义上的类,这里只是借用面向对象中“类”的部分概念。 2.3.1 物种类 1)目的 设计此类的目的是从来源上区别不同的生物信息学数据。生物信息学中的每一条数据均来自某一生物体,这也是其最基本的特征。将物种信息单独抽象出来可使生物信息学数据更加“生物化”,并方便对属于同一分支的生物进行比较。同时,从一定程度上将生物演化的理论加入到生物信息学数据中,方便了对DNA、RNA的演化方面的研究。 2)抽象过程 物种类的抽象根据现实中生物学对物种的分类理论,将其按照物种划分为五界(类):原核生物界、原生生物界、植物界、动物界、真菌界,其下又分为门、纲、目、科、属、种(均视为派生类)。以“人”为例,如图1所示。 由于篇幅所限,图中省略了真兽亚纲、真猴亚目、窄鼻猴次目、类人猿超科、人科。 因为每一种生物最终都属于某一“种”,将界、门、纲、目、科、属定义为抽象类[9]并包含抽象方法,即对每一层次生物特点的说明。要注意的是,物种类的最终实例化与具体实现(应用SCIFS存储数据)有所区别,存储时并不用具体方法覆盖每条数据所继承的所有抽象方法,而是为不同的界、门、纲等仅进行一次特征描述,将这些描述与数据本身分开存储,使用户在需要时可以方便查看。这就避免了来自相似生物的数据中存在大量的重复信息。 3)具体实现 物种类中包含的信息对应于生物信息学数据中的一个模块,此模块由一系列XML元素(element)构成,准确地描述了与当前数据对应的物种分类。在提交数据时,用户选择提交数据所属的“种”后,存储系统自动生成物种类的XML模块。 以“人”为例,当提交人体的DNA、RNA或蛋白质等序列时,用户选择“人种”,提交系统会自动生成类似图1的树状结构,并以文字形式在XML文件中进行描述。为了突出数据的结构,以下物种类的部分schema显示了与数据对应的XML schema文件(由于篇幅所限,对于schema文件的描述将省略schema的部分定义,只关注与抽象类的实现相关的内容)。 species.xsd … 〈xs:element name=“Species”〉 〈xs:complexType〉 〈xs:sequence〉 〈xs:element name=“kingdom”type=“xs:string”/〉 〈xs:element name=“division”type=“xs:string”/〉 〈xs:element name=“class”type=“xs:string”/〉 〈xs:element name=“order”type=“xs:string”/〉 〈xs:element name=“family”type=“xs:string”/〉 〈xs:element name=“genus”type=“xs:string”/〉 〈xs:element name=“species”type=“xs:string”/〉 〈/xs:sequence〉 〈/xs:complexType〉 〈/xs:element〉 … 对于其他物种的DNA、RNA序列数据同理,只需知道此生物所属的具体“种
2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
剑桥顶级教材unlock 4级课件-Unlock 4Unit 8 Ageing 听说 视频.pptx
剑桥顶级教材unlock 4级课件-Unlock4 Unit4 L1.pptx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者BG大游娱乐平台BG大游娱乐平台