跳到主要内容
访问密钥 NCBI主页 MyNCBI主页 主要内容 主导航
基因组生物学。2003; 4(4):R28。
2003年3月25日在线发布。 数字对象标识:10.1186/gb-2003-4-4-r28
预防性维修识别码:项目经理154579
PMID:12702209

GoMiner:基因组和蛋白质组数据的生物学解释资源

简短摘要

GoMiner,一个组织生物“有趣”基因列表的程序包在基因本体论的背景下进行了解释。

摘要

我们开发了GoMiner,这是一个程序包,用于组织“感兴趣的”基因列表(例如,来自微阵列实验的低表达和高表达基因),以便在基因本体论的背景下进行生物学解释。GoMiner提供定量和统计输出文件以及两种有用的可视化。第一个是类似于AmiGO浏览器中的树状结构,第二个是紧凑的、动态交互的“有向非循环图”。GoMiner中显示的基因与主要公共生物信息学资源相关。

基本原理

基因表达谱分析和其他形式的高通量基因组和蛋白质组研究正在彻底改变生物学。这一点得到了普遍认同。但新技术带来了新的挑战。第一是实验本身,第二是结果的统计分析,第三是生物学解释。第三个挑战通常是最麻烦和最耗时的。例如,在基因表达微阵列研究中,人们通常会得到一个由几十个或数百个在样本之间表达不同的基因组成的列表,然后问:“这一切在生物学上意味着什么?”基因本体(GO)联盟的工作[1]提供了解决该问题的方法。GO根据生物过程、分子功能和亚细胞定位将基因组织成等级类别。在过去,GO信息一次查询一个基因。最近引入了批处理[2],但其扁平输出无法传达GO层次结构的丰富性。

我们已经开发并在这里展示了程序包GoMiner,它是一种免费可用的计算机资源,它充分结合了基因本体的层次结构,以自动对任意长度的基因列表进行功能分类。GoMiner可从免费下载[]或[4]. GoMiner是专门为微阵列数据的生物学解释而开发的;人们可以在数组中输入一个表达不足和过度的基因列表以及一个所有基因的列表,然后用改变了表达的基因计算类别的增加或减少。因此,GoMiner有助于分析和组织结果,以快速解释“omic”[5,6]数据。具体而言,本文中的描述将侧重于微阵列数据的应用,但其使用范围显然要广得多。

GoMiner概述

GoMiner将两个基因列表作为输入:数组上的总集合和用户标记为感兴趣的子集(例如,在表达式级别更改)。GoMiner以有向无环图(DAG)和等效树结构的形式,在基因本体层次结构的框架内显示基因。后者的格式与AmiGO浏览器显示中的可视化类似[1]. 然而,每个类别都有注释,以反映用户实验中分配给该类别的基因数量加上分配给其后代类别的数量(图(图1a)。1a个)。这种计算不会重复计算在遍历过程中出现多次的基因。用户可以选择将“感兴趣的基因”列表中的每个基因指定为表达不足或过度。如果这样做了,在树状视图中显示的基因将分别标记为绿色向下箭头或红色向上箭头。

保存图片、插图等的外部文件。对象名称为gb-2003-4-4-r28-1.jpg

GoMiner显示前列腺癌细胞系DU145和针对拓扑异构酶1抑制剂的耐药性选择的亚系(RC0.1)的微阵列基因表达数据。(a)树状显示显示GO“凋亡调节器”类别及其子类别中的低表达基因(绿色向下箭头)、高表达基因(红色向上箭头)和不变基因(灰色圆圈)。蓝色数字表示该类别中变化基因的富集度为2.4倍。这个第页-值(Fisher的精确值)表明,尽管有这种程度的富集,但这类基因的总数(14个)很小,无法产生统计显著性。(b)“生物过程”DAG的动态生成SVG图形,GO“凋亡调节器”类别中的基因通过鼠标悬停在下拉列表中打开。富含1.5倍以上标记基因的类别为红色;消耗超过1.5倍的是蓝色的。其余类别为灰色。

