(16) 並列論理型言語を用いた最尤法による分子進化系統樹作成プログラムに関する研究
研究代表者:國藤 進 教授
北陸先端科学技術大学院大学 情報科学研究科
- 1)研究進捗状況
- 本研究全体で行うべきことは以下の8点である。優先度順に示
す。ただし、7, 8, については、あくまでオプショナルなもので
あり、この研究の進捗状況に依存する。
- KL1/KLICによるプログラム開発環境の整備
- トポロジー空間生成プログラムの開発
- ユーザインターフェイスの構築とプログラムの統合
- 実験に用いる配列データの収集
- 関連知識の整理
- 並列環境での実験
- その結果を受けてのプログラムの改良(高速化)
- 信頼性の高い分子進化系統樹の推定と考察
- 進捗状況については、対応する項目について、以下のようになっている。
- 現在逐次処理の環境でプログラムの開発を行っており、でき
るだけ早く並列環境への移行を行う必要がある。
- 完全探索を行うために必要なトポロジー空間を生成するプログ
ラムを書き、ワークステーション上で動作確認をした。
- ユーザインターフェースは、当初、ごく簡単なものを考えて
いたが、実際にデータ解析をしている研究者から、ある程度インタ
ーラクティブにすべきではないかとの意見があり、この方向で再考
中である。
- 予定の40パーセントほどのアミノ酸配列データを、データ
ベースから収集した。データを選ぶ基準は、主に、相同性検索をし
た場合に約70パーセント以上の相同性を示すこととした。
- 4. で収集したデータに関して、関連知識を調査、および
整理した。
- 現時点では、使用者の便宜を考えて、高価なハードウェアを
必要としない動作環境を用いたいと思っている。しかし、このため
にはゼロから並列環境を構築する必要があり、予想外に時間を必要
とすることがわかってきた。そこで、実験にはPIM/mやnCube
を用いる可能性も出てきた。
- 2)現在までの主な成果
- 現在までに得られた主な成果は、完全探索のための仮説空間生
成プログラムの作成とミオシン分子アミノ酸配列データの収集であ
る。前者については、最尤系統樹の候補となるべきトポロジー空間
(仮説空間)を生成する述語群をKL1で記述した。このプログラ
ムは任意の配列データ数を与えると、可能なすべてのトポロジー空
間を生成する。このプログラムは、簡単なトポロジーに新しい枝を
付け加えて行くことで新しいトポロジーを生成する。このようにし
てでき上がったトポロジーの集合は、次の操作の候補となる。この
場合は、完全探索を前提としているので、この集合のすべての要素
について次の新しい枝が付加される。この操作は再帰的に、葉の数
があらかじめ指定された大きさになるまで続けられる。このアルゴ
リズムは、かなりの大きさのメモリを要求するが、このプログラム
は少なくともワークステーション(富士通S-4/20L)上では
、実用的な時間内でトポロジー空間を生成できた。今後の課題は、
このトポロジー空間をいかに縮小するかということになる。
後者については、実験に使うためのアミノ酸配列データの一部
(ミオシン軽鎖・重鎖分子)をデータベースから収集・整理した。
その結果、進化的変異がミオシン重鎖では特に大きく、多重整列が
そのままでは困難であることがわかった。このため、進化的に保
存されている領域のみを解析対象とするか、進化的に近いデータ同
士をまず解析し、次にこうしてできたクラスター間の関係を推定す
る必要があることがわかった。現在開発済みのプログラム
traverse/3では、単純なアミノ酸置換モデルを採用しているので、
これでは不十分である可能性が出てきた。
- 3)今後の研究概要
- 上記1)研究進捗状況で述べたそれぞれの項目について、詳述する。
- KL1/KLICによるプログラミング開発環境の整備
本研究で開発するプログラムの最終的な動作環境は、A. 複
数の同型ワークステーションでの分散処理、B. 異機種計算機
での分散処理、C. 超並列計算機上での処理の3つが考えられ
る。理想から言えばB. 異機種計算機での分散処理が最も使用者
の要求を満たしているであろう。しかし、研究のスケジュールを考
慮すると、これは必ずしも現実的ではない。現在は、A. の「複
数の同型ワークステーションでの分散処理」を前提に、プログラム
の開発をすることを考えている。
- トポロジー空間生成プログラムの開発
最尤系統樹の候補を生成するためのトポロジー空間生成アルゴリ
ズムの考案は、本研究における最も重要なテーマである。完全探索
が可能なのは、配列データ数がきわめて小さいときに限られる。最
尤系統樹の含み、しかもできるだけ小さな仮説空間を生成する必要
がある。
最も現実的な方法は、距離行列法との組み合わせで、
「足切り」をすることである。今後はこの方法を念頭において研究
を進めてゆく。
- ユーザインターフェイスの構築とプログラムの統合
ユーザインターフェースは、シェルスクリプトを使った単純なも
のを考えているが、最終的には改良の必要があるかもしれない。こ
の点に関して、実際の使用者に意見を聞いたり、他の既存のプログ
ラムの調査を行う必要があろう。個々のプログラムはリンクしてし
まわないで、それぞれ独立のプログラムとして呼び出す形で使用す
るというのが、現在の方針であるが、分散処理における効率を十分
に考慮する必要があるだろう。
- 実験に用いる配列データの収集
実験は、基本的にモデルツリーを用いたシミュレーションと、現
実のデータをセットを用いる方法と二つを考えている。現実的なデ
ータを用いて、プログラムの検証をするためには、このための「良
質な」データセットの収集は不可欠である。
- 関連知識の整理
実際には、配列データから分子進化系統樹を作成しただけでは
、その系統樹の正当性を調べることも、そこから生物学的知見を得
ることもできない。配列データの背景にある、膨大な生物学的知識
をつかんでおくことが必要である。しかし、これは決して簡単なこ
とではない。押さえなければならない生物学的知識は膨大である上
、日進月歩の生物学の世界では、新しい知識が付け加わったりする
ことはもちろん、従来の定説が覆えされることもあり得るからであ
る。このため、用いたデータに関係する研究の動向には、絶えず目
を配っている必要がある。
- 並列環境での実験
逐次環境での動作確認が済んだ後、並列環境への移行を行う。
これまでの研究で、最適な負荷分散の方法はデータに依存して変わ
ってくる可能性があることがわかっている。まず、モデルツリーを
用いたシミュレーションを行う。つまり、ある系統樹を与えること
があらかじめわかっている配列データを用いて系統樹を推定し、与
えたアルゴリズムが正しくその系統樹を復元するかどうかを調べ
る。その後、あらかじめ収集し、その背景知識を固めた現実の配列
データを用いて分子進化系統樹の推定を行う。そして、与えたデー
タに応じた、より望ましい負荷分散について考察する。
- その結果を受けてのプログラムの改良(高速化)
今までに開発したプログラム(traverse/3, contour/1)
は、かならずしも高速化のための最適化を行ってい
ない。これは効率よりも、アルゴリズムの美しさやプログラムの読
みやすさを優先したためであった。このため、これらのプログラム
は効率の見地から、改良できる余地がかなりある。また、一部C言
語で書き換えたほうが良いと思われる部分もある。本研究では、並
列化の部分に関しては、KL1/KLICの世界で完結したいと考
えているので、逐次処理の高速化に寄与すると考えられる部分があ
れば、C言語による書き換えを進める予定である。
- 信頼性の高い分子進化系統樹の推定と考察
推定した分子進化系統樹から、新しい分子進化的・分子生物学的
知見について考察する。あわせて、開発した分子進化系統樹推定法
についても考察を行う。
- 4)今年度目標成果(イメージ)
- 最尤法による分子進化系統樹の完全探索を行うプログラム(群)
を統合し、なんらかの並列環境で動作させる。まず、モデルツリー
を用いたシミュレーションを行い、現実のデータを処理できるよう
な、最低限のユーザインターフェースを構築した上で、小規模なデ
ータ解析を行う。用いる並列環境としては、次の3つのいずれかが
考えられる。安価なパーソナルコンピュータを含む異機種分散処理
環境、3台、もしくは2台のワークステーションによる分散処理環
境、そして超並列計算機(PIM/mもしくはnCube)である。
この実験を通して、本プログラムの正当性と、並列論理型言語
KL1/KLICの遺伝子情報処理における有効性を調べる。
www-admin@icot.or.jp