(57)【特許請求の範囲】
【請求項１】
複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するステップと、
前記樹状図の部分木を選択する入力部からの入力を受けるステップと、
選択された部分木を根から葉までの長さに応じて縮尺を変更し別ウィンドウで表示するステップとを含むことを特徴とする樹状図表示方法において、
前記別ウィンドウに表示された部分木に含まれる生体高分子に対するクラスタリング手法の変更を指示する入力部からの入力を受けるステップと、
指示されたクラスタリング手法によって前記部分木に含まれる生体高分子に対して再度クラスタリング処理を行い、その結果を樹状図の形式で表示するステップとを含むことを特徴とする樹状図表示方法。
【請求項２】
複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するための解析を行うクラスタリング処理部と、
樹状図を表示するための表示部と、
入力手段と、
前記生体高分子に関する情報のキーワードを保持しているキーワード辞書ファイルとを
備えることを特徴とする樹状図表示システムにおいて、
前記入力手段によって選択された部分木を別ウィンドウで表示する機能と、
前記別ウィンドウに表示された部分木に対してクラスタリング手法を変更して再度クラ
スタリング処理を行い、再クラスタリング処理によって得られた樹状図を表示する機能と
、を有することを特徴とする樹状図表示システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、特定の生体高分子、例えば遺伝子とハイブリダイズさせることによって得られたデータ（遺伝子発現データ）を、視覚的にわかりやすく、そして生体高分子（遺伝子）の機能・役割が推測しやすい形式によって表示するための表示方法及び表示システムに関する。
【０００２】
【従来の技術】
ゲノム配列が決定された種の増加に伴い、進化に対応すると見られる遺伝子を見つけ出し、どの生物にも共通に持っていると考えられる遺伝子の集合を探したり、それから逆に種に個別な特徴を推測するなど、種間の違いから何かを見出そうとする、いわゆるゲノム比較法が盛んに行われてきた。しかし近年、ＤＮＡチップやＤＮＡマイクロアレイなどのインフラストラクチャの発達によって、分子生物学の興味は、種間の情報から種内の情報へ、すなわち同時発生解析へと移りつつあり、これまでの種内の比較と併せて、情報の抽出から関連付けの場が大きく広がりを持ち始めている。
【０００３】
例えば、既知の遺伝子と同一の発現パターンを示す未知の遺伝子が見つかれば、それが既知の遺伝子と同様の機能があると推測できる。これら遺伝子や蛋白質そのものの機能的な意味付けは、機能ユニットや機能グループといった形で研究されている。またそれらの間の相互作用も、既知の酵素反応データや物質代謝データとの対応づけによって、あるいはより直接的に、ある遺伝子を破壊あるいは過剰反応させ、その遺伝子の発現をなくすか、あるいは多量に発現させ、その遺伝子の直接的及び間接的影響を、全遺伝子の発現パターンを調べることによって解析している。
【０００４】
この分野に成功した事例として、スタンフォード大学のＰ．  Ｂｒｏｗｎらのグループによるイースト菌の発現解析が挙げられる（Ｍｉｃｈｅｌ  Ｂ．  Ｅｉｓｅｎ  ｅｔ  ａｌ．：  Ｃｌｕｓｔｅｒ  ａｎａｌｙｓｉｓ  ａｎｄ  ｄｉｓｐｌａｙ  ｏｆ  ｇｅｎｏｍｅ−ｗｉｄｅ  ｅｘｐｒｅｓｓｉｏｎ  ｐａｔｔｅｒｎｓ：  Ｐｒｏｃ．  Ｎａｔｌ．  Ａｃａｄ．  Ｓｃｉ．  （１９９８）  Ｄｅｃ  ８；９５（２５）：１４８６３−８）。彼らは、ＤＮＡマイクロアレイを用いて、細胞から抽出した遺伝子を時系列にハイブリダイズさせ、遺伝子の発現の度合い（ハイブリダイズした蛍光シグナルの輝度）を数値化した。そしてこの数値に応じて、細胞の一連のサイクルで発現パターンの過程が近い遺伝子どうし（任意の時点での発現の度合いが近いものどうし）をクラスタリングしている。
【０００５】
図１は、この方式にそって遺伝子の発現パターンの類似性を表現した表示例である。右側には観測した個々の遺伝子の情報が列挙されており、左側にはこれらの遺伝子の発現パターンに応じて作成された樹状図が示されている。樹状図は、クラスタリングの過程で、最も近い２つのクラスタ毎に併合されてきた状況を表しており、各枝の長さは併合時の２つのクラスタ間距離（クラスタ間の非類似度）に対応している。このような表示方法をとることで、共通のクラスタに属する遺伝子は、共通の機能的性質をもつ可能性があると推測することができる。
【０００６】
【発明が解決しようとする課題】
実際の遺伝子発現パターンの分析では、大量のデータをクラスタリングすることになる。通常、ＤＮＡチップやＤＮＡマイクロアレイは、数千から数万の遺伝子を同時に観測することが可能である。一般に遺伝子の発現過程は、ある遺伝子の発現が別の遺伝子の発現を誘導したり、あるいは、発現を阻害するなど、遺伝子間で複雑なネットワークを形成している。それ故、観測する遺伝子の数が多ければ、より複雑で詳細なネットワークを調べることができる。
【０００７】
ところが、遺伝子の数が膨大になると、全体の遺伝子の働きを把握することは非常に困難になる。すなわち、樹状図には数千〜数万の遺伝子が並ぶことになるので、この表示から、どのような分類ができているのかを判断するのは難しい。また、クラスタリング手法の違いにより、樹状図の枝の長さは一般的に異なる。例えばクラスタ併合アルゴリズムとして、最長距離法を選択したとき、枝の長さの平均は、最短距離法を選択したときの長さの平均よりも長い。したがって、樹状図全体としてみたとき、図２のように、根から葉までの長さもまた、クラスタリング手法によって異なる。遺伝子の発現データに対するクラスタリングでは、枝の長さよりも、どのように分類されているのかを調べることが重要である。それゆえ、通常、樹状図の表示を行なうときは、図３のように、樹状図の根から葉までの長さを一定値に定め、各枝の長さは根から葉までの長さに対する相対的な長さで表し、クラスタリング手法に応じて枝の長さの縮尺を変更して表示する。
【０００８】
ここで、上記のような樹状図の表示方法を採用したとき、樹状図の中に発現パターンが類似している遺伝子を多数含んでいると、枝の長さが小さい樹状図が形成されるが、これらの枝の長さが樹状図の根から葉までの長さに比べて非常に小さいと、図４の４０１に示すように遺伝子間の枝の詳細な関係を知るのが非常に困難になる。また、従来の遺伝子発現解析に関するクラスタリングでは、部分木を選択し、これに対して別のクラスタリング手法を適用するなど、対話的な操作ができなかった。また、従来の遺伝子発現解析に関するクラスタリングでは、分類が成功しているかどうかを調べる手段として、遺伝子の機能や遺伝子名のキーワードに着目し、それらが部分木に集まっているかどうかによって判断していた。しかし、解析する遺伝子の数が膨大なものになると、どのような機能やキーワードに着目すべきかを判断するのは、非常に困難な作業である。
本発明は、このような従来技術の問題点に鑑み、樹状図全体の枝の状態を大域的に把握でき、かつ個々の部分木の状態を詳細に知ることができるような樹状図表示方法及び樹状図表示システムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明では、樹状図の枝を選択し、選択した枝から葉の部分木に対して、別の表示ウィンドウで表示する機能、アイコン化する機能、アイコン化したものを元に戻す機能、部分木に含まれるキーワードを収集し表示する機能、を備えた樹状図表示システムを提案する。本発明によると、作成された樹状図の部分木に対して、異なるクラスタリング方法を対話的に適用する処理を実現することができる。また、クラスタリングが成功しているかどうかを判別するため、部分木にどのようなキーワードが多く含まれているかを表示し、分類の絞り込みや、クラスタリング方法の選択の支援を行うることができる。
【００１０】
以下、理解を容易にするため、本発明を遺伝子のクラスタリングに適用した場合を例にとって、本発明の樹状図表示システムによる樹状図の表示例について説明する。ただし、本発明は遺伝子のクラスタリングにのみ適用されるものでなく、他の生体高分子、例えばｃＤＮＡ、ＲＮＡ、ＤＮＡ断片等についても同様に適用可能である。
【００１１】
図５は、本発明の樹状図表示システムによる樹状図の表示例を示している。分類アルゴリズムの選択メニュー５０１、及び（非）類似度の選択メニュー５０２を備えている。遺伝子発現データを読み込み、分類アルゴリズム及び（非）類似度を選択すると、樹状図が作成される。また、本システムは、図１のように遺伝子名などの遺伝子情報を樹状図の葉の先に付加して表示する形式も選択できる。
【００１２】
作成された樹状図において、任意の枝を選択すると、選択した枝から葉までの部分木に対する操作、すなわち、この部分木を別のウィンドウで表示する、この部分木をアイコン化する、この部分木のアイコンを元に戻す、この部分木に含まれる単語を検索する、というメニューが選択できる。図は、画面中央の枝５０５を矢印で図示されているマウスカーソル５０４等で選択した状態を示しており、このとき開くメニューウィンドウ５０３には選択可能なメニューが表示されている。マウスカーソル５０４をメニューウィンドウ５０３内に移動して、所望の処理項目をクリックすると選択された処理が実行される。
【００１３】
分類アルゴリズムは、図５の状態ではウォード法が選択されているが、選択メニュー５０１を開くことによって例えば、最短距離法、最長距離法、群平均法、重心法、メディアン法、可変法など他のアルゴリズムを選択することができる。（非）類似度は、個体間の類似の程度を表す指標である。この指標には、距離のように値の小さい方が類似性が高いことを表す場合と、相関係数のように値の大きい方が類似性が高いことを表す場合がある。前者の指標を非類似度、後者の指標を類似度という。図５の状態では非類似度としてユークリッド距離が選択されているが、選択メニュー５０２から他の（非）類似度、例えば標準化ユークリッド平方距離、マハラノビスの（汎）距離、ミンコフスキー距離等を選択することができる。このとき、分類アルゴリズムとして重心法、メディアン法、可変法を選択したとき、非類似度としてユークリッド平方距離以外に選択できないなど、分類アルゴリズムと非類似度との組み合わせが妥当なものである必要がある。
【００１４】
図６は、図５に示した表示画面において、「部分木を別のウィンドウで表示する」メニューを選択したときの表示例である。図６に示すように、選択した部分木を、根から葉までの長さに応じて縮尺を変更し表示し直す。このような表示手法をとることで、利用者は部分木の詳細な枝の状態を調べることが出来る。また、本システムでは、選択した部分木に対して、分類アルゴリズム及び／又は（非）類似度を選択して、再度クラスタリングを行なうことが出来る。このようにすることで、例えば、はじめのクラスタリング結果からクラスタ間の距離が大きいもの（図４において、４０１と４０２、４０１と４０３の関係）を見つけ出し、これを除外して、興味のある部分木のみ詳しく調べることが出来る。分類アルゴリズム及び／又は（非）類似度の選択は、分類アルゴリズムの選択メニュー５０１、及び（非）類似度の選択メニュー５０２によって行う。
【００１５】
図７は、図５に示した表示画面おいて、「部分木をアイコン化する」メニューを選択したときの表示例である。部分木５０５を７０１のようにアイコンにすることで、樹状図の大域的な状態を容易に知ることが出来る。例えば、同様の機能をもつ遺伝子群や、発現がほとんど観測されなかった遺伝子群を一つのアイコンとしてまとめるなどの利用法が可能である。
【００１６】
図８は、図５に示した表示画面おいて、「部分木に含まれる単語を検索する」メニューを選択した時の表示例である。この機能を適用すると、選択した部分木に含まれる遺伝子の中で、遺伝子に対応する遺伝子情報に予め定めたキーワードが含まれるものを数え上げ、検索結果８０１として表示する。更に検索結果８０１から、マウスカーソル８０４等で一つのキーワード８０２を選択すると、そのキーワード（図の場合、”ｒｉｂｏｓｏｍａｌ”）を持つ遺伝子を、マーク８０３等によって樹状図上の位置として表示する。これにより、選択した部分木にどのような遺伝子が集まっているかを容易に知ることができる。また、この結果、分類がうまくいっていないのであれば、別の分類アルゴリズムや（非）類似度を選択して再度クラスタリングを行なうなど、より適切なクラスタリング方法の選択の支援をすることができる。
このように、本発明によると、作成された樹状図から、効果的に意味を抽出することができる。
【００１７】
すなわち、本発明による樹状図表示方法は、複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するステップと、前記樹状図の部分木を選択するステップと、選択された部分木を別ウィンドウで表示するステップとを含むことを特徴とする。
本発明は、別ウィンドウに表示された部分木に含まれる生体高分子に対するクラスタリング手法の変更を指示するステップと、指示されたクラスタリング手法によって前記部分木に含まれる生体高分子に対して再度クラスタリング処理を行い、その結果を樹状図の形式で表示するステップとを含んでもよい。
【００１８】
本発明の樹状図表示方法は、また、複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するステップと、前記樹状図の部分木を選択するステップと、選択された部分木をアイコン化して表示するステップを含むことを特徴とする。
必要により、アイコン化されて表示されている部分木を元の樹状図の形式に戻して再表示するステップを含むこともできる。
【００１９】
本発明による樹状図表示方法は、また、複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するステップと、前記樹状図の部分木を選択するステップと、選択された部分木に含まれる生体高分子を対象として、生体高分子に関する情報の中に予め用意されたキーワード辞書ファイルに格納されたキーワードが含まれている生体高分子の数を計数して表示するステップとを含むことを特徴とする。
【００２０】
本発明による樹状図表示方法は、また、複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するステップと、前記樹状図の部分木を選択するステップと、キーワードを指定するステップと、生体高分子に関する情報の中に指定されたキーワードが含まれている生体高分子の前記部分木内での位置を表示するステップとを含むことを特徴とする。
上記樹状図表示システムにおいて、生体高分子はｃＤＮＡ、ＲＮＡ、ＤＮＡ断片又は遺伝子とすることができる。
【００２１】
本発明による樹状図表示システムは、複数種類の生体高分子に対して複数の異なる条件で実験を行って得られたデータの組に基づいて前記複数の生体高分子のクラスタリング処理を行い、その結果を樹状図の形式で表示するための解析を行うクラスタリング処理部と、樹状図を表示するための表示部と、入力手段と、生体高分子に関する情報のキーワードを保持しているキーワード辞書ファイルとを備えることを特徴とする。入力手段は、樹状図の枝の選択や、クラスタリング手法の選択などに用いられるもので、例えばキーボードやマウスとすることができる。キーワード辞書ファイルは、クラスタリングの結果に対し利用者が望む形になっているかを判断するために用いることができる。
【００２２】
この樹状図表示システムは、入力手段によって選択された部分木を別ウィンドウで表示する機能を有することができる。また、別ウィンドウに表示された部分木に対してクラスタリング手法を変更して再度クラスタリング処理を行い、再クラスタリング処理によって得られた樹状図を表示する機能を有することができる。
この樹状図表示システムは、入力手段によって選択された部分木をアイコン化して表示する機能、及びアイコン化されて表示されている部分木を元の樹状図の形式に戻して再表示する機能を有することができる。
【００２３】
この樹状図表示システムは、入力手段によって選択された部分木に含まれる生体高分子に対して、当該生体高分子に関する情報の中にキーワード辞書ファイルに格納されたキーワードが含まれている生体高分子の数を計数して表示する機能及び／又は選択されたキーワードを有する生体高分子の樹状図上の位置を表示する機能を有することができる。
本発明の樹状図表示システムにおいて、前記生体高分子はｃＤＮＡ、ＲＮＡ、ＤＮＡ断片又は遺伝子とすることができる。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。以下では、遺伝子のクラスタリングを例にとって説明するが、本発明の適用範囲は遺伝子のクラスタリングのみに限定されるわけではなく、ｃＤＮＡ、ＲＮＡ、ＤＮＡ断片など生体高分子一般に対して同様に適用することができる。
【００２５】
図９は、本発明による樹状図表示システムの一例を示す構成図である。このシステムは、遺伝子の情報及び発現過程を記録した遺伝子データ９０１と、遺伝子の発現過程に応じてクラスタリングを行ない、それを樹状図の形式で表示するための解析を行なうクラスタリング処理部９０２と、樹状図を表示するための表示装置９０３と、樹状図の枝や、クラスタリング手法の選択などに用いるキーボード９０４及びマウス９０５等の入力手段と、クラスタリングの結果に対し利用者が望む形になっているかを判断するための遺伝子情報のキーワードを保持しているキーワード辞書ファイル９０６から構成される。このクラスタリング処理部９０２は、コンピュータとそのプログラムによって具体化されるものである。なお、記憶装置９０１に代えて、ネットワーク等を介して遠隔地に設置されたサーバコンピュータが管理しているデータベースから遺伝子データを取得する構成をとってもよい。
【００２６】
図１０は、遺伝子データ９０１に格納された遺伝子発現パターンデータの具体的な構造を示したものである。本アルゴリズムでは、これを２次元配列によって格納する。すなわち、遺伝子ＩＤ（ｉｄ）をもつ遺伝子が実験ケース（ｎｏ）における発現の度合い（ハイブリダイズした蛍光シグナルの輝度）を数値化したデータを、Ｅｘｐ［ｉｄ］［ｎｏ］に格納する。ｍ種類の遺伝子をそれぞれ異なる位置にスポットしたＤＮＡチップから得られる１回の実験は、１つの実験ケースに対応する。
【００２７】
図１１は、遺伝子データ９０１に格納された遺伝子に関する情報を格納するための、遺伝子情報構造体の例を示している。この遺伝子構造体は、遺伝子ＩＤ（１１０１）、遺伝子のＯＲＦ（１１０２）、遺伝子名（１１０３）、遺伝子の機能（１１０４）のメンバから構成される。図１１はあくまでも説明のための例であり、ここに示した遺伝子の属性以外の情報も、遺伝子情報構造体のメンバとして定義することももちろん可能である。
【００２８】
図１２は、クラスタリング処理において利用するクラスタを表す構造体の例を示している。全てのクラスタ構造体は、樹状図の各ノードまたは葉と対応している。クラスタ構造体は、ウィンドウ単位で管理され、同じウィンドウのノードまたは葉であれば、同一のｗｉｎｄｏｗＩＤ（１２０７）をもつ。また、同じウィンドウ内でノードまたは葉を識別するため、ｃｌｕｓｔｅｒＮｏ（１２０５）で各クラスタ構造体に一意に番号を割り振っている。クラスタ構造体には３種類あり、ｔｙｐｅ（１２０１）の値が、ｌｅａｆのもの、ｎｏｄｅのもの及びｉｃｏｎのものに分かれる。
【００２９】
各ｌｅａｆ型クラスタ構造体は、それぞれひとつのｇｅｎｅＩＤ（１２０６）に対応している。すなわち、ひとつの遺伝子に対応している。更にｇｅｎｅＩＤから、遺伝子情報構造体のデータが参照できる。ｎｏｄｅ型クラスタ構造体は、クラスタリングにおける併合処理において逐次生成するもので、併合前の２つのクラスタをｌｅｆｔ（１２０２）の値と、ｒｉｇｈｔ（１２０３）の値からたどれるようにし、また、それらの間の距離（（非）類似度）をｄｉｓｔａｎｃｅ（１２０４）の値として保持する。ｌｅｆｔ及びｒｉｇｈｔの値には、クラスタを一意に示すｃｌｕｓｔｅｒＮｏ（１２０５）が入っている。ｉｃｏｎ型クラスタ構造体は、部分木をアイコンに置き換えるときに生成され、表示では葉の場合と同様に扱う。そして枝の先端には部分木を示すアイコンを付して表示する。実際の部分木のルートのクラスタは、ｌｅｆｔ（１２０２）の値からたどることができる。
【００３０】
図１３は、図１２に例示したクラスタ構造体のデータ構造を示した図である。これらはクラスタ分析の過程で生成される。クラスタ構造体は、最初ｌｅａｆ型のものだけを用意するが、クラスタリングの過程で２つずつ併合し、その度にｎｏｄｅ型クラスタ構造体を生成してトリー構造を組み立てる。ｎｏｄｅ型クラスタ構造体には、併合した２つの子ノードのｃｌｕｓｔｅｒＮｏと、それらの間の距離（（非）類似度）の情報が登録されている。またｌｅａｆ型クラスタ構造体に登録されているｇｅｎｅＩＤにより、対応する遺伝子情報を参照することができる。アイコン化する処理があれば、トリーの途中にｉｃｏｎ型のクラスタを挿入し、あたかも葉であるかのように表示する（表示に当たっては、ｉｃｏｎ型のクラスタより先に位置するクラスタは表示しない）。アイコンを解除するときは、ｉｃｏｎ型クラスタの上下のクラスタのリンクを繋ぎ直す操作を行う。
【００３１】
図１４は、クラスタ分析の過程でクラスタ間の距離である非類似度を格納するための配列の例である。図に示すように、２次元配列ｄｉｓｔ［  ］［  ］を用いてこれを格納する。また、２次元配列ｄｉｓｔ［  ］［  ］のインデックスの数字に対応するクラスタのｃｌｕｓｔｅｒＮｏ（１２０５）を格納した配列を、ｃｌｕｓｔ＿ｉｄｘ［  ］に格納する。すなわち、非類似度ｄｉｓｔ［ｉ］［ｊ］の値は、ｃｌｕｓｔｅｒＮｏがｃｌｕｓｔ＿ｉｄｘ［ｉ］とｃｌｕｓｔ＿ｉｄｘ［ｊ］であるクラスタ間の値を示す。図１４から、例えばｃｌｕｓｔ＿ｉｄｘ［３］であるｃｌｕｓｔｅｒＮｏ：９のクラスタとｃｌｕｓｔ＿ｉｄｘ［４］であるｃｌｕｓｔｅｒＮｏ：２５のクラスタ間の非類似度ｄｉｓｔ［３］［４］の値は２１であることが分かる。
【００３２】
図１５は、各ウィンドウのルートノードを格納する配列の例を示している。すなわち、各表示ウィンドウに対するルートノードのクラスタのｃｌｕｓｔｅｒＮｏは、配列ＲｏｏｔＮｏｄｅ［  ］に格納される。図１５に示した例では、ＲｏｏｔＮｏｄｅ［１］の値が５６９であることからｗｉｎｄｏｗＩＤ：１の表示ウィンドウに表示される樹状図のルートノードはｃｌｕｓｔｅｒＮｏ：５６９のクラスタであることが分かり、ＲｏｏｔＮｏｄｅ［２］の値が３１２であることからｗｉｎｄｏｗＩＤ：２の表示ウィンドウに表示される樹状図のルートノードはｃｌｕｓｔｅｒＮｏ：３１２のクラスタであることが分かる。
【００３３】
図１６は、検索の問合せ及び結果を格納するためのｓｅａｒｃｈ構造体の例を示している。キーワード辞書ファイル９０６に登録されている各キーワードに対して、構造体を一つ生成する。また、キーワードで同義語のものがいくつか存在するとき、それらをひとつのものを指すこととして扱うこともできる。ｓｅａｒｃｈ構造体は、検索項目のキーワードを入力しておくｋｅｙｗｏｒｄ（１６０１）、そのキーワードが部分木の中でいくつあったかを示すｔｉｍｅｓ（１６０２）、キーワードが遺伝子情報の中にあったとき、その遺伝子の樹状図上の位置を格納するｐｌａｃｅ（１６０３）をメンバとしてもつ。図１６に図示する例のように、Ｒａｔ、Ｍｏｕｓｅ、Ｍｕｓのような同義語をまとめてｋｅｙｗｏｒｄメンバに登録しておくことで、これら３つのキーワードのどれをも同じ検索項目として扱うことが出来る。
【００３４】
図１７は、本システムの概略フローを示した図である。
まず、遺伝子データ９０１からクラスタリング処理部９０２へデータを読み込む（ステップ１７０１）。これについては、後で詳しく説明する。次に、クラスタ分析、及び結果表示に必要な各種パラメータを設定する（ステップ１７０２）。ここでは、分類アルゴリズム及び（非）類似度の設定、個々の遺伝子情報を表示するか否かなどの設定を行う。
【００３５】
次にクラスタ分析を行い（ステップ１７０３）、結果を表示する（ステップ１７０４）。クラスタ分析については、後で詳しく説明する。このクラスタ分析の処理の中で、樹状図表示に必要な情報を収集し、クラスタ構造体に入力する。分析結果表示では、このクラスタ構造体と、個々のウィンドウのルートノードのｃｌｕｓｔｅｒＮｏを表すＲｏｏｔＮｏｄｅ［  ］の情報をもとに、結果を表示する。クラスタ構造体のｔｙｐｅがｉｃｏｎのときは、それを葉のように扱い、枝の先端に部分木を表すアイコンを付加する。
【００３６】
表示された樹状図の中のある部分木をアイコン化してまとめる、あるいはアイコン化を解除して元の部分木に戻す場合、以下の処理を実行する（ステップ１７０５）。すなわち、樹状図の枝をマウスで選択し（ステップ１７０６）、部分木のアイコン化、または非アイコン化処理を行う（ステップ１７０７）。アイコン化、非アイコン化処理に関しては、後で詳しく説明する。処理の後、再び分析結果表示（ステップ１７０４）を行う。
【００３７】
表示された樹状図に対して、キーワード辞書ファイル９０６に格納されたキーワードをもとに検索を行う場合、以下の処理を実行する（ステップ１７０８）。すなわち、樹状図の枝をマウスで選択し（ステップ１７０９）、検索処理を行う（ステップ１７１０）。検索処理に関しては、後で詳しく説明する。検索処理１７１０で、表示に必要な情報がｓｅａｒｃｈ構造体に格納されるので、それをもとに新たに検索結果ウィンドウを生成し結果を表示する（ステップ１７１１）。このとき、マウスなどで検索結果ウィンドウのあるキーワードを選択すると、ｓｅａｒｃｈ構造体のｐｌａｃｅメンバの情報をもとに、樹状図上のキーワードのある箇所にマーカーを付与する。
【００３８】
表示された樹状図に対して、他の併合アルゴリズム、（非）類似度で再びクラスタリングを適用したいときは、ステップ１７０２に戻る（ステップ１７１２）。  クラスタ併合アルゴリズムとしては、例えば、最短距離法、最長距離法、群平均法、重心法、メディアン法、ウォード法、可変法等がある。最短距離法、最長距離法、群平均法、ウォード法、可変法には、次々にクラスターを融合していくときの非類似度が単調に大きくなる特性がある。また、２つのクラスターを融合して１つのクラスターを作ると、他のクラスターとの距離が近づく場合と遠ざかる場合があり、前者を空間の収縮、後者を空間の膨張、距離が変わらない場合を空間の保存と呼ぶが、最短距離法は空間が収縮する特性を有し、最長距離法やウォード法は空間が膨張する特性を有する。また、群平均法、重心法、メディアン法は、空間が保存され、可変法の場合はパラメータの設定によっていずれにもなりうる。（非）類似度にも種々のものがあり、例えば非類似度の代表的なものとしてはユークリッド平方距離、標準化ユークリッド平方距離、マハラノビスの（汎）距離、ミンコフスキー距離等がある。従って、前述の特性等を勘案して、これらの中から適宜のものを選択すればよい。
【００３９】
表示された樹状図に対して、ある部分木を別のウィンドウで表示させたい時（ステップ１７１３）は、別ウィンドウに表示したい樹状図の枝をマウスで選択し（ステップ１７１４）、選択した樹状図の部分木に対するデータの読み込みを行い（ステップ１７１５）、再びステップ１７０２に戻る。選択した樹状図の部分木に対するデータの読み込み処理については、あとで詳しく説明する。
以上の選択が無かった場合には、処理を終了する。
【００４０】
図１８は、図１７における遺伝子データの読み込み処理１７０１の詳細フローである。
まず、遺伝子数、実験ケースの総数をそれぞれｇｅｎｅ＿ｎｕｍ、ｅｘｐ＿ｎｕｍに登録する（ステップ１８０１）。次に、遺伝子データ９０１から遺伝子情報を読み取り、遺伝子情報構造体ｇｅｎｅ＿ｉｎｆｏ［ｉ］（ｉ  ＝  １，…，ｇｅｎｅ＿ｎｕｍ）に登録する（ステップ１８０２）。遺伝子データ９０１から遺伝子発現データを読み取り、Ｅｘｐ［ｉ］［ｊ］（ｉ  ＝  １，…，ｇｅｎｅ＿ｎｕｍ，  ｊ  ＝  １，…，ｅｘｐ＿ｎｕｍ）に登録する（ステップ１８０３）。樹状図の葉の総数を表すｌｅａｆ＿ｎｕｍにｇｅｎｅ＿ｎｕｍを代入する（ステップ１８０４）。
【００４１】
次に、初期値となるｌｅａｆ型クラスタ構造体を生成する。クラスタ構造体ｃｌｕｓｔｅｒをｌｅａｆ＿ｎｕｍ個生成し、ｉ  ＝  １，…，  ｌｅａｆ＿ｎｕｍに対して、ｔｙｐｅをｌｅａｆに、ｃｌｕｓｔｅｒＮｏをｉに、  ｇｅｎｅＩＤをｉに、  ｗｉｎｄｏｗＩＤを１として登録する（ステップ１８０５）。次に、キーワード辞書ファイル９０６に格納されたキーワードを読み出し、それぞれのキーワードに対してｓｅａｒｃｈ構造体を生成し、キーワードをｓｅａｒｃｈ［］．ｋｅｙｗｏｒｄに登録する（ステップ１８０６）。キーワードの総数をｋｅｙ＿ｎｕｍに代入する（ステップ１８０７）。ｗｉｎｄｏｗＩＤを表すｗｉｄに１を登録し（ステップ１８０８）、処理を終わる。
【００４２】
図１９、図２０は、図１７におけるクラスタ分析処理１７０３の詳細フローである。
ｗｉｎｄｏｗＩＤがｗｉｄに対応するウィンドウ内の遺伝子間の発現度の非類似度を求める。ｃｌｕｓｔｅｒＮｏがｉ，ｊに対応する遺伝子の非類似度をｄｉｓｔ［ｉ］［ｊ］に登録する（ステップ１９０１）。本アルゴリズムでは、クラスタが１つ生成されるごとにｃｌｕｓｔｅｒＮｏを１から順に割り振っている。そこで、次のクラスタが生成されたとき、そのクラスタの番号を表すｎｅｗｃｌｕｓｔｅｒＮｏにｌｅａｆ＿ｎｕｍ  ＋  １を代入しておく（ステップ１９０２）。また、クラスタ間距離（非類似度）を格納する配列の情報として、併合対象クラスタ数を示すａｌｌ＿ｃｌｕｓｔにｌｅａｆ＿ｎｕｍを代入し、ｉ  ＝  １，…，ｌｅａｆ＿ｎｕｍに対し、ｃｌｕｓｔｅｒ＿ｉｄｘ［ｉ］にｉを代入して初期化しておく。併合対象クラスタの数ａｌｌ＿ｃｌｕｓｔが１に等しいかどうか判定し、等しくない場合、１になるまで以下の一連の処理を繰り返す（ステップ１９０５）。
【００４３】
最初に、先に求めたクラスタ間距離（非類似度）から、次に併合されるべきクラスタを決定する。すなわち、ｉ  ＜  ｊ  かつｉ，  ｊ  ＝  １，２，…，  ａｌｌ＿ｃｌｕｓｔに対して、ｄｉｓｔ［ｉ］［ｊ］の最小値、最小値を与えるｉ、最小値を与えるｊを求め、ｄ＿ｍｉｎ、ｉ＿ｍｉｎ、ｊ＿ｍｉｎにそれぞれ代入する。ｃｌｕｓｔｅｒＮｏが、ｃｌｕｓｔｅｒ＿ｉｄｘ［ｉ＿ｍｉｎ］、ｃｌｕｓｔｅｒ＿ｉｄｘ［ｊ＿ｍｉｎ］のクラスタが次に併合されるべきクラスタとなる。ｃｌｕｓｔｅｒを新規に生成し、ｔｙｐｅにｎｏｄｅ、ｌｅｆｔにｃｌｕｓｔｅｒ＿ｉｄｘ［ｉ＿ｍｉｎ］、ｒｉｇｈｔに  ｃｌｕｓｔｅｒ［ｊ＿ｍｉｎ］、ｄｉｓｔａｎｃｅにｄ＿ｍｉｎ、ｃｌｕｓｔｅｒＮｏにｎｅｗｃｌｕｓｔｅｒＮｏ、ｗｉｎｄｏｗＩＤにｗｉｄを登録していく（ステップ１９０７）。ここで、２つのクラスタのどちらをｌｅｆｔメンバとし、残りをｒｉｇｈｔメンバとするかについては、発現量で比較するなど予め判定基準を設ける方式をとることも可能である。
【００４４】
次に、クラスタ間距離を格納している配列の情報を更新する。まず、新しく生成したクラスタと他のクラスタとの距離（（非）類似度）を求め、それをｉ＿ｍｉｎのクラスタと他のクラスタ間の距離が格納されていたｄｉｓｔ［］［］の配列位置に上書きする。ｉ  ＝  １，２，…，ｉ＿ｍｉｎ−１に対し、新しく生成したクラスタと、ｃｌｕｓｔｅｒＮｏがｃｌｕｓｔｅｒ＿ｉｄｘ［ｉ］に対応するクラスタとの非類似度をｄｉｓｔ［ｉ］［ｉ＿ｍｉｎ］に登録し、ｊ  ＝  ｉ＿ｍｉｎ  ＋  １，  …，  ｊ＿ｍｉｎ＿１，  ｊ＿ｍｉｎ  ＋  １，  …  ，  ａｌｌ＿ｃｌｕｓｔに対し、新しく生成したクラスタと、ｃｌｕｓｔｅｒ＿ｉｄｘ［ｊ］に対応するクラスタとの非類似度をｄｉｓｔ［ｉ＿ｍｉｎ］［ｊ］に登録する（ステップ２００１、２００２）。
【００４５】
次に、ｊ＿ｍｉｎに関する情報を削除して、ｊ＿ｍｉｎ以降のすべての配列データを一つ前に移動する処理を行なう。ｉ  ＝  ｍｉｎ＿ｊ，…，ａｌｌ＿ｃｌｕｓｔ−１に対し、ｃｌｕｓｔ＿ｉｄｘ［ｉ］にｃｌｕｓｔ＿ｉｄｘ［ｉ  ＋１］を代入する（ステップ２００３）。次にｉ  ＜  ｊ、ｉ，  ｊ  ＝  ｊ＿ｍｉｎ，  …，  ａｌｌ＿ｃｌｕｓｔを満たすｉ  ，ｊに対し、ｄｉｓｔ［ｉ］［ｊ］にｄｉｓｔ［ｉ  ＋  １］［ｊ］を代入し、その後ｉ＜  ｊ、ｉ  ＝  １，…，  ａｌｌ＿ｃｌｕｓｔ−１、ｊ  ＝  ｊ＿ｍｉｎ，…，ａｌｌ＿ｃｌｕｓｔ−１を満たすｉ  ，ｊに対し、ｄｉｓｔ［ｉ］［ｊ］にｄｉｓｔ［ｉ］［ｊ  ＋  １］を代入する（ステップ２００４、２００５）。
【００４６】
最後に、併合対象クラスタ数を示すａｌｌ＿ｃｌｕｓｔから１を引き、新しいクラスタ構造体に割り振るｃｌｕｓｔｅｒＮｏを表すｎｅｗｃｌｕｓｔｅｒＮｏに１を加える（ステップ２００６，２００７）。
以上の操作をａｌｌ＿ｃｌｕｓｔが１になるまで繰り返す。ａｌｌ＿ｃｌｕｓｔが１になれば、ＲｏｏｔＮｏｄｅ［ｗｉｄ］に、このウィンドウのルートノードのｃｌｕｓｔｅｒＮｏを表すｃｌｕｓｔｅｒ＿ｉｄｘ［１］を代入し、処理を終える（ステップ１９０８）。
【００４７】
図２１は、図１７におけるアイコン化する、または（非）アイコン化（アイコンを解除）する処理１７０７の詳細フローである。
６において選択した枝の両端に対応するクラスタを登録する。下（ｌｅａｆ側）のｃｌｕｓｔｅｒをｃｈｉｌｄＣｌｕｓｔに代入し、枝の上（ｒｏｏｔ側）のｃｌｕｓｔｅｒをｐａｒｅｎｔＣｌｕｓｔに代入する（ステップ２１０１，２１０２）。次に、新しくｉｃｏｎ型ｃｌｕｓｔｅｒを生成し、ｃｈｉｌｄＣｌｕｓｔとｐａｒｅｎｔＣｌｕｓｔの間に挿入する処理を行なう。すなわち、ｃｌｕｓｔｅｒを生成し、ｔｙｐｅにｉｃｏｎを、ｌｅｆｔにｃｈｉｌｄＣｌｕｓｔ．ｃｌｕｓｔｅｒＮｏ、をｃｌｕｓｔｅｒＮｏにｎｅｗｃｌｕｓｔｅｒＮｏを、ｗｉｎｄｏｗＩＤにｗｉｄをそれぞれ登録する（ステップ２１０３）。そして、ポインタの付け替え操作として、ｐａｒｅｎｔＣｌｕｓｔ．ｌｅｆｔまたはｐａｒｅｎｔＣｌｕｓｔ．ｒｉｇｈｔに登録されているｃｈｉｌｄＣｌｕｓｔのｃｌｕｓｔｅｒＮｏをｎｅｗｃｌｕｓｔｅｒＮｏに変更する（ステップ２１０４）。全体のクラスタ数がひとつ増加したので、新しいクラスタ構造体に割り振るｃｌｕｓｔｅｒＮｏを示すｎｅｗｃｌｕｓｔｅｒＮｏに１を加えて処理を終了する。（ステップ２１０５）
【００４８】
また、部分木をアイコン化したものを元に戻すメニューを選択すると、まず図１７におけるステップ１７０６で選択した枝の両端に対応するクラスタを登録する。ステップ１７０６で選択した枝の下（ｌｅａｆ側）にあるアイコンのｃｌｕｓｔｅｒ、アイコンの親ノードのｃｌｕｓｔｅｒをそれぞれｉｃｏｎＣｌｕｓｔ、ｐａｒｅｎｔＣｌｕｓｔに代入する（ステップ２１０１，２１０６）。アイコンのクラスタと、部分木のクラスタとのポインタを繋ぎ替え、アイコンのクラスタを削除する処理を行なう。すなわち、ｐａｒｅｎｔＣｌｕｓｔ．ｌｅｆｔまたはｐａｒｅｎｔＣｌｕｓｔ．ｒｉｇｈｔに登録されているｉｃｏｎＣｌｕｓｔのｃｌｕｓｔｅｒＮｏをｉｃｏｎＣｌｕｓｔ．ｌｅｆｔに変更する（ステップ２１０７）。その後、ｉｃｏｎＣｌｕｓｔを削除して処理を終了する（ステップ２１０８）。
【００４９】
図２２は、図１７における検索処理１７１０の詳細フローである。
選択した枝以下に対応する部分木のルートノードのクラスタのｃｌｕｓｔｅｒＮｏをｃｌｕｓｔＮｏに代入する（ステップ２２０１）。また、部分木の先頭からのインデックスを表すｌｅａｆＮｏを１で初期化しておく（ステップ２２０２）。またｉ  ＝１，…，ｋｅｙ＿ｎｕｍに対して、ｓｅａｒｃｈ［ｉ］．ｔｉｍｅｓを０  、ｓｅａｒｃｈ［ｉ］．ｐｌａｃｅをｎｕｌｌで初期化しておく（ステップ２２０３）。次に、再帰的にクラスタ木に対するトリーウォークを実行し、ｓｅａｒｃｈで指定したキーワードをもつ遺伝子の単語検索処理（処理Ａ）を行なう（ステップ２２０５）。引数としてｃｌｕｓｔＮｏ、ｌｅａｆＮｏを渡す。単語検索処理については、後で詳しく説明する。処理Ａを終えると、ｓｅａｒｃｈ構造体に検索結果が入力され、処理を終了する。
【００５０】
図２３は、図２２の単語検索処理（処理Ａ）の詳細フローである。
引数で渡されたｃｌｕｓｔＮｏ、ｌｅａｆＮｏをそれぞれｃｌｕｓｔＮｏ、ｌｅａｆＮｏに代入する（ステップ２３００）。また、ｃｌｕｓｔｅｒＮｏの指すｃｌｕｓｔｅｒをｔａｒｇｅｔＣｌｕｓｔに代入する（ステップ２３０１）。キーワード検索のカウンタを示すｉ  を０に設定しておく（ステップ２３０２）。
【００５１】
次に、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｌｅａｆかどうかを判定する（ステップ２３０３）。ｌｅａｆであるとき、ｌｅａｆに対応する遺伝子情報とキーワード辞書ファイルから読み込んだキーワードとの比較が終わるまで、以下の処理を繰り返し行なう。すなわち、ｉがｋｅｙ＿ｎｕｍになるまで繰り返し行なう（ステップ２３０４）。まず、ｔａｒｇｅｔＣｌｕｓｔ．ｇｅｎｅＩＤのｇｅｎｅＩＤに対応する遺伝子情報構造体ｇｅｎｅ＿ｉｎｆｏの属性の中に、ｓｅａｒｃｈ［ｉ］．ｋｅｙｗｏｒｄの用語が入っているか判別する（ステップ２３０５）。もし入っていたら、部分木でキーワード（ｓｅａｒｃｈ［ｉ］．ｋｅｙｗｏｒｄ）が発見された回数を示すｓｅａｒｃｈ［ｉ］．ｔｉｍｅｓをひとつインクリメントし、部分木での発見した位置のインデックスを示すｓｅａｒｃｈ［ｉ］．ｐｌａｃｅに現在位置のｌｅａｆＮｏを登録する（ステップ２３０７）。キーワードの検索カウンタｉ  をひとつインクリメントし、ステップ２３０４に戻る。ステップ２３０４において、ｉがｋｅｙ＿ｎｕｍになったとき、即ちすべてのキーワードとの比較が終わったら、部分木のインデックスであるｌｅａｆＮｏをひとつインクリメントし、処理を終わる（ステップ２３０９）。
【００５２】
また、ステップ２３０３において、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｌｅａｆではなかった場合、子供のノードをたどる処理を行なう。ｔａｒｇｅｔＣｌｕｓｔ．ｌｅｆｔをｃｌｕｓｔＮｏに代入し（ステップ２３１０）、左の子ノードに対しｃｌｕｓｔＮｏとｌｅａｆＮｏとを引数として再び単語検索処理（処理Ａ）を行なう（ステップ２３１１）。ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｉｃｏｎのときは、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｒｉｇｈｔには子供ノードがないので、処理を終了する（ステップ２３１２）。ステップ２３１２において、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｉｃｏｎでない場合、これはｎｏｄｅ型ｃｌｕｓｔｅｒを表す。ｃｌｕｓｔＮｏにｔａｒｇｅｔＣｌｕｓｔ．ｒｉｇｈｔを代入し（ステップ２３１３）、右の子ノードに対しｃｌｕｓｔＮｏとｌｅａｆＮｏとを引数として再び単語検索処理（処理Ａ）を行ない、処理を終了する（ステップ２３１４）。
【００５３】
図２４は、図１７における部分木の遺伝子データの読み込み処理１７１５の詳細フローである。
新しく部分木を読み込んでウィンドウを作成するので、新しいウィンドウＩＤを示すｗｉｄをひとつインクリメントしておく（ステップ２４０１）。また、樹状図の葉の総数を表すｌｅａｆ＿ｎｕｍを０に初期化しておく（ステップ２４０２）。選択した枝以下に対応する部分木のルートノードのクラスタにおけるｃｌｕｓｔｅｒＮｏをｃｌｕｓｔＮｏに代入する（ステップ２４０３）。最後に、部分木のｌｅａｆ型クラスタに対して、新規ｃｌｕｓｔｅｒを生成する処理（処理Ｂ）を行なう（ステップ２４０４）。現在のクラスタを示すｃｌｕｓｔＮｏをこの処理の引数として渡す。この処理の詳細は後で説明する。すべてのｌｅａｆを読み込み、ｌｅａｆに対応するｃｌｕｓｔｅｒをすべて生成し処理を終了する。
【００５４】
図２５は、図２４における部分木のｌｅａｆに対して新規にクラスタを生成する処理２４０４の詳細フローである。
引数で渡されたｃｌｕｓｔＮｏをｃｌｕｓｔＮｏとし、ｃｌｕｓｔＮｏの指すｃｌｕｓｔｅｒをｔａｒｇｅｔＣｌｕｓｔとする（ステップ２５０１，２５０２）。次に、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｌｅａｆかどうかを判定する（ステップ２５０３）。ｌｅａｆであるならば、部分木のｌｅａｆの数のカウンタであるｌｅａｆ＿ｎｕｍをひとつインクリメントする（ステップ２５０４）。次に新しいウィンドウの初期値となるｌｅａｆ型クラスタ構造体を生成する。すなわち、ｃｌｕｓｔｅｒを生成し、ｔｙｐｅにｌｅａｆを、ｃｌｕｓｔｅｒＮｏにｌｅａｆ＿ｎｕｍを、ｇｅｎｅＩＤにｔａｒｇｅｔＣｌｕｓｔｅｒ．ｇｅｎｅＩＤを、ｗｉｎｄｏｗＩＤにｗｉｄを登録し処理を終了する（ステップ２５０５）。
【００５５】
またステップ２５０３において、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｌｅａｆではなかった場合、子供のノードをたどる処理を行なう。すなわち、ｔａｒｇｅｔＣｌｕｓｔ．ｌｅｆｔをｃｌｕｓｔＮｏに代入し（ステップ２５０６）、左の子ノードに対し、ｃｌｕｓｔＮｏを引数として再び新規にクラスタを生成する処理（処理Ｂ）を行なう（ステップ２５０７）。ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｉｃｏｎのときは、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｒｉｇｈｔに子供ノードはないので、これで処理を終了する（ステップ２５０８）。ステップ２５０８において、ｔａｒｇｅｔＣｌｕｓｔｅｒ．ｔｙｐｅがｉｃｏｎでない場合、これはｎｏｄｅ型ｃｌｕｓｔｅｒを表している。従って、ｃｌｕｓｔＮｏにｔａｒｇｅｔＣｌｕｓｔ．ｒｉｇｈｔを代入し（ステップ２５０９）、右の子ノードに対しｃｌｕｓｔＮｏを引数として再び新規にクラスタを生成する処理（処理Ｂ）を行い、処理を終了する（ステップ２５１０）。
以上では解析結果を表示装置画面に表示する例を説明したが、多色プリンタで印刷出力する構成であってもよい。すなわち、本発明でいう表示とは、プリンタによって視覚的に印刷出力する概念を含むものである。
【００５６】
【発明の効果】
以上示したように、本発明によると、樹状図に対して様々なクラスタリング手法を適用し、部分木をアイコン化したり、別ウィンドウで表示するなど、遺伝子の発現解析等を支援する方法を提供することができる。
【図面の簡単な説明】
【図１】標準的クラスタ分析結果の表示例を示す図。
【図２】クラスタリング方法の違いの例の説明図。
【図３】クラスタリング方法によらない樹状図の表示例を示す図。
【図４】発現パターンが類似している遺伝子群を含む樹状図の例を示す図。
【図５】本発明の樹状図表示システムによる画面表示例を示す図。
【図６】本発明の樹状図表示システムによる他の画面表示例を示す図。
【図７】本発明の樹状図表示システムによる他の画面表示例を示す図。
【図８】本発明の樹状図表示システムによる他の画面表示例を示す図。
【図９】本発明による樹状図表示システムの構成例を示す図。
【図１０】遺伝子発現パターンデータの例を示す図。
【図１１】遺伝子情報構造体の例を示す図。
【図１２】クラスタ構造体の例を示す図。
【図１３】クラスタ木構造の生成例を示す図。
【図１４】クラスタ間距離を格納する配列の例を示す図。
【図１５】各ウィンドウのルートノードを格納する配列の例を示す図。
【図１６】検索の問合せ及び結果を格納する構造体の例を示す図。
【図１７】本システムの概略処理フロー例を示す図。
【図１８】遺伝子データの読み込み処理のフローを示す図。
【図１９】クラスタ分析処理のフローを示す図。
【図２０】クラスタ分析処理のフローを示す図。
【図２１】（非）アイコン化処理のフローを示す図。
【図２２】遺伝子情報を検索対象とした検索処理のフローを示す図。
【図２３】単語検索処理（処理Ａ）のフローをを示す図。
【図２４】部分木の遺伝子データの読み込み処理の説明図。
【図２５】部分木のｌｅａｆに対して新規にｃｌｕｓｔｅｒを生成する処理（処理Ｂ）の説明図。
【符号の説明】
４０１…樹状図の中で発現過程が類似した遺伝子群の例、４０２…樹状図の中で発現過程が４０１の遺伝子群と大きく異なる遺伝子の例（その１）、４０３…樹状図の中で発現過程が４０１と大きく異なる遺伝子の例（その２）、５０１…クラスタリングにおける分類アルゴリズムの選択メニュー、５０２…クラスタリングにおける（非）類似度の選択メニュー、５０３…メニューウィンドウ、５０４…マウスカーソル、５０５…選択された枝（部分木）、７０１…アイコン化した部分木の例、８０１…キーワード検索結果のウィンドウ例、８０２…選択されたキーワード、８０３…遺伝子情報の中に予め定めたキーワードが含まれる遺伝子に対するマーク、８０４…マウスカーソル
【図１】
0003563315.tif 000002
【図２】
0003563315.tif 000003
【図３】
0003563315.tif 000004
【図４】
0003563315.tif 000005
【図５】
0003563315.tif 000006
【図６】
0003563315.tif 000007
【図７】
0003563315.tif 000008
【図８】
0003563315.tif 000009
【図９】
0003563315.tif 000010
【図１０】
0003563315.tif 000011
【図１１】
0003563315.tif 000012
【図１２】
0003563315.tif 000013
【図１３】
0003563315.tif 000014
【図１４】
0003563315.tif 000015
【図１５】
0003563315.tif 000016
【図１６】
0003563315.tif 000017
【図１７】
0003563315.tif 000018
【図１８】
0003563315.tif 000019
【図１９】
0003563315.tif 000020
【図２０】
0003563315.tif 000021
【図２１】
0003563315.tif 000022
【図２２】
0003563315.tif 000023
【図２３】
0003563315.tif 000024
【図２４】
0003563315.tif 000025
【図２５】
0003563315.tif 000026