为了解释的目的,最重要的参数是类别相对于标记基因的富集(或耗尽)(相对于仅凭偶然性就可以预期的)。这一参数将在“统计考虑因素”一节中进行更广泛和更数学的讨论。在图中图1a,1a个标记基因总数用蓝色数字表示,过度表达和表达不足的基因用红色和绿色数字表示。每个类别的最后一个数字(蓝色)是一个双面数字第页-Fisher精确测试的值。

在GoMiner中,单击树结构中感兴趣的基因会打开一个菜单,可用于将该基因作为查询提交给外部数据资源。此类链接的数量正在迅速增加,但目前包括LocusLink[7],公共医学[8]、MedMiner[9,10],基因卡[11],NCBI的结构数据库[12]以及NCI癌症基因组解剖项目(CGAP)实施的BioCarta和KEGG路径图[13]. 这些外部数据库为GoMiner提供了丰富的生物信息集成资源。例如,与CGAP和LocusLink的链接提供了与路径图、染色体可视化、单核苷酸多态性(SNP)数据库和哺乳动物基因收集(MGC)的交互作用。

在GoMiner中,点击一个类别而不是一个基因会弹出第二个可视化画面(图(图1b),1亿),DAG编程为可缩放矢量图形(SVG),可以流畅导航。它的任何节点都可以被鼠标移到上面列出标记的基因,或者单击以突出显示连接到根的多条路径。详细的定量和统计结果可以以多种制表符分隔的格式下载,可以直接读入文本文件或电子表格程序进行进一步分析。例如,电子表格数据可以按浓缩因子或第页-将注意力集中在潜在有趣的类别上。

GoMiner的开发

GoMiner基于各种开源Java类和开发工具,加上大量内部自定义软件工程(图(图2)。2)。我们选择Java来实现操作系统的独立性,以便更多的研究人员能够使用该工具。自定义图形用户界面(GUI)为用户提供了灵活性和生物关系的直观视图(图(图1a)。1a个)。GoMiner的补充命令行版本允许高吞吐量应用程序和与其他程序的流畅集成。

保存图片、插图等的外部文件。对象名称为gb-2003-4-4-r28-2.jpg

GoMiner架构和数据流示意图。

