-- 作者:admin
-- 发布时间:9/23/2004 2:05:00 AM
-- Java加强后基因组研究
Java加强后基因组研究 发信人: jhm (短发飞扬), 信区: Bioinformatics 标 题: Java加强后基因组研究 发信站: 北大未名站 (2002年03月27日22:21:08 星期三) , 站内信件 Java加强后基因组研究 随着2000年6月人类基因组正式完成,计算机生物学和生物信息学的真正工作才刚开始 。我们的DNA草图现在已经完成,但是下一步就是对这些巨量信息的诠释-此任务将解码大约 2 0亿个数据,它是一种未知的没有标点符号的语言。 简而言之,基因组学,以及蛋白组的比较学-蛋白组学指已知基因组中所有编码蛋白的 绘制和理解-是如今的计算基因学者们以前从未见过的。失去了大数据库和网络计算机系统 的帮助,以前认为不可能的处理和注释这些巨量生物学数据的工作,现在成为一种日常性的 工作。与分散在世界各地的基因组研究中心,无论是私人的还是学术研究的,采用了无数不 同的硬件和操作系统(包括从个人电脑到超级计算机),而J avaTM技术的安全性,网络性和 交互平台对增强这项工作是非常必要的。 Physiome Sciences Inc.公司的计算机生物模拟技术,Bioinformatics Solutions In c.公司的PatterHunter,是基因组搜索和分析技术,成为JavaTM技术应用于生物信息学和计 算生物学的两个例子。 Part 1: Bioinformatics Solutions Inc./PatternHunter 采用交互平台和面对对象的JavaTM编程语言,PatternHunter能进行基因组的搜索和分析 。PatternHunter,由Bioinformatics Solution Inc. 所有,能在几个小时内处理以前其他 仪器需要几天甚至几周才能完成的工作。PatternHunter将高难度的基因组分析交给微机,由 于程序采用J ava语言,它具有跨平台的兼容能力。 过去的办法 基因组研究早期,研究者们只是处理一些小的、特别的工作。“那时的搜索是为了将小 的序列片段与长序列相比,为了找到这个小片段是不是包含在长的序列中,”M ing Li, U CSB的科学教授,也是PatternHunter的共同开发者,说。 随着人类基因组的测序完成,类似的研究目标扩展到计算机领域。为了解码各种基因组 的碱基对密码,研究者们探寻能比较给予基因组的完整染色体的同源性或相似性的办法,或 是比较完整个体基因组的同源性的办法。这种分析有时被称作比较基因组学。 问题的升级 但是大量的计算机工作也开始给以前建立的基因组搜索工具带来更多的问题-无论是在 处理时间上,还是储存量上。遇到像比较基因组学那样的问题,以前的程序,如F ASTA,Bl ast,和MegaBlast开始不行了。 另一个问题是搜索的准确性。利用小小的“种子”样本搜索基因组,意味着上十亿个比 较过程-同时还会出现无意义的相似序列。 这些问题常常出现在Ming Li的脑海中,他开始寻找新的更好的方法来处理基因组的搜索 和分析。PatternHunter的第一版是在Li博士的指导下,由Waterloo大学的B in Ma博士开发 的。“最初的版本大约在2000年7月完成,”Li说,“用C++编写。” PatternHUnter的目标是找出以前的程序在遇到大的序列比较时所发生的明显错误。“我 们想做到质量和速度都是最好,”Li说,“能升级进行完整基因组与完整基因组之间的比较 分析。在这么大的范围里寻找同源性和相似性,其他的程序要花费几天甚至几年的时间。然 而,这方面的需求还在不断增长。” Ma开始研究并设计新的搜索算法-采用非连续启动方法,“过去,人们试图找到大的连 续算法,”Li说。“这样就有可能漏掉一些潜在的好方法。采用我们的启动源模型,我们不 需要担心空间的大小。现在看来,在处理速度和精确度方面,这种非常简单的变化造成了很 明显的改善。” JavaTM方法 随后,Li鼓励另一个博士后,John Tromp,将PatternHunter的初级版本进行升级开发 ,修改了某些数据结构。让Li感到吃惊的是,Tromp强烈要求用Java语言开发新版。“我告诉 他-‘如果用J ava开发,程序会变得极慢’”Li说。 不管怎样,Tromp说服了他的指导者,因为Java语言易于升级和调试,并且加上Sun的Ja va HotSpotTM技术支持,可以开发出PatternHunter的最佳版本。“John说,如果想要开发最 好的程序,就应该从Java语言开始,”Li说。“而且他确实做到了!与B in一起工作半年, 他开发出全世界最好的程序,只需要极少的内存,而且可用于全基因组研究。没有哪个程序 能做到这点。程序的确比其他的同源性搜索能力要强大得多。” 第二版的PtternHunter的强大功能归因于先进算法和数据结构,Li和Tromp强力赞赏Jav a语言的辅助作用。“使用C语言,工作缓慢,还会出错,”L i说。“还常常有bug。使用Ja va语言,你可以编写清晰简洁的编码,无须考虑bug的存在。PatternHunter的Java版只有40 KB-大小仅为Bl ast的1%,却能提供强大的功能。” “我只是觉得Java能让我的效率更高,”Tromp说,他在开发中使用了IBM的VisualAge。 “Java迫使你更加系统化,必须进行程序构架规划。而且它还能帮助你避免通常的编码错误 。”非常简单地,T romp认为他选择的算法和数据结构对于程序的最终目标是极为重要的。 “如果任何一种编程语言能帮助你清晰地表达你的算法和数据结构,那就是你应该使用的语 言,”T romp说。“对我来说,这种语言就是Java。” 适应工业需要 除了大小和内存外,Java语言为基础的PatternHunter的处理量和精确度方面也大大的前 进了。此程序正用于小鼠基因组的测序工作。“小鼠的基因组与人类基因组有些相似,”T romp解释。“使用PatternHunter,研究者们只需提供小鼠基因组的小部分序列,与人类基因 组相比较,找出线索,来决定应该处理哪些样本。” “小鼠基因已经读取了1600万条记录,每个记录有将近500个碱基对,” Li说。“合起 来共有90亿对碱基-大约是小鼠基因组的3倍,小鼠基因大约有30亿个碱基对。必须将这些小 鼠的基因组记录与人类基因组相比较。因此总共有9 0亿个碱基与30亿相比对-是个巨量的工 作。相同的敏感度条件下,其他的程序可能要花费数年的时间才能找出全部的同源性。但Pa ttern Hunter只需要20天左右,而且只需要单机就能完成任务。” PatternHunter的跨平台性也非常适应生物技术多种多样的硬件和平台系统。“实验室 常用的从Windows到Solaris,还有Macs和Linux,应有尽有,”T romp说。“我们可以将Pat ternHunter发布为JAR文件,这种文件人们可以快速打开,无须安装。” “PatternHunter能在任何机器,任何平台,以及任何基因组上使用,”Li又热切地说。 “任何基因组,任何地方!” PatternHunter "Swings" 最基本的PatternHunter程序所采用的主要元素是Java语言,没有任何的图形界面的东 西。但程序的输出和输入数据都采用简单的ASCII码“A ”“C”“T”“G”分别代表基因的 字母。将结果以这种形式输出,有一点点困难,特别是要处理成千上万种特性的时候。 正因为这样,PatternHunter下一步升级的目标就是增加图形化的GUI可视前台,这里需 要利用JavaTM技术的Swing控件。Li请他的研究生L awrence Miller来完成这个任务。“我与 Li博士一起开发的这个应用Swing的程序能适应更高水平的需求,”Miller说,“基因学家通 过图形能更好地看到P atternHunter的结果。” PatternHunter的Swing屏幕输出操作基于两种基础模式。第一种是放出两个进行比对的 数据的颜色编码alignment。相比较的两个对象,一个是“来源者”,另一个是“靶目标”, 有可能是序列,染色体,甚至是完全的基因组。“来源者”被放在底部,而“靶目标”则置 于顶部,两者之间的a lignment用有颜色的条纹显示出来。对长度而言,不同颜色表明不同 大小范围。“范围由一种特别的颜色标识,”Miller说。“紫罗兰色表示长序列的最末端, 红色表示短序列的最末端。”同时,给予颜色的条纹的长度代表在这个颜色范围内的相对大 小。 此外,标识在两者条纹上的红色表示此段序列被科学论文注释的信息-因此他们是已知 基因。“红点表示有来自GenBank那样的文章注释源,”M iller说。“程序能提供其唯一NC BI(National Center for Biotechnology Information)ID,以便找到相关信息。”Windows 还有额外功能,能通过不同颜色代表实际长度,就像原始的ASCII码一样。 另一类PatternHuner的GUI屏幕采用XY轴方法来查看Alignment,来源在X轴,对象在Y轴 ,alignment是XY轴之间的线图。“这是另一种分析数据的好方法。”M iller说。 最后一点,基于aligenment的长度,这两种视图的slider都允许转换,“结果”是能得 到两个区域相似程度的数学预测。“当你调整slid er,你能看到两条线融合到一起,或是回 到可视化的层面,”Miller说.“你能更好的对两者关系加深形象思维感受。” Miller只是赞美Swing控件的设计。“屏幕已经开始工作两月了,”他说,“有很多的学 习机会。我已经是一个有经验的JavaTM编程者了,但我还不是很熟悉S wing。虽然它的设计 是非常直观的。我已经查看了API,只要我开始做我需要做的事,它是足以与Java语言的其他 控件对接的。” 展望未来 从现在起,PatternHunter将一直被应用于小鼠基因组计划,同时,Bioinformatics S olutions和几个基因组工业公司也在争夺此程序的使用和许可。(生物引擎--生物信息学论坛 ) -- Love means not ever having to say you're sorry. ※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 211.167.239.245]
|