(57)【要約】遺伝子の機能に特異的な発現パターンの発見や、機能が未知の遺伝子に対する機能推定などを支援する遺伝子データ表示方法である。発現パターンの類似度合いを示す閾値を予め設けておき、同じ機能を持つ遺伝子、及びそれらと発現パターンが類似している遺伝子を抜き出して表示する。更に、抜き出した遺伝子に対して、クラスタリングの対象とする実験パターンを選択しなおしてクラスタ分析を行う。また、部分木に属する遺伝子で、各機能がいくつあるかを算出し、部分木での各機能が占める割合を求める。部分木でその割合が、予め定めた閾値を超えるならば、それをクラスタ（機能が類似した遺伝子の集合）とみなし、抽出する処理を行う。
2002025489.tif 000002
【特許請求の範囲】
【請求項１】
複数の遺伝子の発現パターンと、その発現パターンをクラスタ分析して得た樹状図とを対応付けて表示するステップと、
注目する遺伝子の機能及び前記樹状図上での距離を指定するステップと、
指定された機能を持つ遺伝子を含み、当該遺伝子と前記樹状図上での距離が指定された距離以下のノードをルートとする前記樹状図の部分木を強調表示するステップと
を含むことを特徴とする遺伝子データ表示方法。
【請求項２】
請求項１記載の遺伝子データ表示方法において、前記樹状図の枝を横切る直線によって前記樹状図上での遺伝子からの距離を指定することを特徴とする遺伝子データ表示方法。
【請求項３】
請求項１又は２記載の遺伝子データ表示方法において、前記樹状図のうち前記強調表示された部分木及びそれに対応する遺伝子の発現パターンだけを抽出して表示するステップを含むことを特徴とする遺伝子データ表示方法。
【請求項４】
請求項３記載の遺伝子データ表示方法において、前記抽出された発現パターンに対してクラスタ分析を行うステップを含むことを特徴とする遺伝子データ表示方法。
【請求項５】
請求項３記載の遺伝子データ表示方法において、前記抽出された発現パターンに対してクラスタ分析を行う範囲を指定するステップと、前記指定された範囲の発現パターンに対してクラスタ分析を行うステップを含むことを特徴とする遺伝子データ表示方法。
【請求項６】
複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、
クラスタ抽出すべき遺伝子の機能とクラスタ抽出のための条件を指定するステップと、
前記条件を満足する遺伝子クラスタを前記樹状図の部分木単位で強調表示するステップと
を含むことを特徴とする遺伝子データ表示方法。
【請求項７】
請求項６記載の遺伝子クラスタ抽出方法において、前記クラスタ抽出のための条件は、部分木中における前記機能を有する遺伝子の最小割合及び１クラスタに含まれる前記機能を有する遺伝子の最小個数であることを特徴とする遺伝子データ表示方法。
【請求項８】
複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、
前記樹状図の部分木を選択するステップと、
前記選択された部分木に含まれる遺伝子のを機能別に割合表示するステップと
を含むことを特徴とする遺伝子データ表示方法。
【請求項９】
複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、
前記樹状図の部分木を選択するステップと、
前記選択された部分木の平均発現パターンをグラフ表示するステップと
を含むことを特徴とする遺伝子データ表示方法。
【請求項１０】
請求項１〜９のいずれか１項記載の複数のステップを実行するためのコンピュータで実行されるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
技術分野
この発明は、特定の遺伝子とハイブイリダイズさせることによって得られた遺伝子発現データを、視覚的に分かりやすく、そして遺伝子の機能・役割が推測しやすい形式によって表示するための表示方式に関する。
背景技術
ゲノム配列が決定された種の増加に伴い、進化に対応すると見られる遺伝子を見つけ出し、どの生物も共通に持っていると考えられる遺伝子の集合を探したり、それから逆に種に個別な特徴を推測するなど、種間の遺伝子の違いから何かを見出そうとする、いわゆるゲノム比較法が盛んに行われてきた。
しかし近年、ＤＮＡチップやＤＮＡマイクロアレイ（以下、バイオチップという）などのインフラストラクチャの発達によって、分子生物学の興味は、種間の情報から種内の情報へ、すなわち同時発現解析へと移りつつあり、これまでの種間の比較と合わせて、情報の抽出から関連付けの場が大きく広がりを持ち始めている。
例えば、既知の遺伝子と同一の発現パターンを示す未知の遺伝子が見つかれば、それには既知の遺伝子と同様の機能があると類推できる。これら遺伝子や蛋白質そのものの機能的な意味付けは、機能ユニットや機能グループといった形で研究されている。またそれらの間の相互作用も、既知の酵素反応データや物質代謝データとの対応付けによって、あるいはより直接的に、ある遺伝子を破壊あるいは過剰反応させ、その遺伝子の発現をなくすか、あるいは多量に発現させ、その遺伝子の直接的及び間接的影響を、全遺伝子の発現パターンを調べることによって解析している。
この分野において成功した事例として、スタンフォード大学のＰ．Ｂｒｏｗｎらのグループによるイースト菌の発現解析が挙げられる（Ｍｉｃｈｅｌ　Ｂ．Ｅｉｓｅｎ　ｅｔ．ａｌ．：Ｃｌｕｓｔｅｒ　ａｎａｌｙｓｉｓ　ａｎｄ　ｄｉｓｐｌａｙ　ｏｆ　ｇｅｎｏｍｅ−ｗｉｄｅ　ｅｘｐｒｅｓｓｉｏｎ　ｐａｔｔｅｒｎｓ：Ｐｒｏｃ．Ｎａｔｌ．Ａｃａｄ．Ｓｃｉ．（１９９８）Ｄｅｃ８；９５（２５）：１４８６３−８）。彼らは、ＤＮＡマイクロアレイを用いて、細胞から抽出した遺伝子を時系列にハイブリダイズさせ、遺伝子の発現の度合い（ハイブリダイズした蛍光シグナルの輝度）を数値化した。数値に色を対応させることで、遺伝子の個々の発現過程をわかりやすく表示させている。このとき、細胞の一連のサイクルにおいて発現パターンの過程が近い遺伝子どうし（任意の時点での発現の度合いが近いものどうし）をクラスタリングしている。
図２７はこの方式によって遺伝子の発現状態を表示した標準的クラスタ分析結果表示例の図であり、横方向に実験ケース、縦方向に遺伝子を並べて表示している。それぞれの実験ケースにおける各遺伝子の発現の度合いは色濃度で示されており、色が濃いほど発現度合いが高いことを示している。また、図の左側には樹状図を表示している。樹状図は、クラスタリングの過程で、最も近い２つのクラスタ毎に併合されてきた状況を表しており、各枝の長さは併合時の２つのクラスタ間の相対距離に対応している。
図２８は、遺伝子の発現パターンの類似性を表現した他の表示例である。図の右側には観測した個々の遺伝子の情報を列挙しており、図の左側にはこれらの遺伝子の発現パターンに応じて作成した樹状図が表示されている。
生物学の発展に伴い、遺伝子の機能が徐々に明らかにされてきており、生物の研究者は、発現データと既知の情報を組み合わせて、遺伝子解析を行おうとしている。樹状図における解析では、研究者は、生物学的に意味のあるクラスタ（遺伝子の集合）を探す。すなわち、クラスタに含まれる各遺伝子の発現パターンが類似しており、かつ、既知の機能で同じものを持つものが多いならば、それを意味のあるクラスタとして抽出する。このようなクラスタをここでは機能クラスタとよぶ。図２８の縦のバー２８０１，２８０２は、機能クラスタを表示した例である。例えば、機能クラスタに含まれる遺伝子の中で、機能が未知のものがあるならば、同一クラスタ内の機能が既知のものと同様の機能を持つと推測することができる。また、機能クラスタの発現パターンをみることで、機能に特有の発現過程を見つけ出すことができる。
ところで、実際の遺伝子発現パターンの分析では、膨大な数の遺伝子データを扱うことになる。なぜなら、バイオチップは数千から数万のオーダーの遺伝子を同時に観測することが可能であるからである。バイオチップ技術の進展から、今後、同時観測可能な遺伝子の数は飛躍的に伸びていくものと思われ、生命のメカニズムの解明作業を強力に支援していくと考えられる。
ところが、遺伝子の数が膨大になると、全体の遺伝子の働きを把握することは非常に困難になる。すなわち、樹状図には数千〜数万の遺伝子が並ぶことになるので、図２７や図２８の樹状図の部分も非常に複雑な、細かな枝を多量に含んだものになり、どのような分類ができているのかを判断するのは難しい。
そして研究者は、この樹状図に対して機能クラスタを選び出すために、多大な労力と時間を費やすことになる。市販の遺伝子発現クラスタリングツールの中には、樹状図や遺伝子名の表示機能を備えるものはあるものの、どのようなクラスタに着目すべきか示唆を与えるものはなかった。
それ故本発明は、従来技術の問題点を鑑み、クラスタリングの結果から、同じ機能を持つ遺伝子群とそれらに類似した発現パターンをもつ遺伝子を抜き出し、これらの遺伝子に対して、再分析を施すような機能及び表示を提供することを第１の目的とする。これにより、遺伝子の機能に特異的な発現パターンの発見や、機能が未知の遺伝子に対する機能推定、ある機能を持つ遺伝子が他の遺伝子機能を持つかどうかの推定などを支援することができる。
また、本発明は、発現パターンが類似しているもので、かつ、同じ機能を持つ遺伝子が凝集しているクラスタを自動的に選別し、そのクラスタの特徴を研究者にわかり易い形で表示する手段を提供することを第２の目的とする。
発明の開示
前記第１の目的を達成するための、本発明による遺伝子データ表示方法は、複数の遺伝子の発現パターンと、その発現パターンをクラスタ分析して得た樹状図とを対応付けて表示するステップと、注目する遺伝子の機能及び樹状図上での距離を指定するステップと、指定された機能を持つ遺伝子を含み、当該遺伝子と樹状図上での距離が指定された距離以下のノードをルートとする樹状図の部分木を強調表示するステップとを含むことを特徴とする。
この遺伝子データ表示方法は、複数の遺伝子発現パターンデータを視覚的に分かりやすく、そして遺伝子の機能・役割が推測しやすい形式によって表示するものであり、遺伝子の発現データをもとにクラスタリングした後、結果を表す樹状図中において、同じ機能を持つ遺伝子群とそれらに類似した発現パターンを持つ遺伝子群に対応する樹状図の枝を強調表示することで、樹状図全体でこれらの遺伝子がどこに位置しているのかを把握することができる。
樹状図上での遺伝子からの距離の指定は、樹状図の枝を横切る直線を引くことによって行うことができる。
前記した遺伝子データ表示方法は、更に樹状図のうち前記強調表示された部分木及びそれに対応する遺伝子の発現パターンだけを抽出して表示するステップを含むことができる。
抽出された発現パターンに対してクラスタ分析を行うステップを更に含むことができる。
また、抽出された発現パターンに対してクラスタ分析を行う範囲を指定するステップと、指定された範囲の発現パターンに対してクラスタ分析を行うステップを更に含むことができる。
前記第２の目的を達成するための、本発明による遺伝子データ表示方法は、複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、クラスタ抽出すべき遺伝子の機能とクラスタ抽出のための条件を指定するステップと、前記条件を満足する遺伝子クラスタを樹状図の部分木単位で強調表示するステップとを含むことを特徴とする。
この遺伝子データ表示方法は、複数の遺伝子発現パターンデータを視覚的に分かりやすく、そして遺伝子の機能・役割が推測しやすい形式によって表示するものであり、発現パターンが類似しているもので、遺伝子の既知の機能で同じものが多く集まったクラスタを自動的に抽出して表示することができる。
クラスタ抽出のための条件は、部分木中における前記機能を有する遺伝子の最小割合及び１クラスタに含まれる前記機能を有する遺伝子の最小個数とすることができる。
また、前記第２の目的を達成するための、本発明による遺伝子データ表示方法は、複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、樹状図の部分木を選択するステップと、選択された部分木に含まれる遺伝子のを機能別に割合表示するステップとを含むことを特徴とする。
クラスタ分析によって得られた樹状図の部分木を選択し、詳細表示することで、そこにどのような遺伝子の機能が集まっているのがわかり、機能が未知の遺伝子に対する機能の推定を補助することが可能になる。
さらに、前記第２の目的を達成するための、本発明による遺伝子データ表示方法は、複数の遺伝子の発現パターンをクラスタ分析して得た樹状図を表示するステップと、樹状図の部分木を選択するステップと、選択された部分木の平均発現パターンをグラフ表示するステップとを含むことを特徴とする。
クラスタ分析によって得られた樹状図の部分木を選択し、発現パターンを詳細表示することで、機能に固有の発現パターンがどのようなものかを理解することができるようになる。グラフには発現値の平均と共に分散を表示するようにしてもよい。
また、本発明によるコンピュータ読み取り可能な記録媒体は、前述の各方法の複数のステップを実行するためのコンピュータで実行されるプログラムを記録したことを特徴とする。
発明を実施するための最良の形態
本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
〔第１の実施形態〕
最初に、本発明の第１の目的を達成するための実施形態について説明する。
図１は、本発明の第１の目的を達成するシステムの画面表示例であり、機能が同じものを持つ遺伝子及びそれらに発現パターンが類似している遺伝子を強調表示した画面表示例を示す図である。利用者が遺伝子の機能の一つを選択すると、その機能をもつ遺伝子及び類似した発現パターンをもつ遺伝子を樹状図から探し出して強調表示する。選択した機能を持つ遺伝子は、１０１で示す印のものである。印がついていない遺伝子は、異なる機能のものか、機能が未知のものを表している。
ここで発現パターンが類似しているとは、クラスタ間の距離が小さい、すなわち樹状図において枝の長さが短いことを意味する。そこで、距離に関する閾値を設けて、距離がその閾値以下である部分木の遺伝子は互いに発現パターンが類似しているとみなすことにする。図１の樹状図上に示した縦の破線１００は閾値を示す線であり、図示の例の場合、この線１００から葉までの範囲で、同じ部分木を共有する遺伝子は、類似した発現パターンであるとして樹状図の枝を強調表示している。
このような表示方法をとることにより、同じ機能を持つ遺伝子群とそれらに類似した発現パターンをもつ遺伝子を効果的に強調表示し、それらが樹状図全体のどこに位置しているかも一目で把握することが可能となる。これらの遺伝子群のことを、ここでは機能関連遺伝子とよぶ。
さらに、図１で強調表示した遺伝子を取り出して表示した画面が図２である。すなわち、同じ機能を持つ遺伝子及びそれらに発現パターンが類似した遺伝子だけを抜き出して表示した例である。図２のように、今まで樹状図中でばらばらに散在していた機能関連遺伝子をまとめて表示することによって、機能に固有な発現パターンを推測することができる。図２の表示例の場合、実験ケース（横軸）の一部の範囲２００に各遺伝子に共通した発現パターンが出ているので、この範囲２００が機能に特異的なパターンではないかと推測できる。
図３は、図２のデータに対して、更に別のクラスタリング方法を適用した時の表示画面例を示している。また図４は、図３から機能に固有であると思われる発現パターン（３００）を取り除いてから、残ったデータに対してクラスタリングを施した場合の表示画面例である。このように、機能関連遺伝子を更に分析し観察し直すことで、機能が未知の遺伝子に対する機能推定や、他の遺伝子機能を持つかどうかの推定などを支援することができる。
図５は、本発明のシステム構成例を示す模式図である。このシステムは、遺伝子の情報及び発現過程を記録した遺伝子データ５０１と、遺伝子の発現過程に応じてクラスタリングを行ない、それを樹状図の形式で表示するための解析を行なうクラスタリング処理部５００と、樹状図を表示するための表示装置５０２と、本システムへの値の入力や選択の操作を行うためのキーボード５０３及びマウス５０４と、機能クラスタを自動抽出するために用いられる遺伝子機能名リスト５０５を備えて構成される。クラスタリング処理部５００は、コンピュータとそのプログラムによって具体化される。プログラムはＣＤ−ＲＯＭ等の記録媒体に記録することができ、コンピュータでそれを読み取ることによってロードされる。あるいは、ネットワークを介して他のコンピュータからダウンロードされる。また、遺伝子データは、記憶装置５０１に記憶されているデータを用いるのに代えて、ネットワーク等を介して遠隔地に設置されたサーバコンピュータが管理しているデータベースから取得してもよい。
図６は遺伝子データ５０１の具体的な構造を示したものである。遺伝子情報は、ｇｅｎｅ［ｉ］（ｉ＝１，２，．．．，ｍ）というｍ個の要素からなる配列に格納されているとする。ただし、ｍは遺伝子データに含まれる遺伝子の個数である。遺伝子データは、遺伝子を一意に決める遺伝子ＩＤ（６００）、遺伝子を表す属性情報（６０１）、ＤＮＡチップまたはＤＮＡマイクロアレイ等のバイオチップから得られた発現データ（６０２）からなる。遺伝子を表す属性は、例えば遺伝子名（６０３）、ＯＲＦ（６０４）、遺伝子の機能（６０５）などがある。これら以外の遺伝子の属性を、遺伝子情報構造体のメンバとして定義することも可能である。また発現データ（６０２）には、各実験で遺伝子の発現の度合い（ハイブリダイゼーション反応後の蛍光シグナルの輝度）を数値化したデータを格納している。本実施形態では、実験の回数をｎとし、１つの遺伝子の発現データをｎ次元のベクトルとして扱っている。
図７は、遺伝子機能名リスト（５０５）の具体的な構造を示したものである。遺伝子機能名リストはｆｕｎｃＬｉｓｔ［］という、ｆｕｎｃ＿ｎｕｍ個の要素からなる配列で表されており、配列の中身には、機能の名前が入っている。配列ｆｕｎｃＬｉｓｔ［］のインデックスをｆｕｎｃＩｄｘと表し、機能に対応するＩＤとして扱う。機能が未知のものも、例えば「ＵＮＫＯＷＮ」という機能名でｆｕｎｃＬｉｓｔ［］に登録しておく。
図８は、クラスタリング処理において利用するクラスタ構造体の例を示している。全てのクラスタ構造体は、樹状図の各ノードまたは葉と対応している。各クラスタを識別するため、ｃｌｕｓｔｅｒＮｏ（８００）とｃｌｕｓｔｅｒｉｎｇＩＤ（８０６）のペアで各クラスタ構造体を一意的に表している。ｃｌｕｓｔｅｒｉｎｇＩＤ（８０６）はクラスタリング方法ごとに一意に決まるＩＤである。ｃｌｕｓｔｅｒＮｏ（８００）は、一つのｃｌｕｓｔｅｒｉｎｇＩＤにおけるノードを表すＩＤとして用いている。
クラスタ構造体には２種類あり、葉を表すクラスタと中間ノードを表すクラスタに対応して、ｔｙｐｅメンバ（８０１）の値でｌｅａｆのもの（左側）とｎｏｄｅのもの（右側）に分けている。ｎｏｄｅ型クラスタ構造体は、クラスタリングにおける併合処理において逐次生成するもので、併合前の２つのクラスタをｌｅｆｔ（８０２）の値と、ｒｉｇｈｔ（８０３）の値からたどれるようにし、また、それらの間の距離（（非）類似度）をｄｉｓｔａｎｃｅ（８０４）の値として保持する。ｌｅｆｔ及びｒｉｇｈｔの値には、ｃｌｕｓｔｅｒＮｏ（８００）が入っている。一方、ｌｅａｆ型クラスタ構造体は、それぞれ一つの遺伝子に対応しており、ｇｅｎｅＩＤ（８０５）に遺伝子ＩＤ（６００）を格納することで、遺伝子情報構造体のデータが参照できるようになっている。
またｎｏｄｅ型クラスタ構造体の場合、ｌｅａｆＦｕｎｃＬｉｓｔ（８０７）にクラスタに属するｌｅａｆ型クラスタに対応する遺伝子の機能を種類ごとにリスト構造で格納する。ｌｅａｆ型クラスタ構造体の場合は、ＬｅａｆＦｕｎｃＬｉｓｔ（８０７）に対応する遺伝子の機能をリスト構造で格納する。１つのリストは、機能のＩＤを格納するためのＩｄｘ（８０８）、次のリストへのポインタを格納するためのＮｅｘｔＰｔｒ（８０９）からなる。Ｉｄｘに入る機能ＩＤは、遺伝子機能名リストにおけるｆｕｎｃＬｉｓｔのインデックスである。遺伝子の機能が複数ある場合は、その分だけｌｅａｆＦｕｎｃＬｉｓｔに追加する。例えば、ある遺伝子が機能として「ＴＲＡＮＳＰＯＲＴ」と「ＴＣＡ　ＣＹＣＬＥ」と「ＧＬＹＣＯＬＹＳＩＳ」を持っている場合、ｆｕｎｃＬｉｓｔは３つのリストからなる。
図９は、クラスタ構造体に格納した機能リストＬｅａｆＦｕｎｃＬｉｓｔ（８０７）の例を示したものである。樹状図の右には各遺伝子の機能名を記してある。ノード９００に結合される葉の遺伝子に、機能「ＵＮＫＯＷＮ（ｆｕｎｃＩｄｘ：１）」、「ＴＲＡＮＳＰＯＲＴ（ｆｕｎｃＩｄｘ：２）」、「ＧＬＹＣＯＬＹＳＩＳ（ｆｕｎｃＩｄｘ：３）」、「ＴＣＡ　ＣＹＣＬＥ（ｆｕｎｃＩｄｘ：４）」があるので、クラスタ構造体のｌｅａｆＦｕｎｃＬｉｓｔは図のような形で表現される。
図１０は、クラスタ分析の過程で生成するデータ構造を示した図である。クラスタ構造体は、最初ｌｅａｆ型のものだけを用意するが、クラスタ分析の過程で２つずつ併合し、その度にｎｏｄｅ型クラスタ構造体を生成してトリー構造を組み立てる。これらのリンク構造はｃｌｕｓｔｅｒｉｎｇＩＤ（８０６）ごとに管理している。なぜなら、ｃｌｕｓｔｅｒｉｎｇＩＤはクラスタリング方法ごとに決めており、クラスタリング方法が変わると、トリーの構造が変わってしまうからである。
図１１は、機能関連遺伝子を格納するための、ｅｎ＿ｎｕｍ個の要素からなる配列ｅｘｔｒａｃｔＮｏｄｅｓ［］の例を示したものである。ここには、関連機能遺伝子とみなした遺伝子群の部分木のルートノードのｃｌｕｓｔｅｒＮｏを格納する。例えば、図１１に示すように、ある機能を持つ遺伝子が１１００の位置にあり、発現の類似性を決める閾値を樹状図上に破線１１０１で示した位置に設定したとき、閾値を決める線１１０１によって切断されるノードのｃｌｕｓｔｅｒＮｏがｅｘｔｒａｃｔＮｏｄｅｓ［］に格納される。
図１２は、クラスタリング適用データ範囲の情報を格納するための、ｄｉｍ＿ｎｕｍ個の要素からなる配列ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］の例を示したものである。クラスタリング適用データ範囲とは、クラスタリングの対象データとするベクトルデータ（発現データ）の次元（実験）の範囲のことである。配列ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］にはデータ対象の次元が格納される。例えば、図１２に示すように、実験１から実験１１までの発現データがある場合に、１２００で示す発現データ５から７の範囲をクラスタリングの対象データから除く場合、配列ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］の内容は図のようになる。
図１３は、本実施形態の遺伝子クラスタ方式の概略処理フローを示した図である。
まず、遺伝子発現パターンデータからクラスタリング処理部５００へデータを読み込む（ステップ１３００）。次に、クラスタリング方法を表すＩＤであるｃｌｕｓｔＩＤに１を、クラスタリング適用データ範囲ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］に先頭要素から１，２，３，．．．，ｎを代入して初期化し、クラスタ対象のデータの総数を示すｇｎｕｍにｍを代入しておく（ステップ１３０１）。そして、クラスタ分析に必要な各種パラメータを設定する（ステップ１３０２）。
各種パラメータ初期化・設定の後、クラスタ分析を行う（ステップ１３０３）。これについては、後で詳しく説明する。そして、分析結果の表示を行う（１３０４）。ここで、先に収集し、計算しておいた表示用のデータ（クラスタ間の相対距離）を用い樹状図を作成し、遺伝子名や機能を表示する。
ここで同じ機能をもつ遺伝子を樹状図内で表示するならば、発現パターンの類似度合いを示す閾値の設定を行ない、対象とする機能名を選択する（ステップ１３０６，１３０７）。閾値の設定は、クラスタリング結果の表示から、（図１に示す閾値の線１００をマウスで左右に動かすなどして）適切な値を選択すればよい。ステップ１３０５において、同じ機能をもつ遺伝子を表示しないのであれば、処理は終了する。
次に、引数を先ほど生成した樹状図のルートに対応するクラスタとして、ステップ１３０７で選択した機能名をもつ遺伝子及びそれらに類似した発現パターンをもつ遺伝子を抽出する処理を行う（ステップ１３０８）。これについては後で詳しく説明する。この処理の後、配列ｅｘｔｒａｃｔＮｏｄｅｓ［］には、抽出した遺伝子（機能関連遺伝子）の部分木のルートのｃｌｕｓｔｅｒＮｏが入っているので、その情報を元に、図１に太線で示すように機能関連遺伝子に対応する枝を強調表示する（ステップ１３０９）。
ステップ１３０７で選択した機能名以外のものに着目したいのであれば、ステップ１３０６に戻って、処理を続ける（ステップ１３１０）。他の機能名に着目しないのであれば、図３のように、抽出した遺伝子（機能関連遺伝子）だけで樹状図を再表示する（ステップ１３１１）。
機能関連遺伝子の遺伝子群に対して、更にクラスタリングを施すならば、次の処理を行う。まず、クラスタリング適用データ範囲を絞り込んだ後にクラスタリングを適用したい場合、配列ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］を更新する。つまり、図１２に示したように、クラスタリングの対象とする次元をｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］に書き込む。このクラスタリング対象次元の書き込みは、マウス等を用いて表示画面上で範囲を指定することでも行うことができる。その後、クラスタリング方法のＩＤであるｃｌｕｓｔＩＤとクラスタリング適用データ範囲を再設定する。まず、ｃｌｕｓｔＩＤを１つインクリメントする。また、クラスタリング適用データ範囲としてクラスタリング処理に読み込ませるデータを、ステップ１３０８で抽出した機能関連遺伝子の遺伝子群に置き換え、クラスタ対象のデータの総数を示すｇｎｕｍに機能関連遺伝子の個数を代入する。その後、ステップ１３０２の処理に戻ってクラスタリングを行う。ステップ１３１２において、これ以上クラスタリングを適用しないならば処理を終了する。
図１４は、図１３におけるクラスタ分析（ステップ１３０３）の処理の詳細フローである。
まず、図６に示した各遺伝子ＩＤに対応する発現データで構成されるｎ次元ベクトル（６０２）において、配列ｃｌｕｓｔｅｒｉｎｇ＿ｄｉｍｓ［］に対応する次元を遺伝子に対応するベクトルデータとする。ｇｎｕｍ個の各遺伝子に対するｌｅａｆ型クラスタ構造体を生成して、併合対象クラスタとして登録する（ステップ１４００）。このときクラスタ構造体のｃｌｕｓｔｅｒＮｏメンバ値（８００）には、投入する遺伝子データの順に１，２，３，・・・と割り当ててゆく。また、遺伝子ＩＤ（６００）をｇｅｎｅＩＤメンバ値（８０５）に、ｃｌｕｓｔＩＤをｃｌｕｓｔｅｒｉｎｇＩＤメンバ値（８０６）に、ｌｅａｆＦｕｎｃＬｉｓｔメンバ（８０７）に対応する遺伝子の機能をそれぞれ登録する。
次に、併合対象クラスタ数ｃｎｕｍの値をｇｎｕｍ、これまで生成したｎｏｄｅ型クラスタ構造体の数ｎｃｌｓを０として初期化する（ステップ１４０１）。さらに、併合対象クラスタの数ｃｎｕｍが１に等しいかどうか判定し（ステップ１４０２）、等しくない場合、１になるまで以下の一連の処理を繰り返す。等しい場合は、処理を終了する。
最初に、登録された併合対象のクラスタから相対距離最小の２つのクラスタを選択する（ステップ１４０３）。次に、ｎｏｄｅ型クラスタＣを新規に生成し（ステップ１４０４）、ｎｏｄｅ型クラスタ数をインクリメントする（ステップ１４０５）。新しいｎｏｄｅ型クラスタのｌｅｆｔメンバ（８０２）、ｒｉｇｈｔメンバ（８０３）、ｄｉｓｔａｎｃｅメンバ（８０４）に、先にステップ１４０３で選択した２つのクラスタ、及びその間の距離を登録し、２つのクラスタのｌｅａｆＦｕｎｃＬｉｓｔを加えたものをｌｅａｆＦｕｎｃＬｉｓｔメンバ（８０７）に登録する。さらにｃｌｕｓｔＩＤをｃｌｕｓｔｅｒｉｎｇＩＤメンバ（８０６）に、ｇｎｕｍ＋ｎｃｌｕｓをＣのｃｌｕｓｔｅｒＮｏメンバ（８００）に登録する（ステップ１４０６）。
ここで、２つクラスタのどちらをｌｅｆｔメンバとし、残りをｒｉｇｈｔメンバとするかについて、予め判定基準を設けることも可能である。最後に、この２つのクラスタを併合対象クラスタから除外、新しいｎｏｄｅ型クラスタを登録し（ステップ１４０７）、併合対象クラスタ数ｃｎｕｍの値をデクリメントし（ステップ１４０８）、ステップ１４０２から処理を続ける。
図１５は、図１３における機能名に関連した遺伝子を抽出する処理（ステップ１３０８）の詳細フローである。
まず、引数で与えられたクラスタのｔｙｐｅメンバ値を調べ、それがｌｅａｆなら処理を終了する（ステップ１５００）。次に、引数で与えられたクラスタのｒｉｇｈｔメンバのクラスタ（Ｃｒ）をルートとする部分木に、機能関連遺伝子が含まれるか調べる。すなわち、図１３のステップ１３０７で選択した機能名の機能ＩＤが、ＣｒのｌｅａｆＦｕｎｃＬｉｓｔ（８０７）のリストに含まれるか調べる。もし含まれていなければ処理を終了する（ステップ１５０１）。
クラスタＣｒに該当する機能が含まれているなら、Ｃｒのｄｉｓｔａｎｃｅメンバ（８０４）が、図１３のステップ１３０６で定めた閾値よりも小さいか調べる（ステップ１５０２）。小さいならば、関連機能遺伝子を格納する配列（ｅｘｔｒａｃｔＮｏｄｅｓ［］）にＣｒのｃｌｕｓｔｅｒＮｏメンバ値（８００）を登録する（ステップ１５０３）。ステップ１５０２において、ｄｉｓｔａｎｃｅメンバが閾値よりも大きいならば、クラスタＣｒを引数として、再度、機能名に関連した遺伝子を抽出する処理（図１５の処理）を行う。
同様な処理を、引数で与えられたクラスタのｌｉｇｈｔメンバのクラスタにも行い処理を終了する（ステップ１５０５〜１５０８）。
以上の処理によって、図１〜図４に示したようなクラスタ分析結果の表示及び分析が可能となる。
〔第２の実施形態〕
次に、本発明の第２の目的を達成するための実施形態について説明する。本実施の形態のシステム構成は図５と同様である。また、遺伝子データ及び遺伝子機能名リストとして、第１の実施形態で説明した図７，図８と同様のものを用いる。
本実施形態では、部分木に属する遺伝子で、各機能がいくつあるかを算出し、部分木での各機能が占める割合を求める。部分木でその割合が、予め定めた閾値を超えるならば、それを機能クラスタとみなし、抽出する処理を行う。このとき、１遺伝子が単体で機能クラスタとしてみなされないようにするため、少なくとも１クラスタに含まれる遺伝子の個数も閾値として予め定めておく。
このクラスタ抽出処理を模式的に表したのが図１６である。ここでは、機能としてＧＬＹＣＯＬＹＳＩＳをもつ遺伝子に関する機能クラスタを探索する処理を示している。この例では、閾値として、図１６の右側に示したように、部分木でＧＬＹＣＯＬＹＳＩＳの機能をもつ最低の割合を０．４０とし、少なくとも３つ以上の遺伝子を含むクラスタを選び出すようにしている。
図１６の例の場合、まず樹状図のルートノード１６００を見ると、機能ＧＬＹＣＯＬＹＳＩＳを持つ遺伝子の個数は５個で、部分木に属する遺伝子の全個数（１７個）に対して機能ＧＬＹＣＯＬＹＳＩＳを有する遺伝子の割合は、５／１７＝０．２９であり、閾値として設定した最低の割合（０．４０）よりも小さいから、ノード１６００の部分木は機能ＧＬＹＣＯＬＹＳＩＳに関する機能クラスタとみなさない。
次に、ノード１６００に属する２つの子ノード１６０１と１６０２で、これらのノードをルートとみたときの部分木に対して、機能ＧＬＹＣＯＬＹＳＩＳを持つ遺伝子の割合を同様に算出する。これらはそれぞれ０．００及び０．３６であるので、ノード１６０１及び１６０２は機能ＧＬＹＣＯＬＹＳＩＳに関する機能クラスタとはみなさない。ノード１６０１は、左右の子ノードを部分木のルートとしたときの遺伝子の個数が２個と１個なので、少なくとも３つ以上の遺伝子をもつクラスタを選び出すという閾値の条件に反するため、これ以上探索を続けない。
ノード１６０２の左右の子ノード１６０３と１６０４についても機能ＧＬＹＣＯＬＹＳＩＳを有する遺伝子の割合を同様に計算する。ノード１６０４においては、機能ＧＬＹＣＯＬＹＳＩＳを有する遺伝子の割合が０．４４であり、閾値で定めた割合よりも大きいので、これを機能クラスタとみなす。他方、ノード１６０３及びその子ノード１６０５は、ＧＬＹＣＯＬＹＳＩＳの割合が閾値で定めた割合よりも小さいので、機能クラスタとみなさない。このようにして、機能クラスタを決定していく。
図１７は、本実施の形態による画面表示例である。機能クラスタは、樹状図の横に縦のバーを引いて示している。また、１７０１，１７０２のように、バーが重複して表示されることがある。これは、遺伝子が複数の機能を持っているため、その両方の機能に関して、機能クラスタの部分を表示しているためである。機能クラスタの表示はその部分が他から識別できるようにして強調表示されればよいのであり、バーを引く方法以外にも表示色を変える方法、枠で囲んで表示するなど種々の方法で強調表示することができる。
図１８は、本実施形態による画面表示の他の例である。この表示例は、部分木の枝をマウスで選択したときに、それに含まれる遺伝子の機能の割合を円グラフで表し、さらに、横軸に実験ケース、例えば時間をとり、ポインタ１８０１で選択した部分木に属する各遺伝子の発現パターンの平均及び分散を算出してグラフ表示したものである。このような表示法を、特に機能クラスタに対して適用することにより、機能未知の遺伝子の機能推定に役立ち、また、機能に固有の発現パターンを見つけ出すことができる。
図１９は、本実施の形態のクラスタリング処理において利用するクラスタ構造体の例を示している。全てのクラスタ構造体は、樹状図の各ノードまたは葉と対応している。各クラスタを識別するため、ｃｌｕｓｔｅｒＮｏ（１９００）で各クラスタ構造体に一意的に番号を割り振っている。クラスタ構造体には２種類あり、葉を表すクラスタと中間ノードを表すクラスタに対応して、ｔｙｐｅメンバ（１９０１）の値でｌｅａｆのもの（左側）とｎｏｄｅのもの（右側）に分けている。
ｎｏｄｅ型クラスタ構造体は、クラスタリングにおける併合処理において逐次生成するもので、併合前の２つのクラスタをｌｅｆｔ（１９０２）の値と、ｒｉｇｈｔ（１９０３）の値からたどれるようにし、また、それらの間の距離（（非）類似度）をｄｉｓｔａｎｃｅ（１９０４）の値として保持する。ｌｅｆｔ及びｒｉｇｈｔは、クラスタを一意に示すｃｌｕｓｔｅｒＮｏ（１９００）が入っている。
ｌｅａｆ型クラスタ構造体は、それぞれ一つの遺伝子に対応しており、ｇｅｎｅＩＤ（１９０５）に遺伝子ＩＤ（６００）を格納することで、遺伝子情報構造体のデータが参照できるようになっている。またｎｏｄｅ型クラスタ構造体の場合、そのクラスタに属するｌｅａｆ型のクラスタの個数をｌｅａｆＮｕｍ（１９０６）に格納し、ｌｅａｆＦｕｎｃＬｉｓｔ（１９０７）にクラスタに属するｌｅａｆ型クラスタに対応する遺伝子における機能を種類ごとにリスト構造で格納する。ｌｅａｆ型クラスタ構造体の場合はｌｅａｆＮｕｍ（１９０６）に１を格納する。ＬｅａｆＦｕｎｃＬｉｓｔ（１９０７）には、対応する遺伝子の機能をリスト構造で格納する。
１つのリストは、機能のＩＤを格納するためのＩｄｘ（１９０８）、その機能が部分木中に現れた回数を示すＮｕｍ（１９０９）、次のリストへのポインタを格納するためのＮｅｘｔＰｔｒ（１９１０）からなる。Ｉｄｘに入る機能ＩＤは、遺伝子機能名リストにおけるｆｕｎｃＬｉｓｔのインデックスである。
遺伝子の機能が複数ある場合は、１を機能の個数で割って、機能が現れた回数Ｎｕｍ（１９０９）を１の等分割の値として表したり、あるいは、複数の機能をそれぞれ１としてＮｕｍを表したりすればよい。例えば、ある遺伝子が機能として「ＴＲＡＮＳＰＯＲＴ」と「ＴＣＡ　ＣＹＣＬＥ」と「ＧＬＹＣＯＬＹＳＩＳ」を持っている場合、１の等分割で機能が現れた回数を表すと、ｆｕｎｃＬｉｓｔは３つのリストからなり、それぞれのＮｕｍは０．３３ずつとなる。
図２０は、図１９に示したクラスタ構造体での機能リストＬｅａｆＦｕｎｃＬｉｓｔ（１９０７）の格納の例を示したものである。樹状図の右には各遺伝子の機能名を記してある。ノード２０００に結合される遺伝子に、機能「ＵＮＫＯＷＮ（ｆｕｎｃＩｄｘ：１）」が４つ、「ＴＲＡＮＳＰＯＲＴ（ｆｕｎｃＩｄｘ：２）」が４つ、「ＧＬＹＣＯＬＹＳＩＳ（ｆｕｎｃＩｄｘ：３）」が７つ、「ＴＣＡ　ＣＹＣＬＥ（ｆｕｎｃＩｄｘ：４）」が１つあるので、クラスタ構造体のｌｅａｆＦｕｎｃＬｉｓｔは図のような形で表現される。
図２１は、クラスタ分析の過程で生成するデータ構造を示した図である。クラスタ構造体は、最初ｌｅａｆ型のものだけを用意するが、クラスタ分析の過程で２つずつ併合し、その度にｎｏｄｅ型クラスタ構造体を生成してトリー構造を組み立てる。ｎｏｄｅ型クラスタは生成した順に、逐次、配列ｎｏｄｅ＿ｃｌｕｓｔｅｒｓ［］から辿れるようにポインタを張ってゆく。変数ｎｃｌｕｓは、これまで生成したｎｏｄｅ型クラスタ構造体の総数を保持する変数である。
図２２は、結果格納用構造体の配列ｒｅｓｕｌｔｓ［ｉ］（ｉ＝１，２，３，．．．，ｆｕｎｃ＿ｎｕｍ）を表したものである。ｒｅｓｌｕｔｓ［ｉ］のインデックスｉは、各機能ＩＤ（ｆｕｎｃＩｄｘ）に対応している。すなわち、機能ごとにｒｅｓｕｌｔｓ［］の１要素を割り当てていく。構造体ｒｅｓｕｌｔｓ［］のメンバは、閾値と抽出結果で構成されている。閾値は、１つの部分木に含まれるべき機能の割合をｔｈｒｅｓｈｏｌｄ　ｒａｔｅ（２２００）、部分木に含まれるべきｌｅａｆ型クラスタの最小個数をｔｈｒｅｓｈｏｌｄ　ｌｅａｆ（２２０１）からなる。また抽出結果は、ｒｅｓｌｕｔ（２２０２）で表す。ここには、機能クラスタを示す中間ノード（ｔｙｐｅ型クラスタ）のｃｌｕｓｔｅｒＮｏを格納する
閾値の設定は、キーボードやマウスを操作して利用者が行うことも可能である。特にｔｈｒｅｓｈｏｌｄ　ｒａｔｅ（２２００）は、各機能を一律にある値で決めてもよいし、もともとある機能の割合が全体的に大きければ、それに応じて割合を変えるなど、いくつかの利用形態が考えられる。
図２３は、本実施形態の遺伝子クラスタ方式の概略処理フローを示した図である。
まず、遺伝子発現パターンデータからクラスタリング処理部５００へデータを読み込む（ステップ２３００）。次に、クラスタ分析に必要な各種パラメータと閾値を設定する（ステップ２３０１、２３０２）。各種パラメータ設定の後、クラスタ分析を行う（ステップ２３０３）。このクラスタ分析の処理の間に、本発明の機能クラスタ表示に必要な情報を収集し、表示用データの計算を行う。これについては、後で詳しく説明する。
そして、分析結果の表示を行う（２３０４）。ここで、先に収集し、計算しておいた表示用のデータ（クラスタ間の相対距離）を用い樹状図を作成し、遺伝子名や機能を表示する。また、ｒｅｓｕｌｔｓ［］配列のｒｅｓｕｌｔメンバの指す中間ノード（ｎｏｄｅ型クラスタ構造体）に結合される葉ノード（ｌｅａｆ型クラスタ構造体）に、図１７の１７０１，１７０２に示すようなバーの表示を行う。
ここで部分木を選択して表示するならば、図１８に示すように、選択した部分木に含まれる葉ノードの遺伝子の機能の分布を表示し、それらの遺伝子の平均発現パターンを表示する（ステップ２３０５，２３０６）。表示には、選択した部分木に対応する中間ノード（ｎｏｄｅ型クラスタ）のｌｅａｆＦｕｎｃＬｉｓｔ（１９０７）に機能の分布が格納されているので、それを元に機能分布を作成し、さらに、ｌｅａｆ型クラスタまでたどり、遺伝子データ配列ｇｅｎｅ［］の発現データ（６０２）を元に平均発現パターンを作成すればよい。部分木の選択がなければ、処理を終える。
図２４は、図２３におけるクラスタ分析（ステップ２３０３）の処理の詳細フローであり、第一段階処理としてのクラスタ木の生成処理に関するフロー図である。
まず、図６に示した各遺伝子ＩＤに対応するｍ個のｎ次元ベクトルデータ（６０２）をｍ個のｌｅａｆ型クラスタ構造体とし、併合対象クラスタとして登録する（ステップ２４００）。このとき、ｃｌｕｓｔｅｒＮｏをｇｅｎｅ［］のインデックスに、ｇｅｎｅＩＤ（１９０５）を遺伝子ＩＤ（６００）に、ｌｅａｆＮｕｍ（１９０６）を１に、ｌｅａｔＦｕｎｃＬｉｓｔ（１９０７）に対応する遺伝子の機能を追加する。
次に、併合対象クラスタ数ｃｎｕｍの値をｍ、これまで生成したｎｏｄｅ型クラスタ構造体の数ｎｃｌｓを０として初期化する（ステップ２４０１）。さらに、併合対象クラスタの数ｃｎｕｍが１に等しいかどうか判定し（ステップ２４０２）、等しくない場合、１になるまで以下の一連の処理を繰り返す。
最初に、登録された併合対象のクラスタから相対距離最小の２つのクラスタを選択する（ステップ２４０３）。次に、ｎｏｄｅ型クラスタＣを新規に生成し（ステップ２４０４）、ｎｏｄｅ型クラスタ数をインクリメントする（ステップ２４０５）。そして、配列ｎｏｄｅ＿ｃｌｕｓｔｅｒｓ［］の第ｎｃｌｓ番成分に新しいｎｏｄｅ型クラスタを登録する（ステップ２４０６）。さらに、新しいｎｏｄｅ型クラスタのｌｅｆｔメンバ（１９０２）、ｒｉｇｈｔメンバ（１９０３）、ｄｉｓｔａｎｃｅメンバ（１９０４）に、先にステップ２４０３で選択した２つのクラスタ、及びその間の距離を登録し、２つのクラスタのｌｅａｆＮｕｍを加えたものをｌｅａｆＮｕｍメンバ（１９０６）に、ｌｅａｆＦｕｎｃＬｉｓｔを加えたものをｌｅａｆＦｕｎｃＬｉｓｔメンバ（１９０７）に登録する。ｍ＋ｎｃｌｕｓをＣのｃｌｕｓｔｅｒＮｏメンバに登録する（ステップ２４０７）。
ここで、２つクラスタのどちらをｌｅｆｔメンバとし、残りをｒｉｇｈｔメンバとするかについて、予め判定基準を設けることも可能である。最後に、この２つのクラスタを併合対象クラスタから除外、新しいｎｏｄｅ型クラスタを登録し（ステップ２４０８）、併合対象クラスタ数ｃｎｕｍの値をデクリメントする（ステップ２４０９）。ステップ２４０２の判定においてｃｎｕｍの値が１に等しくなったら、図２５のフローに継続する。
図２５は、図２３におけるクラスタ分析（ステップ２３０３）の処理の詳細フローであり、第二段階処理としての機能クラスタの自動抽出処理に関するフロー図である。
まず遺伝子機能名リストのインデックスを表すｉｄｘを１に初期化しておく（ステップ２５００）。今までの処理によって、Ｃは樹状図のルートのノードになっている。樹状図に属する全遺伝子の中で、機能がｆｕｎｃＬｉｓｔ［ｉｄｘ］であるものの割合が、部分木に含まれるべき機能の割合（ｒｅｓｕｌｔ［ｉｄｘ］のｔｈｒｅｓｈｏｌｄ　ｒａｔｅメンバ値）よりも大きいかどうか判定する（ステップ２５０１）。もし大きいならば、ＣのｃｌｕｓｔｅｒＮｏメンバ値をｒｅｓｕｌｔｓ［ｉｄｘ］のｒｅｓｕｌｔメンバ値に登録する（ステップ２５０２）。小さいならば、Ｃとｉｄｘを引数としてクラスタ抽出処理（処理Ａ）を行う（ステップ２５０３）。処理Ａについては、後で詳しく述べる。
ｉｄｘを１つインクリメントし、これがｆｕｎｃ＿ｎｕｍになるまで、すなわち、遺伝子機能名リストにあるすべての機能について、ステップ２５０１〜２５０４の処理を行う（ステップ２５０４，２５０５）。ｉｄｘがｆｕｎｃ＿ｎｕｍになった時点で全体の処理を終了する。
図２６は、図２５における処理Ａ（ステップ２５０３）の詳細フローである。
まず、引数で与えられたクラスタのｔｙｐｅメンバ値を調べ、それがｌｅａｆなら処理を終了する（ステップ２６００）。次に、引数で与えられたクラスタのｒｉｇｈｔメンバのクラスタが、機能クラスタかどうか調べる。まず引数クラスタのｒｉｇｈｔメンバの指すクラスタ（Ｃｒ）のｌｅａｆＮｕｍが、閾値の最小ｌｅａｆ数、すなわちｒｅｓｕｌｔ［ｉｄｘ］のｔｈｒｅｓｈｏｌｄ　ｌｅａｆ（２２０１）メンバ値よりも大きいかどうか調べる（ステップ２６０１）。もし小さいなら処理Ａを終了する。
大きいとき、クラスタＣｒをルートとする部分木に対して、その部分木に属する遺伝子で、機能がｆｕｎｃＬｉｓｔ［ｉｄｘ］であるものの割合が閾値よりも大きいか調べる。すなわち、ＣｒのｌｅａｆＦｕｎｃＬｉｓｔ（１９０７）のｆｕｎｃＬｉｓｔ［ｉｄｘ］に対応する機能の数を調べ、それをｌｅａｆＮｕｍ（１９０６）で割った値が、ｒｅｓｕｌｔ［ｉｄｘ］のｔｈｒｅｓｈｏｌｄ　ｒａｔｅのメンバ値（２２００）よりも大きいかどうか調べる（ステップ２６０２）。もし大きいならば、ＣのｃｌｕｓｔｅｒＮｏメンバ値をｒｅｓｕｌｔｓ［ｉｄｘ］のｒｅｓｕｌｔメンバ値に登録する（ステップ２６０３）。小さいならば、Ｃｒとｉｄｘを引数としてクラスタ抽出処理（処理Ａ）を行う（ステップ２６０４）。
次に、引数で与えられたクラスタのｌｉｇｈｔメンバのクラスタが、機能クラスタかどうかを、ステップ２６０１〜２６０４と同様に調べる。以上、一連の処理が終了した場合、処理Ａは終了する。
以上の処理によって、図１７、図１８に示したようなクラスタ分析結果の表示が可能となる。
産業上の利用可能性
以上説明したように、本発明によれば、クラスタリングの結果から、同じ機能を持つ遺伝子群とそれらに類似した発現パターンを持つ遺伝子を強調表示することで、これらの遺伝子が樹状図全体のどこに位置しているかを把握することが可能となる。また、これらの遺伝子を抜き出して発現パターンを比較することで、機能に特異的な発現パターンを発見することができる。さらに、抜き出した遺伝子に対して、別のクラスタリング方法でクラスタ分析するなどの処理を施すことによって、機能が未知の遺伝子に対する機能推定や、他の遺伝子機能を持つかどうかの推定を支援することができる。
また、本発明によれば、遺伝子間の発現パターンが類似しているもので、遺伝子の既知の機能で同じものが多く集まった遺伝子の集合を自動的に抽出することができる。さらに、機能クラスタの部分木を選択し、詳細表示することで、そこにどのような遺伝子の機能が集まっているのかがわかり、機能が未知の遺伝子に対して機能を推定する手助けとなる。また、機能に固有の発現パターンがどのようなものかを理解することができるようになる。
【図面の簡単な説明】
図１は、本発明による画面表示例を示す図（機能が同じものを持つ遺伝子及びそれらに発現パターンが類似している遺伝子を強調表示した画面表示の図）である。
図２は、本発明による画面表示例を示す図（機能が同じものを持つ遺伝子及びそれらに発現パターンが類似した遺伝子だけを抜き出して表示した画面表示の図）である。
図３は、本発明による画面表示例を示す図（図２のデータに対して更に異なるクラスタリング方法を施したときの画面表示の図）である。
図４は、本発明による画面表示例を示す図（図３のデータに対して発現パターンが類似している範囲を取り除いて更にクラスタリングを施した画面表示の図）である。
図５は、本発明によるシステム構成図である。
図６は、遺伝子データの例を示す図である。
図７は、遺伝子機能名リストの例を示す図である。
図８は、クラスタ構造体の例を示す図である。
図９は、クラスタ構造体での機能リストの格納の例を示す図である。
図１０は、クラスタ木構造の生成例を示す図である。
図１１は、機能関連遺伝子格納の例を示す図である。
図１２は、クラスタリング適用データ範囲の例を示す図である。
図１３は、本システムの概略処理フローを示す図である。
図１４は、クラスタ分析の詳細フローを示す図である。
図１５は、機能名に関連した遺伝子を抽出する処理のフローを示す図である。
図１６は、クラスタ抽出処理を模式的に表した図である。
図１７は、本発明による画面表示例を示す図（樹状図及び機能クラスタを表示した表示画面の図）である。
図１８は、本発明による画面表示例を示す図（部分木の情報を表示した表示画面の図）である。
図１９は、クラスタ構造体の例を示す図である。
図２０は、クラスタ構造体での機能リストの格納の例を示す図である。
図２１は、クラスタ木構造の生成例を示す図である。
図２２は、結果格納用構造体の例を示す図である。
図２３は、本システムの概略フローを示す図である。
図２４は、クラスタ分析の詳細フロー（クラスタ木の生成）を示す図である。
図２５は、クラスタ分析の詳細フロー（クラスタ自動抽出）を示す図である。
図２６は、クラスタ抽出処理（処理Ａ）の詳細フローを示す図である。
図２７は、標準的クラスタ分析結果表示例を示す図である。
図２８は、標準的クラスタ分析結果表示例を示す図である。
【図１】
2002025489.tif 000003
【図２】
2002025489.tif 000004
【図３】
2002025489.tif 000005
【図４】
2002025489.tif 000006
【図５】
2002025489.tif 000007
【図６】
2002025489.tif 000008
【図７】
2002025489.tif 000009
【図８】
2002025489.tif 000010
【図９】
2002025489.tif 000011
【図１０】
2002025489.tif 000012
【図１１】
2002025489.tif 000013
【図１２】
2002025489.tif 000014
【図１３】
2002025489.tif 000015
【図１４】
2002025489.tif 000016
【図１５】
2002025489.tif 000017
【図１６】
2002025489.tif 000018
【図１７】
2002025489.tif 000019
【図１８】
2002025489.tif 000020
【図１９】
2002025489.tif 000021
【図２０】
2002025489.tif 000022
【図２１】
2002025489.tif 000023
【図２２】
2002025489.tif 000024
【図２３】
2002025489.tif 000025
【図２４】
2002025489.tif 000026
【図２５】
2002025489.tif 000027
【図２６】
2002025489.tif 000028
【図２７】
2002025489.tif 000029
【図２８】
2002025489.tif 000030
【国際調査報告】
2002025489.tif 000031
2002025489.tif 000032