基于片段重叠群的双面基因组片段填充方法及装置

文档序号:24625223发布日期:2021-04-09 20:32阅读:198来源:国知局
基于片段重叠群的双面基因组片段填充方法及装置

本发明涉及基于片段重叠群的双面基因组片段进行填充的方法及装置,属于基因工程技术领域。



背景技术:

随着基因测序技术的不断发展,测序的规模、速度有了很大的提高,测序成本也有效降低,但是想要获得一个完整的基因组序列,仅凭基因测序手段仍很困难。一般情况下,全基因组序列的获得是通过基因测序仪获得大量的碱基序列,再通过计算机相关技术即拼接算法将这些短小的基因片段组装成较大的基因片段(片段重叠群),并确定基因组中所有片段重叠群的排列顺序,及每个片段重叠群之间的间隔距离,从而获得更大的基因结构----基因组框架。在基因组框架中,存在许多缺失的基因。利用多次测序获得同一基因组的多个框架,进行基因组片段填充,能够将缺失基因填充到不完整序列的片段重叠群间隔中,有效提高框架的完整性,大大降低生物测序的成本。

基因组片段填充是将缺失基因填充到不完整序列的片段重叠群间隔中,有效提高基因组片段的完整性和准确性,降低基因测序的成本,具有一定的应用价值。基于片段重叠群的双面基因组片段填充,是前期基于普通序列的双面基因组片段填充的更一般形式。问题的输入从普通基因组片段序列变为实际应用中更常用的片段重叠群序列。缺失基因的插入位置也不再是任意两个基因之间,而被限制在片段重叠群之间,从而保证已获有意义的基因结构不被新插入的基因破坏。n.liu通过分析双面填充时断点的分类、插入基因数量与产生公共邻接数量的关系,找到了最优解方案中公共邻接数的一个上界,设计了一种采用贪婪策略的近似算法,性能比可以达到1.5;j.ma首先限定片段填充可以增加多少个邻接,然后在5-连通无爪图或7-连通无爪图中寻找近似最大独立集,提出了1.4-近似算法。但是这两种算法只能解决基于普通序列的双面基因组片段填充,并且无法在多项式时间内完成,而无法应用于基于片段重叠群的双面基因组片段填充。

因此,如何解决基于片段重叠群的双面基因组片段填充,并可以在多项式时间内完成,成为亟需解决的问题。



技术实现要素:

本发明针对现有技术存在的不足和限制,提出一种基于片段重叠群的双面基因组片段填充方法,使得能够完成对基于片段重叠群的双面基因组片段的填充,并且时间复杂度和空间复杂度大为降低,填充速度更快,正确率更高,使得基因组片段的完整性和准确性更高。同时提供一种实现该方法的装置。

第一方面,本发明实施例提供基于片段重叠群的双面基因组片段填充方法,包括以下步骤:

(1)计算得到缺失基因;

将排列a和排列b中元素互相进行比较,可以得到排列a中缺失基因集合x,排列b中缺失基因集合y。

(2)对最大缺失基因串分类;

最优解中由x和y中元素构成的最大缺失基因串的类型:设该串的串长为n,即由n个缺失基因组成。

type-1类型:构成n+1邻接。

type-1-i类型:由x和y中元素共同构成的串。

type-1-ii类型:仅由x中或者仅由y中的元素构成的串。

type-2类型:构成n个邻接。

type-2-i类型:由x和y元素共同构成的串。

type-2-ii类型:由x和y元素共同构成的串。

type-2-iii类型:若构成n个邻接时破坏了原有邻接,此时一般会有一对该类缺失串,否则此类串可等价变化为两个串:原邻接构成的串和该串放入排列末尾构成的type-3类型串,且此种情况中的缺失串一定来自同一个缺失基因集合。

type-3类型:构成n-1个邻接。

type-3-i类型:由x和y元素共同构成的串。

type-3-ii类型:仅由x中或仅由y中的元素构成的串。

(3)合并符合条件的最大缺失基因串;

合并操作:去掉连续的最大缺失基因串之间的slot(最外侧的slot保持不变)。

(4)搜索type-1类型串,执行type-1串插入算法;

(5)搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;

(6)搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;

(7)将所有剩余的缺失基因分别插到各排列的末尾。

