一种密码子序列优化方法、装置、计算机设备及存储介质转让专利

申请号 : CN202211384807.0

文献号 : CN115440300B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡勇王瀚宇严志祥

申请人 : 深圳市瑞吉生物科技有限公司武汉瑞佶生物科技有限公司

摘要 :

本说明书涉及生物工程技术领域,尤其涉及一种密码子序列优化方法、装置、计算机设备及存储介质。其中密码子序列优化方法包括针对待优化蛋白序列,根据氨基酸与密码子映射表,随机生成多个待优化密码子序列,待优化蛋白序列包括多个氨基酸,待优化密码子序列包括多个密码子;以及利用蒙特卡洛树搜索算法针对多个待优化密码子序列进行处理,确定第一预目标密码子序列。利用本说明书实施例,采用蒙特卡洛树搜索算法,针对待优化蛋白序列生成的多个待优化密码子序列进行处理,得到第一预目标密码子序列,规避了采用遗传算法陷入局部最优的问题。

权利要求 :

1.一种密码子序列优化方法,其特征在于,包括:

针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,所述待优化蛋白序列包括多个氨基酸,所述待优化密码子序列包括多个密码子;以及利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列,其中,所述利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列包括:基于所述多个待优化密码子序列,构建第一蒙特卡洛树,所述第一蒙特卡洛树包括多个层,每个层包括至少一个第一节点,所述第一节点与密码子相对应;

根据适应度计算公式,针对所述多个待优化密码子序列进行处理,得到多个第一适应度值;

根据置信度上界公式,针对所述第一蒙特卡洛树和所述多个第一适应度值进行处理,确定与每个所述第一节点分别对应的第一置信度上界值,得到多个第一置信度上界值;以及根据所述多个第一置信度上界值,从多个所述第一节点中确定多个第一目标节点,以得到所述第一预目标密码子序列。

2.根据权利要求1所述的方法,其特征在于,在所述利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列之后还包括:利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列;

将所述多个扩展密码子序列添加入所述多个待优化密码子序列,得到扩充密码子序列集合;

利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列;以及将满足预设条件的第二预目标密码子序列作为目标密码子序列。

3.根据权利要求1所述的方法,其特征在于,所述根据所述多个第一置信度上界值,从多个所述第一节点中确定多个第一目标节点,以得到所述第一预目标密码子序列包括:针对所述多个层中的每个层,分别确定与每个所述第一节点对应的第一置信度上界值,得到第一置信度上界值集合;

确定与所述第一置信度上界值集合中的最大的第一置信度上界值对应的节点为所述第一目标节点,以得到与所述多个层中每个层分别对应的第一目标节点;以及基于所述每个层在第一蒙特卡洛树中的位置,将多个第一目标节点汇总,得到对应的目标节点序列,以得到所述第一预目标密码子序列。

4. 根据权利要求2所述的方法,其特征在于,所述利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列包括:确定所述第一预目标密码子序列包括的待变异密码子,所述待变异密码子表征在所述氨基酸与密码子映射表中一个氨基酸对应多个密码子的任意一个密码子;以及利用所述遗传算法,针对所述待变异密码子依据所述氨基酸与密码子映射表进行变异,得到所述多个扩展密码子序列。

5.根据权利要求2所述的方法,其特征在于,基于所述多个待优化密码子序列构建第一蒙特卡洛树,所述利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列包括:基于所述多个扩展密码子序列,对所述第一蒙特卡洛树进行更新,得到第二蒙特卡洛树;

根据适应度计算公式,针对所述扩充密码子序列集合包括的所述多个扩展密码子序列和所述多个待优化密码子序列进行处理,得到多个第二适应度值;

根据置信度上界公式,针对所述第二蒙特卡洛树和所述多个第二适应度值进行处理,确定与所述第二蒙特卡洛树包括的每个第二节点分别对应的第二置信度上界值,得到多个第二置信度上界值;以及根据所述多个第二置信度上界值,从多个所述第二节点中确定多个第二目标节点,以得到所述第二预目标密码子序列。

6. 一种密码子序列优化装置,其特征在于,包括:

生成单元,用于针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,所述待优化蛋白序列包括多个氨基酸,所述待优化密码子序列包括多个密码子;

以及

第一处理单元,用于利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列,其中,所述利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列包括:基于所述多个待优化密码子序列,构建第一蒙特卡洛树,所述第一蒙特卡洛树包括多个层,每个层包括至少一个第一节点,所述第一节点与密码子相对应;

