该文件每一行都是一个键值对,基本格式为:
    键: 值!注释

总体结构:
    文件头    !包含若干行总体说明
    词条1    ![词条类型]占第一行,后跟若干行说明
    词条2    !不同的词条可用于描述同一对象的不同方面
    .
    .
    .
    !中间可以有若干空白行
    !OBO文件中可以在任意地方插入注释,其注释以'!'开头

文件头:
    format-version: 1.2    !本文件所使用的OBO版本。本条目是必需的,以下文件头说明是可选的。
    data-version: 2012-12-09    !当前ontology的版本
    date: 07:12:2012 17:25    !当前日期
    saved-by: tanyaberardini    !最后保存该文件的用户
    auto-generated-by: OBO-Edit 2.2    !生成该文件的程序
    subsetdef: goslim_aspergillus "Aspergillus GO slim"    !对术语子集的描述
    .
    .
    .
    synonymtypedef: systematic_synonym "Systematic synonym" EXACT    !用户自定义的同义词类型
    default-namespace: gene_ontology    !缺省的名称使用范围
    remark:     !重要注释
    default-relationship-id-prefix:     !缺省关系作用范围
    id-mapping:     !将一个术语或关系对应到另一个术语或关系上
    idspace:     !全局id和局部id的对应
    ontology: go

词条:词条类型包括[Term]、[Typedef]、[Instance]

[Term]:
    [Term]
    id: GO:0000001    !一个id即一个对象。一般情况下,id是全局性的,即唯一对应的,在任何地方都是一样的
    name: mitochondrion inheritance    !术语名,只能有一个
    namespace: biological_process    !名称使用范围
    def:     !该术语的定义
    synonym: "mitochondrial inheritance" EXACT []    !同义词
    is_a: GO:0048308 ! organelle inheritance    !该术语是上级类别的一个亚类
    is_a: GO:0048311 ! mitochondrion distribution
    alt_id:     !备选id,一个术语可以有多个备选id
    is_anonymous:     !说明为true的话,则该词条为局部id,其id不是固定的,仅在当前文件有效
    comment:     !重要注释
    subset:     !该术语从属的子集,该子集必须是文件头定义的
    subset:     !一个术语可以从属于多个子集
    xref:     !其他词汇表中的类似词汇
    xref:     !一个术语可有多个类似词汇
    intersection_of:     !该术语是其他几个术语的交集
    intersection_of:    !至少要有两个
    union_of:     !该术语是其他几个术语的并集
    union_of:     !至少要有两个
    disjoint_from:     !该术语和另一个术语互斥
    relationship:     !该术语和另一个术语的关系,必须使用[Typedef]中定义的关系id
    is_obsolete:     !该术语是否被淘汰
    replaced_by:     !替代淘汰词的术语
    consider:     !淘汰词备选的、还未被审核的替换术语
    created_by:     !术语创造者
    creation_date:     !术语创造时间

[Typedef]:
    [Typedef]
    id:     !通常是有一定含义的字符串,而不是数字
    is_anonymous
    name
    namespace
    alt_id
    def
    comment
    subset
    synonym
    xref
    domain:     !该关系仅对domain指定术语的亚类起作用
    range:     !任何具有这个关系的术语都属于range指定术语的亚类
    is_anti_symmetric
    is_cyclic:     !可否构建循环作用
    is_reflexive:     !是否自反
    is_symmetric:     !是否对称
    is_transitive:     !传递关系?
    is_a
    inverse_of:     !和另一关系相反。适用于原关系的两个术语,可以反方向适用另一关系。
    transitive_over:     !将关系传递给下一个
    relationship
    is_obsolete
    replaced_by
    consider

[Instance]:
    [Instance]
    id
    is_anonymous
    name
    namespace
    alt_id
    comment
    synonym
    xref
    instance_of
    property_value
    is_obsolete
    replaced_by
    consider

缺省的词条定义
    [Typedef]
    id: is_a
    name: is_a
    range: OBO:TERM_OR_TYPE
    domain: OBO:TERM_OR_TYPE
    def: The basic subclassing relationship [OBO:defs]

[Typedef]
    id: disjoint_from
    name: disjoint_from
    range: OBO:TERM
    domain: OBO:TERM
    def: Indicates that two classes are disjoint [OBO:defs]

[Typedef]
    id: instance_of
    name: instance_of
    range: OBO:TERM
    domain: OBO:INSTANCE
    def: Indicates the type of an instance [OBO:defs]

[Typedef]
    id: inverse_of
    name: inverse_of
    range: OBO:TYPE
    domain: OBO:TYPE
    def: Indicates that one relationship type is the inverse of another [OBO:defs]

[Typedef]
    id: union_of
    name: union_of
    range: OBO:TERM
    domain: OBO:TERM
    def: Indicates that a term is the union of several others [OBO:defs]

