专利名称:从二个资料序列搜寻一对片段的方法、系统以及程序的制作方法
技术领域:
本发明是关于一种从二资料序列中搜寻一对相似片段的方法、系统以及计算机程序,其中该资料序列最好包含生物序列,例如核酸序列以及胺基酸序列。
背景技术:
目前有许多用于序列搜寻的常规技术,像是Needleman-Wunsch、或Wilbur-Lipman、FASTA、FASTP以及BLAST等等算法。
Needleman-Wunsch算法是一种动态编序技术(dynamic programmingtechnique)。由于比较二序列所需的计算机资源与该二序列长度相乘成正比,所以是种昂贵的技术;动态编序技术因计算机方面的需求,在搜寻大量资料库或是比对长的资料序列时,像是基因组资料,实际上须使用到超级计算机或是其它特殊用途的硬件,且此方法亦有搜寻时间过长的缺点。
基于这些理由,更快速的启发式方法(heuristic method,例如BLAST以及FASTA)比精确的动态编序更为实际。然而,使用启发性方法的缺点是有可能会丧失准确性。以BLAST为例,此种算法只有当原始序列与参考序列通过某种开端相似度的测试情况下,才进行两个序列之间深入的比对。
因此,在这个技术领域中仍需要一种改良方法,以满足比较二长资料序列所需要的灵敏度及速度,特别是庞大的基因组序列。
发明内容
因而,本发明的原理可解决上述问题及先前技术的相关缺点。在一种实施例中,本发明提供一种从二资料序列(X和Y)搜寻配对片段的方法(Fx和Fy)。此方法包含1选择X的第一片段(Fx1)和Y的第一片段(Fy1),使Fx1和Fy1的样式(p1)要满足预定条件(c1);2从Fx1延伸出另一片段(Fx2),而Fy1也从同方向延伸出一片段(Fy2);3确认Fx2和Fy2的样式(p2);以及4基于一预定方式的c2,而得到一对片段Fx和Fy。
伴随着相关图式及经由图例说明本发明的原理,接下来的描述将公开本发明的其它方面和优点。
关于要充分了解本发明的目的及优点,最好是藉由参考以下的详细说明以及相关图式的描述图1为本发明架构的流程图;图2A为本发明的较佳具体实施例的流程图;图2B为图2A的步骤216的详细说明;图3为包含图3A、图3B、图3C、图3D及图3E的本发明最佳具体实施例的流程图;以及图4为显示每次资料库搜寻结果的伪阳性与灵敏度间的关系图。
上述这些说明及图式仅供说明之用,并不会因此成为本发明的限制。
发明的详细说明本发明的一种实施例,是提供一种从二个资料序列中搜寻配对片段的方法。
为了清楚地说明本发明,一些名词的定义如下此处所用“资料序列”一词是指一维空间的资料序列,包括但不限于一生物性序列,例如核酸序列和胺基酸序列,以及声纹和电波。
此处所用“资料”一词是指上述资料序列所包括的资料。例如,核酸序列中的资料是指核酸,蛋白质序列中的资料是指胺基酸,声纹中的资料可能是指声音振幅。
此处所用“片段”一词是指一部分的资料序列。对于具有1000个核酸的DNA序列而言,一部分的序列是指例如从核酸1到核酸100的DNA序列即为一个“片段”,而片段的长度可依据使用者不同的应用或需求来定义。
此处所用“样式(pattern)”一词是指二资料序列之间的资料排列情形,而“样式”能以像是例如,二DNA序列中相同碱基数目或相似度百分比来表示。
图1显示本发明架构的流程图,其中所示的二资料序列(X和Y),在本发明的一种实施例中,该资料序列为生物性序列,例如核酸序列或胺基酸序列。此搜寻方法在步骤102,由X选择一片段相对应到Y的一片段(例如具有相同长度及相同资料消息的二片段)。在步骤104,上述片段从同方向各自延伸出另外二片段。接着在步骤106,系统判断该新二片段是否满足使用者的条件;若是满足步骤106的条件,则程序移回步骤104以进行下一次延伸片段;若是不满足步骤106的条件,则程序继续进行至步骤108。在步骤108,延伸出的二片段进行匹配化(match)以调整二片段的状态。然后在步骤110,系统判断二片段匹配化后是否满足使用者的条件,此步骤的条件可能与步骤106的条件相同,系依照使用者需求而定。若是满足步骤110,则程序移回步骤104以进行下一次延伸片段;若是不满足步骤110的条件,则终止下一次延伸片段,如此则得到一对产生的片段。
为了更进一步清楚地说明本发明,一些名词的定义如下此处所用的“条件”、“要件”以及“需求”等词是指序列或片段之间的状态、等级或程度,其意义可依使用者需要而定。参考上述有关“样式”的定义,当此处提到二片段的“样式”满足一“条件”时,是意谓二片段之间的资料相似度比例超过例如百分之五十。
本发明的较佳具体实施例,现将参考图2A流程图的描述。此搜寻方法在步骤202,选择X的第一片段(Fx1)和Y的第一片段(Fy1),使Fx1和Fy1的样式(p1)要满足预定条件(c1),最好是Fx1以及Fy1具有相同的长度及高相似度比。接着,在步骤204,Fx1和Fy1同方向(例如同左或同右)各自延伸出二片段(Fx2和Fy2),最好能二方向同时延伸出片段。在步骤206,确认延伸之后的片段Fx2和Fy2的样式(p2)。接着,在步骤208,系统判断p2是否符合预定条件(c2);若是p2满足条件(c2),则程序进行至步骤210;另一方面,若是p2不满足条件(c2),则程序进行至步骤216,使Fx2和Fy2进行匹配化以达到二片段最佳的配对状态。在步骤210,Fx2和Fy2同方向各自延伸出另外二片段(Fx3和Fy3)。其后,在步骤212,确认延伸之后的片段Fx3和Fy3的样式(p3)。在步骤214,若是p3满足预定条件(c3),则得到一对产生的片段(Fx和Fy),其中Fx包含Fx1、Fx2及Fx3片段,而Fy包含Fy1、Fy2及Fy3片段。另外,例如当不论是Fx3和Fy3片段延伸至X或Y序列的末端时,则延伸停止,而得到如上所述一对产生的片段。
以下为了清楚地说明本发明,此处先提供一些名词的定义此处所用“子片段”一词是指一部分的片段。对于具有100个核酸的片段而言,一部分的片段是指例如从核酸23至核酸30的片段即为一个“子片段”,而适当长度的子片段可依据使用者的需求而定。
此处所用“子样式”一词是指二子片段之间的资料排列情形。子样式的表达方式与上述“样式”的表达方式相似,例如,二DNA序列中相同碱基数目或相似度百分比来表示。
此处所用“子条件”一词是指子片段的状态、等级或程度,其意义可依使用者需要而定。“子条件”与上述“条件”的表达方式相似。
此处所用“间隔”一词是指一些空格或是无意义的资料,可用破折号(“-”)表示。例如,四个无意义资料的间隔可以表示成“----”。
此处所用的“使Fx2和Fy2匹配化”是指藉由在X或Y资料序列的适当区域内插入间隔,使Fx2与Fy2之间达到最佳的资料排列状态。
图2B为图2A步骤216的详细说明。为了执行步骤216,在步骤218选出二子片段(Fx2.1和Fy2.1),使Fx2.1和Fy2.1的子样式(p2.1)要满足子条件(c2.1),而子条件可由使用者定义。在步骤220,最好是判断Fx2.1或Fy2.1子片段是否有各自靠近已配对片段(Fx1和Fy1)。在步骤222,若是Fx2.1较靠近Fx1,则在Fy2.1和Fx1之间插入适当间隔,造成排除掉Fx2部分的资料,而藉此Fx2成为一更新的片段Fx2′,该更新片段Fx2′包括上述间隔,但不包括前述从Fx2排除的资料部分。插入间隔之后,在步骤224,产生并定义一个Fx2′和Fy2的更新样式p2′。接着,在步骤226,系统判断p2′是否满足一需求(r);若是p2′满足步骤226的需求,则程序继续进行至步骤228。另一方面,若p2′不满足此需求(r),则程序进行至步骤234。
在步骤228,Fx2′和Fy2同方向各自延伸出另外二片段(Fx3和Fy3)。其后,在步骤230,确认延伸之后的片段Fx3和Fy3的样式(p3)。在步骤232,若是p3满足预定条件(c3),则得到一对产生的片段(Fx和Fy),其中Fx包含Fx1、Fx2′及Fx3片段,而Fy包含Fy1、Fy2及Fy3片段。另外,例如当不论是Fx3或Fy3片段延伸至X或Y序列的末端时,则延伸停止,而得到如上所述一对产生的片段。
在步骤234,当p2′不满足需求(r)时,则得到一对产生的片段(Fx和Fy),其中Fx包含Fx1及Fx2′片段,而Fy包含Fy1和Fy2片段。
熟悉此技艺者将了解到,若是Fx2.1和Fy1之间的距离较近于Fx2.1和Fx1时,则在Fy2.1和Fy1之间的区域内插入间隔,使Fx2与Fy2之间达到最佳的样式。在此情况中,熟悉此技艺者将可参考步骤222至步骤234,而得到一对产生的片段。
在本发明的另一实施例中,则提供一种从二资料序列中搜寻配对片段的系统。
该系统包含1选择X的第一片段(Fx1)和Y的第一片段(Fy1),使Fx1和Fy1的样式(p1)要满足一预定条件(c1)的逻辑;2从Fx1延伸出另一片段(Fx2),而Fy1也从同方向延伸出一片段(Fy2)的逻辑;3确认Fx2和Fy2的样式(p2)的逻辑;以及4基于一预定逻辑的p2,而得到一对产生的片段(Fx和Fy)的逻辑。
在本发明的较佳具体实施例中,该资料序列为生物性序列(例如,核酸序列或是胺基酸序列)。
该预定逻辑进一步包含判断p2是否满足使用者定义条件(c2)的逻辑;若p2满足条件c2,则从Fx2延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的逻辑;以及若p2不满足条件c2,则使Fx2和Fy2进行匹配化的逻辑。
当p2满足c2时,则从Fx2延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的逻辑,还包含确认延伸之后的片段Fx3和Fy3样式(p3)的逻辑、判断p3是否满足使用者定义条件(c3)的逻辑、以及若是p3满足c3,则得到一对产生片段(Fx和Fy)的逻辑,其中Fx包括Fx1、Fx2和Fx3,而Fy包括Fy1、Fy2和Fy3。
上述Fx2和Fy2匹配化的逻辑,还包含从Fx2和Fy2各自选择一子片段(Fx2.1和Fy2.1),使Fx2.1和Fy2.1的子样式(p2.1)要满足子条件(c2.1)的逻辑、在Fx2.1和Fx1之间区域插入间隔,造成排除Fx2的部分资料,而藉此Fx2成为一更新片段(Fx2′)的逻辑,该更新片段(Fx2′)包括上述间隔,但不包括前述从Fx2排除的资料部分、还有确认Fx2′和Fy2之间更新的p2(即p2′)的逻辑、另外判断p2′是否满足一使用者定义的需求(r)的逻辑、以及若是p2′满足r,则从Fx2′延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的逻辑,其中Fx3包括Fx2的部分资料,以及若是p2′不满足r,则得到一对产生片段(Fx和Fy)的逻辑,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
从Fx2′延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的逻辑,还包含确认Fx3和Fy3的样式(p3)的逻辑、判断p3是否满足一使用者定义条件(c3)的逻辑、以及若是p3满足c3,则得到一对产生片段(Fx和Fy)的逻辑,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
在本发明的另一实施例中,还提供一种从二资料序列中搜寻配对片段的计算机程序。
该计算机程序包含1选择X的第一片段(Fx1)和Y的第一片段(Fy1)的程序代码区段,使Fx1和Fy1的样式(p1)要满足一使用者定义的条件(c1);2从Fx1延伸出另一片段(Fx2),而Fy1也从同方向延伸出一片段(Fy2)的程序代码区段;3确认Fx2和Fy2的样式(p2)的程序代码区段;以及4基于预先设定程序代码区段的p2,而得到一对产生片段(Fx和Fy)的程序代码区段。
在本发明一较佳具体实施例中,该资料序列系为生物性序列(例如,核酸序列或是胺基酸序列)。
该预定程序代码区段进一步包含判断p2是否满足使用者定义条件(c2)的程序代码区段;若p2满足条件c2,则从Fx2延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的程序代码区段;以及若是p2不满足条件c2,则使Fx2和Fy2进行匹配化的程序代码区段。
当p2满足c2时,则从Fx2延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的程序代码区段,还包含确认延伸之后的片段Fx3和Fy3样式(p3)的程序代码区段、判断p3是否满足预定条件(c3)的程序代码区段、以及若是p3满足c3,则得到一对产生片段(Fx和Fy)的程序代码区段,其中Fx包括Fx1、Fx2和Fx3,而Fy包括Fy1、Fy2和Fy3。
上述使Fx2和Fy2匹配化的程序代码区段,还包含从Fx2和Fy2各自选择一子片段(Fx2.1和Fy2.1),使Fx2.1和Fy2.1的子样式(p2.1)要满足一使用者定义的子条件(c2.1)的程序代码区段、在Fx2.1和Fx1之间区域插入间隔,造成排除Fx2的部分资料,藉此Fx2成为一更新片段(Fx2′)的程序代码区段,该更新片段(Fx2′)包括上述间隔,但不包括前述从Fx2排除的资料部分、还有确认Fx2′和Fy2之间更新的p2(即p2′)的程序代码区段、另外判断p2′是否满足一使用者定义的需求(r)的程序代码区段、以及若是p2′满足r,则从Fx2′延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的程序代码区段,其中Fx3包括Fx2的部分资料,以及若是p2′不满足r,则得到一对产生片段(Fx以及Fy)的程序代码区段,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
从Fx2′延伸出另一片段(Fx3),而Fy2也从同方向延伸出一片段(Fy3)的程序代码区段,还包含确认Fx3和Fy3的样式(p3)的程序代码区段、判断p3是否满足一使用者定义条件(c3)的程序代码区段、以及若p3满足c3,则得到一对结果片段(Fx和Fy)的程序代码区段,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
实施例1参考以下实施例将使本发明变得更清楚。这些实施例仅用于说明之用,而不应对本发明有任何的限制。
本发明的最佳实施例具有搜寻活体生物基因组的特殊应用,特别是人类基因组,以寻得其中的生物性消息,像是有兴趣序列的片段。
本发明的最佳具体实施例的流程图是参考图3A、图3B、图3C、图3D及图3E。在图3A的步骤302中,有二欲比较的DNA序列,作为X序列和Y序列。在步骤304,在X序列和Y序列中选择二相同片段(Fx1和Fy1),该二片段都是相同11个碱基的长度,且相似度为百分之百。在步骤306,Fx1以及Fy1这一对片段通常称为一个“种子”。在步骤308,从种子向右延伸出下一对片段Fx2和Fy2。在步骤310,Fx2和Fy2之间有8个相配对的碱基对,此数目低于使用者定义9对的要件,因此须使Fx2与Fy2进行前述方式的匹配化。在图3B的步骤312中,匹配化程序一开始是从Fx2和Fy2各自选择二子片段(Fx2.1和Fy2.1),该二子片段具有相同的长度和核酸序列,举例来说,像是“acac”。在步骤314,于Fx2.1第一个碱基之前的位置上插入间隔,使得Fx2的核酸序列顺移,且Fx2成为一更新的片段Fx2′。在步骤316,Fx2′和Fy2之间有11个相配对的碱基对,此数目超过使用者定义9对的要件,因此在步骤318,继续延伸另外二片段(Fx3和Fx3)。
在图3C的步骤320中,Fx3和Fy3之间有5个相配对的碱基对,此数目低于使用者定义9对的要件,而接着开始进行前述的匹配化程序。在步骤322,在Fx3和Fy3中选择二相同子片段(Fx3.1和Fy3.1)。在步骤324,在Fy3.1第一个碱基之前的位置上插入间隔,使得Fy3成为一更新的片段Fy3′。在步骤326,Fy3′和Fx3之间有12对相配对的碱基对,此数目超过使用者定义9对的要件,因此在步骤328,继续延伸另外二片段(Fx4和Fy4)。
在图3D的步骤330中,Fx4和Fy4之间有4个相配对的碱基对,此数目低于使用者定义9对的要件。因此,开始进行前述的匹配化程序。在步骤332,在Fx4和Fy4中选择二相同子片段(Fx4.1和Fy4.1)。在步骤334,在Fy3′和Fy4.1之间插入适当间隔,使得Fy4成为一更新的片段Fy4′。在步骤336,Fy4′和Fx4之间退回8个相配对的碱基对,此数目再次低于使用者定义9对的要件。因此在图3E的步骤338中,即终止延伸下一对片段,如此则得到一对产生的片段,分别是Fx1+Fx2′+Fx3+Fx4和Fy1+Fy2+Fy3′+Fy4′。
既然Fy4′和Fx4相配对的数目无法藉由插入间隔来达到使用者所定义的要件,此暗示Fy4′和Fx4的后续的片段可能也很难满足这个要件,而这就是要终止延伸下一次的原因。在此种情形下,使用者可选择性地处理最后延伸出的片段(Fy4′和Fx4),以修饰本发明得到片段的末端部分,举例来说,可保留Fy4′和Fx4中前三个相配对的碱基对“tgt”,而舍弃Fy4′和Fx4的其余部分。有许多方式可处理最后的延伸片段,熟悉此技艺者将会了解这些处理方式,且该处理方式不应对本发明的范围有任何限制。
熟悉此技艺者将了解,在步骤340中,可用上述向右延伸的相同原则,来进行Fx1和Fy1的向左延伸。
接下来是藉由常规方法和本发明方法以资料库搜寻未知序列的一特定长度,来显示本发明的优点。
所有的测试是在装有1024MB随机存取内存的500MHz Pentium III的计算机中进行。表一显示本发明方法(FLAG)以资料库搜寻未知序列一特定长度平均所需要的CPU时间。括号内的数据是标准误差。
表一执行时间(秒)
测试中分别使用60、125、250、500、1000、2000以及4000的碱基长度。“FLAG预设值”是FLAG预设的CPU时间设定。“FLAGI=8”是当种子长度为8个碱基时,FLAG所需要的CPU时间。最后两栏显示BLAST及FASTA(两者皆为预设状态)所需要的执行时间。
在另一个类似表一的测试中,图4显示各个搜寻结果伪阳性与灵敏度之间的关系。“伪阳性”是满足使用者所定义的条件并因此列入搜寻结果,但事实上与查询序列并不相关的序列。“灵敏度”是评估此处所用方法的效能参考数值,而通常灵敏度越高,即效能越高。
如表1与图4的结果显示,与FASTA比较起来,虽然FASTA的灵敏度较高,但在对于搜寻同样长度的执行时间上,本发明方法比FASTA快约30至50倍。此外,相较于大部分常规的搜寻方法,即BLAST,本发明方法提供在执行时间及灵敏度比例上皆具有改善的效能。因此,本发明确实提供一个有价值的搜寻方法以解决常规方法中的问题,并具有相当的灵敏度,特别是在基因组的搜寻领域。
实施例2本发明的方法也可应用于判定二序列的相似度。使用本发明的方法时,熟悉此技艺者能以一常规方法,例如统计方法,根据延伸片段的碱基对,而计算所产生片段的相似度。
实施例3声音的辨识也是本发明可能的应用领域。一首歌曲或一段演说是一序列的音符或音素(phonemes),并也是一维的资料序列。因此,可使用本发明的方法来比较或判定二个音符序列或二个音素序列之间的相似度。
虽然本发明以具体实施例描述如上,但该描述只是应用本发明的一个范例,并不能用来作为限制条件。因此本发明的保护范围当视后附的权利要求范围所界定者为准。
权利要求
1.一种从二资料序列X序列和Y序列搜寻一对片段Fx和Fy的方法,使Fx和Fy的样式要满足一预定要件,该方法包含以下步骤(1.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1;(1.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2;(1.3)确认Fx2和Fy2的样式p2;以及(1.4)基于p2,由一预定的方式得到一对片段Fx和Fy。
2.如权利要求1所述的方法,其中该预定方式包含以下步骤(2.1)判断p2是否满足一预定条件c2;(2.1.1)若p2满足c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3;以及(2.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
3.如权利要求2所述的方法,其中步骤(2.1.1)包含下列步骤(3.1)确认Fx3和Fy3的样式p3;(3.2)判断p3是否满足一预定条件c3;以及(3.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2及Fx3片段,而Fy包括Fy1、Fy2及Fy3。
4.如权利要求2所述的方法,其中Fx2和Fy2匹配化的步骤(2.1.2)包含下列步骤(4.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1;(4.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的资料,藉此Fx2成为一更新片段Fx2′,该更新片段Fx2′包括上述间隔,但不包括上述从Fx2排除的资料部分;(4.3)确认Fx2′与Fy2之间更新的p2,以p2′表示之;(4.4)判断p2′是否满足一预定需求r;(4.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3,其中Fx3包括部分的Fx2资料;以及(4.4.2)若p2′不满足r,则得到一对片段Fx和Fy,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
5.如权利要求4所述的方法,其中步骤(4.4.1)包含下列步骤(5.1)确认Fx3和Fy3的样式p3;(5.2)判断p3是否满足一预定条件c3;以及(5.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2及Fy3。
6.一种从二生物性序列X序列和Y序列搜寻一对片段Fx和Fy的方法,使Fx和Fy的样式要满足一预定要件,该方法包含以下步骤(6.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1;(6.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2;(6.3)确认Fx2和Fy2的样式p2;以及(6.4)基于p2,由一预定的方式得到一对片段Fx和Fy。
7.如权利要求6所述的方法,其中该预定方式包含以下步骤(7.1)判断p2是否满足一预定条件c2;(7.1.1)若p2满足c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3;以及(7.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
8.如权利要求7所述的方法,其中步骤(7.1.1)包含下列步骤(8.1)确认Fx3和Fy3的样式p3;(8.2)判断p3是否满足一预定条件c3;以及(8.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2及Fx3片段,而Fy包括Fy1、Fy2及Fy3。
9.如权利要求7所述的方法,其中Fx2和Fy2匹配化的步骤(7.1.2)包含下列步骤(9.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1;(9.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的生物性资料,藉此Fx2成为一更新片段Fx2′,该更新片段Fx2′包括上述间隔,但不包括上述Fx2排除的生物性资料部分;(9.3)确认Fx2′与Fy2之间更新的p2,以p2′表示之;(9.4)判断p2′是否满足一预定需求r;(9.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3,其中Fx3包括部分的Fx2生物性资料;以及(9.4.2)若p2′不满足r,则得到一对片段Fx和Fy,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
10.如权利要求9所述的方法,其中步骤(9.4.1)包含下列步骤(10.1)确认Fx3与Fy3的样式p3;(10.2)判断p3是否满足一预定条件c3;以及(10.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2及Fy3。
11.一种从二资料序列X序列和Y序列搜寻一对片段Fx和Fy的系统,使Fx和Fy要满足一预定要件,该系统包含(11.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1的逻辑;(11.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2的逻辑;(11.3)确认Fx2和Fy2的样式p2的逻辑;以及(11.4)基于p2,由一预定逻辑,而得到一对片段Fx和Fy的逻辑。
12.如权利要求11所述的系统,其中该预定逻辑包含(12.1)判断p2是否满足一预定条件c2的逻辑;(12.1.1)若p2满足c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的逻辑;以及(12.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
13.如权利要求12所述的系统,其中该逻辑(12.1.1)包含(13.1)确认Fx3和Fy3的样式p3的逻辑;(13.2)判断p3是否满足一预定条件c3的逻辑;以及(13.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2和Fx3,而Fy包括Fy1、Fy2和Fy3。
14.如权利要求12所述的系统,其中使Fx2和Fy2匹配化的逻辑(12.1.2)包含(14.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1的逻辑;(14.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的资料,藉此Fx2成为一更新片段Fx2′的逻辑,该更新片段Fx2′包括上述间隔,但不包括上述Fx2排除的资料部分;(14.3)确认Fx2′与Fy2之间更新的p2的逻辑,以p2′表示之;(14.4)判断p2′是否满足一预定需求r的逻辑;(14.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的逻辑,其中Fx3包括部分的Fx2资料;以及(14.4.2)若p2′不满足r,则得到一对片段Fx和Fy的逻辑,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
15.如权利要求14所述的系统,其中逻辑(14.4.1)包含(15.1)确认Fx3和Fy3的样式p3的逻辑;(15.2)判断p3是否满足一预定条件c3的逻辑;以及(15.3)若p3满足c3,则得到一对片段Fx和Fy的逻辑,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
16.一种从二生物性序列X序列和Y序列搜寻一对片段Fx和Fy的系统,使Fx和Fy的样式要满足一预定要件,该系统包含(16.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1的逻辑;(16.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2的逻辑;(16.3)确认Fx2和Fy2的样式p2的逻辑;以及(16.4)基于p2,由一预定逻辑,而得到一对片段Fx和Fy的逻辑。
17.如权利要求16所述的系统,其中该预定逻辑包含(17.1)判断p2是否满足一预定条件c2的逻辑;(17.1.1)若p2满足c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的逻辑;以及(17.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
18.如权利要求17所述的系统,其中该逻辑(17.1.1)包含(18.1)确认Fx3和Fy3的样式p3的逻辑;(18.2)判断p3是否满足一预定条件c3的逻辑;以及(18.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2和Fx3,而Fy包括Fy1、Fy2和Fy3。
19.如权利要求17所述的系统,其中使Fx2和Fy2匹配化的逻辑(17.1.2)包含(19.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1的逻辑;(19.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的生物性资料,藉此Fx2成为一更新片段Fx2′的逻辑,该更新片段Fx2′包括上述间隔,但不包括上述Fx2排除的生物性资料部分;(19.3)确认Fx2′与Fy2之间更新的p2的逻辑,以p2′表示之;(19.4)判断p2′是否满足一预定需求r的逻辑;(19.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的逻辑,其中Fx3包括部分的Fx2资料;以及(19.4.2)若p2′不满足r,则得到一对片段Fx和Fy的逻辑,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
20.如权利要求19所述的系统,其中逻辑(19.4.1)包含(20.1)确认Fx3和Fy3的样式p3的逻辑;(20.2)判断p3是否满足一预定条件c3的逻辑;以及(20.3)若p3满足c3,则得到一对片段Fx和Fy的逻辑,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
21.一种从二资料序列X序列和Y序列搜寻一对片段Fx和Fy的计算机程序,使Fx和Fy的样式要满足一预定要件,该程序包含(21.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1的程序代码区段;(21.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2的程序代码区段;(21.3)确认Fx2和Fy2的样式p2的程序代码区段;以及(21.4)基于p2,由一预定程序代码区段,而得到一对片段Fx和Fy的程序代码区段。
22.如权利要求21所述的计算机程序,其中该预定程序代码区段包含(22.1)判断p2是否满足一预定条件c2的程序代码区段;(22.1.1)若p2满足条件c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的程序代码区段;以及(22.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
23.如权利要求22所述的计算机程序,其中该程序代码区段(22.1.1)包含(23.1)确认Fx3和Fy3的样式p3的程序代码区段;(23.2)判断p3是否满足一预定条件c3的程序代码区段;以及(23.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2及Fx3,而Fy包括Fy1、Fy2和Fy3。
24.如权利要求22所述的计算机程序,其中使Fx2和Fy2匹配化的程序代码区段(22.1.2)包含(24.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1的程序代码区段;(24.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的资料,藉此Fx2成为一更新片段Fx2′的程序代码区段,该更新片段Fx2′包括上述间隔,但不包括上述Fx2排除的资料部分;(24.3)确认Fx2′与Fy2之间更新的p2的程序代码区段,以p2′表示之;(24.4)判断p2′是否满足一预定需求r的程序代码区段;(24.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的程序代码区段,其中Fx3包括部分的Fx2资料;以及(24.4.2)若p2′不满足r,则得到一对片段Fx和Fy的程序代码区段,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
25.如权利要求24所述的计算机系统,其中程序代码区段(24.4.1)包含(25.1)确认Fx3和Fy3的样式p3的程序代码区段;(25.2)判断p3是否满足一预定条件c3的程序代码区段;以及(25.3)若p3满足c3,则得到一对片段Fx和Fy的程序代码区段,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
26.一种从二生物性序列X序列和Y序列搜寻一对片段Fx和Fy的计算机程序,使Fx和Fy的样式要满足一预定要件,该程序包含(26.1)选择X序列的第一片段Fx1和Y序列的第一片段Fy1,使Fx1和Fy1的样式p1要满足一预定条件c1的程序代码区段;(26.2)从Fx1延伸出另一片段Fx2,而Fy1也从同方向延伸出一片段Fy2的程序代码区段;(26.3)确认Fx2和Fy2的样式p2的程序代码区段;以及(26.4)基于p2,由一预定程序代码区段,而得到一对片段Fx和Fy的程序代码区段。
27.如权利要求26所述的计算机系统,其中该预定程序代码区段包含(27.1)判断p2是否满足一预定条件c2的程序代码区段;(27.1.1)若p2满足c2,则从Fx2延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的程序代码区段;以及(27.1.2)若p2不满足c2,则使Fx2和Fy2进行匹配化。
28.如权利要求27所述的计算机程序,其中该程序代码区段(27.1.1)包含(28.1)确认Fx3和Fy3的样式p3的程序代码区段;(28.2)判断p3是否满足一预定条件c3的程序代码区段;以及(28.3)若p3满足c3,则得到一对片段Fx和Fy,其中Fx包括Fx1、Fx2和Fx3,而Fy包括Fy1、Fy2和Fy3。
29.如权利要求27所述的计算机程序,其中使Fx2和Fy2匹配化的程序代码区段(27.1.2)包含(29.1)在Fx2和Fy2中各自选择一子片段Fx2.1和Fy2.1,使Fx2.1和Fy2.1的子样式p2.1要满足预定子条件c2.1的程序代码区段;(29.2)在Fx2.1和Fx1之间的区域内插入间隔,而排除Fx2部分的生物性资料,藉此Fx2成为一更新片段Fx2′的程序代码区段,该更新片段Fx2′包括上述间隔,但不包括上述Fx2排除的生物性资料部分;(29.3)确认Fx2′与Fy2之间更新的p2的程序代码区段,以p2′表示之;(29.4)判断p2′是否满足一预定需求r的程序代码区段;(29.4.1)若p2′满足r,则从Fx2′延伸出另一片段Fx3,而Fy2也从同方向延伸出一片段Fy3的程序代码区段,其中Fx3包括部分的Fx2资料;以及(29.4.2)若p2′不满足r,则得到一对片段Fx和Fy的程序代码区段,其中Fx包括Fx1和Fx2′,而Fy包括Fy1和Fy2。
30.如权利要求29所述的计算机系统,其中程序代码区段(19.4.1)包含(30.1)确认Fx3和Fy3的样式p3的程序代码区段;(30.2)判断p3是否满足一预定条件c3的程序代码区段;以及(30.3)若p3满足c3,则得到一对片段Fx和Fy的程序代码区段,其中Fx包括Fx1、Fx2′和Fx3,而Fy包括Fy1、Fy2和Fy3。
全文摘要
本发明提供一种从二资料序列中搜寻一对相似片段的新颖方法、系统以及计算机程序,特别是提供一种从二生物性序列搜寻一对片段的方法,例如,核酸序列以及胺基酸序列。首先,从二资料序列中选出一对具有特定资料排列的片段。接着同方向延伸出下一对片段,若是新片段对的资料排列满足使用者所定义的条件,则继续进行下一对片段的延伸;若是此资料排列不满足上述定义的条件,则藉由间隔的插入,使片段间进行匹配化。在插入间隔之后,若是片段间的资料排列可满足使用者定义的条件,则继续进行下一次的延伸步骤;否则便终止延伸步骤,而得到产生的片段。
文档编号G06F19/00GK1360255SQ01137549
公开日2002年7月24日 申请日期2001年10月29日 优先权日2000年12月21日
发明者姚文萱 申请人:财团法人工业技术研究院