第二方面,本发明实施例提供基于片段重叠群的双面基因组片段填充装置,包括:

输入单元:两个基于片段重叠群集合的基因组排列;

初始化单元:根据输入序列计算得到缺失基因集合;

分类单元:对最大缺失基因串分类;

合并单元:合并符合条件的最大缺失基因串;

type-1串插入单元:搜索type-1类型串,执行type-1串插入算法;

no-slot-type-3-ii串插入单元:搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;

type-2&3串插入单元:搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;

剩余缺失基因插入单元:将所有剩余的缺失基因分别插到各排列的末尾;

输出单元:填充后的两个基因组排列。

第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,

所述处理器和所述存储器通过所述总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:

计算得到缺失基因;

对最大缺失基因串分类;

合并符合条件的最大缺失基因串;

搜索type-1类型串,执行type-1串插入算法;

搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;

搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;

将所有剩余的缺失基因分别插到各排列的末尾;

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:

所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:

计算得到缺失基因;

对最大缺失基因串分类;

合并符合条件的最大缺失基因串;

搜索type-1类型串,执行type-1串插入算法;

搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;

搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;

将所有剩余的缺失基因分别插到各排列的末尾;

本发明的输入排列是基于片段重叠群的基因组排列,基于片段重叠群排列进行基因组片段填充,精确定义了片段重叠群,使其更接近真实结构。缺失基因的插入位置也不再是任意两个基因之间,而被限制在片段重叠群之间,从而保证已获有意义的基因结构不被插入的基因破坏。相比于基于普通序列的基因组片段填充方法,该方法搜索速度、正确率有明显提高,可以在多项式时间内完成。

附图说明

图1是本发明的基于片段重叠群的基因组片段填充方法的流程图

图2是本发明结点结构示意图

图3是本发明x-y扭公共邻接关系示意图

图4是本发明x-x、y-y扭公共邻接关系示意图

图5是本发明type-2-ii、type-2-iii串公共邻接关系示意图

图6是本发明x-x、y-y扭公共邻接关系中的变换边示意图

图7是本发明补充-i类边示意图

图8是本发明slot抢占公共邻接关系中的补充-ii类边示意图

图9是本发明的基于片段重叠群的基因组片段填充装置结构示意图

图10是本发明提供的电子设备实体结构示意图

具体实施方式

首先说明关于排列、序列、片段重叠群、slot、最大缺失基因串、公共基因、邻接缺失串、矛盾公共基因等的概念。

排列:给定一个基因集合σ,如果σ中元素在p中只出现一次,那么p称为排列,用c(p)表示排列p中的元素集合。

序列:给定一个基因集合σ,如果σ中元素在a中出现多次,那么a称为序列,用c(a)表示序列a中的元素集合。

邻接:给定两个序列a=a1a2a3…an,b=b1b2b3…bn,如果aiai+1=bjbj+1(或者aiai+1=bj+1bj),其中aiai+1∈pa,bj+1bj∈pb。我们称aiai+1和bjbj+1互相匹配。在pa和pb的最大匹配的对中,具有匹配关系的对aiai+1称为a中相对于b的一个公共邻接

断点:不具有匹配关系的对ajaj+1称为a中相对于b的一个断点。

片段重叠群(contig):是由σ中的基因构成的串,该串的内容是固定的。

slot:两个片段重叠群之间的插入位置称为slot。其中,位于基因左侧的slot称为l-slot,位于基因右侧的slot称为r-slot。一般用·表示slot。

最大缺失基因串:连续缺失基因构成的最长串(不可跨contig),称为最大缺失基因串。其中,若最大缺失基因串是一个contig,则称为独立最大缺失基因串,它具有两个slot;否则称为非独立最大缺失基因串。邻接的最大缺失基因串称为连续最大缺失基因串。

公共基因:在两条输入排列中都存在的基因。

邻接缺失串:对一条输入排列a的一个公共基因g,其左右两侧连续的不在b中出现的基因构成了排列b的一个缺失串,称为g的邻接缺失串。

矛盾公共基因:一个公共基因g满足,在每条排列中g至少有一个邻接缺失串,且g在两条排列中至少包含一个slot,设在a排列中g至少包含一个slot,则在b中g的所有邻接缺失串至少包含一个slot。

下面结合附图和具体实施方式对本发明作进一步的说明。