[Typedef]
    id: intersection_of
    name: intersection_of
    range: OBO:TERM
    domain: OBO:TERM
    def: Indicates that a term is the intersection of several others [OBO:defs]

参考网址:
http://www.geneontology.org/GO.format.obo-1_2.shtml

OBO文件格式1.2的更多相关文章

  1. RIFF和WAVE音频文件格式

    RIFF file format RIFF全称为资源互换文件格式(Resources Interchange File Format),是Windows下大部分多媒体文件遵循的一种文件结构.RIFF文 ...

  2. JavaSe:Properties文件格式

    Properties文件格式说明 Properties继承自Hashtable,是由一组key-value的集合. 在Java中,常用properties文件作为配置文件.它的格式是什么样的呢? 下图 ...

  3. Dotnet文件格式解析

    0x0.序 解析过程并没有介绍对pe结构的相关解析过程,网上此类相关资料很多可自行查阅,本文只介绍了网上资料较少的从pe结构的可选头中的数据目录表中获取dotnet目录的rva和size,到完全解析d ...

  4. Reverse Core 第二部分 - 13章 - PE文件格式

    @date: 2016/11/24 @author: dlive ​ PE (portable executable) ,它是微软在Unix平台的COFF(Common Object File For ...

  5. iOS 图片文件格式判断、圆角图片

    1.圆角图片 // 设置圆形图片(放到分类中使用) - (UIImage *)cutCircleImage { UIGraphicsBeginImageContextWithOptions(self. ...

  6. 基于 Hive 的文件格式:RCFile 简介及其应用

    转载自:https://my.oschina.net/leejun2005/blog/280896 Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度 ...

  7. 图解JVM的Class文件格式(详细版)

          了解JAVA的Class文件结构有助于掌握JAVA语言的底层运行机制,我在学习的过程中会不断的与ELF文件格式作对比(当然他们的复杂程度.格式相去甚远,比如可执行ELF的符号表解析在静态链 ...

  8. dex文件格式一

    一.生成dex文件 我们可以通过java文件来生成一个简单的dex文件 编译过程: 首先编写java代码如下: (1) 编译成 java class 文件 执行命令 : javac Hello.jav ...

  9. dex文件格式二

    一. dex文件头 (1) magic value 在DexFile.c   dexFileParse函数中 会先检查magic opt 啥是magic opt呢? 我们刚刚从cache目录拷贝出来的 ...

随机推荐

  1. flex布局 响应式布局

    移动端页面开发流程   移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是objec ...

  2. 洛谷P5234 越狱老虎桥 [JSOI2012] tarjan

    正解:tarjan+贪心(?并不会总结是什么方法QAQ,,, 解题报告: 传送门! 这题是真的题意杀,,,我我我要不是之前知道题目大意了我怕是怎么看都看不懂这是个什么意思昂QAQ 所以先说下题目大意好 ...

  3. 【PyQt5-Qt Designer】界面布局

    PyQt5 界面布局详谈 箱式布局 QHBoxLayout和QVBoxLayout是基本的布局类,它们在水平和垂直方向上排列小部件 效果图: from PyQt5.QtCore import Qt f ...

  4. 【PyQt5-Qt Designer】制作炫酷的启动界面+进度条

    QProgressBar 进度条+QSplashScreen 启动界面 知识点: 1.进度条 #将进度条的最大值.最小值设置为相同时,产生跑马灯效果 self.progressBar.setMinim ...

  5. C# cmd bcp 导出数据

    背景需求:应用系统间数据自动同步处理,要求高效无人工干预 技术实现:C#启动cmd,通过BCP命令传入必要参数,实现数据导出 /// <summary> /// cmd下,启动应用程序命令 ...

  6. Linux下安装jdk1.7

    Linux下安装jdk1.7 1.进入 /usr/local下创建一个文件夹software,用来存放安装包. [root@192 ~]# cd /usr/local/ 2.创建文件夹 [root@1 ...

  7. Filter & Listener

    一 监听器的概述 监听器就是一个实现了特定接口的Java类,用于监听另一个Java类的方法调用或属性的改变.当被监听对象发生上述事件后,监听器某个方法将会立即被执行. 即用来监听其他对象的变化,主要应 ...

  8. 前端 HTML body标签相关内容 常用标签 超链接标签 a标签

    超链接标签 <a> 超级链接<a>标记代表一个链接点,是英文anchor(锚点)的简写.它的作用是把当前位置的文本或图片连接到其他的页面.文本或图像,也可以是相同网页上的不同位 ...

  9. timeUtil

    /** * 字符串的日期 格式 yyyy-MM-dd * 转入参数,添加或减去它的天数,在返回字符串 */ public static String addOrDelRq(String rq,int ...

  10. oracle sql小结(主要讲横列转换的例子)decode 以及case

    --建表 create table kecheng( id NUMBER, name VARCHAR2(20), course VARCHAR2(20), score NUMBER); --插入数据i ...