生物信息学 在Flat File数据库中,正文行中每列对应一种明确定义的格式。 Flat File数据库的Entry通常都连续地排列在一份或多份文本中。 这些排列并没有一个明确的规则:在一些数据库中所有Enty存放在 单一文本中,另一些数据库中每个Enty有着自己单独的文件。一些 较大的数据库则采取两者结合的方式,将Enty集合在若干个较大的 文件中,以避免计算机文件系统及其相关工具的限制。 Flat File格式最主要的优势在于它的通用性。绝大多数用于计算 的机器都有现成的软件能够读入、显示和查找文本文件。自定义的编 写能够对文本文件进行简单操作的程序也相对简单,不需要某一方面 的专业知识。 虽然Flat File格式最初可以追溯到UNIX操作平台用于数据仓库 的标准,但它现在可被认为是独立于平台的。Flat File格式在机器与 机器之间的传输中也相对较方便,如通过FTP,甚至电子邮件。 目前,很多人认为Flat File在存储空间的需求上并不存在优势。 定义一些其他有效的文件格式是可能的,这些格式至少应该与Flat Fil©的空间利用率相当,甚至更小,如关系型数据库中的表格,或是 XML数据库中的XL文件。当数据通过网络进行传输时,传输速度 成为数据处理中的一个瓶颈,所以文件格式的紧凑性成为一个重要问 题。 除了它的通用性,Flat File能够被很多工具处理。大多数UNIX 命令行工具的设计思想是对文本文件进行基于行的处理。这些工具被 广泛地运用于对生物信息中Flat File格式的数据进行有效的处理。同 31
生物信息学 31 在 Flat File 数据库中,正文行中每列对应一种明确定义的格式。 Flat File 数据库的 Entry 通常都连续地排列在一份或多份文本中。 这些排列并没有一个明确的规则:在一些数据库中所有 Entry 存放在 单一文本中,另一些数据库中每个 Entry 有着自己单独的文件。一些 较大的数据库则采取两者结合的方式,将 Entry 集合在若干个较大的 文件中,以避免计算机文件系统及其相关工具的限制。 Flat File 格式最主要的优势在于它的通用性。绝大多数用于计算 的机器都有现成的软件能够读入、显示和查找文本文件。自定义的编 写能够对文本文件进行简单操作的程序也相对简单,不需要某一方面 的专业知识。 虽然 Flat File 格式最初可以追溯到 UNIX 操作平台用于数据仓库 的标准,但它现在可被认为是独立于平台的。Flat File 格式在机器与 机器之间的传输中也相对较方便,如通过 FTP,甚至电子邮件。 目前,很多人认为 Flat File 在存储空间的需求上并不存在优势。 定义一些其他有效的文件格式是可能的,这些格式至少应该与 Flat File 的空间利用率相当,甚至更小,如关系型数据库中的表格,或是 XML 数据库中的 XML 文件。当数据通过网络进行传输时,传输速度 成为数据处理中的一个瓶颈,所以文件格式的紧凑性成为一个重要问 题。 除了它的通用性,Flat File 能够被很多工具处理。大多数 UNIX 命令行工具的设计思想是对文本文件进行基于行的处理。这些工具被 广泛地运用于对生物信息中 Flat File 格式的数据进行有效的处理。同
生物信息学 样的,包括BLAST(Altschuletal.,l990)和ClustalW(Higginsand Sharp,l988)在内的各种分析工具被设计用于获取Flat File格式的数 据并从中获益。 二、生物信息学中的XML格式 可扩展标记语言XML是一种在文本文件中组织数据的语言。万 维网联盟(htp:www.w3c.com/)已经定义并建议将XML作为一个 通用的独立平台结构化文件。在过去的10年中,XML已经成为在计 算机系统与应用程序之间交换数据的首选语言。一个XML文件代表 一个嵌套的信息树。树中的每一个节点能包含像一串子节点或者一些 属性这样的数据,并且一个XML文件始于根节点。一个XML文件 有一个文本,在文本中每一个节点的内容及其子节点被一对相互封闭 的标签划定。 XML作为一种数据格式被广泛地用于生物信息学中。越来越多 的生物数据库已经不再是仅仅把XML格式的数据作为备选数据格式 与FlatFile格式平行提供给用户,而是彻底基于XML文件构建数据 库管理系统并使用XML的查询语言XQuery/XPath进行各种应用程 序的编写,如LRRML等数据库。 XML文档的结构是根据一种文件类型定义(DTD)组织的,而 文档DTD是由XML文档的作者自行定义的。一个DTD定义了一类 遵从一系列规则的XML文档。这些规则中包括如一个节点中有多少 个、怎样类型、怎样组织的子节点。一个DTD是通过一个文件类型 声明与XML文档联系在一起的,这个声明指出了这个XML文档是 32
生物信息学 32 样的,包括 BLAST(Altschuletal.,1990)和 ClustalW(Higginsand Sharp,1988)在内的各种分析工具被设计用于获取 Flat File 格式的数 据并从中获益。 二、生物信息学中的 XML 格式 可扩展标记语言 XML 是一种在文本文件中组织数据的语言。万 维网联盟(http://www.w3c.com/)已经定义并建议将 XML 作为一个 通用的独立平台结构化文件。在过去的 10 年中,XML 已经成为在计 算机系统与应用程序之间交换数据的首选语言。一个 XML 文件代表 一个嵌套的信息树。树中的每一个节点能包含像一串子节点或者一些 属性这样的数据,并且一个 XML 文件始于根节点。一个 XML 文件 有一个文本,在文本中每一个节点的内容及其子节点被一对相互封闭 的标签划定。 XML 作为一种数据格式被广泛地用于生物信息学中。越来越多 的生物数据库已经不再是仅仅把 XML 格式的数据作为备选数据格式 与 FlatFile 格式平行提供给用户,而是彻底基于 XML 文件构建数据 库管理系统并使用 XML 的查询语言 XQuery/XPath 进行各种应用程 序的编写,如 LRRML 等数据库。 XML 文档的结构是根据一种文件类型定义(DTD)组织的,而 文档 DTD 是由 XML 文档的作者自行定义的。一个 DTD 定义了一类 遵从一系列规则的 XML 文档。这些规则中包括如一个节点中有多少 个、怎样类型、怎样组织的子节点。一个 DTD 是通过一个文件类型 声明与 XML 文档联系在一起的,这个声明指出了这个 XML 文档是
生物信息学 依附于结构由该DTD定义的文档类;一个DTD是通过XML确定其 特殊性的,在这个XML文档里可能直接包含了关于类型的声明。为 了更方便,DTD是以独立文件的形式进行存储和调用的。 由于XML设计依照的是国际标准,所以它具备作为计算机通用 语言的主要优点。几乎现在每种编程环境中都包括了读取和存取 XML格式数据的工具及库。 文档对象模型(DOM)是XML文档的一种概念表征。它是一个 数据以树状存储于XML文档的软件模型。从XML文档翻译”成一 个DOM的过程是依照标准化程序且容易理解的。许多复杂度、性能、 标准支持不同的实现方式都已问世。 与XML相似,DOM是通用的,而且那些对DOM对象进行操作 的软件归根结底是在处理XML数据。一些最常见的软件工具,如网 络浏览器,提供了XML的无缝整合和DOM水平的编程支持。相似 的,绝大部分的文档管理系统、搜索引擎都可以以DOM兼容的方式 从XML文件中索引、搜索、回收信息。 XML也是在软件应用中广泛使用的语言。最经常见到的就是以 XML为基本格式的简易对象存取(SOAP)协议,该协议用于以网络 服务为基础的数据传输。为工作流管理系统开发的工具也是另一个生 物信息学应用中使用ML格式的例子。 三.生物信息学中的JSON格式 JSON是一种开放的标准文件格式和数据交换格式,它使用人类 可读的文本来存储和传输由属性-值对和数组(或其他可序列化的值) 33
生物信息学 33 依附于结构由该 DTD 定义的文档类;一个 DTD 是通过 XML 确定其 特殊性的,在这个 XML 文档里可能直接包含了关于类型的声明。为 了更方便,DTD 是以独立文件的形式进行存储和调用的。 由于 XML 设计依照的是国际标准,所以它具备作为计算机通用 语言的主要优点。几乎现在每种编程环境中都包括了读取和存取 XML 格式数据的工具及库。 文档对象模型(DOM)是 XML 文档的一种概念表征。它是一个 数据以树状存储于 XML 文档的软件模型。从 XML 文档“翻译”成一 个DOM的过程是依照标准化程序且容易理解的。许多复杂度、性能、 标准支持不同的实现方式都已问世。 与 XML 相似,DOM 是通用的,而且那些对 DOM 对象进行操作 的软件归根结底是在处理 XML 数据。一些最常见的软件工具,如网 络浏览器,提供了 XML 的无缝整合和 DOM 水平的编程支持。相似 的,绝大部分的文档管理系统、搜索引擎都可以以 DOM 兼容的方式 从 XML 文件中索引、搜索、回收信息。 XML 也是在软件应用中广泛使用的语言。最经常见到的就是以 XML 为基本格式的简易对象存取(SOAP)协议,该协议用于以网络 服务为基础的数据传输。为工作流管理系统开发的工具也是另一个生 物信息学应用中使用 XML 格式的例子。 三.生物信息学中的 JSON 格式 JSON 是一种开放的标准文件格式和数据交换格式,它使用人类 可读的文本来存储和传输由属性-值对和数组(或其他可序列化的值)
生物信息学 组成的数据对象。JSON是一种独立于语言的数据格式。它源于 JavaScript,:但许多现代编程语言都包含用于生成和解析JSON格式数 据的代码。JSON文件名使用扩展名json. JSON的基础数据类型如下。 数字(number):一个有符号的十进制数,可以包含小数部分, 可以使用指数E表示法,但不能包括非数字,如NaN。格式不区分整 数和浮点。JavaScript对所有的数字值都使用双精度浮点格式,但是 实现JSON的其他语言可能会对数字进行不同的编码。 字符串(string):由零个或多个Unicode字符组成的序列。字符 串用双引号分隔,并支持反斜杠转义语法。 布尔值(boolean):true或false之一。 数组(aray):由零个或多个元素组成的有序列表,每个元素都 可以是任何类型。数组使用方括号表示法和逗号分隔的元素。 对象(object):键为字符串的键-值对的集合。对象用于表示关联 数组,其中每个键在对象中都是唯一的。对象用花括号分隔,并使用 逗号分隔每对对象,而在每对对象中,字符冒号“:”将键与值分隔开 来。 null:空值。 JSON有两种数据格式:对象和数组。对象:用大括号表示,由 键值对组成,每个键-值对用逗号分隔开。其中,ky必须作为字符串 而且是双引号,value可以是多种数据类型。数组:用中括号表示,每 个元素之间用逗号分隔开。 34
生物信息学 34 组成的数据对象。JSON 是一种独立于语言的数据格式。它源于 JavaScript,但许多现代编程语言都包含用于生成和解析 JSON 格式数 据的代码。JSON 文件名使用扩展名.json。 JSON 的基础数据类型如下。 数字(number):一个有符号的十进制数,可以包含小数部分, 可以使用指数 E 表示法,但不能包括非数字,如 NaN。格式不区分整 数和浮点。JavaScript 对所有的数字值都使用双精度浮点格式,但是 实现 JSON 的其他语言可能会对数字进行不同的编码。 字符串(string):由零个或多个 Unicode 字符组成的序列。字符 串用双引号分隔,并支持反斜杠转义语法。 布尔值(boolean):true 或 false 之一。 数组(array):由零个或多个元素组成的有序列表,每个元素都 可以是任何类型。数组使用方括号表示法和逗号分隔的元素。 对象(object):键为字符串的键-值对的集合。对象用于表示关联 数组,其中每个键在对象中都是唯一的。对象用花括号分隔,并使用 逗号分隔每对对象,而在每对对象中,字符冒号“:”将键与值分隔开 来。 null:空值。 JSON 有两种数据格式:对象和数组。对象:用大括号表示,由 键-值对组成,每个键-值对用逗号分隔开。其中,key 必须作为字符串 而且是双引号,value 可以是多种数据类型。数组:用中括号表示,每 个元素之间用逗号分隔开
生物信息学 四.生物信息学中的关系型数据库 关系型数据库是由根据特定的关系模型组织的一系列数据。非正 式地来讲,关系型数据库的基本组成单位是表:一组行,每行代表一 个Entry;每行又包含相同数量的列;每列代表该Entry的一个属性, 具有特定的数据类型。正式地来讲,关系型模型以关系来进行数据的 组织,作为一组放在n-元组的元素,每个元素在这个-元组中都属于 一个特定的集合。 一般来说,很多表都会定义其中的一个列作为每一个Entry的唯 一标识符(ID)。同时也有一些表把多个列联合起来作为Entry的唯 一ID。每张表都应该有这样的D列作为链接索引以提高表中Enty 被其他表引用的性能。 关系型数据库通常包括许多张表,这些表通过关系和限制连接。 这是确保考虑数据一致性的一种手段。举例来说,在一个基因数据库 中基因是以物种联系的,一个稳定的约束需要任何一个基因组序列都 必须连接到数据库中的某个物种。这样的约束可以使用户避免输入一 段序列后没有指出该序列所属的物种(前提是该物种存在于数据库 中)。 关系型数据库模型是为包容复杂关系定义和数据联系而设计的。 这样的目的是保证数据尽可能真实地反映它记录的域的结构。将数据 放入关系型数据库的特定域中的过程叫做数据库建模,它是一个包含 着许多权衡的复杂过程。数据库建模的第一步就是定义表和表中每列 的格式。在定义关系和数据规范化的过程中包括了更为复杂的步骤。 35
生物信息学 35 四.生物信息学中的关系型数据库 关系型数据库是由根据特定的关系模型组织的一系列数据。非正 式地来讲,关系型数据库的基本组成单位是表:一组行,每行代表一 个 Entry;每行又包含相同数量的列;每列代表该 Entry 的一个属性, 具有特定的数据类型。正式地来讲,关系型模型以关系来进行数据的 组织,作为一组放在 n-元组的元素,每个元素在这个 n-元组中都属于 一个特定的集合。 一般来说,很多表都会定义其中的一个列作为每一个 Entry 的唯 一标识符(ID)。同时也有一些表把多个列联合起来作为 Entry 的唯 一 ID。每张表都应该有这样的 ID 列作为链接索引以提高表中 Entry 被其他表引用的性能。 关系型数据库通常包括许多张表,这些表通过关系和限制连接。 这是确保考虑数据一致性的一种手段。举例来说,在一个基因数据库 中基因是以物种联系的,一个稳定的约束需要任何一个基因组序列都 必须连接到数据库中的某个物种。这样的约束可以使用户避免输入一 段序列后没有指出该序列所属的物种(前提是该物种存在于数据库 中)。 关系型数据库模型是为包容复杂关系定义和数据联系而设计的。 这样的目的是保证数据尽可能真实地反映它记录的域的结构。将数据 放入关系型数据库的特定域中的过程叫做数据库建模,它是一个包含 着许多权衡的复杂过程。数据库建模的第一步就是定义表和表中每列 的格式。在定义关系和数据规范化的过程中包括了更为复杂的步骤