本发明的实施例,基于片段重叠群的基因组片段填充方法,如图1所示,包括以下步骤:

(1)计算得到缺失基因;

(2)对最大缺失基因串分类;

(3)合并符合条件的最大缺失基因串;

(4)搜索type-1类型串,执行type-1串插入算法;

(5)搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;

(6)搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;

(7)将所有剩余的缺失基因分别插到各排列的末尾。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(1)中所述的计算得到缺失基因,是将排列a和排列b中元素互相进行比较,可以得到排列a中缺失基因集合x,排列b中缺失基因集合y。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(2)中所述的对最大缺失基因串分类,具体分类规则如下:

最优解中由x和y中元素构成的最大缺失基因串的类型:设该串的串长为n,即由n个缺失基因组成。

type-1类型:构成n+1邻接。

type-1-i类型:由x和y中元素共同构成的串。

type-1-ii类型:仅由x中或者仅由y中的元素构成的串。

type-2类型:构成n个邻接。

type-2-i类型:由x和y元素共同构成的串。

type-2-ii类型:由x和y元素共同构成的串。

type-2-iii类型:若构成n个邻接时破坏了原有邻接,此时一般会有一对该类缺失串,否则此类串可等价变化为两个串:原邻接构成的串和该串放入排列末尾构成的type-3类型串,且此种情况中的缺失串一定来自同一个缺失基因集合。

type-3类型:构成n-1个邻接。

type-3-i类型:由x和y元素共同构成的串。

type-3-ii类型:仅由x中或仅由y中的元素构成的串。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(3)中所述的合并符合条件的最大缺失基因串,具体的符合条件的合并操作如下:

合并操作:去掉连续的最大缺失基因串之间的slot(最外侧的slot保持不变);

符合条件的合并操作:

当连续的最大缺失基因串中存在非独立最大缺失基因串和独立最大缺失基因串时(非独立最大缺失基因串必然位于这些连续的最大缺失基因串最左或最右侧),则以最左侧或最右侧的非独立最大缺失串为起始串,可进行连续独立最大缺失基因串与该非独立最大缺失基因串的合并,合并后的最大缺失基因串的slot数量和类型(r-slot、l-slot)与该非独立最大缺失基因串的一致;

当连续的最大缺失基因串中只存在独立最大缺失基因串,执行合并操作,合并后的最大缺失基因串仍是一个独立最大缺失基因串,且左右两侧仍有两个slot。

优选的,前述的基于片段重叠群的基因组片段填充方法中,在经过步骤(3)后,两个基因之间的缺失基因串情况如下:

设a中某连续最大缺失串sa左侧邻接的公共基因为l,右侧邻接的公共基因为r,则两个公共基因之间的缺失串是:

①无slot的最大缺失串,如

②有一个slot的最大缺失串,如

③有两个slot的独立最大缺失串,如

④由一个slot分隔的两个最大缺失串,如

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(4)中所述的搜索type-1类型串,执行type-1串插入算法。具体的type-1串插入算法如下:

依次对排列a、b中的连续最大缺失串从左到右进行扫描,设a中某连续最大缺失串sa左侧邻接的公共基因为l,右侧邻接的公共基因为r。

若b中存在l·r或r·l,则无论sa属于上述缺失基因串的何种情况,都可将sa或sa的逆序插入l·r或r·l的slot并锁定(即删去l·r或r·l的所有slot),此时sa或sa的逆序是type-1-ii类型串。注意,若sa是情况①,只在该情况中可构成type-1-ii类型串。此外,

i.当缺失串sa是情况②,设为若b中存在(或)或(或),则a中插入sb(或sb的逆序)并锁定,构成(或),b中插入sa(或sa的逆序),插入后锁定,构成(或);此时插入的是type-1-i类型串。

ii.当缺失串sa是情况③,设为若b中存在sb属于②或③,(可能是一个②或一个③,也可能是两个②)且其邻接公共基因是l、r,则可进行i.中的插入操作,插入后锁定,构成type-1-i类型串。

iii.当sa是情况④,则无法构成type-1-i类型串。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(5)中所述的搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法。则具体的no-slot-type-3-ii串插入算法如下:

