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