<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
DNA限制性图谱的绘制
?
绘制DNA限制性图谱是遗传生物学中的重要问题。由于DNA分子很长,目前的实验技术无法对其进行直接测量,所以生物学家们需要把DNA分子切开,一段一段的来测量。在切开的过程中,DNA片段在原先DNA分子上的排列顺序丢失了,如何找回这些片段的排列顺序是一个关键问题。
为了构造一张限制性图谱,生物学家用不同的生化技术获得关于图谱的间接的信息,然后采用组合方法用这些数据重构图谱。一种方法是用限制性酶来消化DNA分子。这些酶在限制性位点把DNA链切开,每种酶对应的限制性位点不一样。对于每一种酶,每个DNA分子可能有多个限制性位点,此时可以按照需要来选择切开某几个位点(不一定连续)。DNA分子被切开后,得到的每个片段的长度就是重构这些片段的原始顺序的基本信息。在多种获取这种信息的实验方法中,有一种广泛采用的方法:部分消化(the partial digest, PDP)方法。
在PDP中,采用一种酶,通过实验得到任意两个限制性位点之间片段的长度。假设与使用的酶对应的限制性位点有n个, 通过大量实验,可得到n+2个点(n个位点加上两个端点)中任意两点之间的距离,共<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 24pt; HEIGHT: 18.75pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image001.wmz"></imagedata></shape>个值。然后用这<shape id="_x0000_i1026" style="WIDTH: 24pt; HEIGHT: 18.75pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image001.wmz"></imagedata></shape>个距离来重构n个限制性位点的位置(解不一定唯一,两个端点对应于最长的距离)。若<shape id="_x0000_i1027" style="WIDTH: 20.25pt; HEIGHT: 12.75pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image003.wmz"></imagedata></shape>是线段上的点集<shape id="_x0000_i1028" style="WIDTH: 12.75pt; HEIGHT: 12pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image005.wmz"></imagedata></shape>中所有点之间距离的集合,PDP就是给定<shape id="_x0000_i1029" style="WIDTH: 20.25pt; HEIGHT: 12.75pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image003.wmz"></imagedata></shape>求<shape id="_x0000_i1030" style="WIDTH: 12.75pt; HEIGHT: 12pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image005.wmz"></imagedata></shape>。下图给出了一个例子。
?
???????? 2??????? 3?????????? 4???????????? 5???? ???????2
?
???????
?A?????? a????????? b??????????? c?????????????? d?????? B
图1.?? A,B是DNA分子的两个端点。 a,b,c和d是限制性位点。? 通过实验可以得到 <shape id="_x0000_i1031" style="WIDTH: 18pt; HEIGHT: 11.25pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image009.wmz"></imagedata></shape>={2,3,4,5,2,5,9,14,16,7,12,14,9,11,7}. 再通过<shape id="_x0000_i1032" style="WIDTH: 18pt; HEIGHT: 11.25pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image009.wmz"></imagedata></shape>来求<shape id="_x0000_i1033" style="WIDTH: 11.25pt; HEIGHT: 10.5pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image005.wmz"></imagedata></shape>,对应于上图的<shape id="_x0000_i1034" style="WIDTH: 11.25pt; HEIGHT: 10.5pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///D:/DOCUME~1/ALONES~1/LOCALS~1/Temp/msohtml1/01/clip_image005.wmz"></imagedata></shape>={0,2,5,9,14,16}是一种解。
?
上述方法要把DNA分子在任意的两个限制性位点处切开,这对于当前的实验技术来说有相当难度,而且,还要对实验数据进行处理,也很复杂。最近研究人员提出了一种新的方法,称为简化的部分消化方法(SPDP)。这个方法与PDP的不同就在于它避免了在任意两个位点切开DNA分子的难题和处理重复数据的困难。仍假设与使用的酶对应的限制性位点有n个。首先DNA分子被复制成n+1份,前n个复制品中的每一个在一个限制性位点处被切开,最后一个复制品在所有的限制性位点处被切开。这样我们分别得到2n个片段长度(称为第一组数据)和n+1个片段长度(称为第二组数据)。在没有误差的前提下,第一组数据中2n个长度可以分成n对,每对的和都等于DNA分子的总长度;第二组数据中n+1个长度的和也等于DNA分子的总长度。 SPDP问题是如何利用这两组数据重构出这n+1个片段在DNA分子上的排列,使得这个排列在n个位点切开后得到的2n个片段长度与实验得到的2n个长度相等。下图给出了一个例子。
?(a)
2?????? 6???????? 1?????? 4?????? 3
?
(b)
?????????? 2?????????????????? 14
?
???????????????? 8????????????????? 8
?
???????????????? 9??????????????????? 7
?
???????????????????? 13??????????????????? 3
?
?????????
2???? 1???????? 4?????????? 3????????????? 6
?
?
图2.? 这个例子对应的位点有4个。(a) 就是我们希望重构的顺序。 (b)中的前4对为第一组数据,它通过切开一个位点得到,每对长度的和都是16,剩下的为第二组数据,含5个片段长度,它通过切开所有位点得到,它们的长度总和也是16, 但实验结果只告知每段的长度,不知道它们在DNA分子上的排列顺序。
?
现对上述SPDP问题,建立数学模型,并研究以下问题:
(1)???? 设计求解该问题的算法, 并评估该算法的效率和效果。对下述2个实例给出答案:
实例1: 第一组数据:2,14,8,8,9,7,13,3
第二组数据:2,1,4,3,6
?
实例2:? 第一组数据:1,14,12,3,7,8,9,6,11,4,12,3,13,2,5,10
第二组数据:1,1,2,1,2,2,1,2,3
?
(2)??? 讨论在实验中测量片段长度时的误差,将在多大程度上影响算法的效果,当误差到多大程度时,限制性图谱的重构将无法进行。