GoMiner的核心是其处理引擎(图(图2),2),它解析输入基因列表并检索与GO类别(也称为“术语”)关联的数据库条目。GO类别和基因关联存储在关系数据库中。为了提高数据操作的速度,我们使用DAG数据结构对内存中的信息进行建模。根是最顶层的节点:“基因本体”。其他节点表示基因类别,连接表示类别之间的关系。每个category-node对象都包含其相关基因、基因计数功能、计数过程中的去重复标志以及统计分析结果。基因-类别关联以树的形式显示(图(图1a)1a个)或者,以DAG的形式(图(图1b1亿).

我们已将GoMiner开发为客户端-服务器应用程序。客户端是一个Java应用程序,通过JDBC与服务器端数据库通信。客户端可以在Java运行时环境1.3或更高版本的平台上运行。使用Java Swing API编写的主客户机-用户GUI采用三面板窗口的形式,用户可以在其中检查GO类别和基因。左边的面板列出了基因、其身份来源的数据库,以及可选的向上和向下箭头,以指示表达不足或过度;中间面板显示了AmiGO浏览器风格的类别树可视化[1]此外,还提供了特定微阵列实验中标记基因的可视化。右侧面板显示从左侧或中间面板中选择的任何基因在GO层次结构中的所有外观。基因和类别名称作为链接来实现,以便于导航数据结构和访问公共资源。

第二种可视化类型,DAG(编程为SVG)以紧凑的形式显示所有标记基因的跨越层次。或者,如果整个DAG太大,无法轻松可视化,它可以只包含指定级别以下的节点。客户端应用程序使用几个开源组件:Berkeley果蝇属基因组项目(BDGP)Java工具包[14]对于实用程序类;浏览器启动器[15]用于跨平台web浏览器集成;雅加达-奥罗[16]用于文本处理;耶拿语义Web工具包[17]用于操作RDF模型;MySQL连接器/J[18]用于数据库连接;和Xerces[19]用于分析XML。后端是一个关系数据库服务器,用于存储所有基因本体数据。它包括MySQL中的一个实现[20]GO Consortium数据库。

除了部署的组件外,我们还引入了许多开源工具来增强开发环境。特别是并发版本系统(CVS)工具[21]协调佐治亚理工学院和NCI的项目开发,并协调每个小组的开发。j单位[22]自动化应用程序的单元级和系统级测试。

统计考虑因素

双面Fisher精确测试第页-类别的值反映了对无效假设的检验,即相对于仅凭偶然性就可以预期的结果,类别既没有丰富标记的基因,也没有耗尽标记的基因。也就是说,它反映了无效假设,即对于每个类别,属于该类别的标记基因的比例与不属于该类的标记基因比例之间没有差异。这两组基因是相互排斥的,正如费舍尔精确测试所要求的那样。请注意,无效假设的谓词不包括“属于其余类别联合的标记基因”。该谓词不能确保互斥性。统计问题可以用经典的2×2列联表(表(表11).

表1

GO类别中标记和未标记基因的二乘二列联表

标记的基因非滞后基因总计
在类别中n个(f)n个-n个(f)n个
不在类别中N个(f)-n个(f)(N个-n个) - (N个(f)-n个(f))N个-n个
总计N个(f)N个-N个(f)N个

n个(f)是类别中标记的基因数,n个是类别中的基因总数,N个(f)是微阵列上标记的基因数量,以及N个是微阵列上的基因总数。所有数字都是在消除同一基因的多个实例后获得的。

无效假设可以表述为:

H(H)0:第页1-第页2= 0,

哪里第页1=n个(f)/n个第页2= (N个(f)-n个(f))/(N个-n个)。双面第页-Fisher精确检验的值是观察表的概率总和,这些观察表给出的极值至少与实际观察到的值相同,前提是零假设为真[23-25]. 使用Fisher精确检验意味着我们是以固定的边际总和为条件的(n个,N个-n个,N个(f),N个-N个(f))在零假设下。有关固定边际值含义的讨论,请参见示例[23-25].

请注意,2×2表不需要任何关于层次结构拓扑结构的信息,也不需要关于除测试所应用的类别之外的任何类别中包含多少基因的信息。我们使用了双面测试,它检测到两个方向的比例存在显著差异(即,当类别中标记基因的比例高于或低于随机概率的预期时)。显然,类似于此处用于所有标记基因的计算也可以用于分别测试欠表达和过表达基因的等效零假设。与具有超几何分布的Z统计量以及基于它的测试不同,Fisher的精确测试甚至适用于包含少量基因的类别。我们的Fisher精确测试的Java实现基于Øyvind Langsrud的Javascript[26].

应记住此统计公式的以下局限性,以及第页-应该明智地解释价值观。

随机实验和分类错误

统计模型不包括GO中基因分类的实验误差和任何不确定性。也许,如果有足够的关于这些误差源的信息(我们基本上从来没有),它们可以被包括在统计模型中,例如通过重新采样技术。

基因表征偏差

微阵列基因集(或来自其他类型基因组或蛋白质组实验的基因集)通常是所有基因的有偏见的表示。因此,根据所研究的基因定义的必要性,富集和耗尽在生物学意义上也可能有偏差。另一种方法是用基因组(或代表性样本)中的总基因集列表替换微阵列上的总基因组列表,但这种方法引入了另一个偏差来源:在确定N个n个但没有机会被标记。

GO联合体数据库对人类基因关联的偏见

GO财团[1]提供了一组平面文件,用于指示几个物种的基因名称和GO类别之间的关联[27]. 尽管人类的平面文件非常全面,但我们发现使用GO Consortium下载的MySQL脚本文件创建的数据库对人类基因进行GO注释的命中率很低[28]. 当基因名称以HUGO名称的格式使用和基因名称以“HUGO_HUMAN”的格式使用时,命中率都很低我们尝试了后一种格式,因为平面文件通常包含附加在人类基因名称后面的“_HUMAN”。相反,当我们结合使用鼠标(MGI)和老鼠(RGD)关联文件时,点击次数是合理的。因此,我们现在经常使用鼠标和大鼠注释来获取人类数据。我们目前正在增强GO Consortium数据库中的人类关联,以提供更丰富的人类基因名称注释。这一目标将通过使用MatchMiner数据库来整合GO Consortium数据库中的信息来实现[27]以及Swiss-Prot、TrEMBL和TrEMBL-新数据库[29]GoMiner将在近期内为人类数据实现该数据库。MySQL脚本文件将免费提供,并且应该比程序开发人员和最终用户当前可用的脚本文件有所改进。

基因数据的非依赖性

一个类别中的基因表达值可能因以下任何原因而相互关联。它们可能代表相同的基因、具有相似功能的亲密家族成员、相同途径中的基因或执行生物功能的替代途径中的遗传基因。GO中的基因分类可能因类似原因而相关。这种关系如何影响统计数据?答案最容易通过想象一个类别只包含五个相同基因的实例来理解(可能是因为使用了五个不同的标识符,而没有被识别为代表同一基因)。这一类别可能表现为显著丰富(五分之五的基因被标记)或显著枯竭(五分之一的基因没有被标记)。但适当的价值n个在这些情况下,确定统计显著性将是1,而不是5。GoMiner的配套程序MatchMiner[30,31]通过识别相同基因的复制品来处理这个问题,即使它们由不同的标识符表示。

除了“同基因”之外,其他可能的相关性来源又如何?我们也想取消复制它们吗?一般来说,答案是“不”。同一途径中的基因相关性正是我们经常试图识别的现象。我们不希望通过统计测试来调整(实际上是消除)这种关系的影响。亲密家庭成员可能被视为中间病例。GoMiner中实现的统计模型假设,作为我们的先验知识状态,我们知道两个“基因”什么时候是相同的,但如果它们不相同,则对它们的关系一无所知。这似乎是唯一可用的课程。然而,对于每个类别,GoMiner提供了表中给出的基因身份和数字表11–有足够的信息供知识丰富的用户决定消除亲密的家庭成员或路径合作伙伴(如果需要)。

多重比较问题

如果在分析之前还没有决定要检查哪个特定的基因类别,那么应该对获得第页-指示具有统计意义的富集或耗竭的值。例如,对于1000个类别,如果我们将临界值设置为第页= 0.05. 纠正此问题的最常见方法是Bonferroni(例如,请参见[32]),其中临界值除以试验次数(在本例中为1000)。然而,这种方法假设类别的独立性,并且过于保守,以至于很难检测到真的积极因素。还开发了一些不太保守的统计方法,但在这里对它们进行审查超出了本文的范围。基于重采样的方法将在未来几个月纳入GoMiner。

总的来说第页-引用的值应被视为启发式度量,可用作可能的统计显著性指标,而不是形式推理的结果。这个第页-例如,可以使用值对类别进行排序,以确定最感兴趣的类别。

作为另一个有用的测量方法,我们计算了相对富集因子,R(右)e(电子),定义为

R(右)e(电子)= (n个(f)/n个)/(N个(f)/N个)

图中显示为蓝色数字图1a。1a个也显示了过度表达(红色数字)和欠表达(绿色数字)的类似数量。当然,消耗是由一个比统一少的浓缩因子表示的。

GoMiner在生物问题上的基准测试

作为一项测试,GoMiner被应用于我们的cDNA微阵列研究结果中,研究耐药形成的分子机制[33]. 图中所示的DAG图1a1a个该研究使用了四份“Oncochip”微阵列(NCI先进技术中心微阵列设施[34])比较前列腺癌细胞系(DU145)和从中筛选出的对拓扑异构酶1抑制剂9-硝基青霉素耐药的亚系(RC0.1)的基因表达谱。该微阵列包括1399个与癌症相关的基因。其中181个基因的表达根据阈值标准不同(差异>1.5倍)。MatchMiner用于将1399个基因的IMAGE克隆ID翻译为HUGO名称,以输入GoMiner。图1a1a个显示,“凋亡调节器”类别在表达水平改变的基因中富集了2.4倍。更具体地说,低表达基因使其富集3.2倍,高表达基因使其富集2.0倍。流式细胞仪膜联蛋白V和TUNEL分析证实了细胞系之间凋亡潜能的重要差异,分析产生了一个新的假设(“容许凋亡-耐药性”假设),用于解释耐药发展中凋亡和细胞增殖途径之间的关系。图1a1a个提供了更详细的信息,表明这些差异集中在特定的凋亡亚类中。因此,GoMiner至少可以在两个方面帮助用户:它可以识别富含或耗尽感兴趣基因的类别;并生成假设以指导进一步的研究。

对我们来说不幸的是,DU145/RC0.1研究的解释性分析最初是在GoMiner开发之前一次一个基因进行的(事实上,这推动了这一开发)。每次对一个基因进行GO分析,需要花费两个多小时才能完成任务中更困难的部分:对整个数组进行相同的分析(名义上大于15小时),然后整理和组织每个GO类别的信息。相比之下,在一台带有250 MB RAM的266 MHz PC上操作,浏览和加载文件需要90秒,然后GoMiner需要30秒来处理1399个基因的整个阵列,并在其层次结构上下文中显示标记和未标记的基因。在另一项测试中,在同一台计算机上运行900个标记基因和所有HUGO(15000个基因)需要4分40秒。总的来说,处理时间与基因总数基本呈线性关系(时间(分钟)=0.0003×基因+0.0656;R(右)2= 0.998).

GoMiner与相关项目的比较

最近出现了几个与GoMiner相关的其他程序。其中包括MAPPFinder[35,36],法蒂戈[37]、Onto-Express[2,38]和GoSurfer[39]. 以下是我们根据对截至2003年1月的可用实现和相关文档的审查进行比较的最佳尝试。

FatiGO是一个web应用程序。当前的实现非常严格,因为用户必须提前指定用于数据分析的GO层次结构的一个特定级别。其他可用的应用程序(包括GoMiner)处理整个GO层次结构的数据,并允许用户动态选择结果视图。在使用FatiGO推荐的搜索标准和我们的标准测试基因文件进行的一项试验中,FatiGO没有发现任何GO类别具有差异表达基因簇。

Onto-Express也作为web应用程序实现。虽然比FatiGO更灵活,但它在很大程度上仅限于对生物世界的平面视图。虽然GoMiner提供了GO层次结构中嵌入的基因的树视图和DAG视图,但Onto-Express不提供任何层次结构(GO的基本定义功能)。Onto-Express列出了丰富和枯竭的类别,但它没有提供结果的统计分析以帮助理解。”最近宣布的第2版(价格为1500至5000美元)提供了第页-值(由公告中未指定的方法计算)。

GoSurfer是作为Windows应用程序实现的。因此,它缺乏Java赋予GoMiner的平台依赖性的灵活性。GoSurfer也相当不灵活,因为输入标识符需要是特定的Affymetrix探测集。目前尚不清楚网站图中建议的其他标识符类型是否已实现。相反,GoMiner使用HUGO基因名称作为输入。这些基因名称更便于人类解释,GoMiner的配套程序MatchMiner[30,31]允许许多其他类型的标识符(列在本节末尾)轻松转换为HUGO基因名称。GoSurfer的视觉输出是DAG的形式。GoMiner使用基于文本的树作为其主要的视觉输出,因为DAG的节点在不产生不可接受的屏幕混乱的情况下很难标记。DAG直观地反映了分类的整体复杂性,但对于详细的动态导航或分类基因的检查并不是特别有用。GoSurfer的表格输出不包括HUGO名称,我们认为这是基因识别最有用的关键。与GoMiner相比,GoSurfer似乎没有提供完整的定量和统计汇总数据。

MAPPFinder是一个集成GO分析和生物途径图的开创性项目。GoMiner还提供了这种整合的潜力,因为GoMiner树分类中的每个基因都与相应的BioCarta和KEGG生物路径图集动态关联。除了提供与生物路径图的集成外,GoMiner还通过动态链接到LocusLink的染色体查看器提供与染色体信息的集成。GoMiner还通过LocusLink提供到SNPs和MGC数据库的动态链接。MAPPFinder提供了GO层次结构的基本树表示,并根据每个类别提供了汇总和统计数据。然而,与GoMiner中的树实现不同,它只显示类别;基因本身显示在一个辅助表中。在GoMiner中,类别和基因都无缝地显示为树的组成部分。

MAPPFinder似乎不包含DAG表示。在GoMiner中,DAG视图提供了一些类别中经常出现的复杂多重父母关系的定性和定量图片。我们认为,这种可视化是对树形的补充,对于理解生物系统和基因网络中复杂、高度非线性的关系非常重要。人类不容易从树表示中推断出这种复杂性。GO联盟选择DAG作为其基本数据结构(尽管不是其可视化),部分原因是它包含了树中未包含的网络特征。

MAPPFinder是用Microsoft的Visual Basic编写的,因此仅限于在Windows下的PC上运行。相反,GoMiner是用Java编写的,可以在多个操作系统上运行。我们已经在Windows XP、2000、NT和98以及Mac OS X、Solaris、Linux(Red Hat发行版)、IRIX(SGI)和FreeBSD上对其进行了测试。有关具体的操作系统问题,请参阅GoMiner网站。

我们最近为GoMiner实现了一个替代命令行界面(S.N.、M.S.、D.W.K.和B.R.Z.,未发表的工作),以补充GUI版本。命令行界面允许GoMiner通过脚本或管道与其他工具集成。一旦完成此界面的全面测试,我们的网站将发布文档和程序的更新版本。在使用新接口的初步试验中,我们通过GoMiner一次处理了2000多个数据集。这种高通量的能力使两项进一步的发展成为可能:第一,正在进行随机研究以解决多重比较问题(即,估计选定类别中的假阳性比例);其次,输出数据流与集成下游分析相结合,用于自动识别隐藏在大量探索性实验中的有趣结果。用户可以使用GoMiner的图形用户界面探索和可视化这些有趣的结果。

命令行界面还允许GoMiner与其配套程序MatchMiner灵活交互。使用MatchMiner作为“预处理器”,GoMiner可以获取基于“omic”标识符组织的输入数据,而不是GO中心的HUGO名称。MatchMiner目前可以解析IMAGE克隆ID、UniGene簇、GenBank登录号、Affymetrix ID、染色体位置、基因通用名和FISH克隆ID,并极大地促进了用于GoMiner分析的微阵列数据的准备。

总之,GoMiner将继续开发,以期与NCI和NIH生成的其他生物信息资源集成,供生物医学研究界使用。GoMiner是灵活的,因为它是用Java编写的,是平台依赖的,也因为它可以容纳默认的GO层次结构和基因关联或自定义版本。默认为GO Consortium在我们的服务器上实现的类别和基因关联数据库。然而,如果需要,用户可以使用BDGP基因本体编辑器工具DAG-edit编辑类别和基因成员身份[40]. 然后,GoMiner可以从本地服务器访问编辑后的数据库,以适应特定于域和专业的应用程序。另一种重要的灵活性是用途广泛。在本报告中,我们在微阵列数据的背景下介绍了GoMiner,但其应用范围显然要广得多;它包括全方位的基因组和蛋白质组研究。

致谢

GoMiner是由国家癌症研究所(NCI)、佐治亚理工学院和埃默里大学的团队联合开发的。该项目得到了NCI癌症研究中心、佐治亚理工大学华莱士·H·库尔特生物医学工程系和埃默里大学为May D.Wang教授提供的学术基金资助的合同的支持。通过NCI癌症研究中心资助的合同和王教授的学术基金,其用户功能、统计储备以及与外部资源的链接将继续得到扩展。

工具书类


文章来自基因组生物学由以下人员提供BMC公司