平成8年度 委託研究ソフトウェアの中間報告

(16) 最尤法を用いた分子進化系統樹作成プログラムに関する研究

研究代表者:斎藤成也 助教授
      国立遺伝学研究所集団遺伝研究系進化遺伝研究部門


平成8年度委託研究中間報告

研究テーマ:「並列論理型言語を用いた最尤法による分子進化系統樹作成プログラム
に関する研究」

研究代表者: 斎藤成也・国立遺伝学研究所・助教授

(1)研究進捗状況 

 この研究の提案内容にのっとり、KL1を用いて
DeepForestのモジュールの原型となるべき以下のプログラムを新たに作成した。

1.ancester.kl1 ある祖先配列から分岐してできたふたつの子孫配列がわかってい
るとき、与えられた推定塩基置換数(つまり枝の長さ)のもとで、その祖先配列を推
定する。
2.dx.kl1 集団内のハプロタイプ間の平均塩基置換数を推定する。
3.consert.kl1 不等交差により生じる協調進化の様子をシミュレートする。
4.indel.kl1 与えられた配列に起きる挿入・決失の様子をシミュレートする。
5.beautify.kl1 ファイルに出力されたリスト構造を持つ項を、読みやすいように
整形する。
6.consensus.kl1 与えられた配列集合を比較し、コンセンサス配列を生成する。
7.extract_fields.kl1 配列データベースから、指定した文字列を含む複数の項を
抽出する。
8.lines2string.kl1 任意の大きさの文字列アトムを文字のリストに変換する。
9.make_destbl.kl1
データベースを参照して、系統樹のOTUのIDにそのデータに関する記述(生物種・分
子種等)を付加する。
10.make_gap_matrix.kl1 配列の長さの差を一種の距離と考え、その距離行列を
推定する。
11.make_records.kl1 データベースを読み込んで、レコードやその項をネストし
たリストで表現する。
12.make_seq.kl1 データベースから配列データのみを抽出する。
13.newton.kl1 ニュートン法で方程式の解を求める。
14.print_sequence.kl1 整数値で表現された(内部表現の)アミノ酸配列データ
のリストを、アルファベット一文字表記で出力する。
15.search.kl1 与えられた文字列に検索キーが含まれているかどうかを判断する。

 また以下のプログラムについて改良を行った。

1.get_seq.kl1 (配列データを読み込み、そのフォーマットを変更した後、Prolo
g的な項として出力する。)任意の大きさのファイルを扱えるようプログラムを変更
した。
2.log_like.kl1 (与えられた系統樹について、その尤度を計算する。)与えられ
た配列をプロセッサの数に等分割して、それぞれのプロセッサに連続したデータを割
り当てるようにした。

(2)現在までの主な成果

1.開発した最尤推定プログラムtest_tra.kl1を用いて筋タンパク質であるトロポニ
ンCの系統樹を検定し、このタンパク質が無脊椎動物・脊椎動物で単系統であること
を示すことができた。
2.尤度計算における再帰計算の冗長性について検討し、より効率的なアルゴリズム
を考案した。
3.実際のデータ解析を通して、今後分子進化系統樹の「解釈」を行えるようなソフ
トウェアの開発が重要であることをはっきりさせることができた。
4.より巨大なデータを扱うためのコーディングを行なうことで、基本的にはデータ
の規模によらないプログラムが書ける見通しがついた。
5.分散環境におけるklicの浮動小数点演算のバグを報告することができた。このバ
グはプログラムの側にパッチを当てることで回避できることがわかった。その結果、
分散環境での効率測定が可能となった。

(3)今後の研究目標

本研究の最終的な目標は信頼性・効率の双方に優れた新しい分子進化系統樹作成法を
考案し、並列環境に実装できるような形でモジュールとして提供することである。今
後新しい手法の正当性や検証や、効率の測定を行う必要がある。そのために必要なのは
1.真の系統樹を与えたときに、進化のシミュレーションを行ない、観察可能な(現
在の)配列データセットを生成するプログラム、
2.効率を測定するために適当な「標準的な」データセット、
のふたつである。今後はこのふたつに重点を置き、研究および開発を進めてゆく。
 またプログラミングには可能な限りklicを用い、この処理系の分散環境でのバグの
検出に力を入れる。
 提案書に述べたように、本研究では完結したアプリケーションを開発するよりも、
分子進化学に有用なklicのモジュールをユーザーに提供することに主眼を置いている
。この場合、ユーザーがklicを用いる最大のメリットは容易に並列プログラムを書け
ることなので、提供したモジュールが確かに並列環境で動作することは重要である。
したがって、少なくとも3台以上のワークステーションで提供したモジュールを用い
たプログラムが正しく動作することを確認する。

(4)今年度目標成果ソフトウェアイメージ

  ソフトウェアは分子進化学に有用なモジュールという形で提供する。ドキュメン
トには各モジュールの使用例を記載し、ユーザーがこのDeepForestを利用して、容易
にKL1プログラムを書けるようにする。また、現在存在するklicのマニュアルにない
ような事項で、ユーザーに有用であると考えられる事項については適宜DeepForestの
ドキュメントに加えてゆく。
 扱うデータの大きさについては、可能な限り制限を設けないようにする。と言うの
は、今後遺伝情報データベースの規模が増加の一途をたどることは必至だからである
。しかしながら、この方針があまり効率に悪影響を与える場合は、ユーザに選択権を
残せるようにする。基本的にはグラフィカル・インターフェースは作らない。解析の
ためのエンジンさえ作ってしまえば、それにユーザーがグラフィカル・インターフェ
ースを被せることは比較的容易だからである。
 また、ドキュメントには基本的な分子進化学の知識も記載し、他分野のユーザーの
分子進化への関心を喚起できるようにする。
 DeepForestを用いたプログラムは、3台以上のSunワークステーションで並列に動作
できるというのが、現時点におけるソフトウェアイメージである。

www-admin@icot.or.jp