首页 理论教育领域设计:多序列比对算法

领域设计:多序列比对算法

【摘要】:虚线箭头表示在算法执行过程中两个构件之间需进行交互,例如多序列比对模式构件需调用双序列比对构件、目标函数构件、系统发生树构件来进行组装操作。

通过上述分析可知,根据MSAA的特征模型进行领域设计,并对特征模型中的特征进行构件设计,分析不同算法构件间的交互模式,设计算法构件的交互模型,需要明确特征之间的约束以及依赖关系。该领域的算法输入为生物信息序列,包括DNA序列、RNA序列、蛋白质序列,在算法执行前需要对序列信息进行合法性检查,例如DNA序列只能包含A、T、C、G四种字符。因此,该领域算法的主要构件为序列合法性检查构件、多序列比对模式构件、启发式多序列比对构件、目标函数构件、双序列比对构件、系统发生树构件以及结果输出构件。根据构件间的依赖关系建立构件的交互模型,如图5-2所示。本章后续将根据MSAA中的渐进式比对算法对该交互模型进行具体实现。

图5-2 MSAA构件交互模型(www.chuimin.cn)

图5-2中实线所连接的节点为多序列比对中必须含有的基本构件,实线箭头则代表构件的执行优先级,箭头方向表示从高到低。点划线箭头表示算法构件组装过程中所需的数据、结构以及关联操作,例如双序列比对构件和启发式多序列比对构件需要目标函数构件中的相关计算方法与参数;在选择基于扩展库的渐进比对算法时,启发式多序列比对构件需要双序列比对构件中的结果数据来生成扩展库;在选择迭代渐进比对时,系统发生树构件需对生成树进行迭代精化,每次迭代的过程中,启发式多序列比对构件均运用生成树结果来优化多序列比对结果,直到结果不再发生变化或达到预定的迭代次数为止。虚线箭头表示在算法执行过程中两个构件之间需进行交互,例如多序列比对模式构件需调用双序列比对构件、目标函数构件、系统发生树构件来进行组装操作。