(57)【特許請求の範囲】
【請求項１】
計算処理を実行するＣＰＵと、必要なプログラム及びデータを保持する記憶装置と、入出力インターフェイスと、これらを結合するバスとを備える複数のコンピューティングユニットと、   
ユーザがデータを入力する入力装置と、処理・制御部と、ユーザに示すデータを出力する出力装置と、必要なプログラム及びデータを保持する記憶装置と、入出力インターフェイスと、これらを結合するバスとを備え、前記それぞれのコンピューティングユニットに計算を分配し、且つ、前記各コンピューティングユニットの計算結果を統合する処理を実行するためのパーソナルコンピュータと、   
前記入出力インターフェイスを介して前記パーソナルコンピュータおよび前記コンピューティングユニット間のデータ転送を実行するネットワークとから構成される並列分散計算システムにおいて実行される、高分子結合予測システムであって、   
前記処理・制御部は、指定された稼動可能なコンピューティングユニットの数と、高分子の探索領域に関するデータとに基づいて、前記各コンピューティングユニットへの計算を分配し、さらに、前記各コンピューティングユニットの計算結果を統合する処理手順を実行する機能を有し、該処理手順を
（１）前記探索領域を分割する分割幅と、結合エネルギーを計算する探索回数とを決定するステップと、   
（２）前記探索領域の分割幅を用いて分割した前記探索領域の数と該分割領域の範囲を決定するステップと、   
（３）前記分割領域の数を用いて、前記分割領域を割り当てる並列分散環境における前記コンピューティングユニットの数を前記稼動可能なコンピューティングユニットの数の範囲内で決定するステップと、   
（４）前記分割領域の数、前記探索回数、並びに、前記分割領域を割り当てるコンピューティングユニットの数を用いて、前記各コンピューティングユニットに割り当てる分割領域の数と分割領域を決定するステップと、   
（５）前記各コンピューティングユニットに割り当てた前記各分割領域において、前記結合エネルギーを計算する前記分割領域内の探索点を決定するステップと、
（６）前記ステップ（４）、ステップ（５）で決定した前記各コンピューティングユニットに前記結合エネルギーを計算するために割り当てた前記各探索点のデータを送信し、前記各コンピューティングユニットで計算した前記各探索点における前記結合エネルギーとエネルギー勾配ベクトルを受信する通信制御のステップと、
（７）前記ステップ（６）にて受信した前記各コンピューティングユニットで計算された前記結合エネルギーの極小値と前記全コンピューティングユニットで計算された前記極小値の中の最小値を決定するステップと、   
（８）前記分割領域内における前記結合エネルギーの極小値の収束性から反復計算を実行するか否かを判定する、または、前記探索回数が所定値を越えたことで前記反復計算を否とするステップと、
（９）前記反復計算を実行する場合は前記ステップ（５）に戻り、前記反復計算を終了する場合は、前記高分子の結合エネルギーの最小値と前記高分子の結合構造に対する原子座標のデータを前記出力装置に出力するするステップと、よりなるものとし、   
前記各コンピューティングユニットにおける処理を、前記ステップ（６）で前記探索点のデータを受信し、指定された前記探索点について前記高分子の結合エネルギーと前記エネルギー勾配ベクトルを計算するステップとする 
ことを特徴とする高分子結合予測システム。
【請求項２】
前記パーソナルコンピュータの機能のうち、前記各コンピューティングユニットへ計算を分配し、さらに、前記各コンピューティングユニットの計算結果を統合する前記処理手順を、前記コンピューティングユニットの一つに分担させる請求項１に記載の高分子結合予測システム。   
【請求項３】
前記パーソナルコンピュータおよび前記コンピューティングユニットが単体の計算機で構成されている請求項１に記載の高分子結合予測システム。   
【請求項４】
前記ネットワークには、前記コンピューティングユニットのうち稼動可能なコンピューティングユニットの数、該稼動可能なコンピューティングユニットの処理性能、および、前記ネットワークのスピードの情報を収集して、前記前記パーソナルコンピュータに提供する前記並列分散計算システムの管理ユニットが設けられている請求項１に記載の高分子結合予測システム。   
【請求項５】
前記探索領域を分割する前記分割幅と前記結合エネルギーを計算する前記探索回数とを決定するステップが、 
前記探索領域を分割する前記分割幅に応じた前記各コンピューティングユニット上に平均的に割り当てた分割した並進領域の数と該分割並進領域において前記結合エネルギーの極小値を直線探索する回数との積が最小となる分割幅ΔＷｏｐｔを前記分割幅として選択し、該分割幅における探索回数を前記探索回数として選択するものである請求項１に記載の高分子結合予測システム。   
【請求項６】
前記探索領域の分割幅を用いた前記分割領域における前記探索回数の予測が、前記エネルギー勾配ベクトル方向の直線上の探索点において結合エネルギーを計算し、該結合エネルギーが最小となる直線上の探索点においてエネルギー勾配ベクトルの計算を繰り返し、前記結合エネルギーの極小値を求めるまでの前記直線探索の回数を前記探索回数の予測値とする請求項５に記載の高分子結合予測システム。   
【請求項７】
前記直線探索の回数は、前記探索領域の分割幅、および、前記結合エネルギーの極小値位置からの距離に対して二次関数であるエネルギー領域の距離を用いて前記予測する分割領域の探索回数を決定する請求項６に記載の高分子結合予測システム。   
【請求項８】
前記結合エネルギーの極小値の存在する座標位置からの結合エネルギーが距離に対する二次関数となるエネルギー領域の半径Ｒｔの大きさが、当該システムにデフォルトとして準備されるかまたはユーザによって指定される請求項７に記載の高分子結合予測システム。   
【請求項９】
前記分割領域の数が前記入力装置から入力した稼動可能なコンピューティングユニットの数より少ないときは、前記分割領域を割り当てるべきコンピューティングユニットの数として前記分割領域の数を設定し、前記分割領域の数が前記入力装置から入力した稼動可能なコンピューティングユニットの数より大きいときは、前記分割領域を割り当てるべきコンピューティングユニットの数を前記稼動可能なコンピューティングユニットの数に設定する請求項５に記載の高分子結合予測システム。   
【請求項１０】
前記稼動可能なコンピューティングユニットの数が、当該システムに備えられる前記並列分散計算システムの管理ユニットから与えられるデータまたはユーザが前記管理ユニットから与えられるデータを参照して決めた値とする請求項９に記載の高分子結合予測システム。   
【請求項１１】
前記稼動可能なコンピューティングユニットの数に応じて設定された前記分割領域の数、前記分割領域の探索回数、前記分割領域を割り当てるべきコンピューティングユニットの数を用いて、前記各コンピューティングユニットに割り当てる前記分割領域の数と前記分割領域の範囲を決定する請求項９に記載の高分子結合予測システム。   
【請求項１２】
前記並列分散計算システムの前記管理ユニットが提供する前記稼動可能なコンピューティングユニットの数、前記稼動可能なコンピューティングユニットの処理性能に応じて、前記各コンピューティングユニットの処理性能を同一処理性能に換算したコンピューティングユニットに換算したコンピューティングユニットの数を導出して、前記各コンピューティングユニットに割り当てる前記分割領域の数と前記分割領域の範囲を決定する請求項４に記載の高分子結合予測システム。   
【請求項１３】
前記各コンピューティングユニットに割り当てた前記分割領域において、該分割領域に内在する探索点の１点において、前記結合エネルギーに対する前記エネルギー勾配ベクトルを計算し、そのエネルギー勾配ベクトル方向の直線上に存在し、且つ、前記分割領域内に存在する前記結合エネルギーを計算すべき前記探索点を設定する請求項１に記載の高分子結合予測システム。 
【請求項１４】
前記各コンピューティングユニットに割り当てた前記分割領域と該分割領域に内在し前記結合エネルギーを計算する探索点のデータを、前記並列分散計算システム上の前記結合エネルギーと前記エネルギー勾配ベクトルを計算する前記コンピューティングユニットに送信し、また、反対に、前記各コンピューティングユニットで計算した前記探索点における前記結合エネルギーと前記エネルギー勾配ベクトルを受信する請求項１に記載の高分子結合予測システム。 
【請求項１５】
前記各コンピューティングユニットで前記分割領域内の前記探索点に対応して計算した前記結合エネルギーの極小値と前記全コンピューティングユニットで計算した前記極小値の中の最小値を決定する請求項１に記載の高分子結合予測システム。   
【請求項１６】
前記各コンピューティングユニットに割り当てた前記分割領域内の前記探索点の決定から前記結合エネルギーの極小値と最小値の決定までを、予測された前記分割領域の探索回数以上の反復計算で実行し、且つ、前記結合エネルギーの極小値と前回の反復計算において求めた前記結合エネルギーの極小値の差分が閾値エネルギー以下に収束するまで、前記反復計算を実行する請求項１に記載の高分子結合予測システム。   
【請求項１７】
前記各コンピューティングユニットにおいて、前記パーソナルコンピュータの前記処理・制御部の通信制御ステップで当該コンピューティングユニットに割り当てられた前記分割領域内の探索点を受信し、前記高分子の位置に対して並進操作と回転操作を行い、前記並進操作と前記回転操作を行った前記高分子の原子座標に対して、前記結合エネルギーと前記エネルギー勾配ベクトルを計算し、前記結合エネルギーと前記エネルギー勾配ベクトルの計算結果を前記通信制御ステップを介して前記パーソナルコンピュータの前記処理・制御部に送信する請求項１に記載の高分子結合予測システム。   
【請求項１８】
前記パーソナルコンピュータの前記入力装置を介して、前記高分子の結合構造として水分子中の蛋白質と化合物の結合構造を対象に、前記化合物に対する並進操作と前記化合物に対する回転操作の前記探索領域が入力される請求項１に記載の高分子結合予測システム。   
【請求項１９】
前記エネルギー勾配ベクトルとして、前記並進操作に対しては前記探索点における前記高分子に働く力を計算し、前記回転操作に対しては前記探索点における前記高分子に働くトルクを計算する請求項１８に記載の高分子結合予測システム。   
【請求項２０】
前記エネルギー勾配ベクトルの計算における前記並進操作の並進幅ｄｗおよび前記回転操作の分割角度幅はデフォルトとして当該システム側で準備され、あるいは、ユーザが前記入力装置を介して設定できる請求項１８に記載の高分子結合予測システム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、創薬シミュレーションシステム、並びに、生体高分子間の相互作用を計測する質量分析やプロティンチィップなどの解析システムを適用対象とし、高分子の結合を予測するシステムに関する。この種のシミュレーションの計算処理と解析処理を高速化するためには、並列分散計算システムを用いた並列分散環境が効果的であるが、単体の計算機においても本発明は有用である。
【背景技術】
【０００２】
ポストゲノム時代では、ゲノム情報から得られた蛋白質やＤＮＡおよびＲＮＡを対象に、その高分子の生体機能を促進または阻害する薬剤として化合物分子構造の開発が行われている。例えば、標的となる蛋白質に対して、化合物の分子種、反応基や骨格構造を変化させて、蛋白質と結合強度が高くなるように化合物分子構造を設計する。創薬シミュレーションシステムでは、蛋白質と化合物における多数の配置構造に対して結合エネルギーを計算する。その結合エネルギーが最小となる結合構造を探索することで、化合物分子構造の最適設計を行う。この蛋白質と化合物の結合エネルギーが最小となる結合構造を高速に探索できれば、標的蛋白質に対する化合物分子構造の開発期間を短縮することが可能である。また、実験的に化合物分子を試作し蛋白質との結合強度を測定するコストを削減することができる。
【０００３】
図１９〜図２１は、創薬シミュレーションが並列分散環境で行われる並列分散計算システムの一般的な構成例を示す図である。
【０００４】
図１９は、計算処理の単位となるコンピューティングユニット１９０３が、計算処理を実行するコンピューティングプロセッサユニット１９０１と計算処理を実行するために必要な入力データ、または、計算処理を実行し得られた出力データを記憶するメモリユニット１９０２により構成されている状態を示す。また、この計算処理の単位となるコンピューティングユニット１９０３は、これらの間のデータ転送を実行するデータ転送ネットワーク１９０４，１９０５で格子状に結合されていることを示す。データ転送ネットワークの一つに制御のためのパーソナルコンピュータ１００が接続される。このパーソナルコンピュータ１００はシミュレーションの対象データの入力、コンピューティングユニット１９０３への計算の分配および各コンピューティングユニット１９０３間および各コンピューティングユニット１９０３の計算結果の集計等の処理を行う。また、システムには、例えば、パーソナルコンピュータ１００とネットワークの接続点に並列分散計算システムの管理ユニット１９０６が備えられ、システム全体で稼動可能なプロッセサ数ＮＰＥ、接続可能なコンピューティングユニットのプロセッサ機種、あるいは、ネットワークのスピード等の情報を収集してパーソナルコンピュータ１００に提供する。
【０００５】
図２０は、コンピューティングユニットがパーソナルコンピュータのクラスタ、または、ワークステーションのクラスタ２００１から成り、そのマシン間のデータ転送を実行するインサーネット２００２でリング状に接続されたデータ転送ネットワークから構成される構成例を示す図である。ここでも、データ転送ネットワークのインサーネット２００２に制御のためのパーソナルコンピュータ１００が接続される。ここでも、並列分散計算システムの管理ユニット２００３が備えられる。
【０００６】
図２１は、コンピューティングユニットが複数の超並列機２１０３とパーソナルコンピュータのクラスタとワークステーションのクラスタ２００１を高速なデータ転送を実行する高速ネットワーク２１０２で接続したグリッドマシン２１０１からなり、複数のグリッドマシン２１０１の間も高速ネットワーク２１０２でリング状に接続した広域分散環境での構成例を示す図である。ここでも、データ転送ネットワークの高速ネットワーク２１０２に制御のためのパーソナルコンピュータ１００が接続されるとともに、並列分散計算システムの管理ユニット２００３が備えられる。
【０００７】
図２２は、このような並列分散計算システム上で高分子の結合構造を予測するシミュレーションを行う従来システムの一例の処理機能に着目した概念図を示す。１００は、図１９〜２１で説明した並列分散計算システムのパーソナルコンピュータに対応し、ユーザがシミュレーションのデータを入力するための入力装置１０１、入力されたデータから各コンピューティングユニット１０４に結合エネルギーの計算を分配するための処理を実行するため、および、各コンピューティングユニットに分配して結合エネルギーの計算を行った結果を統合するための処理を実行するための処理・制御部１０２、処理・制御部１０２の動作状況あるいは統合したデータを表示するための出力装置１０３とから構成される。１０４は、図１９〜２１で説明した並列分散計算システムの各コンピューティングユニットであり、制御のためのパーソナルコンピュータ１００の与える情報に応じた計算を行い、パーソナルコンピュータ１００に計算結果を報告する。また、１０５は図１９〜２１で説明した並列分散計算システムの管理ユニットである。これらパーソナルコンピュータ１００、コンピューティングユニット１０４、および、並列分散計算システムの管理ユニット１０５は、一点鎖線で示し、相互に必要なデータの交換ができるという意味で太線で結んで示した。また、処理・制御部１０２の処理ステップとコンピューティングユニット１０４の処理ステップとの関連は細い実線で結んで示した。
【０００８】
ユーザは、ゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子、例えば、水分子中の蛋白質と化合物の結合構造に対する探索領域、並びに、探索領域を分割する分割領域の数を入力する（ステップ２２１１）。また、探索領域を分割した分割領域の計算を分配する稼動可能なコンピューティングユニット数ＮＰＥを入力する（ステップ２２１２）。ここで、稼動可能なコンピューティングユニットの数ＮＰＥの数は、前記並列分散計算システムの管理ユニット１０５から提供されるデータを使用しても良いし、これより小さい数をユーザが入力装置１０１から指定しても良い。各コンピューティングユニットの出力データは、水分子中の蛋白質と化合物の結合構造に対する最小の結合エネルギーと結合構造における蛋白質と化合物と水分子の原子座標データであり、出力装置１０３はこれをユーザに見やすい形の画像あるいは数値データとして出力し、表示装置に表示する。
【０００９】
並列分散計算システムのコンピューティングユニットで結合エネルギーを計算し、その計算結果を集計する手順を説明する。２２４１は、探索領域を分割した分割領域の数と分割領域を分担するコンピューティングユニットの数ＮＰＥを用いて、各コンピューティングユニットに分配する分割領域の数を決定するステップである。２２４２は、各コンピューティングユニットに割り当てた分割領域において、結合エネルギーを計算する分割領域内の探索点を決定するステップである。２２４３は、通信制御のステップであり、ステップ２２４１，２２４２で決定した各コンピューティングユニットに結合エネルギーを計算するために割り当てた各探索点のデータを送信する。また、反対に、各コンピューティングユニットで計算した各探索点における結合エネルギーを受信する。２２４４は、ステップ２２４３にて受信した、各コンピューティングユニット１０４で計算した結合エネルギーの極小値と全コンピューティングユニットで計算した極小値の中の最小値を決定するステップである。２２４５は、分割領域内における結合エネルギーの極小値の収束性から反復計算を実行するか否かを判定するステップである。
【００１０】
反復計算を実行する場合はステップ２２４２に戻る。反復計算を終了する場合は、水分子中の蛋白質と化合物の結合エネルギーの最小値と結合構造に対する原子座標データを出力装置１０３に送る。
【００１１】
各コンピューティングユニットに分配した分割領域における蛋白質と化合物の結合エネルギーを計算するステップ２２４２について、図２３を参照してモンテカルロ法を用いた計算手順を説明する。図２３は、並進操作や回転操作による化合物と蛋白質の探索領域における結合エネルギーの概念図である。並進や回転の探索領域に応じて結合エネルギーは複雑な山と谷の形状を示す。モンテカルロ法では、化合物と蛋白質のある配置位置と結合エネルギーをもとに、乱数を用いて並進操作と回転操作による新しい配置構造を形成し、その結合エネルギーを計算する。元の配置位置に対する新しい配置位置の結合エネルギー差をΔＥとすれば、新しい配置構造に遷移する確率Ｐ（ΔＥ）は式（１）をもとに得られる。
【００１２】
【数１】
0004589248.tif 000002
ここで、ｋＢはボルツマン係数、Ｔは絶対温度である。また、Ｐｔｈの確率で新しい配置構造に遷移するまでの探索回数は式（２）で与えられる。
【００１３】
【数２】
0004589248.tif 000003
図２２の従来システムを利用した一例として、非特許文献１に示したように、グリッドコンピュータを利用した蛋白質立体構造の予測に関する研究が行われた。本研究では、多種の蛋白質立体構造をもとに、蛋白質内の原子間相互作用の経験的エネルギーパラメータを決定するため、天然の蛋白質立体構造におけるエネルギーが最も低くなるように、経験的エネルギーパラメータを決定した。このとき、各種の蛋白質立体構造のエネルギー計算は独立なため、各コンピューテングユニットに分散した計算が行われた。
【非特許文献１】文部科学省 IT プログラム「スーパーコンピュータネットワークの構築」2002 年度研究計画と研究成果，「グリッドコンピュータを利用した蛋白質立体構造の予測に関する研究」（ｗｗｗ．ｂｉｏｇｒｉｄ．ｊｐ／ｐｒｏｊｅｃｔ／ｐｄｆ／ｃｏｍｐ５＿ＰＤＦ．ｐｄｆ）
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従来システムでは、ユーザは、ゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子について、入力装置１０１から探索領域と、探索領域を分割する分割領域の数を入力し、この入力された分割領域の数を用いて、探索領域の分割幅が設定される。この探索領域の最適な分割幅をユーザが決めることは極めて難しい。探索領域の分割幅が大き過ぎれば、探索領域における結合エネルギーは多数の山と谷の形状を含むことから、結合エネルギーの差分で表される式（２）の探索回数が増大する。分割幅が大き過ぎずに探索回数を低減することが課題である。一方、探索領域の分割幅が小さくなれば、分割領域の数が増大する。小さな分割領域の探索回数は、各分割領域に含まれた結合エネルギーの山と谷の数と結合エネルギーの差分に依存することから、分割領域の探索回数は一様に減少しない。探索領域の分割幅をむやみに小さくすると、分割領域の数に応じて探索回数は増大し、結合エネルギーの差分の大きい分割領域は多くの探索回数が必要となる。従って、分割幅が小さ過ぎることなく、探索回数を削減することが課題である。
【００１５】
探索領域の分割幅には、探索回数を最小にする分割幅が存在すると考えられるが、ユーザが最適な分割幅を設定することは不可能である。すなわち、従来のやり方では、ユーザは、システムの使用経験やシミュレーション対象の高分子についての理解等から、適当と思う分割幅からスタートして、試行錯誤的に変えてみながらシステムを使用して予測することにならざるを得ない。本発明では、ユーザが分割幅を設定するのに代えて、シミュレーションシステムにより自動的に分割領域の分割幅を設定し、結合エネルギーの最小値の計算処理を高速化することが目的である。
【課題を解決するための手段】
【００１６】
本発明は、並列分散計算システムを用いた創薬シミュレーションシステム、並びに、生体高分子間の相互作用を計測する質量分析やプロティンチィップなどの解析システムを適用対象として、高分子の結合構造と結合エネルギーのシミュレーションを高速化するために有用な高分子結合予測システムを提供する。
【００１７】
本発明は、先にも述べたように、単体の計算機においても有用であるが、以下の説明では、並列分散環境における高分子結合予測シミュレーションを前提として説明する。
【００１８】
本発明では、ユーザは、ゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子について、制御のためのパーソナルコンピュータ１００の入力装置１０１から高分子の結合エネルギーを計算する探索領域と、稼動可能なコンピューティングユニットの数ＮＰＥの数を指定するのみで高分子結合予測システムを実施可能とする。このためシステムの処理手順は以下のように構成した。
【００１９】
制御のためのパーソナルコンピュータ１００においては、
（１）高分子の探索領域を分割する分割幅と、探索領域を分割した分割領域における探索回数を決定する。
（２）探索領域を分割する分割領域の数を決定する。
（３）分割領域を割り当てるべきコンピューティングユニットの数を決定する。
（４）各コンピューティングユニットに分割領域を割り当てる。
（５）分割領域内の探索点を決定する。
（６）探索点のデータを結合エネルギーとエネルギーの勾配ベクトルを計算する並列分散計算システム上のコンピューティングユニットに送信し、コンピューティングユニットから結合エネルギーとエネルギーの勾配ベクトルのデータを受信する通信を制御する。
（７）分割領域における結合エネルギーの極小値と探索領域における最小値を決定する。
（８）結合エネルギーの収束性を判断する。
【００２０】
また、並列分散計算システムの各コンピューティングユニット上において、
（９）前記パーソナルコンピュータ１００の処理手順６により送信される探索点のデータから分割領域内の探索点における結合エネルギーとエネルギーの勾配ベクトルを計算する。
（１０）前記計算の結果を前記パーソナルコンピュータ１００の処理手順（６）に従って前記パーソナルコンピュータ１００に送信する。
【発明の効果】
【００２１】
本発明によれば、ユーザは探索領域と稼動可能なコンピューティングユニットの数を入力すれば良く、探索領域の分割幅を設定する必要はない。探索領域の分割幅は高分子結合予測システムで自動設定することができ、探索領域の分割数を最適化して結合エネルギーの最小値の計算処理を高速化することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２３】
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する場合がある。
【００２４】
（システムの基本構成）
並列分散計算システムの一般的な構成例として、図１９〜２１に並列分散環境を超並列機やＰＣクラスタで構成し、これらをパーソナルコンピュータ１００で制御する例を示した。本発明の高分子結合予測システムにおいても、並列分散計算システムの構成としてはこれらと同じシステム構成とする。
【００２５】
図１は、本発明の高分子結合予測システムの基本構成を示す概念図である。図１において、１００は、図１９〜２１で説明した並列分散計算システムのパーソナルコンピュータに対応し、本発明の高分子結合予測システムの制御のためのパーソナルコンピュータである。シミュレーションのデータを入力するための入力装置１０１、入力されたデータから各コンピューティングユニット１０４に結合エネルギーの計算を分配するための処理を実行するため、および、各コンピューティングユニットに分配して結合エネルギーの計算を行った結果を統合するための処理を実行するための処理・制御部１０２、処理・制御部１０２の動作状況あるいは統合したデータを表示するための出力装置１０３とから構成される。ここで、パーソナルコンピュータ１００は、必要なプログラム、データを保持するためのディスクあるいはメモリー等の記憶装置、あるいは、ユーザとのインターフェイスのための表示画像を生成する画像処理装置等を備えるが、これらを便宜上、入力装置１０１および出力装置１０３のブロックに表示した。１０４は、図１９〜２１で説明した並列分散計算システムの各コンピューティングユニットであり、制御のためのパーソナルコンピュータ１００の与える情報に応じた計算を行い、パーソナルコンピュータ１００に計算結果を報告する。また、１０５は図１９〜２１で説明した並列分散計算システムの管理ユニットである。これらパーソナルコンピュータ１００、コンピューティングユニット１０４、および、並列分散計算システムの管理ユニット１０５は、一点鎖線で示し、相互に必要なデータの交換ができるという意味で太線で結んで示した。また、処理・制御部１０２の処理ステップとコンピューティングユニット１０４の処理ステップとの関連は細い実線で結んで示した。
【００２６】
ユーザは、入力装置１０１からゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子、例えば、水分子中の蛋白質と化合物の結合構造に対する探索領域、並びに、並列分散環境の超並列機やＰＣクラスタにおいて使用可能なコンピューティングユニットの数を入力する。
【００２７】
処理・制御部１０２では、入力装置１０１を介して導入されるシミュレーションの対象データを入力し、記憶装置に保持するとともに、上述した手順（１）〜（６）により、コンピューティングユニット１０４に結合エネルギーの計算のためのデータを分配する。各コンピューティングユニット１０４が分配されたデータに基づいて、上述した手順（９）〜（１０）により行った結合エネルギーの計算結果を、上述した手順（６）〜（８）により統合し、出力装置１０３に表示する。
【００２８】
出力データは、水分子中の蛋白質と化合物の結合構造に対する最小の結合エネルギーと結合構造における蛋白質と化合物と水分子の原子座標データを出力する。
【００２９】
また、処理・制御部１０２を、コンピューティングユニット１０４の一つに代行させて、各コンピューティングユニット１０４に結合エネルギーの計算を分配し、各コンピューティングユニットが行った結合エネルギーの計算結果を統合することもできる。
【００３０】
以下、パーソナルコンピュータ１００の処理・制御部１０２における各コンピューティングユニットへの結合エネルギーの計算の分配および計算結果の統合についての処理手順を説明する。１０２１は、化合物の原子座標の変更操作を行う範囲を表す探索領域において、探索領域を分割する分割幅と結合エネルギーを計算する探索回数を決定するステップである。１０２２は、探索領域の分割幅を用いて、分割した探索領域（以下では分割領域と呼ぶ）の数と分割領域の範囲を決定するステップである。１０２３は、分割領域の数を用いて、分割領域を割り当てる並列分散環境におけるコンピューティングユニットの数を決定するステップである。１０２４は、分割領域の数、探索回数、並びに、分割領域を割り当てる並列分散環境におけるコンピューティングユニットの数を用いて、各コンピューティングユニットに割り当てる分割領域の数と分割領域を決定するステップである。１０２５は、各コンピューティングユニットに割り当てた分割領域において、結合エネルギーを計算する分割領域内の探索点を決定するステップである。１０２６は、通信制御のステップであり、ステップ１０２４，１０２５で決定した各コンピューティングユニットに結合エネルギーを計算するために割り当てた各探索点のデータを送信する。また、反対に、各コンピューティングユニットで計算した各探索点における結合エネルギーとエネルギーの勾配ベクトルを受信する。１０２７は、ステップ１０２６にて受信した各コンピューティングユニットで計算した結合エネルギーの極小値と全コンピューティングユニットで計算した極小値の中の最小値を決定するステップである。１０２８は、分割領域内における結合エネルギーの極小値の収束性から反復計算を実行するか否かを判定するステップである。なお、この判定は、後述する実施例からも分かるように、探索回数があらかじめ分かることから、探索回数が、この値を超えたことで反復計算を否とすることにしてもよい。
【００３１】
反復計算を実行する場合はステップ１０２５に戻る。反復計算を終了する場合は、水分子中の蛋白質と化合物の結合エネルギーの最小値と結合構造に対する原子座標データを出力装置１０３に送る。
【００３２】
ステップ１０２９は、並列分散計算システムの各コンピューティングユニット１０４において、ステップ１０２６からの探索点のデータを受信し、指定された探索点について化合物の原子座標の変更操作を実行する。蛋白質の原子座標、水分子の原子座標、原子座標の変更操作した化合物の原子座標を入力として、蛋白質と化合物の結合エネルギーとエネルギー勾配ベクトル、すなわち、化合物に働く力と化合物に働くトルクを計算し出力する。出力された結合エネルギーと化合物に働く力と化合物に働くトルクを通信制御のステップ１０２６によってパーソナルコンピュータ１００に送信する。
【００３３】
（実施例１）
図２は、本発明による実施例１の高分子結合予測システムの構成を示す概念図であり、化合物の原子座標の並進操作による蛋白質との結合エネルギーの最小値を計算するステップの具体的な処理を説明する図である。全体的な構成は、図１に示す構成と同じであるが、図１の処理・制御部１０２および各処理ステップ１０２１−１０２９は処理内容の変更に応じて、処理・制御部１１２および各処理ステップ１１２１−１１２９とした。
【００３４】
ユーザは、ゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子、例えば、水分子中の蛋白質と化合物の結合エネルギーの最小値を探索するため、入力装置１０１から、化合物の原子座標の並進操作を行う範囲を表す探索領域（以下では並進探索領域）を入力する。図３に一例を示すように、蛋白質３０１における探索領域の中心位置３０２の座標値、および、立方体の形状をした探索領域である空間領域幅Ｗ３０３、および、並列分散環境の超並列機やＰＣクラスタの使用可能なコンピューティングユニットの数Ｎｐａを入力する。使用可能なコンピューティングユニットの数Ｎｐａはユーザが入力してもよいし、並列分散計算システムの管理ユニット１０５が提供するデータを採用してもよい。ここで、空間領域幅Ｗ３０３の中に示す小さい立方体の形状ΔＷは、後述する手法により決定された並進探索領域の分割幅ΔＷを持つ立方体を模式的に示す。
【００３５】
ステップ１１２１は、化合物の並進操作を行う並進探索領域において、結合エネルギーの極小値を直線探索する回数を最小にする分割幅とその直線探索の回数を決定する。
【００３６】
図４は、横軸に並進探索領域の分割幅、縦軸に直線探索回数または分割領域数（分割した探索領域数）を取って、各コンピューティングユニット上に平均的に割り当てた分割した並進領域（以下では分割並進領域）の分割幅に対する変化、分割幅に対する直線探索回数の変化および結合エネルギーの極小値を直線探索する回数の変化と最適な分割幅を示す図である。４０１は分割幅に応じて各コンピューティングユニット上に割り当てた分割並進領域の数の変化を示す線、４０２は分割幅に応じた直線探索回数の変化を示す線、４０３は分割幅に応じて各コンピューティングユニット上で結合エネルギーの極小値を直線探索する回数の変化を示す線である。並進探索領域の分割幅をΔＷとすれば、各コンピューティングユニットに平均的に割り当てた分割並進領域の数は（Ｗ／ΔＷ）３／Ｎｐａである。また、各分割並進領域において、エネルギーの勾配ベクトル方向、すなわち、化合物に働く力の方向の直線探索により結合エネルギーを計算し、結合エネルギーの極小値を見出すまでの直線探索の回数は式（３）に示したＦ（Ｘ）で与えられる。ここで、Ｘ＝ΔＷ／Ｒｔである。
【００３７】
図５は、分割した並進探索領域の二次元空間における結合エネルギーの例を示す図である。Ｒｔは、分割並進領域おいて、結合エネルギーの極小値の存在する座標位置５０１から半径Ｒｔの距離内では、結合エネルギーは距離に対する二次関数のエネルギー領域５０２であり、半径Ｒｔの距離以上では、結合エネルギーはランダムなエネルギー領域５０３である。半径Ｒｔの大きさは、システムとして準備することができるが、ユーザが入力するものとしてもよい。
【００３８】
並進探索領域の分割幅ΔＷに対する各コンピューティングユニット上で結合エネルギーの極小値を直線探索する回数の変化を示す線４０３は、これらの積（Ｗ／ΔＷ）３／Ｎｐａ×Ｆ（ΔＷ／Ｒｔ）で表される。従って、（Ｗ／ΔＷ）３／Ｎｐａ×Ｆ（ΔＷ／Ｒｔ）が最小となる分割幅ΔＷｏｐｔを選択すれば、並進探索領域Ｗの分割幅ΔＷｏｐｔ、並びに、各コンピューティングユニット上で結合エネルギーを計算し、結合エネルギーの極小値の直線探索回数が最小であるＮＩｔ＝Ｆ（ΔＷｏｐｔ／Ｒｔ）を決定することができる。
【００３９】
以下に、あるＸの値に対する式（３）に示した結合エネルギーの極小値を確率Ｐｔｈで見出すための直線探索の回数Ｆ（Ｘ）の求め方を説明する。
【００４０】
【数３】
0004589248.tif 000004
ここで、Ｐ１（Ｘ）は式（４）で与えられる。
【００４１】
【数４】
0004589248.tif 000005
ここで、ｘαｉ、ｙαｉ、ｚαｉ（ｉ＝１，２）は式（５）、θ３は式（６）で与えられる。
【００４２】
【数５】
0004589248.tif 000006
【００４３】
【数６】
0004589248.tif 000007
ここで、αｉ(θ,X）は、式（７）と式（８）、式（９）、式（１０）で与えられる。
【００４４】
【数７】
0004589248.tif 000008
【００４５】
【数８】
0004589248.tif 000009
【００４６】
【数９】
0004589248.tif 000010
【００４７】
【数１０】
0004589248.tif 000011
また、（ｘ１，ｙ１，ｚ１）、（ｘ２，ｙ２，ｚ２）、（ｘ３，ｙ３，ｚ３）は、式（１１）、式（１２）、式（１３）で与えられる。
【００４８】
【数１１】
0004589248.tif 000012
【００４９】
【数１２】
0004589248.tif 000013
【００５０】
【数１３】
0004589248.tif 000014
一方、Ｐ２（ｘ）は式（１４）で与えられる。
【００５１】
【数１４】
0004589248.tif 000015
ここで、β（θ，ｘ）は、式（１５）と式（１６）、式（１７）、式（１８）で与えられる。
【００５２】
【数１５】
0004589248.tif 000016
【００５３】
【数１６】
0004589248.tif 000017
【００５４】
【数１７】
0004589248.tif 000018
【００５５】
【数１８】
0004589248.tif 000019
ここで、θ１とθ２は式（１９）と式（２０）で与えられる。
【００５６】
【数１９】
0004589248.tif 000020
【００５７】
【数２０】
0004589248.tif 000021
ステップ１１２２は、並進探索領域Ｗの分割幅ΔＷｏｐｔを用いて、並進探索領域を分割した数と分割並進領域の範囲を決定する。並進探索領域の分割幅ΔＷｏｐｔにより、並進探索領域Ｗを分割した並進領域の数はＮｗ＝（Ｗ／ΔＷｏｐｔ）３である。分割した並進領域内の並進座標を（ｘ，ｙ，ｚ）とすれば、０≦ｘ≦ΔＷｏｐｔ，０≦ｙ≦ΔＷｏｐｔ，０≦ｚ≦ΔＷｏｐｔを分割並進領域Ｗ１、０≦ｘ≦ΔＷｏｐｔ，０≦ｙ≦ΔＷｏｐｔ，Ｗｏｐｔ≦ｚ≦２ΔＷｏｐｔを分割並進領域Ｗ２、−−−、（Ｗ−ΔＷｏｐｔ）≦ｘ≦Ｗ，（Ｗ−ΔＷｏｐｔ）≦ｙ≦Ｗ，（Ｗ−ΔＷｏｐｔ）≦ｚ≦Ｗを分割並進領域ＷＮｗと記す。
【００５８】
一般に、分割並進領域Ｗｎは、（ｎｘ−１）ΔＷｏｐｔ≦ｘ≦ｎｘΔＷｏｐｔ，（ｎｙ−１）ΔＷｏｐｔ≦ｙ≦ｎｙΔＷｏｐｔ，（ｎｚ−１）ΔＷｏｐｔ≦ｚ≦ｎｚΔＷｏｐｔで表され、ｎ＝１，２，−−−，Ｎｗ、ｎｘ，ｎｙ，ｎｚ＝１，２，−−−，Ｗ／ΔＷｏｐｔである。
【００５９】
このようにして、分割並進領域の数Ｎｗ、並びに、分割並進領域Ｗ１，Ｗ２，−−−，Ｗｎ，−−−，ＷＮｗの範囲を決定することができる。
【００６０】
ステップ１１２３は、分割並進領域の数Ｎｗを用いて、分割並進領域を割り当てる並列分散環境におけるコンピューティングユニットの数を決定する。分割並進領域の数Ｎｗが使用可能なコンピューティングユニットの数Ｎｐａよりも大きい場合は、分割並進領域を割り当てるコンピューティングユニットの数ＮｐはＮｐaである。一方、分割並進領域の数Ｎｗが使用可能なコンピューティングユニットの数Ｎｐａよりも小さい場合は、分割並進領域を割り当てるコンピューティングユニットの数ＮｐはＮｗである。このようにして、分割並進領域を割り当てる並列分散環境におけるコンピューティングユニットの数Ｎｐを決定することができる。
【００６１】
ステップ１１２４は、分割並進領域の数Ｎｗ、直線探索回数ＮＩｔ、並びに、分割並進領域を割り当てる並列分散環境におけるコンピューティングユニットの数Ｎｐを用いて、各コンピューティングユニットに割り当てる分割並進領域の数と分割並進領域を決定する。各分割並進領域に対する直線探索の回数はＮＩｔであることから、各コンピューティングユニットに割り当てる分割並進領域の数はほぼ均等化することが可能であり、割り当てた分割並進領域の数Ｎｄｔは［Ｎｗ／Ｎｐ］または［Ｎｗ／Ｎｐ］−１である。ここで、［＊＊］の形で得られる値は小数点を切り上げて整数とする。並列分散環境におけるＮｐ個のコンピューティングユニット毎に、分割並進領域Ｗ１，Ｗ２，−−−，ＷＮｗの中から任意に選択したＮｄｔ個の分割並進領域を割り当てる。
【００６２】
図６（ａ）は、ネットワーク２０４で結合されたコンピューティングユニット群２０３のコンピューティングユニットＰ１，Ｐ２，−−−，ＰＮＰのコンピューティングユニットＰ１に分割並進領域Ｗ１，Ｗ２，−−−，ＷＮｄｔを割り当て、コンピューティングユニットＰ２に分割並進領域ＷＮｄｔ＋１，ＷＮｄｔ＋２，−−−，Ｗ２Ｎｄｔを割り当て、−−−、コンピューティングユニットＰＮｐに分割並進領域ＷＮｐ（Ｎｄｔ−１）＋１，ＷＮｐ（Ｎｄｔ−１）＋２，−−−，ＷＮｐＮｄｔ（＝ＷＮｗ）を割り当てた様子を示している。一般に、コンピューティングユニットＰｍに割り当てた分割並進領域Ｗｎの範囲は、（ｎｘ−１）ΔＷｏｐｔ≦ｘ≦ｎｘΔＷｏｐｔ，（ｎｙ−１）ΔＷｏｐｔ≦ｙ≦ｎｙΔＷｏｐｔ，（ｎｚ−１）ΔＷｏｐｔ≦ｚ≦ｎｚΔＷｏｐｔである。ここで、ｍ＝１，２，−−−，Ｎｐ，ｎ＝１，２，−−−，Ｎｗ、ｎｘ，ｎｙ，ｎｚ＝１，２，−−−，Ｗ／ΔＷｏｐｔである。
【００６３】
また、並列分散計算システムにおけるコンピューティングユニットの処理性能が異なる場合について、各コンピューティングユニットに割り当てる分割並進領域の数と分割並進領域を決定した例を説明する。並列分散環境の超並列機やＰＣクラスタにおいて、使用可能なコンピューティングユニットの処理性能ＴＰ１，ＴＰ２，−−−，ＴＰＮｌとそのコンピューティングユニットの数Ｎｐａ，１，Ｎｐａ，２，−−−Ｎｐａ，Ｎｌを入力装置１０１から入力するか、あるいは、並列分散計算システムの管理ユニット１０５から得たデータを採用する。ここで、Ｎｌは使用可能なコンピューティングユニットの種類である。
【００６４】
結合エネルギーの極小値を直線探索する回数を最小にする分割幅とその直線探索の回数を決定するステップ１１２１において、上述した使用可能なコンピューティングユニットの数Ｎｐａに代えて、ΣＮｐａ，ｉ×｛ＴＰｉ／ＴＰｍｉｎ｝（ｉ＝１，２，−−−，Ｎｌ）を採用する。ここで、｛＊＊｝の形で得られる値は小数点を切り下げて表示した整数、ＴＰｍｉｎは同一の処理性能に換算する基準として、コンピューティングユニットにおける最小の処理性能である。
【００６５】
このように、使用可能なコンピューティングユニットの数Ｎｐａを等価的なコンピューティングユニットの数に置換して決定した分割幅ΔＷｏｐｔと直線探索回数ＮＩｔ、に対して、ステップ１１２２において分割並進領域の数Ｎｗを決定し、ステップ１１２３において分割並進領域を割り当てるべきコンピューティングユニットの数Ｎｐを決定する。ステップ１１２４において、各分割並進領域に対する直線探索の回数はＮＩｔであることから、各コンピューティングユニットに割り当てる分割並進領域の数はほぼ均等化することが可能である。
【００６６】
各コンピューティングユニットの処理性能を用いて、割り当てた分割並進領域の数Ｎｄｔ，ｉ＝［Ｎｗ／Ｎｐ］×Ｎｐａ，ｉ×｛ＴＰｉ／ＴＰｍｉｎ｝（ｉ＝１，２，−−−，Ｎｌ）である。並列分散環境におけるＮｌ個のコンピューティングユニット毎に、分割並進領域Ｗ１，Ｗ２，−−−，ＷＮｗの中から任意に選択したＮｄｔ，ｉ個の分割並進領域を割り当てる。
【００６７】
図６（ｂ）は、ネットワーク２０４で結合されたコンピューティングユニット群２０３のコンピューティングユニットＰ１，Ｐ２，−−−，ＰＮＰのコンピューティングユニットＰ１に分割並進領域Ｗ１，Ｗ２，−−−，ＷＮｄｔ，１を割り当て、コンピューティングユニットＰ２に分割並進領域Ｗ（Ｎｄｔ，１）＋１，Ｗ（Ｎｄｔ，１）＋２，−−−，Ｗ（Ｎｄｔ，１）＋Ｎｄｔ，２を割り当て、−−−、コンピューティングユニットＰＮｌに分割並進領域Ｗ（Ｎｄｔ，１＋ −−− ＋Ｎｄｔ，Ｎｌ−１）＋１，Ｗ（Ｎｄｔ，１＋ −−− ＋Ｎｄｔ，Ｎｌ−１）＋２，−−−，Ｗ（Ｎｄｔ，１＋ −−− ＋Ｎｄｔ，Ｎｌ−１）＋Ｎｄｔ，Ｎｌ（＝ＷＮｗ）を割り当てた様子を示している。
【００６８】
ステップ１１２５は、コンピューティングユニットに割り当てた分割並進領域Ｗｎにおいて、結合エネルギーを計算すべき分割並進領域内の探索点を決定する。
【００６９】
図７は、図５に示した並進探索領域の二次元空間の分割探索領域におけるエネルギー勾配方向の直線探索の例を示す図である。分割並進領域Ｗｎに内在する探索点の１点を（ｘｎ，ｙｎ，ｚｎ）とする。探索点７０１において、並進座標に対する結合エネルギーの勾配ベクトルである力のノルム７０２をＦ＝（Ｆｘ，Ｆｙ，Ｆｚ）とする。結合エネルギーを計算する分割並進領域内の探索点は、（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）で与えられる。ここで、ｋは、（ｎｘ−１）ΔＷｏｐｔ≦ｘｎ±ｋＦｘｄｗ≦ｎｘΔＷｏｐｔ，（ｎｙ−１）ΔＷｏｐｔ≦ｙｎ±ｋＦｙｄｗ≦ｎｙΔＷｏｐｔ，（ｎｚ−１）ΔＷｏｐｔ≦ｚｎ±ｋＦｚｄｗ≦ｎｚΔＷｏｐｔを満たす整数である。また、ｄｗは直線探索における並進幅である。また、並進幅ｄｗはデフォルトとしてシステム側で準備されるものとしてもよいが、ユーザが入力装置１０１を介して設定できるものとすることもできる。
【００７０】
このようにして、探索点の個数をＮｌｔ，ｎ個とすれば、各コンピューティングユニットに割り当てた分割並進領域Ｗｎに対して、結合エネルギーを計算すべき分割並進領域内の探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）のＮｌｔ，ｎ個を決定することができる。
【００７１】
ステップ１１２６は通信制御であり、ここでは、結合エネルギーを計算するために、ステップ１１２４とステップ１１２５で決定した各コンピューティングユニットに割り当てた探索点のデータを送信する。ステップ１１２４でコンピューティングユニットＰｍに分割並進領域Ｗｎが割り当てられ、ステップ１１２５で分割並進領域Ｗｎに内在するＮｌｔ，ｎ個の探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）が与えられたとすれば、コンピューティングユニットＰｍにＮｌｔ，ｎ個の探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）を送信する。
【００７２】
図８に示すように、コンピューティングユニット群２０３の全コンピューティングユニットＰ１、Ｐ２、−−−、ＰＮｐに対して、各コンピューティングユニットに割り当てた分割並進領域Ｗｎに内在するＮｌｔ，ｎ個の探索点のデータ（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）を送信する。また、反対に、各コンピューティングユニットで計算した探索点に対する結合エネルギーと並進座標に対する結合エネルギーの勾配ベクトル、すなわち、化合物に働く力を受信する。コンピューティングユニットＰｍに送信した分割並進領域Ｗｎに内在するＮｌｔ，ｎ個の並進座標（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）に対して、並進操作した化合物と水分子中の蛋白質との結合エネルギーと化合物に働く力を受信する。
【００７３】
ステップ１１２７では、ステップ１１２６で受信した各コンピューティングユニットで計算した結合エネルギーの極小値と全コンピューティングユニットで計算した極小値の中の最小値を決定する。コンピューティングユニットＰｍで計算した分割並進領域Ｗｎに内在するＮｌｔ，ｎ個の探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）に対応して、Ｎｌｔ，ｎ個の結合エネルギーの中で最も小さい結合エネルギーを与えた探索点を選択する。この直線探索は、直線探索回数ＮＩｔ回以上の反復計算が繰り返される。
【００７４】
選択された探索点は、ステップ１１２５で記した並進座標に対する結合エネルギーの勾配ベクトルを求める探索点になる。この反復計算の結果として得られた結合エネルギーは、分割並進領域Ｗｎ内の結合エネルギーの極小値である。全コンピューティングユニットＰ１、Ｐ２、−−−、ＰＮｗに対応して得られた結合エネルギーの極小値の中で最も小さいエネルギーは結合エネルギーの最小値となる。
【００７５】
ステップ１１２８では、分割並進領域内の結合エネルギーの極小値の収束性から直線探索の反復計算を繰り返すか否かを判定する。コンピューティングユニットＰｎに割り当てた分割並進領域Ｗｎの直線探索の回数がＮＩｔ以下であれば、ステップ１１２５に戻り直線探索の反復計算を実行する。コンピューティングユニットＰｎに割り当てた分割並進領域Ｗｎの直線探索の回数がＮＩｔ以上、または、結合エネルギーの極小値と前回の反復計算において求めた結合エネルギーの極小値の差分が閾値エネルギー以下に収束すれば、直線探索を終了する。水分子中の蛋白質と化合物の結合エネルギーの最小値、並びに、水分子中の蛋白質と化合物の結合構造に対する原子座標データを出力装置１０３に送る。
【００７６】
ステップ１１２９は、各コンピューティングユニットにおいて探索点に対応した結合エネルギーと並進座標に対する結合エネルギーの勾配ベクトルを計算する。各コンピューティングユニットＰｍは、ステップ１１２６から探索点のデータ、すなわち、分割並進領域Ｗｎ内のＮｌｔ，ｎ個の並進座標（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）を受信する。この探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）を用いて、化合物の原子座標に対する並進操作を実行する。並進操作を実行した化合物と水分子中の蛋白質の原子座標からＮｌｔ，ｎ個の結合エネルギーと化合物に働く力を計算する。分割並進領域Ｗｎに内在するＮｌｔ，ｎ個の探索点（ｘｎ±ｋＦｘｄｗ，ｙｎ±ｋＦｙｄｗ，ｚｎ±ｋＦｚｄｗ）に対応した結合エネルギーと化合物に働く力をステップ１１２６に送信する。
【００７７】
水分子中の蛋白質と化合物の結合構造に対する探索領域として、並進探索領域の空間領域幅Ｗ＝６Åの立方体形状を入力装置１０１から入力し、並列分散計算システムにおいて使用可能なコンピューティングユニットの数Ｎｐａ＝６０個を入力した具体例を、図９を参照して、説明する。ステップ１１２１では、並進探索領域の分割幅と探索回数を決定する。
【００７８】
図９は、図４と同様、横軸に並進探索領域の分割幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した並進領域数（以下では分割並進領域数）の分割幅に対する変化４０１、Ｒｔを０．５Åとしたときの分割幅に対する直線探索回数の変化および各コンピューティングユニット上で結合エネルギーの極小値を求める直線探索回数４０３と最適な分割幅を示した。各コンピューティングユニット上で直線探索回数が最小となる並進探索領域の分割幅ΔＷｏｐｔは１Åとなり、その直線探索回数ＮＩｔは１０５回になることを求めることができる。
【００７９】
ステップ１１２２では、最適な分割幅ΔＷｏｐｔ＝１Åを用いて、分割並進領域の数Ｎｗ＝（Ｗ／ΔＷｏｐｔ）３により２１６個になる。ステップ１１２３では、分割領域数Ｎｗ＝２１６個は使用可能なコンピューティングユニットの数Ｎｐａ＝６０個より多いので、分割並進領域を割り当てるべきコンピューティングユニットの数Ｎｐは６０個となる。ステップ１１２４では、各分割並進領域に対する直線探索回数ＮＩｔは１０５回であることから、各コンピューティングユニットに割り当てる分割並進領域の数はほぼ均等化することができる。例えば、図１０に示すように、ネットワーク２０４で結合されたコンピューティングユニット群２０３のコンピューティングユニット数Ｎｐ＝６０個に対して、３６個のコンピューティングユニットに割り当てた分割並進領域の数Ｎｄｔは４個ずつ、２４個のコンピューティングユニットに割り当てた分割並進領域の数Ｎｄｔ−１は３個ずつを分配する。
【００８０】
ステップ１１２５では各コンピューティングユニットに割り当てた分割並進領域内の直線探索の探索点を決定する。ステップ１１２６では、各コンピューティングユニットに直線探索の探索点のデータを送信し、ステップ１１２９では各コンピューティングユニットにおいて探索点に対応した結合エネルギーと並進座標に対する結合エネルギーの勾配ベクトルを計算しステップ１１２６に送信する。ステップ１１２７では、各コンピューティングユニットで計算した結合エネルギーの極小値を求める。ステップ１１２８では、直線探索回数ＮＩｔの１０５回以上の反復計算を実行する。
【００８１】
図１１は、結合エネルギーの極小値を求めた直線探索回数を示す図である。実線４０２はステップ１１２１で得られる予測値、点線１１０１は本発明によるシミュレーションの計算結果である。シミュレーションにおいて、分割並進領域において結合エネルギーの極小値を求めた直線探索の平均回数は１３４回となり、予測値と比較的良い一致を示す。各コンピューティングユニット上の直線探索回数は、各分割並進領域の直線探索回数と各コンピューティングユニット上の分割領域数の積であるから４２０回である。
【００８２】
一方、コンピューティングユニットの１つのみを使用したときに、結合エネルギーの極小値を求めるための直線探索回数は、式（３）から式（２０）を用いて４７４０回と予測される。従って、並列分散計算システムを用いた高分子結合予測システムにより、結合エネルギーの極小値を求めた直線探索回数は４７４０回／４２０回＝１／１１倍に削減され、結合エネルギーが最小となる結合構造を高速に計算することができた。すなわち、ユーザは、シミュレーション対象の高分子の原子座標の並進操作を行う範囲を表す探索領域および、並列分散環境の超並列機やＰＣクラスタの使用可能なコンピューティングユニットの数Ｎｐａを設定するだけで高速に計算することができる。
【００８３】
（実施例２）
図１２は、本発明による実施例２の高分子結合予測システムの構成を示す概念図であり、実施例１が化合物の原子座標の並進操作による蛋白質との結合エネルギーの最小値を計算する処理を説明したものであったのに対して、化合物の回転操作による蛋白質との結合エネルギーの最小値を計算するステップの具体的な処理を説明する図である。ここでも、実施例１と同様に、全体的な構成は、図１に示す構成と同じであるが、図１の処理・制御部１０２および各処理ステップ１０２１−１０２９は処理内容の変更に応じて、処理・制御部１２２および各処理ステップ１２２１−１２２９とした。
【００８４】
ゲノム情報から得られている蛋白質やＤＮＡおよびＲＮＡ等のシミュレーション対象の高分子、例えば、水分子中の蛋白質と化合物の結合エネルギーの最小値を探索するため、ユーザは、水分子中の蛋白質と化合物の結合エネルギーの最小値を探索するため、入力装置１０１から、化合物の回転操作を行う範囲を表す探索領域（以下では回転探索領域）として、角度領域幅χを入力する。図１３（ａ），（ｂ），（ｃ）に示すように、オイラー角（φ、θ、ψ）で表示すれば、化合物１３０１の回転操作を行う探索領域は、０≦φ≦χ、０≦θ≦χ／２、０≦ψ≦χである。ここで、φはｚ軸の回りの回転角度、θはｚ軸の回転に続くｘ軸の回りの回転角度、ψはｚ軸とｘ軸の回転に続くｚ軸の回りの回転角度であり、χは０≦χ≦２πである。また、並列分散環境の超並列機やＰＣクラスタにおいて使用可能なコンピューティングユニットの数Ｎｐａを入力する。
【００８５】
以下に、処理・制御部１２２における各コンピューティングユニットへの結合計算の分配および結果の統合についての処理フローを説明する。
【００８６】
ステップ１２２１では、化合物の回転操作を行う回転探索領域において、結合エネルギーの極小値を直線探索する回数を最小にする分割幅とその直線探索の回数を決定する。図１４は、横軸に回転探索領域の分割角度幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した回転領域（以下では分割回転領域）の分割角度幅に対する変化１４０１、分割角度幅に対する直線探索する回数の変化１４０２および各分割回転領域に対して結合エネルギーの極小値を直線探索する回数の分割角度幅に対する変化１４０３と最適な分割角度幅を示す図である。回転探索領域の分割幅をΔχとすれば、各コンピューティングユニットに平均的に割り当てた分割回転領域の数は（χ／Δχ）３／２Ｎｐａである。また、各分割回転領域において、エネルギーの勾配ベクトル方向、すなわち、化合物に働くトルクの回転方向の直線探索により結合エネルギーを計算し、結合エネルギーの極小値を見出すまでの直線探索回数は式（３）に示したＦ（Ｘ）で与えられる。
【００８７】
ここで、Ｘ＝Δχ／Ｒｒである。Ｒｒは、分割回転領域において、結合エネルギーの極小値の存在する座標位置から半径Ｒｒの距離内では、結合エネルギーは距離の二次関数のエネルギー領域であり、半径Ｒｒの距離以上では結合エネルギーはランダムなエネルギー領域である。各コンピューティングユニット上で結合エネルギーの極小値を直線探索する回数１４０３は、これら積の（χ／Δχ）３／２Ｎｐａ×Ｆ（Δχ／Ｒｒ）で表される。従って、（χ／Δχ）３／２Ｎｐａ×Ｆ（Δχ／Ｒｒ）が最小となる分割幅Δχｏｐｔを選択すれば、回転探索領域χの分割幅Δχｏｐｔ、並びに、各コンピューティングユニット上で結合エネルギーを計算し、結合エネルギーの極小値の直線探索回数が最小となるＮＩｒ＝Ｆ（Δχｏｐｔ／Ｒｒ）を決定することができる。
【００８８】
ステップ１２２２では、回転探索領域χの分割幅Δχｏｐｔを用いて、回転探索領域を分割した数と分割回転領域の範囲を決定する。回転探索領域の分割幅Δχｏｐｔにより、回転探索領域χを分割した回転領域の数はＮχ＝（χ／Δχｏｐｔ）３／２である。分割した回転領域内の回転座標を（φ、θ、ψ）とすれば、０≦φ≦Δχｏｐｔ，０≦θ≦Δχｏｐｔ，０≦ψ≦Δχｏｐｔを分割回転領域χ１、０≦φ≦Δχｏｐｔ，０≦θ≦Δχｏｐｔ，χｏｐｔ≦ψ≦２Δχｏｐｔを分割回転領域χ２、−−−、（χ−Δχｏｐｔ）≦φ≦χ，（χ／２−Δχｏｐｔ）≦θ≦χ／２，（χ−Δχｏｐｔ）≦ψ≦χを分割回転領域χＮχと記す。
【００８９】
一般に、分割回転領域χｎは、（ｎφ−１）Δχｏｐｔ≦φ≦ｎφΔχｏｐｔ，（ｎθ−１）Δχｏｐｔ≦θ≦ｎθΔχｏｐｔ，（ｎψ−１）Δχｏｐｔ≦ψ≦ｎψΔχｏｐｔで表され、ｎ＝１，２，−−−，Ｎχ、ｎφ，ｎψ＝１，２，−−−，χ／Δχｏｐｔ，ｎθ＝１，２，−−−，χ／２Δχｏｐｔである。このようにして、分割回転領域の数Ｎχ、並びに、分割回転領域χ１，χ２，−−−，χｎ，−−−，χＮχの範囲を決定することができる。
【００９０】
ステップ１２２３では、分割回転領域の数Ｎχを用いて、分割回転領域を割り当てる並列分散環境におけるコンピューティングユニットの数を決定する。分割回転領域の数Ｎχが使用可能なコンピューティングユニットの数Ｎｐａよりも大きい場合は、分割回転領域を割り当てるコンピューティングユニットの数ＮｐはＮｐａである。一方、分割回転領域の数Ｎχが使用可能なコンピューティングユニットの数Ｎｐａよりも小さい場合は、分割回転領域を割り当てるコンピューティングユニットの数ＮｐはＮχである。このようにして、分割回転領域を割り当てる並列分散環境におけるコンピューティングユニットの数Ｎｐを決定することができる。
【００９１】
ステップ１２２４では、分割回転領域の数Ｎχ、直線探索回数ＮＩｒ、並びに、分割回転領域を割り当てる並列分散環境におけるコンピューティングユニットの数Ｎｐを用いて、各コンピューティングユニットに割り当てる分割回転領域の数と分割回転領域を決定する。各分割回転領域に対する直線探索の回数はＮＩｒであることから、各コンピューティングユニットに割り当てる分割回転領域の数はほぼ均等化することが可能であり、割り当てた分割並進領域の数Ｎｄｒ＝［Ｎχ／Ｎｐ］または［Ｎχ／Ｎｐ］−１である。ここで、［＊＊］の形で得られる値は小数点を切り上げて整数にする。並列分散環境におけるＮｐ個のコンピューティングユニット毎に、分割回転領域χ１，χ２，−−−，χＮχの中から任意に選択したＮｄｒ個の分割回転領域を割り当てる。
【００９２】
ステップ１２２５では、コンピューティングユニットに割り当てた分割回転領域χｎにおいて、結合エネルギーを計算すべき分割回転領域内の探索点を決定する。分割回転領域χｎに内在する探索点の１点を（φｎ，θｎ，ψｎ）とする。探索点において、結合エネルギーの回転座標に対する勾配ベクトルのノルムをＦ＝（Ｆφ，Ｆθ，Ｆψ）とすれば、このＦ＝（Ｆφ，Ｆθ，Ｆψ）は、トルクベクトルＴ＝（Ｔｘ，Ｔｙ，Ｔｚ）を用いて、Ｒ（φｎ＋Ｆφ，θｎ＋Ｆθ，ψｎ＋Ｆθ）＝Ｔ（Ｔｘ，Ｔｙ，Ｔｚ）Ｒ（φｎ，θｎ，ψｎ）から求めることができる。ここで、Ｒはオイラー行列、Ｔはトルクの回転行列を表す。結合エネルギーを計算する分割回転領域内の探索点は、（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）で与えられる。ここで、ｋは、（ｎφ−１）Δχｏｐｔ≦φｎ±ｋＦφｄχ≦ｎφΔχｏｐｔ，（ｎθ−１）Δχｏｐｔ≦θｎ±ｋＦθｄχ≦ｎθΔχｏｐｔ，（ｎψ−１）Δχｏｐｔ≦ψｎ±ｋＦψｄχ≦ｎψΔχｏｐｔを満たす整数である。また、ｄχは直線探索における回転幅である。また、回転幅ｄχはデフォルトとしてシステム側で準備されるものとしてもよいが、ユーザが入力装置１０１を介して設定できるものとすることもできる。
【００９３】
このようにして、探索点の個数をＮｌｒ，ｎとすれば、各コンピューティングユニットに割り当てた分割回転領域χｎに対して、結合エネルギーを計算すべき分割回転領域内の探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）のＮｌｒ，ｎ個を決定することができる。
【００９４】
ステップ１２２６の通信制御では、ステップ１２２４とステップ１２２５で決定した各コンピューティングユニットで結合エネルギーを計算するために割り当てた探索点のデータを送信する。ステップ１２２４でコンピューティングユニットＰｍに分割回転領域χｎが割り当てられ、ステップ１２２５で分割回転領域χｎに内在するＮｌｒ，ｎ個の探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）が与えられたとすれば、コンピューティングユニットＰｍにＮｌｒ，ｎ個の探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）を送信する。このようにして、全コンピューティングユニットＰ１、Ｐ２、−−−、ＰＮｐに対して、各コンピューティングユニットに割り当てた分割回転領域χｎに内在するＮｌｒ，ｎ個の探索点のデータを（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）送信する。また、反対に、各コンピューティングユニットで計算した探索点における結合エネルギーと回転座標に対する結合エネルギーの勾配ベクトル、すなわち、化合物に働くトルクを受信する。コンピューティングユニットＰｍに送信した分割回転領域χｎに内在するＮｌｒ，ｎ個の回転座標（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）に対して、回転操作した化合物と水分子中の蛋白質との結合エネルギーと化合物に働くトルクを受信する。
【００９５】
ステップ１２２７は、ステップ１２２６で受信した各コンピューティングユニットで計算した結合エネルギーの極小値と全コンピューティングユニットで計算した極小値の中の最小値を決定する。コンピューティングユニットＰｍで計算した分割回転領域χｎに内在するＮｌｒ，ｎ個の探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）に対応して、Ｎｌｒ，ｎ個の結合エネルギーの中で最も小さいエネルギーを与えた探索点を選択する。この直線探索は、直線探索回数ＮＩｒ回以上の反復計算が繰り返される。選択された探索点は、ステップ１２２５で記した回転座標に対する結合エネルギーの勾配ベクトルを求める探索点になる。この反復計算の結果として得られた結合エネルギーは、分割回転領域χｎ内の結合エネルギーの極小値である。次に、全コンピューティングユニットＰ１、Ｐ２、−−−、ＰＮχに対応して得られた結合エネルギーの極小値の中で最も小さいエネルギーは結合エネルギーの最小値となる。
【００９６】
ステップ１２２８では、分割回転領域内の結合エネルギーの極小値の収束性から直線探索の反復計算を実行するか否かを判定する。コンピューティングユニットＰｎに割り当てた分割回転領域χｎの直線探索の回数がＮＩｒ以下であれば、ステップ１２２５に戻り直線探索の反復計算を実行する。コンピューティングユニットＰｎに割り当てた分割回転領域χｎの直線探索の回数がＮＩｒ以上、または、結合エネルギーの極小値と前回の反復計算において求めた結合エネルギーの極小値と差分が閾値エネルギー以下に収束すれば、直線探索を終了する。水分子中の蛋白質と化合物の結合エネルギーの最小値、並びに、水分子中の蛋白質と化合物の結合構造に対する原子座標データを出力装置１０３に送る。
【００９７】
ステップ１２２９は、並列分散計算システムのコンピューティングユニットにおいて、ステップ１２２６からの探索点のデータを受信する。各コンピューティングユニットＰｍは、分割回転領域χｎ内のＮｌｒ，ｎ個の回転座標（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）を受信する。この探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）を用いて、化合物の原子座標に対する回転操作を実行する。回転操作を実行した化合物と蛋白質の原子座標からＮｌｒ，ｎ個の結合エネルギーと化合物に働くトルクを計算する。分割回転領域χｎに内在するＮｌｒ，ｎ個の探索点（φｎ±ｋＦφｄχ，θｎ±ｋＦθｄχ，ψｎ±ｋＦψｄχ）に対応した結合エネルギーと化合物に働くトルクをステップ１２２６に送信する。
【００９８】
図１５は、ネットワーク２０４で結合されたコンピューティングユニット群２０３のコンピューティングユニットＰ１に分割回転領域χ１，χ２，−−−，χＮｄｒを割り当て、コンピューティングユニットＰ２に分割回転領域χＮｄｒ＋１，χＮｄｒ＋２，−−−，χ２Ｎｄｒを割り当て、−−−、コンピューティングユニットＰＮｐに分割回転領域χＮｐ（Ｎｄｒ−１）＋１，χＮｐ（Ｎｄｒ−１）＋２，−−−，χＮｐＮｄｒ（＝χＮχ）を割り当てた様子を示す図である。コンピューティングユニットＰｍに割り当てた分割回転領域χｎの範囲は、（ｎφ−１）Δχｏｐｔ≦φ≦ｎφΔχｏｐｔ，（ｎθ−１）Δχｏｐｔ≦θ≦ｎθΔχｏｐｔ，（ｎψ−１）Δχｏｐｔ≦ψ≦ｎψΔχｏｐｔで表され、ｍ＝１，２，−−−，Ｎｐ，ｎ＝１，２，−−−，Ｎχ、ｎφ，ｎψ＝１，２，−−−，χ／Δχｏｐｔ，ｎθ＝１，２，−−−，χ／２Δχｏｐｔである。
【００９９】
図１６を参照して、水分子中の蛋白質と化合物の結合構造に対する探索領域として、回転探索領域の角度領域幅χ＝３６０°を入力装置１０１から入力し、並列分散計算システムにおいて使用可能なコンピューティングユニットの数Ｎｐａ＝２５０個を入力した具体例を説明する。ステップ１２２１では、回転探索領域の分割幅に対する各コンピューティングユニット上の分割回転領域の数と分割回転領域において結合エネルギーの極小値を求めるために直線探索する回数、並びに、各コンピューティングユニット上で結合エネルギーの極小値を求める直線探索回数を決定する。図１６は、横軸に回転探索領域の分割角度幅（度）、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した並進領域（以下では分割並進領域）の分割角度幅に対する変化１４０１、並びに、Ｒrを１５°としたときの各分割並進領域において結合エネルギーの極小値を直線探索する回数の分割幅に対する変化１４０２、並びに、各コンピューティングユニット上で結合エネルギーの極小値を求める直線探索回数１４０３と最適な分割角度幅を示した。各コンピューティングユニット上で直線探索回数が最小となる回転探索領域の分割幅Δχｏｐｔは３６°となり、その直線探索回数ＮＩｒは１６０回になることを求めることができる。
【０１００】
ステップ１２２２では、最適な分割幅Δχｏｐｔ＝３６°を用いて、分割回転領域の数Ｎχ＝（χ／Δχｏｐｔ）３／２により５００個になる。ステップ１２２３では、分割領域数Ｎχ＝５００個は使用可能なコンピューティングユニットの数Ｎｐａ＝２５０個より多いので、分割回転領域を割り当てるべきコンピューティングユニットの数Ｎｐは２５０個となる。ステップ１２２４では、各分割回転領域に対する直線探索回数ＮＩｒは１６０回であることから、各コンピューティングユニットに割り当てる分割回転領域の数はほぼ均等化することができる。例えば、図１７に示すように、コンピューティングユニットの数Ｎｐ＝２５０個に対して、各コンピューティングユニットに割り当てた分割回転領域の数Ｎｄｒは２個として分配する。ステップ１２２５では各コンピューティングユニットに割り当てた分割回転領域内の直線探索の探索点を決定する。ステップ１２２６では、各コンピューティングユニットに直線探索の探索点のデータを送信し、ステップ１２２９では各コンピューティングユニットにおいて探索点に対応した結合エネルギーと回転座標に対する結合エネルギーの勾配ベクトルを計算しステップ１２２６に送信する。ステップ１２２７では、各コンピューティングユニットで計算した結合エネルギーの極小値を求める。ステップ１２２８では、直線探索回数ＮＩｔの１６０回以上の反復計算を実行する。
【０１０１】
図１８には、結合エネルギーの極小値を求めた直線探索回数を示した。実線４０２はステップ１２２１で得られる予測値、点線１８０１はシミュレーションの計算結果である。シミュレーションにおいて、分割回転領域における結合エネルギーの極小値を求めた直線探索の平均回数は２１４回となり、予測値と比較的良い一致を示す。各コンピューティングユニット上の直線探索回数は、各分割回転領域の直線探索回数と各コンピューティングユニット上の分割領域数の積であるから３２０回である。
【０１０２】
一方、コンピューティングユニットの１つのみを使用したときに、結合エネルギーの極小値を求めるための直線探索回数は、式（３）から式（２０）を用いて９６１２回と予測される。従って、並列分散計算システムを用いた高分子結合予測システムにより、結合エネルギーの極小値を求めた直線探索回数は９６１２回／３２０回＝１／３０倍に削減され、結合エネルギーが最小となる結合構造を高速に計算することができた。すなわち、ユーザは、シミュレーション対象の高分子の原子座標の回転探索領域の範囲を表す角度領域幅および、並列分散環境の超並列機やＰＣクラスタの使用可能なコンピューティングユニットの数Ｎｐａを設定するだけで高速に計算することができる。
【図面の簡単な説明】
【０１０３】
【図１】本発明の並列分散環境における高分子結合予測システムの基本構成を示す概念図である。
【図２】本発明による実施例１の高分子結合予測システムの構成を示す概念図であり、化合物の原子座標の並進操作による蛋白質との結合エネルギーの最小値を計算するステップの具体的な処理を説明する図である。
【図３】並進操作による探索領域を探索領域の中心位置の座標値で入力して立方体の形状をした探索領域である空間領域を表示させた例を示す図である。
【図４】横軸に並進探索領域の分割幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した分割並進領域の分割幅に対する変化、分割幅に対する直線探索回数の変化および結合エネルギーの極小値を直線探索する回数の変化と最適な分割幅を示す図である。
【図５】分割した並進探索領域の二次元空間における結合エネルギーの例を示す図である。
【図６】（ａ）、（ｂ）は、それぞれ、ネットワークで結合されたコンピューティングユニット群が同一処理性能、異なる処理性能の場合のコンピューティングユニット上の直線探索回数を最小にする分割並進領域の数と分割並進領域を決定した例を説明する図である。
【図７】図５に示した並進探索領域の二次元空間の分割探索領域におけるエネルギー勾配方向の直線探索の例を示す図である。
【図８】コンピューティングユニットへの探索点の送信を説明する図である。
【図９】横軸に並進探索領域の分割幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した分割並進領域の分割幅に対する変化、分割幅に対する直線探索回数の変化および結合エネルギーの極小値を直線探索する回数の変化と最適な分割幅を示す図である。
【図１０】ネットワークで結合されたコンピューティングユニット群のコンピューティングユニット上の直線探索回数を最小にする分割並進領域の数と分割並進領域を決定した例を説明する図である。
【図１１】結合エネルギーの極小値を求めた直線探索回数を示す図である。
【図１２】本発明による実施例２の高分子結合予測システムの構成を示す概念図であり、化合物の回転操作による蛋白質との結合エネルギーの最小値を計算するステップの具体的な処理を説明する図である。
【図１３】（ａ）、（ｂ）、（ｃ）は、オイラー角（φ、θ、ψ）で表示した化合物の回転操作を行う探索領域の例を示す図である。
【図１４】横軸に回転探索領域の分割角度幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した回転領域（以下では分割回転領域）の分割角度幅に対する変化、分割角度幅に対する直線探索する回数の変化および各分割回転領域に対して結合エネルギーの極小値を直線探索する回数の分割角度幅に対する変化と最適な分割幅を示す図である。
【図１５】ネットワークで結合されたコンピューティングユニット群のコンピューティングユニットへの分割回転領域の割り当ての例を示す図である。
【図１６】横軸に回転探索領域の分割角度幅、縦軸に直線探索回数または分割領域数を取って、各コンピューティングユニット上に平均的に割り当てた分割した回転領域（以下では分割回転領域）の分割角度幅に対する変化、分割角度幅に対する直線探索する回数の変化および各分割回転領域に対して結合エネルギーの極小値を直線探索する回数の分割角度幅に対する変化と最適な分割幅を示す図である。
【図１７】ネットワークで結合されたコンピューティングユニット群のコンピューティングユニット上の直線探索回数を最小にする分割回転領域の割り当ての例を示す図である。
【図１８】分割回転領域の分割幅に対する結合エネルギーの極小値を求めた直線探索回数を示す図である。
【図１９】創薬シミュレーションが並列分散環境で行われる並列分散計算システムの一般的な構成例の一つとしてデータ転送ネットワークがグリッド構成となっている例を示す図である。
【図２０】データ転送ネットワークがリング状に接続された例を示す図である。
【図２１】データ転送ネットワークにグリッドマシンがリング状に接続された例を示す図である。
【図２２】並列分散計算システム上で高分子の結合構造を予測するシミュレーションを行う従来システムの一例の処理機能に着目した概念を示す図である。
【図２３】並進操作と回転操作の探索領域におけるモンテカルロ法を用いた結合エネルギーの最小値探索の例を示す図である。
【符号の説明】
【０１０４】
１００…制御のためのパーソナルコンピュータ、１０１…入力装置、１０２，１１２，１２２…処理・制御部、１０３…出力装置、１０４…コンピューティングユニット、１０５…サービスプロッセサ、２０４…ネットワーク、２０３…結合されたコンピューティングユニット群、３０１…蛋白質、３０２…並進探索領域の中心位置、３０３…並進探索領域、４０１…各コンピューティングユニット上に割り当てた分割並進領域の数の変化を示す線、４０２…各分割並進領域において直線探索する回数の変化を示す線、４０３…各コンピューティングユニット上で結合エネルギーの極小値を直線探索する回数の変化を示す線、５０１…結合エネルギーの極小値の座標位置、５０２…極小値の座標位置との距離Ｒに対する二次関数のエネルギー領域、５０３…ランダムなエネルギー領域、７０１…探索点、７０２…エネルギーの勾配ベクトル、１１０１…並進探索のシミュレーションによる計算結果を示す線、１３０１…化合物、１４０１…各コンピューティングユニット上に割り当てた分割した分割回転領域の数の変化を示す線、１４０２…各分割回転領域において直線探索する回数の変化を示す線、１４０３…各コンピューティングユニット上で結合エネルギーの極小値を直線探索する回数の変化を示す線、１８０１…回転探索のシミュレーションによる計算結果、１９０１…コンピューティングプロセッサユニット、１９０２…メモリユニット、１９０３…コンピューティングユニット、１９０４，１９０５…データ転送ネットワーク、１９０６…並列分散計算システムの管理ユニット、２００１…パーソナルコンピュータクラスタまたはワークステーションクラスタ、２００２…インサーネット、２００３…並列分散計算システムの管理ユニット、２１０１…グリッド計算システム、２１０２…高速ネットワーク、２１０３…超並列機、２１０４…並列分散計算システムの管理ユニット。
【図１】
0004589248.tif 000022
【図２】
0004589248.tif 000023
【図３】
0004589248.tif 000024
【図４】
0004589248.tif 000025
【図５】
0004589248.tif 000026
【図６】
0004589248.tif 000027
【図７】
0004589248.tif 000028
【図８】
0004589248.tif 000029
【図９】
0004589248.tif 000030
【図１０】
0004589248.tif 000031
【図１１】
0004589248.tif 000032
【図１２】
0004589248.tif 000033
【図１３】
0004589248.tif 000034
【図１４】
0004589248.tif 000035
【図１５】
0004589248.tif 000036
【図１６】
0004589248.tif 000037
【図１７】
0004589248.tif 000038
【図１８】
0004589248.tif 000039
【図１９】
0004589248.tif 000040
【図２０】
0004589248.tif 000041
【図２１】
0004589248.tif 000042
【図２２】
0004589248.tif 000043
【図２３】
0004589248.tif 000044