DNA序列编码中Hairpin的定义和计算

觉得有用的话,欢迎一起讨论相互学习~

参考文献
[1] 张凯. DNA计算核酸编码优化及算法设计[D]. 2008.
[2] Shin, Soo Yong , et al. “Multiobjective evolutionary optimization of DNA sequences for reliable DNA computing.” IEEE Transactions on Evolutionary Computation 9.2(2005):143-158.
[3] Shin, Soo Yong , I. H. Lee , and B. T. Zhang . “Evolutionary Multi-Objective Optimization for DNA Sequence Design.” (2008).
[4] Shin, Soo Yong , et al. “Evolutionary sequence generation for reliable DNA computing.” Congress on Evolutionary Computation IEEE, 2002.
[5] 饶泽书. 基于多目标粒子群的DNA编码算法研究[D]. 2018.

发卡结构约束

[ * ]定义

单链 DNA 分子产生二级结构通常由自身反向折叠而形成,发卡结构为典型的自身折叠结构.许多以特异性杂交反应为基础的 DNA 计算模型,都要求避免单链 DNA 形成二级
结构,这样单链 DNA 分子才能和自身的补链充分有效的发生特异性杂交[1]。

Hairpin(x)=∑s=Smin(l−Rmin)/2∑r=Rminl−2s∑i=1l−2s−rT(∑j=1sbp(xs+i−j,xs+i+r+j−1),s2)Hairpin( x ) = \sum _ { s = S _ { \mathrm { min } } } ^ { \left( l - R _ { \mathrm { min } } \right) / 2 } \sum _ { r = R _ { \mathrm { min } } } ^ { l - 2 s } \sum _ { i = 1 } ^ { l - 2 s - r } T \left( \sum _ { j = 1 } ^ { s } b p \left( x _ { s + i - j} , x _ { s + i + r + j-1} \right) , \frac { s } { 2 } \right)Hairpin(x)=s=Smin​∑(l−Rmin​)/2​r=Rmin​∑l−2s​i=1∑l−2s−r​T(j=1∑s​bp(xs+i−j​,xs+i+r+j−1​),2s​)

  • 式中s为茎长,Smin为设定的最小茎长。r为环长,Rmin为设定的最小环长,L表示DNA序列长度。在本文中,设置Smin=6,Rmin=6
  • T表示阈值函数,T(x,y),只有在x>y时T(x,y)=x;否则T(x,y)=0,此处表示只有连续匹配达到了当前茎区数量的1/2(即>S2\frac{S}{2}2S​)才能算作为茎区的结构。
  • bp(x,y)函数表示DNA序列中x和y位置的碱基相互互补的个数,如果相互互补即为1,否则记为0.
  • s表示遍历茎区可能长度,其中 茎区最小长度为人为设定的Smin ,而 茎区最大长度是当环区长度取得最小值Rmin时的茎区长度(l-Rmin)/2
  • r表示遍历环区可能长度,其中 环区最小长度为人为设定的Rmin ,而 环区最大长度是当茎区长度取得最小值Smin时的环区长度l-2*Smin
  • i表示DNA序列起始处的索引,其中i最小从1处开始,最大可以到l-2s-r处,其中s和r皆为前两步中确定的值。

不同文章中发卡结构约束的定义及区别

  • 上一章中定义此处标记为 [*]定义 而与其他定义相区别,其他定义则根据其引用的参考文献进行标记,即若此处定义出自于参考文献[1],则将其标记为 [1]定义

[2]定义


  • 这个pinlen(p,r,i)很奇怪,定义为当假结中心在(p+i+r/2)时,可能的最大的茎区配对可能数 , 在作者2008发表的文章[3]中指出pinlen即为当前假定
    的茎区数。
  • 但是xp+i+j和xp+i+r+j的位置并不是假结茎区中一一对应的,[∗]定义中是一一对应的关系x_{p+i+j}和x_{p+i+r+j}的位置并不是假结茎区中一一对应的,[ * ]定义中是一一对应的关系xp+i+j​和xp+i+r+j​的位置并不是假结茎区中一一对应的,[∗]定义中是一一对应的关系

[3]定义

  • 在S.Y.Shin于2008年发表的[3]文章中,提出了如下定义:
  • [3] 定义与 [ * ]定义差别在于 [3] 定义中茎区匹配索引比 [ * ] 中均索引大1.

