説明

塩基配列集合算出装置、塩基配列集合算出方法およびコンピュータプログラム

【課題】動的計画法を用いて塩基配列の最小自由エネルギーを算出して配列集合を設計するにあたり、評価計算を高速化することのできる技術を提供する。
【解決手段】塩基配列集合算出装置100は、初期演算部21、テーブル記憶部33、近傍解生成部22、近傍解演算部23を備える。初期演算部21は、一対の塩基配列の局所的な部分エネルギーを動的計画法により積算して最小自由エネルギーを算出する。テーブル記憶部33は、初期演算部21による積算の過程の部分エネルギーと塩基とを対応づけた評価テーブルTBを記憶しておく。近傍解生成部22は、制約に違反する一対の塩基配列の一部の塩基を変更して近傍解NSを生成する。近傍解演算部23は、テーブル記憶部33に記憶された評価テーブルTBと、変更された塩基に対応する一部領域の部分エネルギーとに基づいて、近傍解NSにかかる最小自由エネルギーを動的計画法により算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、塩基配列の集合を高速で算出することのできる塩基配列集合算出装置、塩基配列集合算出方法、および塩基配列集合算出装置のためのコンピュータプログラムに関する。
【背景技術】
【0002】
塩基配列を人工的に設計したDNA分子を用いて演算処理を行うDNAコンピュータが提案されている。
【0003】
DNAは、糖・燐酸基・塩基からなる4種類のヌクレオチドと呼ばれる分子から構成される。4種類のヌクレオチドは、糖と燐酸基は共通であるが、塩基部分は互いに異なる構造を持つ。DNAに用いられる塩基は、アデニン(A)・チミン(T)・グアニン(G)・シトシン(C)の4種類のアルファベットで表される。
【0004】
各ヌクレオチドは、糖の炭素原子に割り振られる番号を持ち、3'位と5'位で表す炭素が共有結合する。このため、DNA分子は各ヌクレオチドをモノマーとする方向性を持つ高分子となる。このようなものを特にssDNA(single strand DNA)または一本鎖と呼ぶ。
【0005】
ssDNAは方向性を持ち、塩基の異なるヌクレオチドで構成されるため、ヌクレオチドを表現するアルファベット{A,T,G,C}を用いて、文字列として表現することができる。例えば、ATGCGATのように表現する。このように、A,T,G,Cの文字列として表現したものを塩基配列と呼ぶ。また、塩基配列を構成する文字数を、塩基配列の長さという。
【0006】
DNA分子は、4種類のヌクレオチドのうち、AとTの間およびGとCの間でのみ、水素結合が生じて塩基対を構成しうるという相補性(ワトソン・クリック相補性)をもつ。このとき、各ヌクレオチドの構造上、塩基対を形成するヌクレオチドのペアは、互いにその方向が逆方向である。
【0007】
DNAコンピュータでは、多数の人工的なDNA分子が同じ環境内で反応し、所望の構造にハイブリダイズすることが求められる。このため、DNAコンピュータでは、各種の制約条件を満たし、自律的に反応しやすく演算に適した多数の塩基配列を用いることが求められる。
【0008】
特許文献1には、このような塩基配列の集合を求める(以下、「配列集合を設計する」という場合がある)ための種々の方法が記載されている。
また、非特許文献1、2では、塩基配列の集合の最適化問題の解法として、局所探索法による近似解法が提案されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2004−355294号公報
【非特許文献】
【0010】
【非特許文献1】D.Tulpan, M.Andronescu, S.Chang, M.Shortreed, A.Condon, H.Hoos and L.Smith: "Thermodynamically based DNA strand design", Nucleic Acids Research, Vol.33(15), pp.4951-4964, 2005.
【非特許文献2】D.Tulpan, H.Hoos and A.Condon: "Stochastic Local Search Algorithms for DNA Word Design", Proc. of 8th DNA Computing, LNCS(2568), pp.229-241, 2003.
【発明の概要】
【発明が解決しようとする課題】
【0011】
局所探索法は、厳密な最適解を見つけることが困難な最適化問題を解く際に、初期解の近傍に存在する局所最適解を近似解として求めるものである。
非特許文献1、2では、局所探索法を拡張した確率的局所探索法に基づいて、配列集合の設計を行っている。確率的局所探索法は、ランダムな解移動を許容することで、局所最適解となった後にも探索が継続できる手法である。これらの文献では、局所最適解の評価関数として、所定の制約条件に違反する最小自由エネルギー(Minimum Free Energy:MFE)をもつ配列ペア数を用いている。そして、配列集合に属する塩基配列に含まれる文字(塩基)を別の文字(塩基)に置き換えた場合の評価関数(すなわち、制約条件を違反している配列ペア数)をそれぞれ求め、解移動を反復することで局所最適解を算出している。
【0012】
ここで、塩基配列はワトソン・クリック相補性による水素結合を持つ。このとき、A−T、G−Cの組合せは配列ペア内に多数存在するため、同じ塩基配列を与えても配列形態は数多く存在する。
【0013】
一対の塩基配列の最小自由エネルギーは、各配列形態が取り得る自由エネルギーの中で最小の状態として算出される。ここで、一対の塩基配列の配列長がnとnのとき、最小自由エネルギーは、動的計画法と呼ばれるアルゴリズムを用いて(n+nのオーダーの演算量で求められる。
【0014】
したがって、局所探索法で膨大な配列候補が生成される非特許文献1、2の配列集合の設計方法においては、動的計画法を用いて行う各配列候補の評価計算が演算時間のボトルネックになるという問題がある。
【0015】
本発明は上述のような課題に鑑みてなされたものであり、動的計画法を用いて塩基配列の最小自由エネルギーを算出して配列集合を設計するにあたり、評価計算を高速化することのできる技術を提供するものである。
【課題を解決するための手段】
【0016】
本発明の塩基配列集合算出装置は、配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算手段と、前記初期演算手段による前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶しておくテーブル記憶手段と、前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成手段と、前記テーブル記憶手段に記憶された前記一対の塩基配列の前記評価テーブルと、前記近傍解生成手段により変更された前記塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算手段と、前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する評価手段と、を備える。
【0017】
本発明の塩基配列集合算出方法は、配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算ステップと、前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶しておくテーブル記憶ステップと、前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成ステップと、前記一対の塩基配列の前記評価テーブルと、変更された前記塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算ステップと、前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する近傍解評価ステップと、を含む。
【0018】
本発明のコンピュータプログラムは、塩基配列集合算出装置のためのコンピュータプログラムであって、配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算処理と、前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶するテーブル記憶処理と、前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成処理と、前記一対の塩基配列の前記評価テーブルと、変更された前記塩基に対応する一部領域の部分エネルギーと、に基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算処理と、前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する近傍解評価処理と、を前記塩基配列集合算出装置に実行させる。
【発明の効果】
【0019】
本発明の配列集合の設計技術によれば、暫定解に属する塩基配列のペアの最小自由エネルギーを動的計画法で算出した際の積算の過程の部分エネルギーを評価テーブルで記憶しておき、近傍解の最小自由エネルギーを配列ペアごとに算出するにあたってこの評価テーブルを参照する。このため、近傍解の最小自由エネルギーを算出するにあたって、演算量の多い動的計画法による積算演算を、近傍解で変更された塩基にかかる一部領域のみに限定することができる。これにより、暫定解と近傍解とで共通する塩基同士の積算演算を省略して、近傍解の最小自由エネルギーを高速に算出することができる。
【図面の簡単な説明】
【0020】
【図1】本発明の第一実施形態にかかる塩基配列集合算出装置のブロック図である。
【図2】(a)はヘアピンループ、(b)はスタック、(c)はバルジループの模式図である。
【図3】(a)は内部ループ、(b)はマルチループの模式図である。
【図4】シュードノットの模式図である。
【図5】第一実施形態の塩基配列集合算出方法のフローチャートである。
【図6】暫定解にかかる評価テーブルを示す模式図である。
【図7】近傍解にかかる評価テーブルを示す模式図である。
【図8】本発明の第二実施形態にかかる塩基配列集合算出装置のブロック図である。
【図9】第二実施形態の塩基配列集合算出方法のフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態を図面に基づいて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0022】
<第一実施形態>
図1は、本発明の第一実施形態にかかる塩基配列集合算出装置100のブロック図である。
【0023】
はじめに、本実施形態の概要について説明する。
塩基配列集合算出装置100は、初期演算部21、テーブル記憶部33、近傍解生成部22、近傍解演算部23、評価部24を備える。
【0024】
初期演算部21は、配列集合Sに属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、当該一対の塩基配列の最小自由エネルギー(MFE)を算出する。
テーブル記憶部33は、初期演算部21による積算の過程の部分エネルギーと、塩基と、を対応づけた評価テーブルTBを記憶しておく。
近傍解生成部22は、配列集合Sに属する塩基配列のうち、後述する所定の制約に違反する一対の塩基配列(s,s')の少なくとも一方における一部の塩基を変更して配列集合Sの近傍解NSを生成する。
近傍解演算部23は、テーブル記憶部33に記憶された、塩基を変更した塩基配列にかかる評価テーブルTBと、近傍解生成部22により変更された塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された塩基配列sNEWと、近傍解NSに属する他の塩基配列s'との配列ペアの最小自由エネルギーを動的計画法により算出する。
評価部24は、近傍解NSにかかる最小自由エネルギーが所定の評価条件ECを満たすか否かを判定する。
【0025】
なお、本実施形態の各種の構成要素は、個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等を許容する。
【0026】
また、本実施形態の各種の構成要素は、その機能を実現するように形成されていればよく、たとえば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置に実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【0027】
また、本実施形態の塩基配列集合算出装置100はデータ処理装置であり、コンピュータプログラムを読み取って対応する処理動作を実行できるように、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、I/F(Interface)ユニット、等の汎用デバイスで構築されたハードウェア、所定の処理動作を実行するように構築された専用の論理回路、これらの組み合わせ、等として実現される。
【0028】
次に、本実施形態の塩基配列集合算出装置100について詳細に説明する。
【0029】
塩基配列集合算出装置100は、所定の制約条件を満たす、配列長nである配列の群(配列集合S)を設計するデータ処理装置である。ここで、配列集合Sに含まれる配列の数を、配列集合Sのサイズmという。
【0030】
塩基配列集合算出装置100は、初期条件として与えた塩基配列の配列集合Sを、制約条件をより良好に満足する配列集合Sに更新することができる。また、塩基配列集合算出装置100の他の出力として、制約条件を満たす塩基配列を増加させていく、すなわち配列集合Sのサイズmを増大させていくこともできる。これらは、制約条件の設定を変更することで実現される。
【0031】
配列長nの塩基配列を、
s=s・・・s (1)
と表現する。
【0032】
このとき、
s∈{A,T,G,C} (2)
を満たす。
式(2)の表記において、塩基配列の左端は、ヌクレオチドにおける5'位の炭素に対応する。
【0033】
相補性に基づき、下式(3)と表すと、下式(4)と表現する配列は、式(1)と相補の関係にあるという。そして、式(1)を主配列と呼ぶとき、式(4)は相補配列と呼ばれる。
【0034】
【数1】

【0035】
【数2】

【0036】
ワトソン・クリック相補性によって結びついた二本のssDNAを、dsDNA(double strand DNA)、または二本鎖と呼ぶ。二本のssDNAは相補の関係になくとも、ワトソン・クリック相補性に基づき塩基対を形成することがある。また、相補の関係にある二本のssDNAは、二重螺旋構造となり安定することが知られている。
【0037】
塩基配列の形態は、塩基配列(主鎖)と、水素結合からなるループ構造とに分解できる。例えば、式(1)の配列の場合、
i<i'<j'<j (5)
として、
−s,si'−sj' (6)
のように水素結合が生じているとし、ループ構造を構成する水素結合数kを利用することでループ構造を分類する。
【0038】
k=1のときを、ヘアピンループと呼ぶ(図2(a)を参照)。
k=2のとき、かつ、
i'−i=1,j−j'=1 (7)
のときを、スタックと呼ぶ(図2(b)を参照)。
【0039】
i'−i>1,j−j'>1 (8)
の一方のみ成り立つときを、バルジループと呼ぶ(図2(c)を参照)。
また、式(8)が両方とも成り立つときを、内部ループと呼ぶ(図3(a)を参照)。
そして、k≧3のときを、マルチループと呼ぶ(図3(b)を参照)。
【0040】
ループ内で塩基対を形成していないヌクレオチドの数をループサイズと呼ぶ。
なお、上記では、式(5)の条件で式(6)の水素結合が生じているとしたが、
i<j<i'<j' (9)
の条件で式(6)の水素結合が生じている場合をシュードノットと呼ぶ(図4を参照)。
【0041】
塩基配列は、その形態により自由エネルギーと呼ばれる値が定められる。同一の塩基配列においても形態が異なる場合には、自由エネルギーの値も異なる。自由エネルギーは最大値が0の実数で表現され、値が低い形態ほど安定する。このため、塩基配列は最小自由エネルギー(以下、MFEと略記する場合がある)の形態になりやすくなる。
自由エネルギーの値は生化学実験より得られたものであり、各形態のエネルギーは、その形態を構成する各ループ構造の持つエネルギーを積算することで近似的に算出される。また、この値は線形時間で計算可能である。
【0042】
一本鎖の塩基配列におけるMFEの計算方法を以下に記述する。
配列を式(1)とし、i<jを満たすとする。
【0043】
準備として、W(i,j)を、部分配列s・・・sのMFEとする。
また、V(i,j)を、部分配列s・・・sにおいて、sとsとが結合するときのMFEとする。ただし、sとsとが結合しないときは、V(i,j)=∞とする。
【0044】
このとき、
W(i,j)≦V(i,j) (10)
である。
【0045】
ヘアピンループ、スタック、バルジループおよび内部ループのエネルギーを、それぞれ以下のように定義する。
eh(i,j)・・・s−s水素結合で閉じたヘアピンループのエネルギー (11)
es(i,j)・・・s−s水素結合とsi+1−sj−1水素結合とからなるスタックのエネルギー (12)
ebi(i,j,i',j')・・・s−s水素結合とsi'−sj'水素結合とからなるバルジループまたは内部ループのエネルギー (13)
なお、説明の便宜のため、マルチループのエネルギーは定数αとする。
【0046】
このとき、下式(14)が成り立つ。
【0047】
【数3】

【0048】
このような式は部分最適性の式と呼ばれる。ここで、二本鎖の塩基配列のMFEを計算する場合は、二本の塩基配列を連結して一本鎖に見立てることで、上記の式を適用することができる。本実施形態では、一対の塩基配列を連結した一本鎖の一端から他端に向かって、部分最適性の式(14)を利用して求めた局所的な部分エネルギーの最小値であるW(i,j)を動的計画法により積算していくことで、当該一対の塩基配列のMFEを求める。
【0049】
なお、式(14)は例示であり、これに代えて、例えばVBI(i,j)の演算量を低減するための各種の近似式を用いてもよい。また、マルチループのエネルギーに関しても、定数αとせず、それを構成する水素結合と塩基数とを加味した変数として扱ってもよい。
【0050】
本実施形態の塩基配列集合算出装置100において、配列長nの塩基配列からなるサイズmの配列集合Sを設計するにあたっては、以下の二点が要求される。
(a)配列集合Sに含まれる塩基配列(主配列)sは、相補配列以外とは結合して安定しにくい。
(b)サイズmは十分に大きい。
【0051】
(a)の条件を満たすための制約条件として、本実施形態ではMFEを利用する。具体的には、以下のようになる。
【0052】
まず、二本鎖の最小自由エネルギーを、
ΔG(s,s') (15)
と表す。
ここで、式(15)を考える際、配列内結合(すなわち、一本鎖内でのヘアピンループや内部ループ)は考慮するが、シュードノット(図4を参照)は存在しないと仮定する。
そして、塩基配列の配列集合Sの制約条件は、式(15)を用いて、下式(16)で表される。
【0053】
【数4】

【0054】
ここで、tww、twc、tccは、それぞれ制約定数である。
これらの制約条件を用いて、本実施形態の配列集合設計問題は以下のように定義できる。
入力:配列長n、集合サイズm、制約定数tww、twc、tcc
出力:式(16)を満たす配列集合S
【0055】
上記の入力条件は、塩基配列集合算出装置100の入力部10よりデータ処理部20に入力される(図1を参照)。入力部10としては、キーボードなどの入力装置や、他の演算処理装置の出力装置が一例として挙げられる。
【0056】
このほか、入力部10からは、パラメータとして、ループ数、確率、最善解の連続不更新時に変化させる配列本数が与えられる。
ループ数とは、暫定解に基づいて近傍解を生成および評価する規定回数の上限値である。
確率とは、近傍解を生成するにあたって、暫定解の一部の塩基をランダムに変化させて近傍解を生成する確率θである。
最善解の連続不更新時に変化させる配列本数とは、反復的な演算において最善解の評価が所定ループに亘って向上しなかった場合に、暫定解に含まれる塩基配列をランダムな塩基配列に変化させる本数である。この本数を大きくすることで、局所最適解から大きく離れて演算を継続することになる。このため、より評価結果の良好な最善解が得られることが期待される。
【0057】
そして、配列集合Sは、出力部40より出力される。出力部40は記憶装置や表示装置、印刷装置などが例示される。
【0058】
図1に示す塩基配列集合算出装置100において、データ処理部20は、CPUを備え、プログラム制御により動作するデータ処理装置である。記憶部30は、情報を記憶する記憶装置である。
【0059】
ここで、テーブル記憶部33が評価テーブルTBを記憶するとは、記憶部30が、少なくとも評価テーブルTBを記憶する機能を有していることを意味している。
【0060】
データ処理部20は、初期演算部21、近傍解生成部22、テーブル更新部25、近傍解演算部23および評価部24を機能ブロックとして備えている。
記憶部30は、暫定解記憶部31、暫定解評価記憶部32、テーブル記憶部33、最善解記憶部34および最善解評価記憶部35を機能ブロックとして備えている。
データ処理部20と記憶部30とはバス50で接続されている。
【0061】
図5は、本実施形態の塩基配列集合算出方法(以下、本方法という場合がある)のフローチャートである。図1および図5を用いて、塩基配列集合算出装置100によって行われる本方法を説明する。
【0062】
本方法の概要をまず説明する。本方法は、初期演算ステップA1と、テーブル記憶ステップA2と、近傍解生成ステップA3と、近傍解演算ステップA5と、近傍解評価ステップA6と、を少なくとも含む。
【0063】
初期演算ステップA1では、配列集合Sに属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、当該一対の塩基配列の最小自由エネルギー(MFE)を算出する。
テーブル記憶ステップA2では、上記の積算の過程の部分エネルギーと、塩基と、を対応づけた評価テーブルTBを記憶しておく。
近傍解生成ステップA3では、配列集合Sに属する塩基配列のうち、所定の制約に違反する一対の塩基配列の少なくとも一方における一部の塩基を変更して配列集合Sの近傍解NSを生成する。
近傍解演算ステップA5では、塩基を変更した一対の塩基配列にかかる評価テーブルTBと、変更された塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された上記の塩基配列と、配列集合Sに属する塩基配列との配列ペアの最小自由エネルギー(MFE)を動的計画法により算出する。
近傍解評価ステップA6では、近傍解NSにかかる最小自由エネルギー(MFE)が所定の評価条件ECを満たすか否かを判定する。
【0064】
なお、本実施形態の方法は、複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を必ずしも限定するものではない。このため、本実施形態の方法を実施するときには、その複数の工程の順番は内容的に支障しない範囲で変更することができる。
【0065】
ここで、暫定解TS、近傍解NSおよび最善解OPは、いずれも塩基配列の集合である。
【0066】
また、近傍解NSにかかるMFEとは、近傍解NSという配列集合に属する総ての塩基配列に関する配列ペアのMFEを意味する。具体的には、例えば、集合サイズm=50の場合、50=1225通りの配列ペアについてそれぞれ動的計画法で算出したMFEの群をいう。
本実施形態では、各配列ペアに対して、式(16)で定義されるように、それぞれ3通りのMFEを計算する。したがって、上記の例の場合、1225×3=3675個のMFEが計算される。
【0067】
はじめに、初期演算部21は、入力されたパラメータ処理を行い、配列長n、集合サイズmの配列集合Sを生成する。初期の配列集合Sは、ランダムな塩基配列としてもよく、または予備的に評価処理がおこなわれた塩基配列でもよい。
続けて初期演算部21は、配列集合Sより抽出された任意の一対の塩基配列s,s'についての評価処理をおこなう(図5:ステップA1)。評価処理は、塩基配列s,s'を構成する塩基同士の局所的な部分エネルギーを動的計画法で積算してMFEを算出することによりおこなう。
初期演算部21は、配列集合Sに含まれるすべての塩基配列の対(配列ペア)に対して、同様にMFEを算出する。これにより、初期の配列集合SにかかるMFEが得られる。
【0068】
図6は、初期演算部21が動的計画法で用いる評価テーブルTB(TB1)を示す模式図である。同図の縦軸と横軸は、二本鎖の塩基配列s,s'に対応する。
【0069】
ここでは、s(配列1)=A,T,G,C,G,C,T,A,T,A,G,Cとし、s'(配列2)=T,A,G,C,T,A,C,G,A,T,C,A,Cとしている。
二本鎖の塩基配列のMFEを計算するにあたっては、同図に示すように、配列1と配列2とを連結して一本鎖に見立てて動的計画法を適用する。
【0070】
評価テーブルTBは、暫定解TSという配列集合に属する任意の一対の塩基配列を互いに連結した一本鎖に関して、部分最適性の式(14)で表される部分エネルギーを動的計画法により積算して求めた、当該一対の塩基配列がMFEをとる場合の配列形態を示すデータをいう。言い換えると、評価テーブルTBは、任意の一対の塩基配列の局所的な部分エネルギーを動的計画法で積算した過程を、当該塩基配列を構成する塩基と対応づけたデータである。
そして、暫定解TSにかかる評価テーブルTBとは、暫定解TSに属する総ての塩基配列を互いに一対ずつ組み合わせた全配列ペアに関する評価テーブルTBの群をいう。
近傍解NSに関しても同様とする。
【0071】
本実施形態の初期演算部21は、一対の塩基配列s,s'の一端(i=j)から他端(i=1:min,j=2n:max)に向けて局所的な部分エネルギーを動的計画法により積算する。これにより、初期演算部21は、上記の式(15)で表されるMFE(ΔG)が算出される。
【0072】
評価テーブルTBは2n×2nのサイズであるが、その半分(図6の場合は右上半分)は重複のため演算には使用しない。評価テーブルTBの各セルには、塩基配列s,s'を構成する塩基のペアごとに、当該上記の部分最適性の式(14)が格納されている。そして、図6の左下にあたる他端に向かって式(14)のW(i,j)を動的計画法で積算していくことで、塩基配列s,s'のMFEが算出される。
ここで、図6に示すように、任意の塩基対(同図に黒丸で図示される、配列1のCと配列2のGとの対)を両端とする部分配列のMFEは、評価テーブルTBにおけるその右上に存在する局所的な部分エネルギーを参照することで決定される。
【0073】
さらに、初期演算部21は、暫定解TSの評価をおこなう。
本方法の評価条件ECは、「式(16)の制約条件を違反している配列ペア数」として定義されている。初期演算部21は、暫定解TSに関する各配列ペアのMFE(ΔG)のうち、式(16)の不等式を満たしていないものの数をカウントして評価結果を求める。
【0074】
なお、本実施形態において、評価条件ECを満たすとは、式(16)の制約条件を違反している配列ペア数が減少することをいう。
【0075】
つぎに、初期演算部21は、上記の演算結果を記憶部30に格納する。
具体的には、暫定解TSを、暫定解記憶部31および最善解記憶部34に格納する。また、評価結果を、暫定解評価記憶部32および最善解評価記憶部35に格納する。あわせて、初期演算部21は、暫定解TSにかかる多数のMFEのうち、式(16)の制約条件に違反している塩基配列の配列ペアpの数を、暫定解評価記憶部32に記憶しておく。
以上で、初期演算ステップA1が終了する。
そして、初期演算部21は、暫定解TSにかかる評価テーブルTB(図6を参照)をテーブル記憶部33に格納する(図5:ステップA2)。
【0076】
近傍解生成部22は、暫定解記憶部31に記憶された暫定解TSに属する塩基配列の一部の塩基を変更することで近傍解NSを生成する(図5:ステップA3)。近傍解生成部22は、暫定解記憶部31を入力とし、近傍定義に従った近傍解生成を行う。本方法では、近傍解NSのMFEが評価条件ECを満たすか否かを判定して、近傍解NSを最善解として上書きするか否かを決定する。
【0077】
なお、本方法の評価条件ECは上記に限定されるものではない。例えば、配列ペアのMFEが所定の閾値以上であることを条件としてもよく、または後述する第二実施形態のように、配列集合S中の配列ペアのMFEと制約定数との差を用いてもよい。
【0078】
本実施形態の近傍解生成部22は、暫定解記憶部31に記憶された暫定解TSのうち、制約条件を違反している配列ペアp={s,s}を一つランダムに選び、その塩基配列中の塩基(文字)の一つを別の塩基(文字)に置き換えたものを近傍解NSとして生成する。具体的には、近傍解生成部22は、制約条件を違反している配列ペアp={s,s}を抽出すると、塩基配列s,sの両方について、配列長n(n文字)の塩基の各一つ(例えば、アデニン(A))を、他の塩基(チミン(T)・グアニン(G)・シトシン(C))にそれぞれ変更することで、多数の塩基配列を生成する。具体的には、配列長n=12とすると、12(配列長)×3(塩基種類)×2(sおよびsyの二つ)=72個の塩基配列を近傍解NSとして生成する。以下、近傍解生成部22により塩基が変更された塩基配列sxNEW,syNEWを、塩基配列sNEWと総称する。
【0079】
なお、配列長nとしては8、12、16またはそれ以上の自然数が例示される。これらの配列長nの塩基配列においては、変更する塩基の候補が複数個あるため、一つの暫定解TSに基づいて多数の塩基配列sNEWが生成される。
【0080】
本方法では、暫定解TSに属する塩基配列のうちのそれぞれ一つの塩基を変更して近傍解NSを生成しているが、近傍の定義はこれに限られるものではない。一の塩基配列における複数の塩基を変更してもよく、または一対の塩基配列のそれぞれについて一つまたは複数の塩基を変更して近傍解NSを生成するなど、各種の近傍定義を行ってもよい。
【0081】
つぎに、近傍解演算部23は、近傍解NSにかかるMFEを、動的計画法により算出する。具体的には、近傍解演算部23は、近傍解NSに含まれる一の塩基配列sNEWと、配列集合Sに属する他の塩基配列s'との配列ペアのMFEを個別に算出する。
【0082】
近傍解演算部23では、入力部10に入力された確率パラメータθに応じて、確率的に処理が分岐する(図5:ステップA4)。確率θで選択される一方の処理では、近傍解生成部22で生成した近傍解NSから一つをランダムに選択して暫定解記憶部31に格納し、後述のように高速で計算したMFEの積算の過程を示す評価テーブルTBをテーブル記憶部33に格納し、評価結果(違反する配列ペアの数)を暫定解評価記憶部32に格納する(図5:ステップA41)。
【0083】
確率1−θで選択されるもう一方の処理では、近傍解生成部22で生成した近傍解NSに属する塩基配列sNEWの総てについて、塩基配列s'との配列ペアをそれぞれ評価し、近傍解NSの評価値を算出する。これを全ての近傍解に対して行い、評価値が最も良好である近傍解を選択する。そして、選択した近傍解を暫定解記憶部31に格納し、同じく後述のように高速で計算したMFEの積算の過程を示す評価テーブルTBをテーブル記憶部33に格納し、評価結果(違反する配列ペアの数)を暫定解評価記憶部32に格納する(図5:ステップA42)。
この場合、上記の例でいうと、72個の近傍解NSについて、式(16)の3通りのMFEを計算する。合計すると、72×(49×1+50×2)=10728個のMFEを動的計画法で計算する。
【0084】
近傍解演算部23は、(1)一対の塩基配列の一端から、近傍解生成部22により変更された一部の塩基までの部分エネルギーの積算値を、評価テーブルTBを参照して取得し、(2)一部の塩基から他端までの一部領域の積算値を、動的計画法により局所的な部分エネルギーを積算して算出する(図5:ステップA5)。
【0085】
テーブル記憶部33は、近傍解演算部23による積算の過程の部分エネルギーと、近傍解NSを構成する塩基と、を対応づけて記憶している。
【0086】
ここで、局所探索法での暫定解TSと近傍解NSの変化は微小であるため、暫定解TSで評価を行った場合に動的計画法で用いた評価テーブルTB1と、近傍解NSで評価を行う際に動的計画法で用いる評価テーブルTB2には、同一となる部分が存在する。本方法では、この特性を活かすことで、近傍解NSの評価において計算不要の部分について積算演算を省略し、ボトルネックとなる評価計算時間を削減する。
【0087】
図7は、近傍解NSに属する一つの配列ペアにかかる評価テーブルTB2を示す模式図である。動的計画法によるMFEの計算では、評価テーブルTB2を参照しながら局所的な部分エネルギーを積算してMFEを求めていく。このとき、暫定解TSにかかる評価テーブルTB1(図6を参照)と、近傍解NSにかかる評価テーブルTB2とでは、表の縦軸・横軸の一箇所にしか違いはない。具体的には、近傍解NSの塩基配列は、図7に示すように、暫定解TSの塩基配列のうちの一の塩基(T)のみが他の塩基(A、GまたはC)に変更されている。
このため、評価テーブルTB2の一部(演算省略領域)については、評価テーブルTB1と値が同一である。そこで本方法では、近傍解NSのMFE計算を行う場合に、暫定解TSの配列ペアでMFE計算を行ったときの評価テーブルTB1を参照することで、一部の計算を省略している。
【0088】
より具体的には、本方法では、近傍解生成部22により変更された塩基に対応する一部領域(図7における再計算領域)と演算省略領域との境界の値を、テーブル記憶部33から呼び出す。そして、かかる境界値を初期値として、近傍解NSの他端(i=1:min,j=2n:max)に向かって再計算領域の部分エネルギーを積算していくことで、近傍解NSにかかる配列ペアのMFEが算出される。
【0089】
これにより、演算省略領域に対しては部分最適性の式(14)の積算演算が不要となるため、近傍解NSに関する評価計算を高速化することができる。
【0090】
なお、一つの塩基配列において複数個の塩基が変更された場合には、当該塩基配列の一端から、複数個のうち最も当該一端に近い塩基までが、演算省略領域となる。
【0091】
評価部24は、近傍解NSのMFEが評価条件ECを満たすか否かを判定する(図5:ステップA6)。具体的には、近傍解NSの塩基配列sNEWと、配列集合S中の塩基配列s'との配列ペアのうち、評価条件ECである「式(16)の制約条件を違反している配列ペア数」をカウントし、暫定解との比較を行う。
【0092】
ここで、本実施形態の評価部24は、塩基同士が互いに結合しているときの部分エネルギーが評価テーブルTBに与えられている当該塩基の対の少なくとも一方を、互いに相補的でない他の塩基に変更して生成された近傍解NSについて、優先的に判定を行う。
【0093】
すなわち、暫定解TSにおけるA−T、またはG−Cの水素結合のいずれかを切断するように生成された塩基配列sNEWは結合エネルギーが減少してMFEが大きくなり(ゼロに近づき)、制約条件を満足することが期待される。
換言すると、暫定解TSの塩基配列sのうち、上式(14)においてV(i,j)≠∞を満たす塩基iまたはjを変更して生成された塩基配列sNEWについて、評価部24は最初に評価を行う。
特に、上式(14)においてW(i,j)=V(i,j)である塩基iまたはjの一方または両方を、変更後に再び相補的とならない塩基に変更してなる塩基配列sNEWについて、評価部24は優先的に評価を行う。これにより、近傍解NSのMFEが向上することが期待され、他の近傍解NSの評価を省略して最善解OPを更新できる可能性がある。
【0094】
評価部24は、暫定解評価記憶部32が最善解評価記憶部35よりよい値の場合、最善解評価記憶部35に暫定解評価記憶部32の値を格納し、最善解記憶部34に暫定解記憶部31の値を格納する。
【0095】
すなわち、塩基配列集合算出装置100は、評価条件ECを最も満たす塩基配列集合を最善解OPとして記憶しておく最善解記憶部34を備えている。
また、近傍解生成部22は、暫定解TSの塩基配列sの一部の塩基を変更した新たな塩基配列sNEWとすることで、近傍解NSを生成する。
近傍解演算部23は、近傍解NSの複数の配列ペアの最小自由エネルギー(MFE)をそれぞれ算出する。
評価部24は、近傍解演算部23の結果を受け、算出された近傍解NSの評価が評価条件ECを満たすかを判定する。
算出された複数の最小自由エネルギーが評価条件ECを満たすと評価部24が判定した場合であって、さらに、記憶された最善解OPと比較して最小自由エネルギーの評価結果が改善された場合に、最善解記憶部34は、変更前の塩基配列に代えて新たな塩基配列を最善解OPとして記憶する。
【0096】
塩基配列集合算出装置100はテーブル更新部25をさらに備えている。
テーブル更新部25は、近傍解NSにかかる最小自由エネルギーMFEが評価条件ECを満たすと評価部24が判定した場合に、評価テーブルTBの一部領域を近傍解NSの部分エネルギーに更新する。
【0097】
これにより、テーブル記憶部33には、暫定解TSの塩基配列にかかる評価テーブルTBが記憶されることとなる。そして、テーブル記憶部33に記憶された評価テーブルTBは、暫定解TSの更新とともに上書きされて更新されていく。
【0098】
ここで、入力部10より入力された規定回数に亘って最善解が更新されずに下記の反復的な評価がループして繰り返された場合(図5:ステップA7=YES)、最善解記憶部34の解を出力部40に出力する(図5:ステップA8)。
そうでない場合(図5:ステップA7=NO)、近傍解生成ステップA3に戻って新たな近傍解NS2を生成し、そのMFEを動的計画法で算出し(図5:ステップA5)、反復的に近傍解NS2の評価を行う(図5:ステップA6)。
【0099】
すなわち、近傍解生成部22は、更新した暫定解(すなわち評価条件ECを満たす近傍解NSの一つ)の一部の塩基を変更して新たな近傍解を生成する。
【0100】
ここで、新たな近傍解NS2のMFEを算出するにあたり、近傍解演算部23は、更新された評価テーブルTBと、新たな近傍解NS2で変更された一部の塩基に対応する一部領域の部分エネルギーとに基づいて、動的計画法により新たな近傍解NS2の最小自由エネルギーMFEを算出する。
これにより、塩基配列集合算出装置100は、評価条件ECを満たす近傍解を反復的に算出し、暫定解を繰り返し更新する。
【0101】
すなわち、図7に示したように、新たな近傍解NS2にかかる評価テーブルTBは、各塩基配列において、変更された一部の塩基に関する一部領域(再計算領域)を除いて、近傍解NSにかかる評価テーブルTBと共通である。したがって、配列ペアの一端(始端)側にあたる演算省略領域に関しては近傍解NSの評価テーブルTBを参照することで、部分最適性の式(14)の積算演算を省略する。そして、変更された塩基よりも他端(終端)側にあたる一部領域(再計算領域)のみ、部分最適性の式(14)を動的計画法で積算して、近傍解NS2にかかるMFEを算出する。
【0102】
すなわち、ステップA42およびステップA5において、近傍解NS2に属する多数の塩基配列sNEWと塩基配列s'との配列ペアのMFEを計算するにあたり、暫定解TSで演算済みの配列ペアのMFEに関しては再計算する必要はなく、評価テーブルTBを参照すればよい。
【0103】
また、最善解記憶部34と最善解評価記憶部35の更新が、入力部10に入力された数のループ数以上なされなかった場合は、暫定解記憶部31の中の塩基配列のうち、入力された配列本数だけをランダムな塩基配列に変化させ、暫定解評価記憶部32を更新する。これにより、式(16)の制約条件を満足する解が近傍解NS、NS2の近傍に存在しない場合でも、近傍解の反復的な更新を継続することができる。
【0104】
本実施形態によれば、データ処理装置である塩基配列集合算出装置100で読み取り可能であって、塩基配列集合算出装置100に各種動作を実行させる以下のプログラムが提供される。本実施形態のコンピュータプログラムは、情報記憶媒体に格納して提供することができる。
【0105】
すなわち、塩基配列集合算出装置100のためのコンピュータプログラムであって、
配列集合Sに属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、当該一対の塩基配列の最小自由エネルギーを算出する初期演算処理と、
上記の積算の過程の部分エネルギーと、塩基と、を対応づけた評価テーブルTBを記憶するテーブル記憶処理と、
配列集合Sに属する塩基配列のうち、所定の制約に違反する一対の塩基配列の少なくとも一方における一部の塩基を変更して配列集合Sの近傍解NSを生成する近傍解生成処理と、
上記一対の塩基配列の評価テーブルTBと、変更された塩基に対応する一部領域の部分エネルギーと、に基づいて、塩基が変更された上記の塩基配列と、配列集合Sに属する塩基配列との配列ペアの最小自由エネルギー(MFE)を動的計画法により算出する近傍解演算処理と、
近傍解NSにかかる最小自由エネルギーが所定の評価条件ECを満たすか否かを判定する近傍解評価処理と、
を塩基配列集合算出装置100に実行させるためのコンピュータプログラムである。
【0106】
なお本実施形態については種々の変形を許容する。
例えば、上記実施形態では確率的局所探索法を用いて近傍解を生成する場合を示したが、本発明はこれに限られない。具体的には、局所探索法に基づく設計アルゴリズムであり、かつ近傍の定義が配列中の一部の文字(例えば一文字)を変化させるものであれば、利用可能である。
【0107】
<第二実施形態>
図8は、本発明の第二実施形態にかかる塩基配列集合算出装置100のブロック図である。
本実施形態の塩基配列集合算出装置100は、ランダム解生成部26を有する点で第一実施形態(図1を参照)と相違する。
図9は、本実施形態の塩基配列集合算出装置100で実行される塩基配列集合算出方法のフローチャートである。
【0108】
本実施形態の塩基配列集合算出装置100は、近傍解生成部22が、配列集合Sに属する塩基配列からなる暫定解TSから、この暫定解TSに属するすべての塩基配列のそれぞれ一部の塩基を変更して、配列集合Sのサイズmと同数の近傍解NSを生成する。
そして、近傍解演算部23は、塩基が変更された塩基配列のそれぞれに対して、当該塩基配列と、配列集合Sに属する他の塩基配列との配列ペアの最小自由エネルギー(MFE)を動的計画法により算出する。
【0109】
また、本実施形態の塩基配列集合算出装置100において、評価部24は、近傍解NSにかかるMFEが評価条件ECを満たすか否かを、配列集合Sのサイズmと同数だけ行う。
そして、近傍解NSにかかるいずれのMFEも評価条件ECを満たさないと評価部24が判定した場合に、初期演算部21は、配列集合Sに属する新たな塩基配列をランダムに作成する。
【0110】
図8、9を用いて、本実施形態をさらに説明する。
入力部10からは、目的のDNA塩基配列の配列長n、配列集合Sのサイズmを入力する。また、パラメータとしてランダム生成ループ数が与えられる。
【0111】
初期演算部21では、入力パラメータの処理と、最善解記憶部34および最善解評価記憶部35の初期化とを含む初期演算を行う(図9:ステップB1)。
【0112】
ランダム解生成部26では、入力された配列長nと集合サイズmの配列集合Sであるランダム解RSを初期解として生成し(図9:ステップB2)、この配列集合Sの評価計算を行う。ランダム解RSは、配列長nのm個の塩基配列の群である。
【0113】
本実施形態では、評価条件ECとして、配列集合S中の配列ペアの最小自由エネルギー(MFE)と制約定数との差:
Value(S)≡min{ΔGww(S)−tww,0}+min{ΔGwc(S)−twc,0}+min{ΔGcc(S)−tcc,0} (17)
を用いる。この値は0が最大であり、大きいほど評価がよい。より具体的には、近傍解NSに関するValue(NS)が、比較対象である最善解OPに関するValue(OP)よりも大きい場合に、近傍解NSが評価条件ECを満たしたものとする。
【0114】
ランダム解生成部26は、初期解にあたるランダム解RSのすべての配列ペアについて動的計画法でMFEを計算し、評価条件ECのValue(S)を算出する。そして、ランダム解生成部26は、算出されたValue(S)を暫定解評価記憶部32および最善解評価記憶部35に格納する。また、ランダム解生成部26は、生成したランダム解RSの配列集合Sを暫定解記憶部31および最善解記憶部34に格納する。
【0115】
さらに、ランダム解生成部26は、ランダム解RSの各配列ペアのMFEを動的計画法で算出する過程で用いた評価テーブルTBをテーブル記憶部33に格納する(図9:ステップB3)。
【0116】
つぎに、近傍解生成部22では、暫定解記憶部31を入力とし、近傍の定義に従い、配列集合S中の配列の一文字を別の文字に置き換えることで得られる配列集合を、近傍解NSとして生成する(図9:ステップB4)。
【0117】
近傍解NSには、配列集合S中の任意の塩基配列sの文字を一部(例えば、一文字)変化させることで得られる配列集合を要素とする群を用いる。また、局所探索法でのランダム多スタートと呼ばれる手法を適用し、多数のランダム解RSに対してそれぞれ塩基の一部を変化させて近傍解NSを生成する。
【0118】
本実施形態の近傍解生成部22は、ランダム解RSに属する総ての塩基配列sについて、配列長nの塩基(例えば、アデニン(A))を、他の塩基(チミン(T)・グアニン(G)・シトシン(C))にそれぞれ変更することで、多数の新たな塩基配列を近傍解NSとして生成する。
【0119】
具体的には、配列長n=12、集合サイズm=50とすると、近傍解生成部22は、12×50×3=1800個の塩基配列sNEWをからなる近傍解NSを生成する。
【0120】
近傍解演算部23は、全ての近傍解NSにかかるMFEを動的計画法でそれぞれ算出する。このとき、ランダム解生成部26がテーブル記憶部33に格納した評価テーブルTBを参照して、動的計画法の積算演算の一部を省略する。
【0121】
具体的には、1800個の塩基配列sNEWと他の塩基配列s'との配列ペアのMFEについては、図7に示したように一部(演算省略領域)の積算演算を省略する。
そして、ランダム解生成部26に塩基変更されていない塩基配列s'同士の配列ペアについては、評価テーブルTBを参照するだけでMFEが取得でき、動的計画法による積算演算は不要である。
【0122】
これにより、本実施形態のように多数の塩基配列sNEWが近傍解NSとして生成された場合でも、動的計画法によるMFEの算出にあたって演算の過負荷が生じることが回避される。
【0123】
評価部24は、上記の評価条件で評価を行い、暫定解評価記憶部32よりも良い評価の解(改善解)が存在するか否か、すなわち、Value(OP)よりも大きなValue(NS)が算出されるか否か、を判定する(図9:ステップB5)。
【0124】
より良い評価の解(改善解)が存在した場合(図9:ステップB5=YES)は、評価部24は、改善解および評価結果を、それぞれ暫定解記憶部31および暫定解評価記憶部32に格納する。
また、このとき、テーブル更新部25は、当該改善解の評価に用いた評価テーブルTBをテーブル記憶部33に格納する(図9:ステップB6)。
【0125】
評価部24は、暫定解評価記憶部32が最善解評価記憶部35より良い場合に、最善解記憶部34と最善解評価記憶部35に、暫定解記憶部31と暫定解評価記憶部32の値を格納する。その後、ステップB4へ戻り、新たな近傍解NSを生成する(図9:ステップB6)。
【0126】
より良い評価の解が存在しない場合(図9:ステップB5=NO)は、その解は局所最適解となるため、探索を打ち切る。
この打ち切りの回数が、入力部10に入力されたランダム生成ループ数を超えていないかを判定する(図9:ステップB7)。超えていない場合(図9:ステップB7=NO)はステップB2へ戻り、ランダム解生成部26により新たなランダム解RSを作成する。
【0127】
ランダム生成ループ数を超えている場合(図9:ステップB7=YES)は、最善解記憶部34の解(改善解)を出力部40に出力する(図9:ステップB8)。
【0128】
以上、第一および第二実施形態の塩基配列集合算出装置100によれば、所定の評価条件ECを満たす塩基配列が反復的に算出される。ここで、所定の反復回数ごとに式(16)の制約定数をゼロに近接させていくことで、配列集合S中の塩基配列は、任意の配列ペアのMFEの閾値が徐々に高められていくため、例えばDNAコンピュータに適した自律的に反応しやすい人工的な塩基配列が求まる。
一方、本実施形態の塩基配列集合算出装置100においては、制約定数を固定値とし、集合サイズmを非固定値として、所定の評価条件ECを満たす塩基配列のすべてを出力してもよい。これにより、例えばDNAコンピュータに用いられる多数の塩基配列を算出することができる。
【符号の説明】
【0129】
10 入力部
20 データ処理部
21 初期演算部
22 近傍解生成部
23 近傍解演算部
24 評価部
25 テーブル更新部
26 ランダム解生成部
30 記憶部
31 暫定解記憶部
32 暫定解評価記憶部
33 テーブル記憶部
34 最善解記憶部
35 最善解評価記憶部
40 出力部
50 バス
100 塩基配列集合算出装置

【特許請求の範囲】
【請求項1】
配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算手段と、
前記初期演算手段による前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶しておくテーブル記憶手段と、
前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成手段と、
前記テーブル記憶手段に記憶された前記一対の塩基配列の前記評価テーブルと、前記近傍解生成手段により変更された前記塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する前記塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算手段と、
前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する評価手段と、を備える塩基配列集合算出装置。
【請求項2】
前記初期演算手段は、前記一対の塩基配列の一端から他端に向けて局所的な前記部分エネルギーを動的計画法により積算し、
前記近傍解演算手段は、
前記一対の塩基配列の前記一端から、前記近傍解生成手段により変更された前記一部の塩基までの前記部分エネルギーの積算値を、前記評価テーブルを参照して取得し、
前記一部の塩基から前記他端までの前記一部領域の積算値を、動的計画法により局所的な部分エネルギーを積算して算出することを特徴とする請求項1に記載の塩基配列集合算出装置。
【請求項3】
前記テーブル記憶手段が、前記近傍解演算手段による前記積算の過程の部分エネルギーと、前記近傍解を構成する塩基と、を対応づけて記憶しており、
前記近傍解にかかる前記最小自由エネルギーが前記評価条件を満たすと前記評価手段が判定した場合に、前記評価テーブルの前記一部領域を前記近傍解の部分エネルギーに更新するテーブル更新手段をさらに備える請求項1または2に記載の塩基配列集合算出装置。
【請求項4】
前記近傍解生成手段が、前記評価条件を満たす前記近傍解に属する塩基配列の一部の塩基を変更して新たな近傍解を生成し、
前記近傍解演算手段が、更新された前記評価テーブルと、前記新たな近傍解で変更された前記一部の塩基に対応する一部領域の部分エネルギーとに基づいて、動的計画法により前記新たな近傍解にかかる最小自由エネルギーを算出することにより、
前記評価条件を満たす近傍解を反復的に算出することを特徴とする請求項3に記載の塩基配列集合算出装置。
【請求項5】
塩基同士が互いに結合しているときの部分エネルギーが前記評価テーブルに与えられている当該塩基の対の少なくとも一方を、互いに相補的でない他の塩基に変更して生成された前記近傍解について、前記評価手段が優先的に前記判定を行うことを特徴とする請求項1から4のいずれか一項に記載の塩基配列集合算出装置。
【請求項6】
前記評価条件を最も満たす解を最善解として記憶しておく最善解記憶手段をさらに備え、
前記近傍解生成手段は、前記最善解に属する一の塩基配列の一部の塩基を変更した新たな塩基配列と、他のすべての塩基配列と、をそれぞれ対にしてなる複数の配列ペアを生成し、
前記近傍解演算手段は、複数の前記配列ペアの最小自由エネルギーをそれぞれ算出し、
算出された複数の最小自由エネルギーが前記評価条件を満たすと前記評価手段が判定した場合であって、さらに、記憶された前記最善解と比較して前記最小自由エネルギーの評価結果が改善された場合に、前記最善解記憶手段は、変更前の前記塩基配列に代えて新たな前記塩基配列を前記最善解として記憶することを特徴とする請求項1から5のいずれか一項に記載の塩基配列集合算出装置。
【請求項7】
前記近傍解生成手段が、前記配列集合に属する塩基配列からなる暫定解から、前記暫定解に属するすべての塩基配列のそれぞれ一部の塩基を変更して、前記配列集合のサイズと同数の前記近傍解を生成し、
前記近傍解演算手段が、塩基が変更された前記塩基配列のそれぞれに対して、当該塩基配列と、前記配列集合に属する他の塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出することを特徴とする請求項1から6のいずれか一項に記載の塩基配列集合算出装置。
【請求項8】
前記評価手段は、前記近傍解にかかる前記最小自由エネルギーが前記評価条件を満たすか否かを、前記配列集合のサイズと同数だけ行い、
前記近傍解にかかるいずれの前記最小自由エネルギーも前記評価条件を満たさないと前記評価手段が判定した場合に、前記初期演算手段は、前記配列集合に属する新たな塩基配列をランダムに作成することを特徴とする請求項7に記載の塩基配列集合算出装置。
【請求項9】
配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算ステップと、
前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶しておくテーブル記憶ステップと、
前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成ステップと、
前記一対の塩基配列の前記評価テーブルと、変更された前記塩基に対応する一部領域の部分エネルギーとに基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算ステップと、
前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する近傍解評価ステップと、
を含む塩基配列集合算出方法。
【請求項10】
塩基配列集合算出装置のためのコンピュータプログラムであって、
配列集合に属する任意の一対の塩基配列を構成する塩基同士の局所的な部分エネルギーを動的計画法により積算して、前記一対の塩基配列の最小自由エネルギーを算出する初期演算処理と、
前記積算の過程の部分エネルギーと、前記塩基と、を対応づけた評価テーブルを記憶するテーブル記憶処理と、
前記塩基配列の少なくとも一部の塩基を変更して前記配列集合の近傍解を生成する近傍解生成処理と、
前記一対の塩基配列の前記評価テーブルと、変更された前記塩基に対応する一部領域の部分エネルギーと、に基づいて、塩基が変更された前記塩基配列と、前記配列集合に属する塩基配列との配列ペアの最小自由エネルギーを動的計画法により算出する近傍解演算処理と、
前記近傍解にかかる前記最小自由エネルギーが所定の評価条件を満たすか否かを判定する近傍解評価処理と、
を前記塩基配列集合算出装置に実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−186632(P2011−186632A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−49423(P2010−49423)
【出願日】平成22年3月5日(2010.3.5)
【出願人】(000164449)九州日本電気ソフトウェア株式会社 (67)
【Fターム(参考)】