我们很幸运地生活在这样一个时代:绝大多数人类基因组已经测序,可以免费获得,工作进展迅速,以填补剩余的空白。公共测绘和测序工作跨越了十年,涉及数千人(联合体2001;McPherson等人,2001年). 测序工作的最终结果将是30亿个A、C、G和T,以特定的顺序排列,以某种方式包含构建人体的指令。今天,公共数据库中有超过27亿个数据库。
在27亿个碱基中,找出哪一个与生物学或医学的特定方面相关是一项挑战。在大多数情况下,研究人员倾向于从更高的层面来看待基因组,即外显子、基因、染色体带或生化途径的层面。碱基对碱基视图最好用于准备实验引物或寻找与特定功能相关的DNA基序。能够在不同层次上搜索和显示基因组的交互式计算机程序是非常有用的工具,并且存在许多这样的程序。
最早的此类项目之一是一秀丽隐杆线虫数据库(交流数据库) (埃克曼和杜宾1995;凯利2000).ACEDB公司最初是作为一个数据库来跟踪秀丽线虫来自遗传杂交的菌株和信息(J.Thierry-Mieg,pers.comm.)。很快就会ACEDB公司可以显示基因图谱。ACEDB公司被秀丽线虫桑格中心和华盛顿大学的测序项目(1998年财团). 作为cosmid,然后是秀丽线虫变为可用,这些已添加到ACEDB公司.ACEDB公司是一个非常灵活的程序,也被用于许多其他测序项目,包括拟南芥以及人类基因组计划的一部分。由于它使用了鼠标中键和右键以及其他X-windows用户界面功能,ACEDB公司在Unix或Linux系统上工作得最好。WormBase项目(Stein等人2001)正在积极适应ACEDB公司用于其基于web的显示。
酿酒酵母基因组数据库(SGD)http://genome-www.stanford.edu/Saccharomyces网站/设计时考虑到了网络。在SGD,只需在web浏览器中单击几下,就可以按名称或序列搜索基因,浏览相邻基因,检索基因的完整序列,查找大多数基因的功能摘要,并链接到文献。SGD首次描述于1998年(Cherry等人,1998年)目前,生物医学研究人员每周点击量超过50000次。
目前,至少有三个网站试图为人类基因组公共工作草案提供类似服务。开源Ensembl项目位于网址:www.ensembl.org自工作草案发布之初就已上线(Birney等人,2001年). Ensembl是在人类基因组草案出现之前构思的。由于组装前序列连续体的平均大小远小于人类基因的平均大小,因此最初Ensembl专注于识别外显子。乐队负责Genscan公司程序(Burge和Karlin 1997年)在完成的克隆和草稿中寻找基因。在可能的情况下,根据mRNA信息对草稿克隆内的连体进行排序,但没有尝试合并重叠克隆。Genscan公司是一个敏感的程序,但阳性预测的错误率相对较高。假定的外显子Genscan公司鉴定后被翻译成蛋白质,当在EMBL数据库中可以找到同源蛋白时,外显子被标记为已确认。如果可能,外显子被归为基因。Ensembl在网上展示了他们的基因预测和支持证据。加州大学圣克鲁斯分校(UCSC)基因组组装时(联合体2001;肯特和豪斯勒2001)随着时间的推移,Ensembl很快就转向了它们,并添加了许多额外的注释,包括基因预测(伯尼和杜宾1997)、与其他物种的同源性、单核苷酸多态性(SNP)的位置(Sachidanandam等人,2001年)等等。Ensembl最近也开始对小鼠基因组进行注释。
国家生物技术信息中心(NCBI)从一开始就将人类基因组作为爆破-可搜索GenBank(Benson等人,1999年). 在GenBank中,基因组以许多单独的记录的形式存在,主要是与细菌人工染色体(BAC)克隆相关的记录。NCBI最近提供了他们自己的公开人类基因组数据汇编。它们的组合可以是爆破可以在地图查看器上查看各种要素的相对位置。一个链接到NCBI人类基因组特定资源的页面位于http://www.ncbi.nlm.nih.gov/genome/guide/human/这些资源包括非冗余mRNA序列的RefSeq集合(Maglott等人,2000年;普鲁特和马格洛特2001). 许多RefSeq基因的功能描述可在相关的LocusLink和OMIM中获得(Maglott等人,2000年;普鲁特和马格洛特2001)数据库。
服务于人类基因组的第三个位点是本文的重点。UCSC浏览器的显著特点是注释的广度、速度、稳定性、可扩展性和用户界面的一致性。我们积极寻求第三方的数据进行展示。每一组注释都以图形方式显示为基因组序列上的水平“轨迹”。目前,浏览器中31条注释轨迹中的一半是在UCSC计算的,而另一半是由全球合作者生成的。浏览器与布拉特序列搜索工具(肯特2002).
UCSC浏览器的起源并不起眼。该代码源于C编程语言中的一个小脚本,它显示了一个用于预测线虫基因的剪接图秀丽线虫(肯特和扎勒2000). 这种基于网络的剪接显示后来获得了mRNA比对和与相关线虫同源性的轨迹线虫。这是作为曲目显示发布的http://www.cse.ucsc.edu/~kent/内化器(肯特和扎勒2000a,b条). 由于“工作草案”的零散和冗余性质,在草案汇编之前很难将此浏览器移动到人类基因组。因为人类基因组比秀丽线虫基因组,即使在组装之后,该软件也需要进行实质性的修改。最后,通过一系列算法改进,通过使用MySQL数据库,通过一组充当web服务器的Linux奔腾类机器,以及通过系统管理员的系统调整,我们能够在更大的人类数据集上保持与蠕虫病毒相同的交互响应时间。结果是一个受到生物学家欢迎的网站。目前,UCSC人类基因组浏览器位于http://genome.ucsc.edu每个工作日从3000多个不同的用户那里收到超过50000次点击。在本文中,我们描述了浏览器背后的总体概念框架及其使用。我们解释了浏览器背后的一些算法技巧,演示了如何添加自己的轨迹,并提供了有关如何在UCSC生成某些轨迹的详细信息。
结果和讨论
使用浏览器
要启动浏览器会话,请访问“浏览器”链接http://genome.ucsc.edu。这将带您进入一个页面,您可以通过名称、作者、关键字等搜索基因,或者直接指定要查看的区域作为染色体带或染色体和碱基范围。您也可以使用“布拉特“链接。这个布拉特搜索通常只需要几秒钟。主浏览器显示(图。)包含三个主要部分。顶部是一系列用于搜索、缩放和滚动染色体的控件。中间是一张动态生成的图片,以图形方式显示基因组注释。底部是另一系列微调图形显示的控件。
部分HOXA公司在加州大学圣克鲁斯分校(UCSC)基因组浏览器中查看的集群。蓝色的快捷方式栏可快速访问布拉特搜索、DNA序列、作为文本表的注释、早期或晚期的基因组组装、相应的NCBI和Ensembl视图以及用户指南。正下方的控件将浏览器定位在基因组中的特定区域。中间的大白色图片显示了各种注释。底部是微调显示和单个曲目的控件。此处仅显示31首可用曲目中的前15首。
该区域包含三个已知基因,如内含子中的箭头所示,这些基因都转录在反向链上。请注意HOXA1型在人类RNA轨道上。剪接EST轨迹表明在HOXA1型和HOXA2型。通过UCSC浏览器,通常可以找到研究充分的区域中存在额外非注释性基因的表达序列标签证据。Mouse Blat轨迹表明该地区的老鼠和人类之间存在高度的保护。Mouse Blat和Exofish生态群都是基于平移对齐的,但在像这样的高度保守区域中,即使平移对齐也会绘制出保守的非编码区域。非编码区在人类和河豚之间的差异要比人类和小鼠之间的差异大得多。
浏览器将注释表示为基因组上的一系列水平轨迹。每个轨迹都显示特定类型的注释,例如Genscan公司基因预测、mRNA比对或穿插重复。每个轨迹可以以密集模式显示、完全展开或隐藏。默认情况下,大多数轨迹以密集模式显示,它们占据单线。单击密集的轨迹会将其打开到完整模式,其中每个项目都有一个单独的行。单击某个项目将显示该项目的详细信息。一些特别重要的轨道,例如已知基因的轨道,默认情况下是完全开放的。轨迹显示在许多尺度上都很有用,从整个染色体到单个基因的选择性剪接模式(图。–). 轨迹的概念在底层数据库和浏览器本身中都很重要。这些轨迹在用户界面和底层编程中相对独立。因此,当新注释可用时,很容易添加另一个轨迹。这些曲目相互关联,只需将所有曲目同步到相同的底层序列即可。用户可以在一个屏幕上看到多行证据,并在此基础上快速对特定区域的生物学做出明智的判断。
所有17号染色体。一般来说,人们的工作规模比这小,但浏览器能够在合理的时间内显示染色体上的所有注释。着丝粒在染色体带迹上用红色表示。覆盖轨迹以黑色显示完成的区域,并根据覆盖深度以各种灰色阴影显示拔模区域。染色体带q22和q24.3中有两个大基因沙漠。基于mRNA、EST和同源性的轨迹四齿龙这些区域中的所有物种都非常稀少,尽管仍有相当多的小鼠同源性。
一个已知基因和一两个未知基因。ITGB3标准整合素β链,β3前体位于左侧。右边是一个相对较小的基因C17001176,由弗格内什++该程序由小鼠和鱼类同源性支持。协议双方:ITGB3标准根据EST和小鼠同源性证据,C17001176很可能包含另一个基因。
浏览器的图形显示对于快速浏览基因组中的特定区域以及视觉关联各种类型的特征非常重要。然而,在单个窗口中可以显示的内容是有限制的。如上所述,单击完全打开的曲目中的单个项目将显示有关整个曲目和特定项目的更多信息。在许多情况下,这包括到其他数据库的链接,例如NCBI和Ensembl的数据库。图显示了已知基因VLDLR(极低密度脂蛋白受体)的详细页面。可以从该页面检索该基因的mRNA和蛋白质序列,以及带有大写外显子的基因组序列。
有时,用户可能希望以文本而不是图形格式列出基因组特定部分的特征列表。可以从“tables”链接访问表浏览器,它以适合导入文本编辑器、电子表格或您自己的数据库的制表符分隔格式提取信息。图形浏览器和表浏览器背后的数据库将在后面的部分中进一步描述。
曲目之间的相关性
浏览器的一个常见用途是查找以前未确认的基因的证据。EST,跨物种同源性,以及从头算特别是基因预测轨迹在这方面非常有用。表A总结了这些不同的轨迹与基于RefSeq的已知基因轨迹在整个基因组和表中的相关性B总结了不同的轨迹与22号染色体上桑格中心基因注释的相关性(Dunham等人,1999年). 基于与河豚鱼的同源性的外来鱼轨迹金娃娃(Roest Crollius等人,2000年)是非常具体的,但覆盖了已知编码区域中不到一半的碱基。随着更多河豚序列的增加,覆盖范围将有所增加。这个Genscan公司另一方面,track覆盖了已知编码区中四分之三以上的碱基,但只有适度的特异性。合奏,Fgenesh++(萨拉莫夫和索洛维耶夫2000)和精灵(Kulp等人,1996年,1997)在浏览器集成的某些版本中可用的基因预测轨迹从头算具有同源性证据的基因发现技术。目前,还没有一种基因预测工具能够将浏览器中显示的所有证据整合成一个明确的轨迹。这些表格使用了2001年4月版本浏览器上的基因组组装和注释。
表1
轨道 | 盖子 | 收益Tx | 收益率Co | 丰富Tx | Enrich公司 |
---|
|
|
|
|
|
|
人类EST | 5.83% | 83.7% | 82.8% | 14.4 | 14.2 |
拼接EST | 1.11% | 59.2% | 72.3% | 53.3 | 65.1 |
鼠标爆炸 | 3.62% | 60.4% | 82.3% | 16.7 | 22.7 |
其他mRNA | 0.77% | 49.3% | 67.4% | 64 | 87.5 |
其他EST | 0.95% | 53.0% | 69.6% | 55.8 | 73.3 |
外来鱼类 | 0.40% | 23.7% | 36.6% | 59.3 | 91.5 |
Genscan公司 | 1.65% | 57.0% | 86.0% | 34.5 | 52.1 |
参考序列发送 | 0.79% | 100% | 100% | 126.6 | 126.6 |
RefSeq公司 | 0.50% | 63.3% | 100% | 126.6 | 200 |
A-使用RefSeq注释的全基因组 |
|
轨道 | 盖子 | 收益Tx | 收益Co | 丰富Tx | Enrich公司 |
---|
|
|
|
|
|
|
人类EST | 8.40% | 78.1% | 74.7% | 9.3 | 8.9 |
拼接EST | 1.80% | 43.9% | 55.9% | 24.4 | 31 |
鼠标爆炸 | 2.89% | 44.3% | 65.3% | 15.3 | 22.6 |
其他mRNA | 1.05% | 27.8% | 41.3% | 26.5 | 39.3 |
其他EST | 1.37% | 37.6% | 53.1% | 27.4 | 38.8 |
外来鱼类 | 0.61% | 16.3% | 27.1% | 26.7 | 44.4 |
Genscan公司 | 3.00% | 47.7% | 76.4% | 15.9 | 25.5 |
桑格Tx | 2.80% | 100% | 100% | 35.7 | 35.7 |
桑格公司 | 1.60% | 57.1% | 100% | 35.7 | 62.5 |
使用桑格中心注释的B染色体22 |
基于人的轨迹 信使核糖核酸
有几个基于人类mRNA序列与基因组比对的轨迹。GenBank灵长类数据库中的所有人类mRNA用于追踪人类mRNA。GenBank中dbEST中的所有人类EST用于制作人类EST和拼接EST轨迹。在所有情况下,都使用布拉特程序(肯特2002)使用默认的核苷酸对齐参数。
在许多情况下,单个mRNA将在人类基因组草图中的多个位置对齐。这可能是由假基因、共享一个共同域的基因、人类基因组中最近的重复事件以及草案中的组装错误造成的。我们过滤比对,以帮助关注基因,而不是伪基因和副基因。第一个过滤器基于百分比标识。对于EST,阈值为93%。对于mRNA,阈值为96%。这些阈值被选择为比20世纪90年代第一个大规模cDNA测序项目中观察到的平均错误率低约2%。由于现代cDNA项目的错误率大大降低,我们正在考虑在未来增加这些阈值。请注意,由于外显子经常在基因组草案中缺失,因此只有在对齐的区块内才能计算出百分比同一性。第二个过滤器是“基因组中接近最佳”过滤器。将基于百分比标识的分数分配给每条路线。记录mRNA序列每个碱基的最佳评分比对。对于连续至少20个基点,得分不在最佳得分1%以内的路线将被过滤掉。过滤器的组合将比对的数量减少了五到十倍,然而大多数被消除的比对都很短,涉及重复元件和短的保守基序。偶尔,这些过滤器也会消除与同源基因的几乎全长比对。然后,对EST比对进行剪接信号分析,特别是分析末端与GT/AG内含子一致的至少32个碱基的间隙。然后选择这些EST路线,以形成拼接的EST轨道。
已知基因
已知的基因轨迹是从人类RefSeq mRNA中创建的。这些与布拉特如上所述,但需要更严格的筛选。因为RefSeq mRNA序列往往非常干净,它们需要以98%的一致性进行匹配,并且基因组中的近似最佳筛选设置为仅通过最佳比对0.2%以内的筛选。然后,通过将mRNA的蛋白质编码(CDS)部分映射到基因组,并将排列中由五个碱基或更少的间隙分隔的区块合并到外显子,将排列转化为基因预测。HUGO基因名称(如果有)通过从NCBI下载的表格映射到基因预测。这些表格为我们提供了将超链接到OMIM、RefSeq和LocusLink的原材料(http://www.ncbi.nih.gov).
基于与他人同调的曲目 物种
浏览器有许多显示与其他物种同源的轨迹。其中一些是由第三方生成的,详见“确认”部分。小鼠Blat、非人mRNA和非人EST都是在UCSC使用布拉特使用默认分数设置在翻译模式下编程。人类基因组重复遮罩(史密特1999;尤尔卡2000)和串联重复查找器(本森1999)在对齐之前。当前版本的Mouse Blat轨迹基于随机的全基因组鸟枪读数,由Mouse Sequenting Consortium保存在NCBI/EBI轨迹档案中。其中约1300万个读数覆盖了小鼠基因组的约2.5倍深度。非人类mRNA和EST取自GenBank。
基因表达谱
除了浏览器中提供的大量核苷酸注释外,还有两个新的轨迹显示了由基因表达序列分析(SAGE)和DNA微阵列确定的有关mRNA转录物实验行为的信息。
包含SAGE数据的轨迹是SAGE/UniGene轨迹,它显示了指示不同UniGene簇的转录水平的数据(http://www.ncbi.nlm.nih.gov/UniGene网站/)来自NCBI的SAGEMap项目(Lal等人,1999年;Lash等人,2000年). 在浏览器窗口中,UniGene簇通过使用将簇中最长的序列与草图序列对齐来表示布拉特。根据不同SAGE实验中该簇的平均表达水平对簇进行着色。单击UniGene集群会在当前浏览器窗口中显示每个集群的单个SAGE实验结果的汇总表。从详细信息页面,还可以以图形形式查看SAGE结果,或直接转到该集群的SAGEMap虚拟北部页面。
第一个包含DNA微阵列数据的轨迹是罗塞塔轨迹,其中包含了之前描述的22号染色体上每个预测和确认外显子的DNA探针(舒梅克等人,2001年). 预测和确认的外显子在浏览器中由单独的轨迹表示。用于选择探针的相同序列使用布拉特在完整模式下,这些轨迹既显示了外显子在基因组中的位置,也显示了与所用69个实验中的对数表达比率相对应的红绿带模式。点击单个外显子可以更详细地查看所有实验中当前浏览器窗口中的所有外显子。对于每个实验中的每个外显子,特定实验中所有探针的平均对数比以红色和绿色假彩色显示。如果对特定实验感兴趣,可以通过填写所示的表格,在浏览器窗口中以图形方式显示每个外显子中每个探针的实际强度。
BAC结束序列 对
GenBank的dbGSS部门提供的BAC末端序列与基因组序列组装使用布拉特对单个BAC克隆的5′和3′末端序列进行比对。末端序列方向正确且相距至少50 Kb但不超过600 Kb的对被视为有效对。这些显示为BAC端对轨迹。在完整视图中,序列对之间的箭头显示了相应克隆的方向。详细信息页面提供了结束序列的访问,以及到GenBank的链接和有关结束序列与装配序列对齐的信息。
变革的挑战——跟上工作节奏 草稿
注释人类基因组的挑战之一是它有这么多版本。在UCSC,我们尝试大约每三个月组装一个新版本,以合并新序列。每个版本的基因和其他特征的染色体坐标都会发生变化。偶尔,随着图谱的细化,一大块序列甚至会从一条染色体移动到另一条染色体。我们最近加入了一个功能,以帮助在最新的三个版本之间切换。此功能可从浏览器顶部的“转换”按钮获得。它通过执行布拉特在当前窗口中搜索前1000个、后1000个和中间1000个基数。如果这三个搜索在另一个版本上以相同的顺序唯一落地,程序将宣布成功转换。如果搜索结果不是那么简单,则会为用户提供各种选项来查找相应的序列。通常,如果用户正在寻找的特征与mRNA有关,那么最简单的方法就是布拉特mRNA。
数据库
这个基因组.ucsc.edu数据库构建在MySQL之上(www.mysql.com). 我们最初选择这个数据库是为了与Ensembl项目兼容。事实证明,MySQL非常适合我们的目的。它在从索引文件检索数据方面非常有效。我们使用MySQL作为“read-mostly”数据库。我们以大批量加载数据库,其余时间将其视为只读。我们的七个web服务器中的每一个都在本地磁盘上有一个数据库副本。
为了创建图形显示,浏览器逐个轨迹查询MySQL,请求与显示窗口重叠的数据。为cpgIsland轨迹获取这些数据的SQL查询位于一个窗口上,该窗口覆盖第3染色体上的基数10000到基数20000,如下所示:
我们在chrom、chromStart和chrom,chromEnd上为此表创建了索引。对于较小的表,例如29005-item-cpgIsland表,查询速度相当快。即使对于相对较小的表,按照chrom对数据进行排序,在加载数据库之前启动chromStart对性能也是至关重要的。如果索引足够小,可以放入RAM中,则此预分类会将从一个磁道加载数据所需的磁盘寻道数量减少到非常小的数量,通常是单个寻道。
对于更大的表,例如420万项EST对齐表,需要更复杂的方案才能获得良好的交互性能。作为第一步,我们在染色体之间拆分这些表,以便基本查询如下所示:
这减少了索引的大小,因为不需要索引染色体字段,使索引更有可能适合RAM。一般来说,当以这种方式进行查询时,数据库必须扫描索引中一半的染色体。因此,浏览器在大染色体上的速度比在小染色体上的慢。我们觉得性能仍然可以忍受(即使在最大的染色体上,响应时间也通常小于5秒),但随着我们添加更多数据,性能下降。当添加大鼠同源表时,很明显我们需要一个更智能的方案。
我们确定了一个由Lincoln Stein和Richard Durbin提出的装箱方案在浏览器本身中,我们使用五种不同大小的存储箱:128 kb、1 Mb、8 Mb、64 Mb和512 Mb。
用于优化覆盖基因组特定区域的基因组注释的数据库访问的二进制方案。此图显示了三种不同尺寸的箱子。功能部件被放在适合它们的最小箱子中。覆盖线条所示范围的特征一个将放入垃圾箱1。类似地,行B类进入垃圾箱4并排队C在垃圾箱20中。当浏览器需要访问某个区域中的要素时,它必须查看所有不同大小的容器。访问重叠或被线条包围的所有特征A中,浏览器将在容器1、2、3、7、8、9、10和11中查找。对于B类浏览器在箱子1、4、14、15、16、17中查找。对于C、,浏览器将在容器1、5和20中查找。
上一段中使用此装箱方案的查询变为:
虽然查询本身比以前更复杂,但执行速度要快得多。通常,几乎所有的功能都在较小的存储箱中,在最常见的使用场景中,只需要检查其中一些较小存储箱的内容。这种装箱方案实现起来相对简单,似乎有足够的性能无限期地满足我们的需求。我们尚未实现的一个适度改进是错开箱边界,这样刚好跨越64 Mb点的小功能不一定会出现在最大箱中,类似地,其他箱边界也会出现在多个级别。
除了包含位置信息的表格外,还有一些非位置表格,这些表格可以在染色体之间进行分割和/或如上所述进行装箱。这些包含图形显示不需要的辅助信息,但在详细信息页面中检查特定功能时可能有用。非定位表的一些例子包括EST的DNA序列、作者、细胞类型和文库名称。在我们设计数据库时,Linux机器上的文件大小被限制为-2 GB。主要是由于这个原因,大多数实际的DNA数据存储在外部文件中。外部文件仍通过数据库进行索引。
数据库的详细表对表和字段对字段的描述见http://genome.ucsc.edu/goldenPath/gbdDescriptions.html。整个数据库每周都会转储到以tab分隔的文件中,这些文件可以一次下载一个表,也可以作为单个大zip文件下载到基因组.ucsc.edu。使用位于的表浏览器http://genome.ucsc.edu/goldenPath/hgText.html,可以提取数据库的子集,在许多情况下,无需设置自己的MySQL数据库副本。
为下载DNA序列数据本身提供了增强功能。在浏览时,用户可以随时使用浏览器顶部的“DNA”链接下载当前查看区域的基因组序列。基本选项包括反向互补、大小写和屏蔽重复重复遮罩(史密特1999;尤尔卡2000),可能使用小写。在这里,输出是一个简单的文本文件。高级选项生成包含序列的HTML文件。这些选项允许用户使用大小写、下划线、粗体、斜体和颜色的多种组合来表示基因组序列上的一种或多种注释。可以使用这些表示模式的任意组合在序列中表示浏览器上可用的任何注释轨迹。通过为每个轨迹选择不同的模式或模式组合,可以在序列中同时表示注释的多个轨迹。
数据库与 浏览器
在数据库和计算机程序(如构成浏览器的脚本)中表示对象的方式之间存在着天然的张力。C语言中的程序通常将对象表示为某种类型的“结构”,并有一系列操作此结构的函数。关系数据库中的对象可以表示为表中的一行、整个表,甚至可以表示为跨越多个表的抽象实体,这些表在运行时由适当的SQL查询连接在一起。一些程序员甚至求助于将对象转换为某种复杂的文本格式,如XML,并将对象作为“blob”存储在数据库中。最后一种方法的缺点是很难单独索引对象的字段。
在浏览器数据库中,我们发现了一个实用的折衷方案,对我们来说非常有效。我们有一个程序,自动SQL,它将数据定义作为输入。根据这个定义,自动SQL创建一个C结构、一个C函数从字符串数组加载结构(这是MySQL查询如何返回表中的行)、一个将结构保存为tab分隔文件中的行的C函数(可用于加载数据库)、一种C函数释放结构使用的动态内存,以及一条SQL create语句。因此,在存储器中的结构和磁盘上的表中的行之间存在一一对应关系,同样,在存储器中的结构中的字段和行中的字段之间也存在一一对应关系。这个自动SQL定义可以包括数组和子结构。数组在数据库中表示为以逗号分隔的列表,存储为blob。同时自动SQL能够生成代码来处理子结构,这些子结构最终也存储在blob中。因为blob很难索引,所以我们实际上没有在基因组学数据库,尽管数组相当常见。请参见网址:http://www.soe.ucsc.edu/~kent/exe/doc/autoSql.doc有关的详细信息自动SQL.
大多数浏览器数据库也可以通过分布式注释服务(DAS)协议访问(Dowell等人,2001年). DAS是一个快速发展的开源标准,用于在web上分发基因组注释。它的功能与我们在这里描述的发布-你自己的轨道系统类似,但数据是以XML格式传输的,而不是以制表符分隔的格式。有关DAS的更多信息,请访问http://www.biodas.org。DAS服务器的网址为http://genome.ucsc.edu/cgi-bin/das。由于注释的大小很大,尤其是在以DAS-GFF XML格式表示时,为了获得最佳结果,请在访问DAS服务器时在DAS客户端上启用压缩。
其他功能
UCSC浏览器与Ensembl人类基因组浏览器链接在网址:http://www.ensembl.org这样,用户在UCSC查看基因组的任何区域都可以轻松切换到在Ensembl浏览器中查看同一区域,反之亦然。就像上面描述的用户发布曲目的工具一样,这是另一种利用网络的力量来丰富用户可以快速访问的有关基因或感兴趣区域的各种信息的方法。欧洲和亚洲的UCSC浏览器镜像为世界上这些地区的研究人员提供了对浏览器及其数据库中所含信息的更快访问,并在停电或其他异常情况下为所有用户提供冗余站点基因组.ucsc.edu暂时离线。由于该浏览器在Linux上运行,带有MySQL数据库,因此我们能够帮助学术机构和非营利机构免费建立镜像站点。最后,可以使用帮助和常见问题页面来帮助用户使用浏览器和数据库的功能,这些功能在自我探索中并不明显。此信息由一个经过审核和存档的电子邮件讨论组进行补充。
结论
网站位于http://genome.ucsc.edu是探索人类基因组的宝贵工具。它提供了快速序列和基于文本的搜索工具。图形显示器使用相对简单,但功能强大,能够平滑地处理巨大的注释集,例如描述人类重复或人类/鼠标同源的注释集。底层数据库的设计相对简单而稳健,可以通过多种方法访问。访问者可以在浏览器内置注释的上下文中以公共或私有方式合并自定义注释。在未来几年,我们计划继续增加这个网站,并使其适应其他基因组。我们已经将其适应于小鼠基因组。