根据适应度计算公式,针对所述多个待优化密码子序列进行处理,得到多个第一适应度值;

根据置信度上界公式,针对所述第一蒙特卡洛树和所述多个第一适应度值进行处理,确定与每个所述第一节点分别对应的第一置信度上界值,得到多个第一置信度上界值;以及根据所述多个第一置信度上界值,从多个所述第一节点中确定多个第一目标节点,以得到所述第一预目标密码子序列。

7.根据权利要求6所述的装置,其特征在于,还包括:

第一确定单元,用于利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列;

添加单元,用于将所述多个扩展密码子序列添加入所述多个待优化密码子序列,得到扩充密码子序列集合;

第二处理单元,用于利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列;以及第二确定单元,用于将满足预设条件的第二预目标密码子序列作为目标密码子序列。

8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1‑5中任一项的方法。

9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述权利要求1‑5任一项的方法。

说明书 :

一种密码子序列优化方法、装置、计算机设备及存储介质

技术领域

[0001] 本说明书涉及生物工程技术领域,尤其涉及一种密码子序列优化方法、装置、计算机设备及存储介质。

背景技术

[0002] 目前,现有技术的专利申请中有采用遗传算法对密码子序列进行优化的相关报道,但遗传算法无法兼顾种群多样性和收敛效率。即,针对高多样性的种群进行处理时,遗传算法难以生成更优的子种群,仅可增加迭代次数以规避以上缺陷,导致计算量大大提升。由遗传算法处理得到的快速收敛的种群,通常是由相似的个体构成,并且多样性随迭代次数增加而逐渐递减,导致陷入局部最优。
[0003] 在密码子序列优化的过程中,如何降低计算量并规避陷入局部最优是现有技术中亟需解决的问题。

发明内容

[0004] 为解决现有技术中的问题,本说明书实施例提供了一种密码子序列优化方法、装置、计算机设备及存储介质,采用蒙特卡洛树搜索算法,针对待优化蛋白序列生成的多个待优化密码子序列进行处理,得到第一预目标密码子序列,规避了采用遗传算法陷入局部最优的问题。
[0005] 为了解决上述技术问题,本说明书的具体技术方案如下:
[0006] 一方面,本说明书实施例提供了一种密码子序列优化方法,包括,[0007] 针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,所述待优化蛋白序列包括多个氨基酸,所述待优化密码子序列包括多个密码子;以及[0008] 利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列。
[0009] 进一步,在所述利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列之后进一步包括:
[0010] 利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列;
[0011] 将所述多个扩展密码子序列添加入所述多个待优化密码子序列,得到扩充密码子序列集合;
[0012] 利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列;以及
[0013] 将满足预设条件的第二预目标密码子序列作为目标密码子序列。
[0014] 进一步,该利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列进一步包括,
[0015] 基于所述多个待优化密码子序列,构建第一蒙特卡洛树,所述第一蒙特卡洛树包括多个层,每个层包括至少一个第一节点,所述第一节点与密码子相对应;
[0016] 根据适应度计算公式,针对所述多个待优化密码子序列进行处理,得到多个第一适应度值;
[0017] 根据置信度上界公式,针对所述第一蒙特卡洛树和所述多个第一适应度值进行处理,确定与每个所述第一节点分别对应的第一置信度上界值,得到多个第一置信度上界值;以及
[0018] 根据所述多个第一置信度上界值,从多个所述第一节点中确定多个第一目标节点,以得到所述第一预目标密码子序列。
[0019] 进一步,该根据所述多个第一置信度上界值,从多个所述第一节点中确定多个第一目标节点,以得到所述第一预目标密码子序列进一步包括,
[0020] 针对所述多个层中的每个层,分别确定与每个所述第一节点对应的第一置信度上界值,得到第一置信度上界值集合;
[0021] 确定与所述第一置信度上界值集合中的最大的第一置信度上界值对应的节点为所述第一目标节点,以得到与所述多个层中每个层分别对应的第一目标节点;以及[0022] 基于所述每个层在第一蒙特卡洛树中的位置,将多个第一目标节点汇总,得到对应的目标节点序列,以得到所述第一预目标密码子序列。
[0023] 进一步,该利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列进一步包括:
[0024] 确定所述第一预目标密码子序列包括的待变异密码子,所述待变异密码子表征在所述氨基酸与密码子映射表中一个氨基酸对应多个密码子的任意一个密码子;以及[0025] 利用所述遗传算法,针对所述待变异密码子依据所述氨基酸与密码子映射表进行变异,得到所述多个扩展密码子序列。
[0026] 进一步,基于所述多个待优化密码子序列构建第一蒙特卡洛树,该利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列进一步包括,
[0027] 基于所述多个扩展密码子序列,对所述第一蒙特卡洛树进行更新,得到第二蒙特卡洛树;
[0028] 根据适应度计算公式,针对所述扩充密码子序列集合包括的所述多个扩展密码子序列和所述多个待优化密码子序列进行处理,得到多个第二适应度值;
[0029] 根据置信度上界公式,针对所述第二蒙特卡洛树和所述多个第二适应度值进行处理,确定与所述第二蒙特卡洛树包括的每个第二节点分别对应的第二置信度上界值,得到多个第二置信度上界值;以及
[0030] 根据所述多个第二置信度上界值,从多个所述第二节点中确定多个第二目标节点,以得到所述第二预目标密码子序列。
[0031] 另一方面,本说明书实施例还提供了密码子序列优化装置,包括,[0032] 生成单元,用于针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,所述待优化蛋白序列包括多个氨基酸,所述待优化密码子序列包括多个密码子;以及
[0033] 第一处理单元,用于利用蒙特卡洛树搜索算法针对所述多个待优化密码子序列进行处理,确定第一预目标密码子序列。
[0034] 进一步,该密码子序列优化装置,进一步还包括,
[0035] 第一确定单元,用于利用遗传算法对所述第一预目标密码子序列进行处理,确定多个扩展密码子序列;
[0036] 添加单元,用于将所述多个扩展密码子序列添加入所述多个待优化密码子序列,得到扩充密码子序列集合;
[0037] 第二处理单元,用于利用所述蒙特卡洛树搜索算法对所述扩充密码子序列集合进行处理,得到第二预目标密码子序列;以及
[0038] 第二确定单元,用于将满足预设条件的第二预目标密码子序列作为目标密码子序列。
[0039] 另一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
[0040] 另一方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现上述的方法。
[0041] 利用本说明书实施例,通过利用利用蒙特卡洛树搜索算法针对待优化蛋白序列生成的多个待优化密码子序列进行处理,得到第一预目标密码子序列,规避了采用遗传算法陷入局部最优的问题。此外,结合蒙特卡洛树搜索算法和遗传算法对该得到的第一预目标密码子序列进行处理,得到优化后的目标密码子序列。从而,进一步规避了仅使用遗传算法导致的无法兼顾了种群多样性和收敛效率的问题,实现了在较低计算量的基础上,对高多样性的种群的处理,得到优化程度较高的目标密码子序列。