依次对排列a、b中的最大缺失串从左到右进行扫描,设a中某最大缺失串sa左侧邻接的公共基因为l,右侧邻接的公共基因为r。若sa插入排列b的末尾,并在末尾处添加slot。此算法中搜索到的type-3-ii串称为no-slot-type-3-ii串。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(6)中所述的搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法。由于在进行type-2类型的缺失串搜索时,若根据原始公共邻接分别建立各排列的公共邻接关系,由于矛盾公共基因与缺失串之间有slot,若向该slot插入缺失基因,则可能破坏原始的公共邻接依据,需要同时处理矛盾基因相关的公共邻接关系,以避免建立矛盾的公共邻接关系导致插入结果的错误。因此,首先要对矛盾公共基因与最大缺失基因串构成的公共邻接关系分类:

假设矛盾公共基因为t,若其在排列a中邻接的最大缺失串是sa,在排列b中邻接的缺失串是sb:(画出的·即是可利用的slot)

①扭公共邻接关系

若a中包含b中包含结果排列中可构成此时sb属于缺失基因集合x,sa属于缺失基因集合y,该类扭匹配被称为x-y扭公共邻接关系,结果中形成的缺失串属于type-2-i类型。可构成插入结果的形式还有很多,具体如表1所示,a和b中形式交换的对称形式不再列出。

表1可构成扭公共邻接关系的具体形式

此外,还有一类由同一排列中相邻的两个最大缺失串构成的特殊扭公共邻接关系,最大缺失串都在排列b中的称为y-y扭公共邻接关系,都在a中的称为x-x扭公共邻接关系。若x-x/y-y扭公共邻接关系可与其某个邻接公共基因构成公共邻接,则缺失串为type-2-i类型,否则缺失串为type-3-ii类型。

②slot抢占公共邻接关系

若a中包含b中包含则两个结果排列中要么只构成公共邻接关系,要么只构成公共邻接关系,形成了sa和sb抢占t的slot的情况,则称为slot抢占公共邻接关系。可构成slot抢占公共邻接关系的形式还有很多。如表2所示,a和b中形式交换的对称形式不再列出。

表2可构成slot抢占公共邻接关系的具体形式

注意,若两个排列中的矛盾公共基因t在没有缺失基因串的一侧都有slot,例如a中包含b中包含则最终可构成结果a排列中结果b排列中是特殊的slot抢占公共邻接关系。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(6)中所述的搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法。因为矛盾公共基因的存在,在单面片段填充问题中常用的二分图最大匹配已经不能获得正确的结果。type-2&3串插入算法通过建立一般图的带权最大匹配模型,使用加权带花树算法思想,获得公共邻接关系的最大匹配,根据匹配实现缺失串的插入,获得某最优解中的所有type-2和type-3串。使用加权带花树算法实现获得最优数量的邻接,要确定:(1)结点的结构;(2)结点间边的建立规则;(3)边的权值。

(1)结点的结构:

在type-2&3串插入算法中,图结构中的结点已经不能仅仅是缺失基因串和携带slot的公共基因,因为矛盾公共基因的存在,导致表示缺失串的扭公共邻接关系和slot抢占公共邻接关系。在与矛盾公共基因邻接的缺失串的结点结构中,需要标明与矛盾公共基因的关系,因为一个缺失串可能与两个矛盾公共基因邻接,一个矛盾公共基因也可能与两个缺失串邻接。为了能够确定每个缺失串结点最终的插入,每个结点结构中最多包含一个缺失串。因此,结点的结构中最多包含一个缺失串和它的两个邻接矛盾公共基因,除此之外,还有一些其他的结点结构,如图2所示,其中6是缺失基因串,h和f是公共基因,对于缺失基因串和公共基因都要标示各自的slot。

(2)结点间边的建立规则:

在type-2&3串插入算法中,边建立的基本规则是若两个结点中的元素连接在一起能够形成一个公共邻接,即构成公共邻接关系,则在两个元素之间建立一条边。而边上的权值则根据不同的公共邻接关系类型进行定义,目的是为了保证获得的新邻接数最多。由于type-3-i类型串的存在,同等情况下在匹配缺失串构成type-2类型串时,就需要考虑是否优先选择不含slot的缺失串。这也是为何要将type-2和type-3串的搜索一起进行的主要原因。而由于矛盾公共基因的存在,导致一些特殊公共邻接关系的建立需要优先进行,则就需要将该类公共邻接关系形成的边权值设置得高一些。相比type-3类型串,type-2类型串能够形成的新公共邻接数要多,因此相应边上权值也有体现。