[4]定义

  • 在S.Y.Shin于2002年发表的[4]文章中,提出了如下定义:
  • 其中Hairpin(x,c)函数没有明确的数学定义。仅仅是给出一个概念。

[5]定义

  • Hairpin⁡(x)=∑s=Smin⁡(l−Rmin)/2∑r=Rmin⁡l−2s∑i=1l−2s−rT(∑j=1sbp(xs+i−j,xs+i+r+j),S2)\operatorname { Hairpin } ( x ) = \sum _ { s = S _ { \min } } ^ { \left( l - R _ { \mathrm { min } } \right) / 2 } \sum _ { r = R _ { \min } } ^ { l - 2 s } \sum _ { i = 1 } ^ { l - 2 s - r } T \left( \sum _ { j = 1 } ^ { s } b p \left( x _ { s + i - j } , x _ { s + i + r + j } \right) , \frac { S } { 2 } \right)Hairpin(x)=s=Smin​∑(l−Rmin​)/2​r=Rmin​∑l−2s​i=1∑l−2s−r​T(j=1∑s​bp(xs+i−j​,xs+i+r+j​),2S​)
  • 与[ * ]的区别在于xs+i−j,xs+i+r+j[5],xs+i−j,xs+i+r+j−1[∗]x _ { s + i - j } , x _ { s + i + r + j }[5],x _ { s + i - j } , x _ { s + i + r + j-1 }[ * ]xs+i−j​,xs+i+r+j​[5],xs+i−j​,xs+i+r+j−1​[∗]

分析与比较

可以看出[ * ]中Hairpin的计算公式较为正确

No J index Expression x Expression y
* - xs+i−jx _ { s + i - j}xs+i−j​ xs+i+r+j−1x _ { s + i + r + j-1}xs+i+r+j−1​
- j=1 xs+i−1x_{s+i-1}xs+i−1​ xs+i+rx_{s+i+r}xs+i+r​
- j=s xix _ {i}xi​ xi+r+2s−1x _ { i + r + 2s-1}xi+r+2s−1​
2 - xs+i+jx_{s+i+j}xs+i+j​ xs+i+r+jx_{s+i+r+j}xs+i+r+j​
- j=1 xs+i+1x_{s+i+1}xs+i+1​ xs+i+r+1x_{s+i+r+1}xs+i+r+1​
- j=s xi+2sx_{i+2s}xi+2s​ xi+r+2sx_{i+r+2s}xi+r+2s​
3 - xs+i−j+1x _ { s + i - j+1}xs+i−j+1​ xs+i+r+jx _ { s + i + r + j}xs+i+r+j​
- j=1 xs+ix_{s+i}xs+i​ xs+i+r+1x_{s+i+r+1}xs+i+r+1​
- j=s xi+1x _ {i+1}xi+1​ xi+r+2sx _ { i + r + 2s}xi+r+2s​
5 - xs+i−jx _ { s + i - j}xs+i−j​ xs+i+r+jx _ { s + i + r + j}xs+i+r+j​
- j=1 xs+i−1x_{s+i-1}xs+i−1​ xs+i+r=1x_{s+i+r=1}xs+i+r=1​
- j=s xix _ {i}xi​ xi+r+2sx _ { i + r + 2s}xi+r+2s​