附图说明

[0042] 为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043] 图1所示为本说明书实施例一种密码子序列优化方法的实施系统示意图;
[0044] 图2所示为本说明书实施例一种密码子序列优化方法的流程图;
[0045] 图3所示为本说明书另一实施例的一种密码子序列优化方法的流程图;
[0046] 图4所示为本说明书另一实施例的一种蒙特卡洛树构建方法的原理图;
[0047] 图5所示为本说明书实施例一种密码子序列优化方法的原理图;
[0048] 图6A所示为本说明书实施例一种密码子序列优化装置的结构示意图;
[0049] 图6B所示为本说明书另一实施例的一种密码子序列优化装置的结构示意图;
[0050] 图7为本说明书实施例一种计算机设备的结构示意图。
[0051] 【附图标记说明】
[0052] 101、用户终端;
[0053] 102、服务器;
[0054] 410、待优化蛋白序列;
[0055] 420、转化密码子表;
[0056] 430、第一蒙特卡洛树;
[0057] 431、第一层;
[0058] 432、第二层;
[0059] 433、第三层;
[0060] 434、第四层;
[0061] 435、第五层;
[0062] 501、待优化蛋白序列;
[0063] 502、多个待优化密码子序列;
[0064] 503、预目标密码子序列;
[0065] 504、多个扩展密码子序列;
[0066] 510、蒙特卡洛树搜索算法;
[0067] 520、遗传算法;
[0068] 530、目标密码子序列;
[0069] 610、生成单元;
[0070] 620、第一处理单元;
[0071] 630、第一确定单元;
[0072] 640、添加单元;
[0073] 650、第二处理单元;
[0074] 660、第二确定单元;
[0075] 702、计算机设备;
[0076] 704、处理设备;
[0077] 706、存储资源;
[0078] 708、驱动机构;
[0079] 710、输入/输出模块;
[0080] 712、输入设备;
[0081] 714、输出设备;
[0082] 716、呈现设备;
[0083] 718、图形用户接口;
[0084] 720、网络接口;
[0085] 722、通信链路;
[0086] 724、通信总线。

具体实施方式

[0087] 下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
[0088] 需要说明的是,本说明书的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本说明书的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0089] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0090] 在本说明书的技术方案中,所涉及的用户个人信息和用户个人的途经地址信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
[0091] 图1所示为本说明书实施例一种密码子序列优化方法的实施系统示意图,可以包括:用户终端101和服务器102,用户终端101和服务器102之间通过网络进行通信,网络可以包括局域网(Local Area Network,简称为LAN)、广域网(Wide Area Network,简称为WAN)、因特网或其组合,并连接至网站、用户设备(例如计算设备)和后端系统。用户可以通过用户终端101输入待优化蛋白序列至服务器102。服务器102在接收到该待优化蛋白序列后,利用氨基酸与密码子映射表和蒙特卡洛树搜索算法对该待优化蛋白序列进行转化和优化处理,确定第一预目标密码子序列。将该第一预目标密码子序列发送至用户终端101。或者,在确定第一预目标密码子序列之后,利用遗传算法和蒙特卡洛树搜索算法对该第一预目标密码子序列进行再优化处理,得到目标密码子序列,并将该目标密码子序列发送至用户终端101。可选地,服务器102可以是云计算系统的节点(图中未显示),或者每个服务器102可以是单独的云计算系统,包括由网络互连并作为分布式处理系统工作的多台计算机。
[0092] 在一个可选的实施例中,用户终端101可以包括电子设备不限于智能手机、采集设备、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(AR  , Augmented Reality)/虚拟现实(VR, Virtual Reality)设备、智能可穿戴设备等类型的电子设备。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、Linux、Windows等。
[0093] 此外,需要说明的是,图1所示的仅仅是本说明书提供的一种应用环境,在实际应用中,还可以包括多个用户终端101,本说明书不做限制。
[0094] 如图2所示为本说明书实施例一种密码子序列优化方法的流程图。在本图中描述了密码子序列优化过程,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,方法可以包括:
[0095] S210,针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,待优化蛋白序列包括多个氨基酸,待优化密码子序列包括多个密码子;
[0096] S220,利用蒙特卡洛树搜索算法针对多个待优化密码子序列进行处理,确定第一预目标密码子序列。
[0097] 通过利用蒙特卡洛树搜索算法针对待优化蛋白序列生成的多个待优化密码子序列进行处理,得到第一预目标密码子序列,规避了采用遗传算法陷入局部最优的问题。
[0098] 根据本说明书的一个实施例,待优化蛋白序列表征用户通过用户终端发送的需要进行优化的蛋白序列,该待优化蛋白序列为由多个氨基酸按照预定顺序组成的序列。氨基酸与密码子映射表表征了氨基酸与密码子的对应关系,包括多个氨基酸,和与每个氨基酸具有映射关系的至少一个密码子。
[0099] 在接收到用户通过用户终端发送的待优化蛋白序列时,针对该待优化蛋白序列进行解析,确定多个氨基酸。利用氨基酸与密码子映射表,分别确定与多个氨基酸中每个氨基酸对应的至少一个密码子。按照多个氨基酸构成待优化蛋白序列的预定顺序,随机选择与每个氨基酸具有映射关系的密码子,以生成待优化密码子序列。需要注意的是,生成待优化密码子序列的数目可以由蒙特卡洛树搜索算法中预先设定的序列数决定。
[0100] 在生成多个待优化密码子序列之后,将多个待优化密码子序列输入蒙特卡洛树搜索算法中,以得到第一预目标密码子序列,该第一预目标密码子序列为针对待优化蛋白序列优化后的密码子序列。
[0101] 在将多个待优化密码子序列输入蒙特卡洛树搜索算法中,以得到第一预目标密码子序列之前,例如还可以包括,获取优化条件信息,并根据该优化条件信息,确定适应度计算公式。优化条件信息为择优条件,例如,最小自由能(Minimum Free Energy,MFE),密码子适应指数(Codon Adaptation Index,CAI),GC含量等中的至少一个,该择优条件为用户通过用户终端输入的条件信息。预先在数据库内存储与每个优化条件信息匹配的适应度计算公式。需要说明的是,在进行优化处理的过程中,默认优化的目标为最大化适应度,若优化的目标为最小化适应度时,需要设定适应度计算公式的为与预设的适应度计算公式对应的负适应度计算公式,或针对预设的适应度计算公式得到的适应度值乘负一。
[0102] 将多个待优化密码子序列输入蒙特卡洛树搜索算法中,以得到第一预目标密码子序列具体可以为,针对多个待优化密码子序列,构建第一蒙特卡洛树;并利用确定的适应度公式对该第一蒙特卡洛树包括的每一个待优化密码子序列进行处理,确定对应的适应度值,得到多个第一适应度值。利用蒙特卡洛优化搜索公式,针对该第一蒙特卡洛树和多个第一适应度值进行处理,确定与每个密码子对应的第一指标数值。利用多个第一指标数值,从蒙特卡洛树包括的多个密码子中,确定多个目标密码子。按照多个氨基酸构成待优化蛋白序列的预定顺序,将多个目标密码子排序,得到第一预目标密码子序列。
[0103] 图3所示为本说明书另一实施例的一种密码子序列优化方法的流程图。在本图中描述了密码子序列优化方法过程,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。具体的如图3所示,方法可以包括:
[0104] S330,利用遗传算法对第一预目标密码子序列进行处理,确定多个扩展密码子序列;
[0105] S340,将多个扩展密码子序列添加入多个待优化密码子序列,得到扩充密码子序列集合;
[0106] S350,利用蒙特卡洛树搜索算法对扩充密码子序列集合进行处理,得到第二预目标密码子序列;
[0107] S360,将满足预设条件的第二预目标密码子序列作为目标密码子序列。
[0108] 利用本说明书实施例,通过结合蒙特卡洛树搜索算法和遗传算法对得到的第一预目标密码子序列进行处理,得到优化后的目标密码子序列。从而,进一步规避了仅使用遗传算法导致的无法兼顾了种群多样性和收敛效率的问题,实现了在较低计算量的基础上,对高多样性的种群的处理,得到优化程度较高的目标密码子序列。
[0109] 根据本说明书的另一个实施例,在确定第一预目标密码子序列之后,为了合理针对该第一预目标密码子序列进行扩展,利用遗传算法针对该第一预目标密码子序列进行扩展处理,得到多个扩展密码子序列。该遗传算法例如可以包括重组算子、选择算子和变异算子等。
[0110] 将多个扩展密码子序列与由待优化蛋白序列得到的多个待优化密码子序列进行汇总,确定扩充密码子序列集合。基于该扩充密码子序列集合,构建第二蒙特卡洛树,利用确定的公式对该扩充密码子序列集合中的每个扩充密码子序列进行处理,得到多个第二适应度值。基于蒙特卡洛优化搜索公式,对该第二蒙特卡洛树和第二适应度进行处理,确定与每个密码子对应的第二指标数值。进而基于多个第二指标数值,确定第二预目标密码子序列。
[0111] 在确定第二预目标密码子序列之后,确定该第二预目标密码子序列是否满足预设条件。在确定该第二预目标密码子序列满足预设条件的情况下,确定该第二预目标密码子序列为目标密码子序列,作为待优化蛋白序列优化后的密码子序列。
[0112] 预设条件可以为用户根据实际情况通过用户终端设定的任意条件,该预设条件例如可以是,针对待优化密码子,进行蒙特卡洛树搜索算法‑遗传算法‑蒙特卡洛树搜索算法处理迭代的次数;还可以是,由与每个密码子对应的多次迭代得到的指标数值组成的指标数值序列收敛;还可以是该优化过程(进行蒙特卡洛树搜索算法‑遗传算法‑蒙特卡洛树搜索算法处理的过程)持续的时间。
[0113] 根据本说明书的另一个实施例,利用遗传算法对第一预目标密码子序列进行处理,确定多个扩展密码子序列包括:确定第一预目标密码子序列包括的待变异密码子,待变异密码子表征在氨基酸与密码子映射表中一个氨基酸对应多个密码子的任意一个密码子;以及利用遗传算法,针对待变异密码子依据氨基酸与密码子映射表进行变异,得到多个扩展密码子序列。
[0114] 为了使得遗传算法针对第一预目标密码子序列,在不改变与待优化蛋白序列对应的氨基酸序列的基础上,进行合理的扩展,本说明书例如可以仅采用遗传算法包括的变异算子针对该第一预目标密码子序列进行扩展处理,得到对应的多个扩展密码子序列。
[0115] 具体地,针对第一预目标密码子序列中的每个密码子进行识别,分别确定该每个密码子是否为待变异密码子。利用遗传算法中的变异算子,根据氨基酸与密码子映射表针对从第一预目标密码子序列中确定的待变异密码子进行处理,得到多个扩展密码子序列。
[0116] 针对第一预目标密码子序列中的每个密码子进行识别,分别确定该每个密码子是否为待变异密码子具体可以为,预先针对氨基酸与密码子映射表包括的多个密码子进行判断,确定一个氨基酸与多个密码子具有映射关系中的多个密码子为可变异密码子,并将得到的可变异密码子汇总为可变异密码子集合。例如,苯丙氨酸与UUU和UUC具有映射关系,则UUU和UUC均为可变异密码子,以构成可变异密码子集合。
[0117] 针对第一预目标密码子序列包括的每个密码子分别与可变异密码子集合中的每个可变异密码子进行一致性匹配,在确定存在可变异密码子与该密码子相匹配的情况下,将该密码子作为待变异密码子。
[0118] 利用遗传算法中的变异算子,根据氨基酸与密码子映射表针对从第一预目标密码子序列中确定的待变异密码子进行处理,得到多个扩展密码子序列例如可以为,针对每个待变异密码子,分别确定至少一个候选密码子。利用该候选密码子替换该待变异密码子,得到扩展密码子序列。上述的待变异密码子与候选密码子均与一个氨基酸具有映射关系的密码子。例如,在苯丙氨酸仅与UUU和UUC具有映射关系的情况下,在密码子UUU为待变异密码子的情况下,则UUC为候选密码子。需要注意的是,在扩展的过程中,针对第一预目标密码子序列中目标个数待变异密码子进行上述变异,该目标个数可以由遗传算法的种群数目决定,以及多个可变异密码子中选中的目标个数待变异密码子均为随机选中的。
[0119] 图4所示为本说明书另一实施例的一种蒙特卡洛树构建方法的原理图。
[0120] 根据本说明书的另一个实施例,基于多个待优化密码子序列,构建第一蒙特卡洛树,第一蒙特卡洛树包括多个层,每个层包括至少一个第一节点,第一节点与密码子相对应;根据适应度计算公式,针对多个待优化密码子序列进行处理,得到多个第一适应度值;根据置信度上界公式,针对第一蒙特卡洛树和多个第一适应度值进行处理,确定与每个第一节点分别对应的第一置信度上界值,得到多个第一置信度上界值;以及根据多个第一置信度上界值,从多个第一节点中确定多个第一目标节点,以得到第一预目标密码子序列。
[0121] 基于多个待优化密码子序列,构建第一蒙特卡洛树具体可以为,将多个待优化密码子序列中每个待优化密码子序列中同一位次的密码子汇总为一个层,即得到多个层,其每个层中包括多个密码子,并将该每个密码子分别作为当前层的第一节点。
[0122] 如图4所示,利用氨基酸与密码子的映射表,针对待优化蛋白序列410进行处理,得到转化密码子表420。进而基于该转化密码子表420和待优化蛋白序列410中的每个氨基酸的位置,生成多个待优化密码子序列。需要注意的是,并非每一个密码子均可以与上一层的密码子或下一层的密码子连接,组成待优化密码子。具体从转化密码子表420中的每一行中选择哪几个密码子,以组成待优化密码子是随机的。例如,选择第一行和第二行包括的全部密码子,仅选择第三行中的ACC和ACG,仅选择第四行中的GUA、GUC和GUU,以及仅选择第五行中的AAU,以得到待优化密码子。
[0123] 进而,基于多个待优化密码子,构建第一蒙特卡洛树430。由于待优化蛋白序列410包括五个氨基酸,因此,第一蒙特卡洛树430包括五个层,分别为第一层431、第二层432、第三层433、第四层434和第五层435。每个层包括的第一节点分别表征密码子在转化密码子表420中当前层的位置树。例如第二层432中的第一节点2表征密码子GGC。
[0124] 需要说明的是,图4示出了一个子节点可以存在多个父节点的情况,但是在实际应用过程中,也可以为一个子节点仅存在一个父节点。
[0125] 根据适应度计算公式,针对多个待优化密码子序列进行处理,得到与每个待优化密码子序列对应第一适应度值。利用以下公式(1)针对第一蒙特卡洛树和多个第一适应度值进行处理,确定与每个第一节点分别对应的第一置信度上界值。
[0126] 公式(1)
[0127] 其中, 表征第一置信度上界值, 表征与第一节点对应的总适应度值,该总适应度值为与包括该第一节点的多个待优化密码子序列对应的多个第一适应度值的总和, 表征当前节点被访问的次数,该次数由第一蒙特卡洛树确定, 为根节点被访问的次数,该次数由第一蒙特卡洛树确定,以及 为大于零的常数。在图4中,根节点为第一蒙特卡洛树430中第一层431包括的第一节点1。
[0128] 进而,根据每一个层包括的多个节点的第一置信度上界值,从每一个层中选择第一目标节点,以确定第一预目标密码子序列。
[0129] 根据本说明书的另一个实施例,根据多个第一置信度上界值,从多个第一节点中确定多个第一目标节点,以得到第一预目标密码子序列包括:针对多个层中的每个层,分别确定与每个第一节点对应的第一置信度上界值,得到第一置信度上界值集合;确定与第一置信度上界值集合中的最大的第一置信度上界值对应的节点为第一目标节点,以得到与多个层中每个层分别对应的第一目标节点;以及基于每个层在第一蒙特卡洛树中的位置,将多个第一目标节点汇总,得到对应的目标节点序列,以得到第一预目标密码子序列。
[0130] 以图4为例,第一蒙特卡洛树430包括的每个第一节点均具有对应的第一置信度上界值。与第一蒙特卡洛树430中每一层包括的多个第一节点对应的第一置信度上界值,构成与该层对应的第一置信度上界值集合。从该第一置信度上界值集合中,确定最大的第一置信度上界值,并将与该最大的第一置信度上界值对应的第一节点作为第一目标节点。进而,按照该第一目标节点在第一蒙特卡洛树430中的层数,将该多个第一目标节点排序,得到第一预目标密码子序列。
[0131] 例如,第一目标节点分别为第一层431中的第一节点1,第二层432中的第一节点3,第三层433中的第一节点2,第四层434中的第一节点1和第五层435中的第一节点2。则目标节点排序即为第一节点1‑第一节点3‑第一节点2‑第一节点1‑第一节点2,结合转化密码子表420,确定第一预目标密码子序列为AUGGGGACCGUAAAU。
[0132] 需要说明的是,图4以一个包括五个氨基酸的待优化蛋白序列为例进行说明,但是实际优化过程中,待优化蛋白序列包括的氨基酸的个数并不受此限制。此外,以上确定待优化密码子的过程仅仅作为实例,本说明书并不对此进行限定。且,需要说明的是,以上密码子包括的碱基U均可以替换为碱基T。
[0133] 图5所示为本说明书实施例一种密码子序列优化的原理图。
[0134] 根据本说明书的另一个实施例,基于多个待优化密码子序列构建第一蒙特卡洛树,利用蒙特卡洛树搜索算法对扩充密码子序列集合进行处理,得到第二预目标密码子序列包括:基于多个扩展密码子序列,对第一蒙特卡洛树进行更新,得到第二蒙特卡洛树;根据适应度计算公式,针对扩充密码子序列集合包括的多个扩展密码子序列和多个待优化密码子序列进行处理,得到多个第二适应度值;根据置信度上界公式,针对第二蒙特卡洛树和多个第二适应度值进行处理,确定与第二蒙特卡洛树包括的每个第二节点分别对应的第二置信度上界值,得到多个第二置信度上界值;以及根据多个第二置信度上界值,从多个第二节点中确定多个第二目标节点,以得到第二预目标密码子序列。
[0135] 基于多个待优化密码子序列构建第一蒙特卡洛树,例如可以如图4示出的蒙特卡洛树构建方法构建的。基于多个扩展密码子序列,对由多个待优化密码子序列构建的第一蒙特卡洛树进行更新,得到第二蒙特卡洛树,例如可以为,在第一蒙特卡洛树中添加第二节点和对应的连接方式,也可以为在第一蒙特卡洛树中添加两个第一节点之间的连接方式。进而,使第二蒙特卡洛树可以包括多个扩展密码子序列。
[0136] 在确定优化条件信息为GC含量的情况下,利用如以下公式(2)所示的适应度计算公式,针对扩充密码子序列集合包括的多个扩展密码子序列和多个待优化密码子序列进行处理,得到多个第二适应度值。
[0137]                   公式(2)
[0138] 其中, 表征第二适应度值, 表征密码子序列中包括碱基G的个数, 表征密码子序列中包括碱基C的个数,以及 表征密码子序列包括碱基的总数。
[0139] 根据如公式(1)所示的置信度上界公式,针对第二蒙特卡洛树和多个第二适应度值进行如图4中包括的实施例进行处理,得到第二预目标密码子序列。
[0140] 如图5所示,预目标密码子序列503包括第一预目标密码子序列和第二预目标密码子序列等,该预目标密码子序列503包括的预目标密码子序列的个数与该优化过程迭代的次数一致。在用户想要针对蛋白序列进行优化时,通过用户终端将该蛋白序列发送至服务器。服务器接收到该蛋白序列后,将该蛋白序列作为待优化蛋白序列501。根据氨基酸与密码子映射表,针对该待优化蛋白序列进行转化,生成多个待优化密码子序列502。进而将该多个待优化密码子序列502输入蒙特卡洛树搜索算法510,得到地第一预目标密码子序列。将该第一预目标密码子序列输入遗传算法520中,得到多个扩展密码子序列504。
[0141] 将该多个扩展密码子序列504天添加入多个待优化密码子序列502中,得到扩充密码子序列集合,并将该扩充密码子集合输入蒙特卡洛树搜索算法510中,得到第二预目标密码子序列。判断该第二预目标密码子序列是否满足预设条件,在确定该第二预目标密码子序列满足预设条件的情况下,将该第二预目标密码子序列作为目标密码子序列530。在确定该第二预目标密码子序列不满足预设条件的情况下,将该第二预目标密码子序列输入遗传算法520中,进行下一轮次的迭代。以得到满足预设条件的目标密码子序列530。
[0142] 需要说明的是,在本实施例中,将基于遗传算法得到的多个扩展密码子序列一次性全部添加入多个待优化密码子序列中,以进行置信度上界值计算,而并非一次添加一个扩展密码子序列如多个待优化密码子序列中,即进行置信度上界计算。由此,进一步降低了计算量。
[0143] 图6A所示为本说明书实施例一种密码子序列优化装置的结构示意图。如图6A所示,包括,
[0144] 生成单元610,用于针对待优化蛋白序列,根据氨基酸与密码子映射表,生成多个待优化密码子序列,待优化蛋白序列包括多个氨基酸,待优化密码子序列包括多个密码子;以及
[0145] 第一处理单元620,用于利用蒙特卡洛树搜索算法针对多个待优化密码子序列进行处理,确定第一预目标密码子序列。
[0146] 由于上述装置解决问题的原理与上述方法相似,因此上述装置的实施可以参见   上述方法的实施,重复之处不再赘述。
[0147] 图6B所示为本说明书另一实施例的一种密码子序列优化装置的结构示意图。如图6B所示,包括,
[0148] 第一确定单元630,用于利用遗传算法对第一预目标密码子序列进行处理,确定多个扩展密码子序列;
[0149] 添加单元640,用于将多个扩展密码子序列添加入多个待优化密码子序列,得到扩充密码子序列集合;
[0150] 第二处理单元650,用于利用蒙特卡洛树搜索算法对扩充密码子序列集合进行处理,得到第二预目标密码子序列;以及
[0151] 第二确定单元660,用于将满足预设条件的第二预目标密码子序列作为目标密码子序列。
[0152] 由于上述装置解决问题的原理与上述方法相似,因此上述装置的实施可以参见   上述方法的实施,重复之处不再赘述。
[0153] 如图7所示为本说明书实施例一种计算机设备的结构示意图,本说明书中的装置可以为本实施例中的计算机设备,执行上述本说明书的方法。计算机设备702可以包括一个或多个处理设备704,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备702还可以包括任何存储资源706,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储资源706可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储资源都可以使用任何技术来存储信息。进一步地,任何存储资源可以提供信息的易失性或非易失性保留。进一步地,任何存储资源可以表示计算机设备702的固定或可移除部件。在一种情况下,当处理设备704执行被存储在任何存储资源或存储资源的组合中的相关联的指令时,计算机设备702可以执行相关联指令的任一操作。计算机设备702还包括用于与任何存储资源交互的一个或多个驱动机构708,诸如硬盘驱动机构、光盘驱动机构等。
[0154] 计算机设备702还可以包括输入/输出模块710(I/O),其用于接收各种输入(经由输入设备712)和用于提供各种输出(经由输出设备714)。一个具体输出机构可以包括呈现设备716和相关联的图形用户接口(GUI) 718。在其他实施例中,还可以不包括输入/输出模块710(I/O)、输入设备712以及输出设备714,仅作为网络中的一台计算机设备。计算机设备702还可以包括一个或多个网络接口720,其用于经由一个或多个通信链路722与其他设备交换数据。一个或多个通信总线724将上文所描述的部件耦合在一起。
[0155] 通信链路722可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路722可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
[0156] 本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述方法。
[0157] 本说明书实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述方法。
[0158] 本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0159] 本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0160] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0161] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0162] 以上的具体实施例,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的具体实施例而已,并不用于限定本说明书的保护范围,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。