【新语丝电子文库(www.xys.org)(www.xys2.org)】 ———————————————— (原载《南方周末》2001年9月6日) 在基因组上安置中国邮差 ·方舟子· 今年二月份,“人类基因组计划”和竞争对手赛里拉公司分别在《自然》 和《科学》杂志上发布了人体基因组的草图和初步分析结果。这只是一个初步序 列,里面还有空白、间断和错误。在测定基因组序列时,是先把基因组切割成 较小的片段分别测序,然后再把这些片段组装起来。因此,序列的错误有两种, 一种是测序的错误,即某个点的碱基被测成了另一种碱基,这只要在同一个位点 反复测定多次,基本上就可以纠正了。另一种错误是组装的错误,即在把各个小 片段连接起来时,放错了地方。由于“人类基因组计划”和赛里拉采用了不同的 切割、组装策略,他们得到的结果也不尽相同。谁更加准确呢? 赛里拉采取的策略,是随机地把人类基因组切割成许许多多小片段,而“人 类基因组计划”的策略则更有规划,不仅片段要大得多,而且还进行了定位。一 般估计,“人类基因组计划”的组装结果应该比赛里拉的更准确。8月9日召开的 “基因组信息学学术会议”上,爱丁堡的英国医学研究委员会人类遗传学部公布了 他们对这两个序列进行独立检验的结果,却出乎意料。爱丁堡大学的一个研究小 组对人类第4染色体上的一个区域(共6.9百万个碱基)进行了独立测序,然后与 之做为标准,对“人类基因组计划”和赛里拉的结果进行了比较,结果发现,虽 然赛里拉留下的空白较多,组装错误却仅为“人类基因组计划”的一半,大约每 百万个碱基发生2.08次组装错误。 为什么在组装时会发生错误?我们需要了解一点序列组装的原理。它是按照 不同序列的重叠区来组装的。打个比方,假定我们将“人类基因组”这个序列 切割成片段A“人类”和片段B“基因组”两个片段分别测序,在组装时,我们无 法知道是应该组装成“人类基因组”还是“基因组人类”。但是,如果我们再用 另一种方法把“人类基因组”切割成片段C“人类基”和片段D“因组”分别测序, 可以发现片段C“人类基”的最后一个字和片段B“基因组”的第一个字重叠,就 证明了“人类基因组”是正确的组装方式。道理虽然简单,实际应用时却非常复 杂,因为人类基因组很大的一部分属于高度重复的序列,在组装时难以确定究竟 是重叠区还是原有的重复序列。而且,由于测序错误的存在,对同一段序列可能 会有不同的测序结果--换言之,略有差异的测序结果可能不是属于重复序列而 是同一序列,这就使得问题变得更加复杂。 已有许多计算机程序能自动对小片段序列进行组装。它们采取的计算方式, 类似于解决一个经典的数学问题--推销员问题(正式的名称叫哈密尔顿途径): 如果一个推销员要在许多个城市推销,每个城市必须而且只能经过一次,如何找 到最短的路程?并没有特定的公式可以对此进行计算,唯一的解决办法是找到所 有可能的路程加以比较,选出最短的一种。即使仅有四个城市,推销员也已面临 着多种选择(确切地说,12种),这时候还能把所有可能的路程都找出来加以比 较。但随着城市数目的增加,可能性也迅速膨胀,成指数增长,要把所有可能性 都找出来,很快就变得不切实际了。基因组序列的组装,面临的并不是几个、几 十个“城市”(片段),而是要多得多(赛里拉共有两千多万个片段),各种途 径的可能性接近于无限,功率再大的计算机也不可能解决这个问题,进行组装的 程序不能不做出主观的判断加以选择,错误因之无法避免。 最近,加州大学圣地亚哥分校的佩夫兹那(Pavel Pevzner)实验室在《美国 科学院院刊》宣布找到了一种进行序列组装的新办法。他们把已有的基因组片段再 进行一次切割,切割成大小一样的更小的片段。这样,他们就把基因组序列的 “哈密尔顿途径”变成了“欧拉途径”:在此一途径中,每个城市不限定只能访 问一次,想去多少次都可以,但是每一条路只能走一次。从这个网络中找出最短的 路程的问题,被称为中国邮差问题。在数学上,要追踪中国邮差比追踪推销员容易 得多。 佩夫兹那实验室用这个方法写出了一个新的序列组装程序--“欧拉”,并对 脑膜炎奈瑟氏球菌的基因组片段进行了组装,结果没有任何错误,而其他的组装程 序都出现了错误。但是,细菌的基因组所含的重复序列,要比高等生物的基因组少 得多。“欧拉”在组装高度生物,特别是人类的基因组片段时,是否比其他组装程 序更有优势,还有待检验。剑桥大学分子生物学实验室正在试验用这个程序组装高 度生物的基因组片段,初步的结果看起来很有成效。 2001.8.16. ———————————————— 【新语丝电子文库(www.xys.org)(www.xys2.org)】