DNA序列编码中Hairpin的定义和计算相关推荐

  1. 【让你五行代码发一篇文章】如何把DNA序列编码成深度学习的向量化输入——GP-GCN框架教程

    背景 现在越来越多的工作利用深度学习来实现DNA序列的分类或者回归任务,但是如何把DNA序列编码成深度学习的向量化输入?换句话说,怎么把由A,C,G,T组成的DNA"字符串"转化成 ...

  2. 数学建模_国2000A——DNA序列问题中的数据处理

    2000年A题 DNA序列 中的数据处理 具体针对的是题目数据中的Nat-model-data.txt,数据量较大,我不贴了,放个链接感受下.link 那么如何进行数据处理才能让这个数据为我们所用呢? ...

  3. 【待更新】感知视频编码中的感知检测技术(显著性物体检测向)

    之前对ROI编码感兴趣,做了显著性检测方面的文献综述.截至到2019年1月13号有13400字. 现在搬上来,一来交流,二来重温 感知视频编码PVC HVS 针对HVS所构建的数学模型分类 基于HVS ...

  4. 1608: DNA序列---复制问题 - kmp

    1608: DNA序列---复制问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 10  解决: 5 [提交] [状态] [讨论版] [命题人:mfdy] 题目描述 核酸与蛋白质是生物 ...

  5. 4169: DNA序列---复制问题

    题目描述 核酸与蛋白质是生物体内两大重要的生物大分子,其中核酸是生物遗传信息从上一代传到下一代的的重要载体.核酸的基本组成单元是核苷酸,可将核苷酸分为脱氧核苷酸(DNA)和核糖核苷酸(RNA).    ...

  6. 字符串(如DNA序列,蛋白质序列)的编码和用于机器学习和神经网络

    在处理dna序列或这蛋白质序列时,常常需要把序列转化为数字,这样才能形成矩阵输入模型训练,一般而言,有三种方法用于序列编码:顺序编码,独热编码,kmer编码. 1. 顺序编码 第一种顺序编码即使把at ...

  7. numpy序列预处理dna序列_【陪你学生信】七、在数据库中检索相似的序列

    一.相似度Similarity 序列的分析离不开相似度这个指标,相似度比较高的序列往往具有相似的结构.执行相似的功能.所以用未知序列blast得到的结果可以对未知序列进行推测. 当两个序列非常相似时, ...

  8. 反向输出dna序列_在DNA序列中寻找反向重复序列

    我有一长串DNA序列,我需要找到由间隔序列侧翼的两个回文序列组成的区域. 输入是: cgtacacgagtagtcgtagctgtcagtcgatcgtacgtacgtagctgctgtagcacta ...

  9. matlab如何定义一个序列,EXCEL中如何创建自定义序列 看完你就知道了

    我们平时使用电脑的时候,常常会用到排序,在排序的过程中,我们就会用到电脑中自备的数据,自备数据应该怎么做呢,用户应该怎么添加,我们就一起来看看吧! 操作方法 01 我们在电脑上把工作表格打开,对表格进 ...

最新文章

  1. 机器学习驱动技术是生物学进步的下一个突破
  2. BZOJ1503:[NOI2004]郁闷的出纳员——题解
  3. QT利用lamda正则表达式取出字符串中的浮点数与整数
  4. 基于tkinter模块创建GUI程序(python)
  5. c语言测试及答案,C语言测试题及答案解析
  6. selenium+python处理JS弹窗
  7. icem二维非结构网格划分_ICEM_CFD划分六面体结构网格
  8. python画红蓝相间同心圆_Python 实现的、带GUI界面的词云生成器
  9. Spring Cloud Netflix Eureka Server 搭建服务注册中心
  10. 神舟战神笔记本重做系统
  11. 这篇不讨好任何人的回忆录,记录了我从双非学校到BAT/TMD六offer的原因
  12. matlab 双馈,基于Matlab的双馈调速系统研究
  13. 淘宝代购系统、海外代购系统、代购小程序、APP的开发以及源码PHP前端源码
  14. C#精挑整理知识要点11 委托和事件(建议收藏)
  15. 机械行业想转行IT互联网行业,大家有什么好的建议?
  16. 手机sar值_主流手机SAR对比,辐射最大竟然是它
  17. 有人相爱,有人年少财务自由,有人数据结构都背不出来
  18. conda env create -f conda.yml出错
  19. 未来,什么样的程序员才是不可替代的?
  20. 准备好迎接你的“新同事”了吗?他叫人工智能 | 精选

热门文章

  1. 用友U9 UAP平台解析
  2. 证明HITTING SET 是NP完全
  3. Django Rest_framework 1(RESTRESTful)
  4. Pixhawk飞行模式注解(苍穹四轴)
  5. 韩天峰(Rango)推荐书目
  6. 小区门禁系统代码C语言,一套完整的门禁系统(原理图+源程序),包括电源充电...
  7. 爬取免费代理,拥有自己的代理池
  8. 中学计算机课都学什么时候开始,初一的学习课程都有哪些 都学什么科目
  9. mosquitto 开启 TLS 问题总结
  10. 人工智能应用实例:图片降噪