在加权一般图中的边可以分为五大类:

①x-y、x-x、y-y扭公共邻接关系:两个缺失串的slot之间的边,连接结点中两个表示slot的·,一般表示x-y、x-x、y-y扭公共邻接关系。其中,x-y扭公共邻接关系如图3所示,x-x、y-y扭公共邻接关系如图4所示。

②type-2-ii、type-2-iii串公共邻接关系:缺失串和公共基因的slot之间的边,连接结点中表示缺失串的框和公共基因表示slot的·,一般表示type-2-ii、type-2-iii串公共邻接关系,如图5所示。

③x-x、y-y扭公共邻接关系的变换边:为了统一使用一般图的最大匹配技术,能构成type-2串的x-x、y-y扭公共邻接关系的边表示形式也要经过特殊的处理,添加一种x-x、y-y扭公共邻接关系的变换边。如图6所示,用缺失串6与h的slot之间的边表示h56的公共邻接关系,用缺失串5与k的slot之间的边表示56k的公共邻接关系,而5和6之间的边则表示56能构成type-3-ii串,缺失串5(6)与h(k)之间的边表示5(6)单独构成type-2-ii串。

④补充-i类边:如果一条边,当其缺失串的插入slot位于x-y扭公共邻接关系中时,该边将使此扭公共邻接关系构成的边权值降低,标示这类边,这类边在参加最大匹配后,仍需进行补充选择,因为最大权匹配后待插入的slot有可能被释放而可重新构成公共邻接,建立补充-i类边。注意,其中缺失串及其相邻的公共基因中不包含slot,否则将构成x-y扭或slot抢占邻接关系;x-x、y-y扭公共邻接关系的变换边也可能同时属于补充-i类边。如图7所示,缺失串d、nk可与x-y扭公共邻接关系中的公共基因h的slot连接,使6nh扭公共邻接关系边的权值降低。若实边最大匹配的结果是构成6jf扭公共邻接关系,则d有与h构成邻接的可能。

⑤补充-ii类边:标示slot抢占公共邻接关系的边。由于slot抢占公共邻接关系往往是在几个不能同时存在的公共邻接关系中取其中一个,构成新邻接的效率比较低,直接放入图中参与最大匹配也将影响结果的正确性。因此这种类型的公共邻接关系,在建图时只进行标示,并影响相关其他边的权值,而不参加最大匹配计算,在最大匹配结束后,若该类公共邻接关系还有能构成公共邻接关系的,则进行边的补选,这类边称为补充-ii类边。如图8所示,大虚线框标示了slot抢占公共邻接关系的范围,两个小虚线框标示了抢占公共邻接关系中的结点,建立的边用虚线表示。当6nk构成type-2-i串后,slot抢占公共邻接关系的l与r的边仍可以选择,l构成type-2-ii串。

(3)边的权值

在加权一般图中,权值往往表示了这条边的价值。表示的公共邻接关系构成新邻接的效率越高,边的权值就越高。结点构成公共邻接关系的数量越多,可能相关边的权值就越低。这也不难理解,因为只有一条公共邻接关系边的结点更需要这条边匹配成功。

在建立的加权一般图中,设表示边的权值的变量为i、k0、k1、k2、k3、k4、k5、k6、k7、k8,满足i>0,k8<k7<k6<k5<k4<k3<k2<k1<k0<2i,k1+k5>k3,k5+k7>k1+k8,2k8>k6。现将权值归纳如下,若边满足多种权值要求,取值小的为该边权值:为了举例清晰,可在图中为各变量取符合条件的具体值。所述的边的权值具体分类以下几类:

①边权值为2i(2):x-y扭公共邻接关系中,若公共基因的slot没有其他边连接,缺失串无其他slot插入,该扭公共邻接关系构成的边的权值为2i(2)。

②边权值为k0(1.9):当x-y扭公共邻接关系中,公共基因的slot只连接了虚线边(即两类补充边),该扭公共邻接构成的边的权值由2i(2)降为k0(1.9)。

③边权值为k1(1.8):x-x、y-y扭公共邻接关系的变换边,只有一侧与公共基因构成邻接,或若其中插入的公共基因的slot中没有构成x-y扭公共邻接关系的边,也没有除了x-x、y-y扭公共邻接关系中缺失串之外的其他缺失串构成的边,该变换边权值为k1(1.8)。

④边权值为k2(1.78):当x-y扭公共邻接关系中,公共基因的slot连接了除虚线边之外的其他类型的边,或缺失串可插入其他slot,该扭公共邻接关系构成的边的权值由2i降为k2(1.78)。

⑤边权值为k3(1.77):构成type-2-ii串的边权值为k3(1.77)。

⑥边权值为k4(1.76):构成type-2-ii串的边权值为k4(1.76)。

⑦边权值为k5(1.75):

i.若权值为k3(1.77)的构成type-2-ii串的边,其中缺失串或公共基因的slot属于slot抢占公共邻接关系范围、缺失串是补充-i类边中的结点,则权值由k3(1.77)降为k5(1.75);

ii.当缺失串与连续两个x-x扭或y-y扭共用两个公共基因时,该缺失串与两个公共基因的公共邻接关系边权值为k5(1.75)。

⑧边权值为k6(0.19):构成x-x、y-y扭公共邻接关系的type-3-ii类型串的边权值为k6(0.19)。

⑨边权值为k7(0.18):构成type-3-i类型串的边权值为k7(0.18)。

⑩边权值为k8(0.1):

i.x-x、y-y扭公共邻接关系的变换边,当x-x/y-y与两侧公共基因都构成邻接时,则若其中插入的公共基因的slot中有构成x-y扭公共邻接关系的边,或有除了x-x、y-y扭公共邻接关系中缺失串之外的其他缺失串构成的边,该变换边权值为由k0(1.9)降为k8(0.1),且变换边中缺失串与其他缺失串构成的type-3-i类边的权值也由k7(0.18)降为k8(0.1)。当x-x、y-y扭公共邻接关系的变换边的权值都可为k0(1.9)时,随机选取一边权值降为k8(0.1),且该变换边中缺失串与其他缺失串构成的type-3-i类边的权值也由k7(0.18)降为k8(0.1)。

ii.当x-x/y-y只与一侧公共基因都构成邻接时,变换边的权值为k1,而该变换边中缺失串与其他缺失串构成的type-3-i类边的权值由k7(0.18)降为k8(0.1)。

优选的,前述的基于片段重叠群的基因组片段填充方法中,步骤(6)中所述的搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法。其中,type-2&3串插入算法的详细过程为:

依次对排列a、b从左到右进行扫描,

①搜索a、b中的矛盾公共基因。根据其定义,一个矛盾公共基因一定分别同时出现在a、b的某个结点中,因此只需搜索a、b中缺失串较少的那个排列就能最快搜索到所有矛盾公共基因。

②构造a、b中匹配关系的加权一般图:

i.每个排列中参加建立公共邻接关系的所有类型结点的初始化。结点的类型包括含有公共基因和缺失串的结点、只含缺失串的结点、只含公共基因的结点。其中,当一个缺失基因串同时位于两个x-y扭公共邻接关系中时或同时位于一个x-y扭公共邻接关系中和一个slot抢占公共邻接关系中时,结点由该缺失串、两个公共基因和相应slot构成。结点构成两个集合πa和πb。搜索缺失基因串数量少的输入排列,假设为a。从左到右扫描排列a的缺失串,若缺失串属于x-y扭公共邻接关系,则该缺失串和邻接的一个或两个矛盾公共基因构成πa中的一个结点,扭公共邻接关系中位于排列b的缺失串和邻接矛盾公共基因构成πb中的一个结点;两个被slot分隔的缺失串构成x-x扭公共邻接关系,则这两个缺失串构成πa中的两个结点,其中若缺失串邻接公共基因在排列b中有slot,则该邻接公共基因位于对应缺失串结点中;若缺失串可与排列b中某公共基因匹配构成type-2-ii或type-2-iii类型串,则该缺失串构成πa中的一个结点,b中对应公共基因构成πb中的一个结点;若缺失串属于slot抢占公共邻接关系,则分别在πa和πb中特殊标示属于该公共邻接关系的排列a和b中的缺失串和矛盾公共基因构成的结点。从左到右扫描排列b,对b中剩余的缺失串做同样的处理,此时b中的矛盾公共基因相关的结点都已经在对a的处理中初始化完毕。

