CN113792877B - 基于双策略黑蜘蛛算法的dna存储编码优化方法 - Google Patents

基于双策略黑蜘蛛算法的dna存储编码优化方法 Download PDF

Info

Publication number
CN113792877B
CN113792877B CN202111101673.2A CN202111101673A CN113792877B CN 113792877 B CN113792877 B CN 113792877B CN 202111101673 A CN202111101673 A CN 202111101673A CN 113792877 B CN113792877 B CN 113792877B
Authority
CN
China
Prior art keywords
sequence set
dna coding
coding sequence
dna
sequences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111101673.2A
Other languages
English (en)
Other versions
CN113792877A (zh
Inventor
王宾
吴洁琼
胡轶男
张强
魏小鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University
Original Assignee
Dalian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dalian University filed Critical Dalian University
Priority to CN202111101673.2A priority Critical patent/CN113792877B/zh
Publication of CN113792877A publication Critical patent/CN113792877A/zh
Priority to GB2211537.2A priority patent/GB2619782A/en
Priority to PCT/CN2022/095523 priority patent/WO2023040343A1/zh
Application granted granted Critical
Publication of CN113792877B publication Critical patent/CN113792877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/123DNA computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Genetics & Genomics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提出了一种基于双策略黑蜘蛛算法的DNA存储编码优化方法,首先构造出满足当前约束组合的DNA编码序列集合,并对所述DNA编码序列集合中的序列进行适应度评定,按其结果进行排序;其次引入双策略黑蜘蛛算法对上述集合进行优化,得到优化后的适应度较高的DNA编码序列;再次通过组合约束对优化后的DNA编码序列进行筛选,保留满足组合约束的序列;最后将保留的序列集合并到DNA编码序列集中,输出满足组合约束的最优编码序列集。将优化后的双策略黑蜘蛛算法应用到DNA编码序列集,实现优化序列的目的。优化后的序列集在适应度函数上拥有更好的表现;通过末端约束将优化后的序列集进行筛选,构造具有稳定物理和热力学特性的DNA编码序列集。

Description

基于双策略黑蜘蛛算法的DNA存储编码优化方法
技术领域
本发明涉及DNA存储中编码设计领域,具体涉及一种基于双策略黑蜘蛛算法的DNA存储编码优化方法。
背景技术
在数据大爆炸的背景下,DNA由于具有存储密度大、资源丰富且易于获取、可储存时间长、消耗能量少等优点被认为是用于信息存储的一个理想载体。近几年,DNA存储技术不断得到发展和应用,DNA编码集的编码方法也层出不穷。
将智能、种群算法与DNA编码方法相结合是当前广泛应用的方法。然而,一方面有些种群的更新方式和逻辑相对简单,容易出现种群的多样性不足和易陷入局部最优的状况。另一方面由于DNA序列具有特殊的生物特性,相似性差异较大的序列可以尽量避免非特异性杂交现象的发生,同时物理特性和热力学特性都相对稳定的序列集在存储过程中更不易出现问题,高质量的DNA编码序列集在存储过程中能降低错误率。因此更好地提高算法的效率和质量、扩大存储序列集的规模外,关注序列的物理特性和热力学特性是当前亟待解决的问题。
发明内容
本发明的目的在于通过元启发式算法对DNA编码序列集进行搜索与优化,最终得到数量提高且物理特性和热力学特性稳定的DNA存储编码集,以此提高DNA编码集的质量,保障DNA存储的稳定性。
为了实现以上目的,本发明采用如下技术方案:
首先构造出满足当前约束组合的DNA编码序列集,并对所述DNA编码序列集中的序列进行适应度评定,按其结果进行排序;其次引入双策略黑蜘蛛算法对DNA编码序列集进行优化,得到优化后的适应度较高的DNA编码序列;再次通过组合约束对优化后的DNA编码序列进行筛选,保留满足组合约束的序列;最后将保留的序列合并到DNA编码序列集中,输出满足组合约束的最优编码序列集。
上述技术方案可以使本发明得到如下的技术效果:
1.引入随机交换策略和权重选择策略以提高算法的开发和探索能力。其中随机交换策略能提高序列的多样性,权重选择策略在序列生成下代序列的过程中选择不同更新方法:在前半部分寻找围绕序列的最优解,提高算法的探索能力;在后半部分寻找远离当前最优解的可选择的解,提高算法的开发能力,避免序列选择陷入局部最优;
2.通过将优化后的双策略黑蜘蛛算法应用到DNA编码序列集,实现优化序列的目的。优化后的序列集在适应度函数上拥有更好的表现;
3.通过末端约束将优化后的序列集进行筛选,构造具有稳定物理和热力学特性的DNA编码序列集;
4.将具有稳定物理和热力学特性的存储序列集应用到DNA存储中,提高存储的稳定性和可靠性。
附图说明
图1为基于双策略黑蜘蛛算法的DNA存储编码优化方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施中的技术方案进行清楚、完整的描述,可以理解的是,所描述的实例仅仅是本发明的一部分实例,而不是全部的实施例。基于本发明的实施例,本领域的技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明中涉及的算法为双策略黑蜘蛛算法,涉及的约束为汉明距离、非连续性约束、GC含量和末端约束,涉及衡量序列稳定性的指标为发夹结构、解链温度和最小自由能。
本发明涉及的双策略黑蜘蛛算法中引入的两种策略分别为随机交换策略和权重选择策略,用来提高算法的探索及开发能力。其中随机交换策略用来增强序列的多样性,权重选择策略用来避免结果陷入局部最优和提高优化性。整个序列更新分为四个阶段,分别为初始化阶段、产生子代阶段、同类相残阶段和变异阶段。
本发明中使用的汉明距离约束条件指的是在序列集中任意两条序列中必须存在至少n个不同的碱基以维持稳定性,GC含量指的是序列中鸟嘌呤(G)和胞嘧啶(C)的数量占整条序列碱基总数的百分比。由于不同碱基连接的氢键不同,通常存储序列的GC含量维持在40%-60%会拥有相对稳定的状态。为了维持序列稳定的生物特性,本实施例中GC含量为50%。非连续性约束指的是存储序列中不能有超过连续两个相同碱基。末端约束指的是在存储序列末端最后五个序列中不能存在三个及三个以上的G或C碱基,其公式表示如下所示:
其中和/>分别表示序列S中最后5个中碱基鸟嘌呤(G)和胞嘧啶(C)的数量。
具体详细步骤如下所示:
步骤1:初始化DNA编码序列集Pop以及更新DNA编码序列所需的参数;
示例性的,初始化更新DNA编码序列所需的参数包括nPop、nvar pMutation、pCannibalism、MIter。其中nPop指的是序列规模;nvar指的是序列维数;pMutation指的是变异率;pCannibalism指的是同类相残率;MIter指的是最大迭代次数。
步骤2:以汉明距离作为适应度函数对初始化后的所述DNA编码序列集Pop进行适应度排序,得到当前最优解;
步骤3:获取权重选择策略中的参数S;
示例性的,参数S初始化为0;如果当前解的适应度小于当前最优解,则参数S除以2来控制大小;如果当前解的适应度大于当前最优解则S加1;
步骤4:在DNA编码序列集Pop更新中判断是否使用随机交换策略;
示例性的,在序列更新中通过公式(2)和(3)来判断是否使用随机交换策略。其中,若参数α小于参数β,则应用随机交换策略,用当前最优解的某个维度替换成Pop中的某个维度;反之,则不使用该策略,维持Pop中的当前解和最优解值;
α=tan(π×(rand-0.5)) (2)
β=1-CIter/MIter (3)
其中CIter为当前迭代次数,rand是取值为(0,1)的随机数。
步骤5:获取权重选择策略中的参数Wa、Wb,通过所述参数Wa、Wb更新DNA编码序列集Pop;
示例性的,用公式(4)和(5)来产生应用于权重选择策略中的参数Wa、Wb,
Wa=(1-CIter/MIter)1-(rand-0.5)×S/MIter (4)
Wb=(2-2×CIter/MIter)1-(rand-0.5)×/SMIter (5)
其中,参数S由步骤2产生,Wa和Wb的取值范围不同,Wa用来提高算法的开发能力,Wb用来提高算法的探索能力。
步骤6:以汉明距离作为适应度函数,获取更新后DNA编码序列集Pop中序列的适应度,然后根据适应度进行排序,保留满足汉明距离约束的序列,并将其放在DNA编码序列集Pop2中;
示例性的,用公式(6)来判断两个参数的使用方法。在序列循环的前半部分使用Wa来产生子代,即公式(7);序列循环的后半部分用Wb来产生子代,即公式(8):
CIter/MIter<0.5 (6)
其中Wa、Wb分别由公式(4)(4)产生,x1、x2更新前DNA序列集Pop中的序列;y1,y2为更新后DNA序列集Pop中的序列。
根据适应度对更新后DNA序列集Pop进行排序,替换掉表现稍差的DNA序列集,保留当前序列集中相对较好的结果,并将结果存放在Pop2中;
步骤7:根据当前DNA编码序列集Pop中的序列数量和变异率得到应该进行变异的部分数据集,在所述部分数据集中随机交换任意两个维度上的值,将变异后的结果存放在DNA编码序列集Pop3中
示例性的,变异的部分数据集中序列数量为nMutation,如公式(9)所示。随机交换部分数据集中序列的两个维度上的值,将变异后的结果存放在Pop3中;
nMutation=Pop×pMutation (9)
步骤8:通过适应度函数筛选出DNA编码序列集Pop2和DNA编码序列集Pop3中不满足组合约束的序列,并将其剔除出去;
示例性的,分别用发夹结构、解链温度和自由能来衡量序列的物理及热力学特性,其中发夹结构的计算方式如下所示:
其中r表示形成发夹环所需要的最短子序列长度,pinlen表示形成发夹茎的子序列长度。序列S中,若在序列的第k个碱基处产生发夹结构,且发夹茎中互补碱基个数多于组成茎长的碱基数目的一半时,Hairpin(S,k)取值为1,否则,取值为0。
对于拥有m条序列的DNA序列集S来说,用FTm(S)来表示序列间Tm值的差异,公式如下:
其中Tm(Si)表示序列DNA序列集S中第i条序列的解链温度,表示序列DNA序列集S解链温度的均值。
步骤9:将DNA编码序列集Pop2和DNA编码序列集Pop3存放在DNA编码序列集Pop中;
步骤10:判断当前DNA编码序列集Pop更新次数是否达到最大迭代次数MIter,如果是则输出DNA编码序列集Pop,否则转到步骤2。
实施例1
本实施例中DNA编码的长度取值为20,汉明距离取值为n大于等于17,同时满足组合约束。
步骤1:初始化更新DNA编码序列所需的参数;其中nPop=2000,nvar=20,pMutation=0.4,pCannibalism=0.5,MIter=2500。将该参数设置下的初始化DNA序列集进行组合约束过滤,并将过滤后的序列放入Pop集合中作为DNA编码初始序列集。在该设置下序列初始化的大小为130;
步骤2:以汉明距离作为适应度函数将Pop中的序列进行排序,得到当前最优解;
步骤3:通过比较当前解和最优解来得到权重选择策略中的参数S。如果当前解的适应度小于当前最优解,则S除以2;如果当前解的适应度大于当前最优解则S加1;
步骤4:在当前序列集Pop中应用随机交换策略进行序列变异;
步骤5:用公式(4)和(5)来产生应用于权重选择策略中的参数Wa、Wb;用公式(6)来判断两个参数的使用方法。在序列循环的前半部分使用Wa来产生子代,即公式(7);序列循环的后半部分用Wb来产生子代,即公式(8);
步骤6:根据适应度对Pop进行排序,替换掉表现稍差的DNA序列集,保留当前序列集中相对较好的结果,并将结果存放在Pop2中;
步骤7:随机交换nMutation个DNA序列集中的两个维度上的值,将变异后的结果存放在Pop3中;
步骤8:通过适应度函数筛选出Pop2和Pop3中不满足约束条件的序列,并将其剔除出去;
步骤9:将Pop2和Pop3存放在Pop中。
步骤10:判断当前DNA编码序列集Pop更新次数是否达到最大迭代次数,如果是则输出DNA编码序列集Pop,否则转到步骤2。
本发明提出一种将双策略黑蜘蛛算法和组合约束结合起来以构造稳定DNA编码序列集的方法。其中在双策略黑蜘蛛算法中引入随机交换策略和权重选择策略,在提高序列多样性的同时提高了算法的开发和探索能力。本发明及实验结果是在处理器为Intel(R)CPU 3.6GHz、存储空间为4.0GB、运行环境为Windows 8的台式机上完成的。
表1 n=10d≥7的结果
表2 n=9d≥7时序列集物理和热力学表现
表1和表2分别展示了本发明在序列长度n=9,汉明距离d≥7时的序列集合结果以及集合物理及热力学表现。由实验结果和其他已知编码方法对比可知,本发明不仅能提高编码数量,而且能提高编码集物理和热力学的稳定性。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (2)

1.基于双策略黑蜘蛛算法的DNA存储编码优化方法,其特征在于,包括如下具体步骤:
步骤1:初始化DNA编码序列集Pop以及更新DNA编码序列所需的参数,所述更新DNA编码序列所需的参数包括:序列规模nPop、序列维数nvar、变异率pMutation、同类相残率pCannibalism和最大迭代次数MIter;
步骤2:以汉明距离作为适应度函数对初始化后的所述DNA编码序列集Pop进行适应度排序,得到当前最优解;
步骤3:获取权重选择策略中的参数S;
步骤4:在DNA编码序列集Pop更新中判断是否使用随机交换策略,具体为:
α=tan(π×(rand-0.5)) (2)
β=1-CIter/MIter (3)
其中,rand是取值为(0,1)的随机数,CIter为当前迭代次数;MIter为最大迭代次数;若参数α小于参数β,则使用随机交换策略,即当前最优解的某个维度替换DNA编码序列集Pop中的某个维度;反之,则不使用随机交换策略,维持DNA编码序列集Pop中的当前解和最优解值;
步骤5:获取权重选择策略中的参数Wa、Wb,通过所述参数Wa、Wb更新DNA编码序列集Pop;所述获取权重选择策略中的参数Wa、Wb的方式为:
Wa=(1-CIter/MIter)1-(rand-0.5)×S/MIter (4)
Wb=(2-2×CIter/MIter)1-(rand-0.5)×S/MIter (5)
其中,参数S由步骤3产生,初始化为0;如果当前解的适应度小于当前最优解,则参数S除以2;如果当前解的适应度大于当前最优解,则S加1;
步骤6:以汉明距离作为适应度函数,获取更新后DNA编码序列集Pop中序列的适应度,然后根据适应度进行排序,保留满足汉明距离约束的序列,并将其放在DNA编码序列集Pop2中;
步骤7:根据当前DNA编码序列集Pop中的序列数量和变异率得到应该进行变异的部分数据集,在所述部分数据集中随机交换任意两个维度上的值,将变异后的结果存放在DNA编码序列集Pop3中;
步骤8:通过适应度函数筛选出DNA编码序列集Pop2和DNA编码序列集Pop3中不满足组合约束的序列,并将其剔除出去;所述组合约束由汉明距离约束、GC含量、非连续性约束和末端约束组成,其中末端约束方式如下所示:
其中,和/>分别表示序列S中最后5个中碱基鸟嘌呤G和胞嘧啶C的数量;
步骤9:将DNA编码序列集Pop2和DNA编码序列集Pop3存放在DNA编码序列集Pop中;
步骤10:判断当前DNA编码序列集Pop更新次数是否达到最大迭代次数,如果是则输出DNA编码序列集Pop,否则转到步骤2。
2.根据权利要求1所述基于双策略黑蜘蛛算法的DNA存储编码优化方法,其特征在于,通过所述参数Wa、Wb更新DNA编码序列集Pop方式如下:
CIter/MIter<0.5 (6)
其中,参数Wa、Wb分别由公式(4)、(5)产生,x1、x2为更新前DNA序列集Pop中的序列;y1,y2为更新后DNA序列集Pop中的序列。
CN202111101673.2A 2021-09-18 2021-09-18 基于双策略黑蜘蛛算法的dna存储编码优化方法 Active CN113792877B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111101673.2A CN113792877B (zh) 2021-09-18 2021-09-18 基于双策略黑蜘蛛算法的dna存储编码优化方法
GB2211537.2A GB2619782A (en) 2021-09-18 2022-05-27 DNA storage coding optimization method based on double-strategy back spider algorithm
PCT/CN2022/095523 WO2023040343A1 (zh) 2021-09-18 2022-05-27 基于双策略黑蜘蛛算法的dna存储编码优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111101673.2A CN113792877B (zh) 2021-09-18 2021-09-18 基于双策略黑蜘蛛算法的dna存储编码优化方法

Publications (2)

Publication Number Publication Date
CN113792877A CN113792877A (zh) 2021-12-14
CN113792877B true CN113792877B (zh) 2024-02-20

Family

ID=79184098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111101673.2A Active CN113792877B (zh) 2021-09-18 2021-09-18 基于双策略黑蜘蛛算法的dna存储编码优化方法

Country Status (2)

Country Link
CN (1) CN113792877B (zh)
WO (1) WO2023040343A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2619782A (en) * 2021-09-18 2023-12-20 Univ Dalian Tech DNA storage coding optimization method based on double-strategy back spider algorithm
CN113792877B (zh) * 2021-09-18 2024-02-20 大连大学 基于双策略黑蜘蛛算法的dna存储编码优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109389206A (zh) * 2018-09-26 2019-02-26 大连大学 基于非支配排序的混合蝙蝠算法的dna编码序列优化方法
CN111292808A (zh) * 2020-02-14 2020-06-16 大连大学 基于改进哈里斯鹰算法的dna存储编码优化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070913B (zh) * 2017-07-25 2023-06-27 南京金斯瑞生物科技有限公司 一种基于免疫算法的密码子优化方法
CN109559782B (zh) * 2018-11-08 2022-11-25 武汉科技大学 一种基于多目标遗传算法的dna序列编码方法
CN110533096B (zh) * 2019-08-27 2021-09-10 大连大学 基于K-means聚类的多元宇宙算法的DNA存储编码优化方法
CN113792877B (zh) * 2021-09-18 2024-02-20 大连大学 基于双策略黑蜘蛛算法的dna存储编码优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109389206A (zh) * 2018-09-26 2019-02-26 大连大学 基于非支配排序的混合蝙蝠算法的dna编码序列优化方法
CN111292808A (zh) * 2020-02-14 2020-06-16 大连大学 基于改进哈里斯鹰算法的dna存储编码优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于遗传粒子群算法的DNA编码优化;许世明;张强;;计算机工程(第01期);全文 *

Also Published As

Publication number Publication date
CN113792877A (zh) 2021-12-14
WO2023040343A1 (zh) 2023-03-23

Similar Documents

Publication Publication Date Title
CN113792877B (zh) 基于双策略黑蜘蛛算法的dna存储编码优化方法
Lenz et al. Coding over sets for DNA storage
CN110533096B (zh) 基于K-means聚类的多元宇宙算法的DNA存储编码优化方法
Rodrıguez-Velázquez et al. On the Randic index of polymeric networks modelled by generalized Sierpinski graphs
Barmak et al. Critical events, entropy, and the grain boundary character distribution
Yin et al. Design of constraint coding sets for archive DNA storage
WO2011135410A1 (en) Optimization technique using evolutionary algorithms
CN111292808B (zh) 基于改进哈里斯鹰算法的dna存储编码优化方法
CN113267733B (zh) 基于高斯过程回归的锂电池健康状态估计的自动配置方法
CN110719106B (zh) 一种基于节点分类排序的社交网络图压缩方法及系统
Bang et al. Improved genetic algorithm for minimum latency problem
Rasool et al. BO-DNA: Biologically optimized encoding model for a highly-reliable DNA data storage
JP2002533960A (ja) 進化アルゴリズムによる符号圧縮
CN109559782B (zh) 一种基于多目标遗传算法的dna序列编码方法
CN111339635B (zh) 基于阻尼因子的多元宇宙算法的dna存储编码优化方法
CN112348154A (zh) 基于混沌优化鲸鱼算法的dna序列设计方法
Milenkovic et al. DNA codes that avoid secondary structures
CN117079744A (zh) 含能分子人工智能设计方法
GB2619782A (en) DNA storage coding optimization method based on double-strategy back spider algorithm
Jiang et al. Trajectory codes for flash memory
CN110534154A (zh) 基于和声搜索的鲸鱼dna序列优化方法
Duan et al. Benchmarking large-scale graph training over effectiveness and efficiency
CN106650936A (zh) 粗糙集属性约简的方法
Sabary et al. Survey for a Decade of Coding for DNA Storage
CN116192160A (zh) 一种dna数据存储译码方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant