单模板方法(single template strategy)

原创 2006年06月02日 18:51:00

Arita提出了单模板方法,实际上是把DNA计算中的编码问题归结为两个子问题:求的一个好的模板和一个纠错码集合。模板的性能决定了DNA序列的性能,因此在单模板方法中,如何求模板是关键的问题。

他提出了一个mass的概念,即模板的性能。定义mass的值为||x||=min(h(x,x),h(x,xr),HM(x,<xrxr>),HM(x,<xx>))。实际上mass的值为模板和自身连接以及自身的反连接之间的移位距离的最小值。因此mass的值从一定程度上反应了模板的性能,而且mass的值达到一定的要求对防止移位杂交有很大的好处。然后对于纠错码集合就是信息论里说的纠错码,理论上的大小为2L-m-1(L<=2m)。

根据二进制超立方体理论,通过mass值得到的模板集合中包括了序列的循环码,即一个模板通过循环移位可以得到另一个符合mass值的模板。因此我们认为这样的模板是等价的,在单模板集合中应该除掉这样的模板。假设模板的长度为L,那么一个模板的循环码集合的大小为2L,因为模板的反和模板共用一个模板集合。

有单模板方法的得到的DNA序列它的距离性质得到了保证。只要模板的mass值为d,纠错码集合的hamming距离为d,那么DNA序列之间至少在d个位置不同且包括自身和自身的反连接后得到的序列,当然这也包括了与之相对应的补序列。这样,在杂交反应中就可以大大的减少移位杂交的发生,同时也控制了二级结构的形成。

但是,单模板方法也有自身的缺点。细心的你一定可以发现,符合mass要求的单模板应该有很多个。在选取了一条模板的同时也排除了其它性能相近的模板。这样就造成了巨大的浪费,虽然对目前来说DNA序列是够用的,但是这样的方法DNA计算来说无疑是对资源的一种浪费。因此有学者在这个基础上提出了多模板方法。

Strategy模式和Template Method模式的异同浅析

一、Strategy模式 1. 特点说明: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。适用场景: 许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为...
  • aheroofeast
  • aheroofeast
  • 2011年08月19日 20:16
  • 3105

【java设计模式】之 模板方法(Template Method)模式

1. 模板方法的一个实例         这一节主要来学习一下设计模式中的模板方法模式。我们先来看一个例子:假如现在老板让你做一个汽车的模型,要求只要完成基本功能即可,不考虑扩展性,那你会怎么做呢?...
  • eson_15
  • eson_15
  • 2016年05月06日 08:57
  • 4093

模板方法模式(Template Method) - 最易懂的设计模式解析

前言今天我来全面总结一下Android开发中最常用的设计模式 - 模板方法模式。 其他设计模式介绍 1分钟全面了解“设计模式” 单例模式(Singleton) - 最易懂的设计模式解析...
  • carson_ho
  • carson_ho
  • 2017年02月07日 15:37
  • 5146

设计模式——模板方法模式( Template Method Pattern)

一、模板方法模式的定义 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 从定义可以看出,模板方法的本质是:封装算...
  • Linux2_SCDN
  • Linux2_SCDN
  • 2017年07月24日 00:21
  • 195

C++设计模式——模板方法(Template Method)

模板方法(template method)设计模式用于定义一个包含许多步骤的算法框架,允许子类重写(覆盖)算法的某一个步骤而不改变算法整体的流程和框架。例如一个算法(如聚类算法)可能包含初始化(ini...
  • lanchunhui
  • lanchunhui
  • 2016年03月17日 16:02
  • 656

模板方法模式(Template Method)c#简单例子

模板方法模式(Template Method)c#简单例子 要点:骨架、步骤延迟到子类 例子建立玩家骨架部分,具体动作由延迟到子类去做 namespace adapterpattern { ...
  • zhgl7688
  • zhgl7688
  • 2014年12月18日 22:36
  • 1103

JAVA设计模式之 模板方法模式【Template Method Pattern】

一、概述 二、适用chuangk
  • l416112167
  • l416112167
  • 2014年11月11日 01:09
  • 2843

C++模板template用法总结

引言 模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。C++ 的标准库提供许多有用的函数大多结合了模板的观念,如STL以及IO Stream。 ...
  • qq_35637562
  • qq_35637562
  • 2017年02月15日 12:37
  • 6045

(C++实现)——模板方法模式(Template Method Pattern)

概述:      我们最近在开发一个支持多种压缩类型文件的解压缩且制作成pdf的一个应用。对我们的架构来说我们需要支持多种压缩文件类型,但却有固定的操作顺序(先解压缩,在读取里面的文件分析、制作...
  • u011676589
  • u011676589
  • 2013年09月18日 14:21
  • 1070

Ruby设计模式透析之 —— 模板方法(Template Method)

此为Java设计模式透析的拷贝版,专门为Ruby爱好者提供的,不熟悉Ruby语法的朋友请转阅 : Java设计模式透析之 —— 模版方法(Template Method) 今天你还是像往常一样来上班...
  • sinyu890807
  • sinyu890807
  • 2013年03月31日 21:33
  • 9841
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:单模板方法(single template strategy)
举报原因:
原因补充:

(最多只允许输入30个字)