ii.初始化边。根据公共邻接关系的类型建立结点之间的边。若结点构成x-y、x-x、y-y扭公共邻接关系或type-3-i类型公共邻接关系,则边连接结点中两缺失基因串的对应slot;否则边一端连接缺失串,另一端连接公共基因的slot。其中,slot抢占公共邻接关系中的边补充-i类边和补充-ii类边进行特殊标示。

iii.根据权值类型为每种边添加相应权值。

③对该图中使用加权带花树算法获得最大匹配的边集合θ1,将缺失串插入相应位置并锁定,更新缺失串集合和两条排列。注意,type-3-ii串中x-x/y-y扭公共邻接关系的插入操作最后进行,且先检测其邻接公共基因左右两侧是否有释放的slot。

④按照权值对补充-i类边进行权值最大匹配,获得边集合θ2,将缺失串插入相应位置并锁定,更新缺失串集合和两条排列。

⑤对剩余补充-ii类边进行选择获得边集合θ3,将缺失串插入相应位置并锁定,更新缺失串集合和两条排列。

⑥将剩余缺失串插入排列末尾,用slot分隔,形成最终的排列a*和b*

图9为本发明实施例基因组的组装装置结构示意图,如图9所示,本发明实施例提供了一种基因组的组装装置,包括输入单元1001、初始化单元1002、分类单元1003、合并单元1004、type-1串插入单元1005、no-slot-type-3-ii串插入单元1006、type-2&3单元1007、剩余缺失基因插入单元1008和输出单元1009,其中:

输入单元1001用于获取输入的两个基于片段重叠群集合的基因组排列;初始化单元1002用于计算得到缺失基因;分类单元1003用于对最大缺失基因串分类;合并单元1004用于合并符合条件的最大缺失基因串;type-1串插入单元1005用于搜索type-1类型串,执行type-1串插入算法;no-slot-type-3-ii串插入单元1006用于搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;type-2&3单元1007用于搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;剩余缺失基因插入单元1008用于将所有剩余的缺失基因分别插到各排列的末尾;输出单元1009用于将填充后的基因输出。

具体的,输入单元1001用于获取输入的两个基于片段重叠群集合的基因组排列;初始化单元1002用于计算得到缺失基因;分类单元1003用于对最大缺失基因串分类;合并单元1004用于合并符合条件的最大缺失基因串;type-1串插入单元1005用于搜索type-1类型串,执行type-1串插入算法;no-slot-type-3-ii串插入单元1006用于搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;type-2&3单元1007用于搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;剩余缺失基因插入单元1008用于将所有剩余的缺失基因分别插到各排列的末尾;输出单元1009用于将填充后的基因输出。

本发明实施例提供的基于片段重叠群的基因组片段填充装置,通过将输入的基因排列进行初始化、分类与合并,然后搜索各类型串并插入到合适的位置,能够提高基因组片段填充的效率和正确率。

本发明实施例提供的基于片段重叠群的基因组片段填充装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

图10为本发明实施例提供的电子设备实体结构示意图,如图10所示,所述电子设备包括:处理器(processor)1101、存储器(memory)1102和总线(bus)1103;

其中,所述处理器1101、存储器1102通过总线1103完成相互间的通信;

所述处理器1101用于调用所述存储器1102中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:计算得到缺失基因;对最大缺失基因串分类;合并符合条件的最大缺失基因串;搜索type-1类型串,执行type-1串插入算法;搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;将所有剩余的缺失基因分别插到各排列的末尾;最终将填充后的基因输出。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:计算得到缺失基因;对最大缺失基因串分类;合并符合条件的最大缺失基因串;搜索type-1类型串,执行type-1串插入算法;搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;将所有剩余的缺失基因分别插到各排列的末尾;最终将填充后的基因输出。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:计算得到缺失基因;对最大缺失基因串分类;合并符合条件的最大缺失基因串;搜索type-1类型串,执行type-1串插入算法;搜索无slot的type-3-ii类型串,执行no-slot-type-3-ii串插入算法;搜索type-2、type-3类型串,处理矛盾公共基因相关的公共邻接关系,执行type-2&3串插入算法;将所有剩余的缺失基因分别插到各排列的末尾;最终将填充后的基因输出。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom、ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1