(57)【特許請求の範囲】
【請求項１】
第１のグループに属する複数のサンプルについての複数の遺伝子の発現量情報をそれぞれ表す複数の連続値データ及び前記第１のグループとは性質を異にする第２のグループに属する複数のサンプルについての複数の遺伝子の発現量情報をそれぞれ表す複数の連続値データを記憶する記憶部と、
前記記憶部に記憶された複数の連続値データを離散値に変換し、更に離散値の区間を種々に変えたとき前記連続値データが当該区間に入っていれば１、入っていなければ０とすることによって遺伝子の発現量区間を変数とする２値データに変換する処理、及び、遺伝子の発現量区間の組み合わせであるルールについて、前記２値データが１となったサンプル全体のうち前記第１のグループに属しているサンプルの割合が大きいルールを抽出する処理を行い、前記第１のグループと前記第２のグループの差異を表す遺伝子の発現量区間の組み合わせを抽出する演算部と、
前記演算部による抽出結果に基づいて、前記第１のグループに属する複数のサンプル各々の発現量に関する情報と、前記第２のグループに属する複数のサンプル各々の発現量に関する情報とを対比して表示する表示部とを備えることを特徴とする画面表示システム。
【請求項２】
請求項１記載の画面表示システムにおいて、前記表示部は、複数の遺伝子の発現量に関する情報を対比して表示することを特徴とする画面表示システム。
【請求項３】
請求項１記載の画面表示システムにおいて、前記発現量に関する情報は、当該発現量が前記発現量区間に入っているか否かの情報であることを特徴とする画面表示システム。
【請求項４】
請求項３記載の画面表示システムにおいて、前記第１のグループは特定の性質を有するグループであり、前記第２のグループは当該特定の性質を有さないグループであることを特徴とする画面表示システム。
【請求項５】
請求項１記載の画面表示システムにおいて、前記表示部は、前記第１のグループに属する複数のサンプルの発現量に関する情報同士を相互に隣接した位置に表示し、前記第２のグループに属する複数のサンプルの発現量に関する情報同士を相互に隣接した位置に表示することを特徴とする画面表示システム。
【請求項６】
第１のグループに属する複数のサンプルについての複数の遺伝子の発現量情報をそれぞれ表す複数の連続値データ及び前記第１のグループとは性質を異にする第２のグループに属する複数のサンプルについての複数の遺伝子の発現量情報をそれぞれ表す複数の連続値データを記憶する記憶部と、
前記記憶部に記憶された複数の連続値データを離散値に変換し、更に離散値の区間を種々に変えたとき前記連続値データが当該区間に入っていれば１、入っていなければ０とすることによって遺伝子の発現量区間を変数とする２値データに変換する処理、及び、遺伝子の発現量区間の組み合わせであるルールについて、前記２値データが１となったサンプル全体のうち前記第１のグループに属しているサンプルの割合が大きいルールを抽出する処理を行って前記第１のグループと前記第２のグループの差異を表す遺伝子の発現量区間の組み合わせを抽出し、その抽出結果に基づき、前記第１のグループに属する複数のサンプル各々の発現量を元に、一方の軸を発現量、他方の軸をサンプル数とする第１のヒストグラムと、前記第２のグループに属する複数のサンプル各々の発現量を元に、一方の軸を発現量、他方の軸をサンプル数とする第２のヒストグラムを作成する演算部と、
前記演算部によって作成された前記第１のヒストグラムと第２のヒストグラムとを表示する表示部とを備えることを特徴とする画面表示システム。
【請求項７】
請求項６記載の画面表示システムにおいて、前記表示部は、前記第１のヒストグラムと前記第２のヒストグラムを、前記一方の軸と他方の軸を共有する一つのグラフに重ねて表示することを特徴とする画面表示システム。
【請求項８】
請求項７記載の画面表示システムにおいて、前記表示部は、前記第１のヒストグラムと前記第２のヒストグラムを互いに表示の態様を変えて表示することを特徴とする画面表示システム。
【請求項９】
請求項６記載の画面表示システムにおいて、前記発現量を表す軸は複数の発現量区間に分割されていることを特徴とする画面表示システム。
【請求項１０】
請求項６記載の画面表示システムにおいて、前記第１のグループは特定の性質を有するグループであり、前記第２のグループは当該特定の性質を有さないグループであることを特徴とする画面表示システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ある性質を有するサンプルのグループと有しないサンプルのグループについて、それぞれのグループに属するサンプルの遺伝子の特徴を抽出し、さらにその違いを抽出・可視化して表示する画面表示システム、及び新たなサンプルがどちらのグループに属する可能性が高いかを判定して医療診断に役立てる医療診断支援システムに関する。
【０００２】
【従来の技術】
ＤＮＡマイクロアレー法により、多数の遺伝子の発現量を一度にモニターする事が可能となった。遺伝子の発現量は、その遺伝子をもつ個体の生命現象と密接に結びついていると考えられる。この遺伝子の発現量を解析することにより、生命現象の原因となる遺伝子の振る舞いの解明が期待されている。特に、遺伝的と考えられている疾患の原因遺伝子を特定することによる、診断や治療や創薬への利用の期待が大きい。
【０００３】
解析の対象となる遺伝子の数は数千個にものぼり、遺伝的疾患にはそのうちの幾つかの遺伝子だけが関与していると考えられている。数千個の遺伝子の中から選択される数個の遺伝子の組み合わせを全て検証しようと考えると、非常に大きな数になってしまい、現実的な時間で作業を終えることはできない。そこで、効率的に有用な特徴を得るアルゴリズムが必要となってくる。
【０００４】
発現量の解析方法には大きく分けて２つある。一つは、機械学習を行うＳｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅという解析法（Ｔｅｒｒｅｎｃｅ  Ｓ．  Ｆｕｒｅｙ，  Ｎｅｌｌｏ  Ｃｒｉｓｔｉａｎｉｎｉ，  Ｎｉｇｅｌ  Ｄｕｆｆｙ，  Ｄａｖｉｄ  Ｗ．  Ｂｅｄｎａｒｓｋｉ，  Ｍｉｃｈｅｌ  Ｓｃｈｕｍｍｅｒ，  Ｄａｖｉｄ  Ｈａｕｓｓｌｅｒ，  ”Ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ａｎｄ  ｖａｌｉｄａｔｉｏｎ  ｏｆ  ｃａｎｃｅｒ  ｔｉｓｓｕｅ  ｓａｍｐｌｅｓ  ｕｓｉｎｇ  ｍｉｃｒｏａｒｒａｙ  ｅｘｐｒｅｓｓｉｏｎ”）で、予め分類された細胞のサンプルを使って学習することで、新たに与えられたサンプルがそれらの分類のどれに属するかを評価することができる。この方法は、例えば細胞を疾患を持つ細胞と持たない細胞に分類し、診断システムとして利用することができる。しかし、この方法ではある疾患を持つかどうかを判断することはできるが、どの遺伝子が原因となっているかを突き止めることができないという問題が残る。
【０００５】
もうひとつの期待される発現量の解析方法として、顧客の購入製品などに関する大規模なデータベースから相関関係を抽出するために利用されてきたデータマイニングが考えられる。相関関係を決定するために、サポートと確信度というルールの尺度を用いて、重要なルールを決定している。Ｒ．  Ａｇｒａｗａｌ，  Ｔ．  Ｉｍｉｌｉｅｎｓｋｉ，  ａｎｄ  Ａ．  Ｓｗａｍｉ，  ”Ｍｉｎｉｎｇ  Ａｓｓｏｃｉａｔｉｏｎ  Ｒｕｌｅｓ  ｂｅｔｗｅｅｎ  Ｓｅｔｓ  ｏｆ  Ｉｔｅｍｓ  ｉｎ  Ｌａｒｇｅ  Ｄａｔａｂａｓｅｓ”やＳｅｒｇｅｙ  Ｂｒｉｎ，  Ｒａｊｅｅｖ  Ｍｏｔｗａｎｉ，  Ｊｅｆｆｒｅｙ  Ｄ．  ｕｌｌｍａｎ，  Ｓｈａｌｏｍ  Ｔｓｕｒ，  ”Ｄｙｎａｍｉｃ  Ｉｔｅｍｓｅｔ  Ｃｏｕｎｔｉｎｇ  ａｎｄ  Ｉｍｐｌｉｃａｔｉｏｎ  Ｒｕｌｅｓ  ｆｏｒ  Ｍａｒｋｅｔ  Ｂａｓｋｅｔ  Ｄａｔａ”では効率的にサポートと確信度を満たすルールを抽出するアルゴリズムが与えられている。
しかし、ＤＮＡマイクロアレー法による発現量の測定は、コストがかかるため多くのサンプルの発現量データを得ることができない。サンプルの数が少ない場合、データマイニングを利用する方法ではサポートと確信度を満たすルールの決定が難しいという問題が考えられる。
【０００６】
【発明が解決しようとする課題】
ある病気にかかりやすいか、ある薬が効きやすいか等、多くの状況において遺伝子が大きな情報を持っているという事が広く知られている。マイクロアレー法によって得られた遺伝子の発現量の情報をうまくつかう事によって、事前に病気の予防が出来たり、より効果的な治療方法を選択出来たりといった効果が得られる。そのため、より効果的にこの特徴を抽出する方法について、多くの研究がなされている。特に、ある性質を有するグループと有しないグループ間の遺伝子の違いを抽出する事は、その性質を有するグループの遺伝子だけを調べる方法と比べ、その効果が高い。そのため、一方のグループに強くでている特徴のうち、もう一方のグループにはほとんど出ていないものを抽出する方法が強く要求される。このような特徴は一般に複数の遺伝子の組み合わせで表される事が知られており、遺伝子の数が１万を越える状況では、特徴抽出にかかる計算量やメモリー量が莫大なものになってしまう。また、抽出される特徴が多数になってしまうため、これを効果的に可視化することが難しい。
【０００７】
本発明の目的は、計算量・メモリーを効果的に削減できる方法を開発し、抽出された特徴を効果的に可視化して表示するシステムを提供することである。本発明の他の目的は、被検サンプルがどちらのグループに属する可能性が高いかを判定して医療診断に役立てる医療診断支援システムを提供することである。
【０００８】
【課題を解決するための手段】
本明細書では、特徴を抽出したいグループとその比較対照となるグループをそれぞれＰｏｓｉｔｉｖｅとＮｅｇａｔｉｖｅで表す。具体例としては、以下のようなものがあり、この他にも様々な医学的応用例を扱うことが可能である。
（１）  ある疾患にかかっているか、かかっていないか
（２）  外科的な手術後に３年以上生存したか、しないか
（３）  薬剤投与後に効き目があったか、なかったか
（４）  放射線治療後に腫瘍の転移があったか、なかったか
【０００９】
例えば、上記（１）を例にとると、ある疾患にかかっているグループをＰｏｓｉｔｉｖｅのグループ、かかっていないグループをＮｅｇａｔｉｖｅのグループとする。上記（３）の例では、薬剤投与後に効き目があったグループをＰｏｓｉｔｉｖｅのグループ、効き目がなかったグループをＮｅｇａｔｉｖｅのグループとする。
【００１０】
ＤＮＡマイクロアレー法と原理的に同じ技術を用いたプロテインチップを用いた解析にも本発明は有効である。プロテインチップはプロテイン、つまりＤＮＡ情報によって作られたタンパク質の働きを調べるもので、チップにタンパク質の抗体などがついていて、特定の抗体と結びつく性質を利用してタンパク質の状況をレーザーなどで知る技術である。
【００１１】
以下に、本発明の態様を列挙する。
（１）サンプルにおける遺伝子の発現量に関する情報を画面表示する画面表示システムにおいて、第１のグループに属する複数のサンプル各々の発現量に関する情報と、前記第１のグループとは性質を異にする第２のグループに属する複数のサンプル各々の発現量に関する情報とを対比して表示することを特徴とする画面表示システム。
（２）前記（１）記載の画面表示システムにおいて、複数の遺伝子の発現量に関する情報を対比して表示することを特徴とする画面表示システム。
【００１２】
（３）前記（１）記載の画面表示システムにおいて、前記発現量に関する情報は、当該発現量が所定の範囲に入っているか否かの情報であることを特徴とする画面表示システム。
（４）前記（３）記載の画面表示システムにおいて、前記第１のグループは特定の性質を有するグループ（ポジティブのグループ）であり、前記第２のグループは当該特定の性質を有さないグループ（ネガティブのグループ）であることを特徴とする画面表示システム。
【００１３】
（５）前記（１）記載の画面表示システムにおいて、前記第１のグループに属する複数のサンプルの発現量に関する情報同士を相互に隣接した位置に表示し、前記第２のグループに属する複数のサンプルの発現量に関する情報同士を相互に隣接した位置に表示することを特徴とする画面表示システム。
（６）サンプルにおける遺伝子の発現量に関する情報を画面表示する画面表示システムにおいて、第１のグループに属する複数のサンプル各々の発現量を元に作成された、一方の軸を発現量、他方の軸をサンプル数とする第１のヒストグラムと、前記第１のグループとは性質を異にする第２のグループに属する複数のサンプル各々の発現量を元に作成された、一方の軸を発現量、他方の軸をサンプル数とする第２のヒストグラムとを表示することを特徴とする画面表示システム。
【００１４】
（７）前記（６）記載の画面表示システムにおいて、前記第１のヒストグラムと前記第２のヒストグラムを、前記一方の軸と他方の軸を共有する一つのグラフに重ねて表示することを特徴とする画面表示システム。
（８）前記（７）記載の画面表示システムにおいて、前記第１のヒストグラムと前記第２のヒストグラムを互いに表示の態様を変えて表示することを特徴とする画面表示システム。例えば表示の色や表示の濃淡等、表示の態様を変えて表示することにより、２つのヒストグラムを重ねて表示しても、それがどちらのヒストグラムの表示であるか、明確に区別することができる。
【００１５】
（９）前記（６）記載の画面表示システムにおいて、前記発現量を表す軸は複数の発現量区間に分割されていることを特徴とする画面表示システム。
（１０）前記（６）記載の画面表示システムにおいて、前記第１のグループは特定の性質を有するグループ（ポジティブのグループ）であり、前記第２のグループは当該特定の性質を有さないグループ（ネガティブのグループ）であることを特徴とする画面表示システム。
【００１６】
（１１）特定の性質を有することを特徴づける複数の遺伝子の発現量の範囲の組み合わせの集合と、当該性質を有しないことを特徴づける複数の遺伝子の発現量の範囲の組み合わせの集合とを記憶した記憶部と、被検サンプルの複数の遺伝子の発現量の範囲と前記記憶部に記憶された複数の遺伝子の発現量の範囲の組み合わせとを比較し、被検サンプルが前記特定の性質を有する可能性を計算する演算部と、前記演算部で計算された結果を表示する表示部とを備えることを特徴とする医療診断支援システム。
（１２）前記（１１）記載の医療診断支援システムにおいて、前記特定の性質は特定の治療方法が有効であるという性質であることを特徴とする医療診断支援システム。
【００１７】
（１３）前記（１１）記載の医療診断支援システムにおいて、前記特定の性質は特定の疾患にかかっているという性質であることを特徴とする医療診断支援システム。
（１４）前記（１１）記載の医療診断支援システムにおいて、前記特定の性質は特定の疾患にかかりやすいという性質であることを特徴とする医療診断支援システム。
【００１８】
（１５）前記（１１）記載の医療診断支援システムにおいて、前記演算部によって計算された結果を前記表示部に数値で表示することを特徴とする医療診断支援システム。
（１６）前記（１１）記載の医療診断支援システムにおいて、前記演算部によって計算された結果を前記表示部に割合としてグラフ表示することを特徴とする医療診断支援システム。
【００１９】
（１７）前記（１１）記載の医療診断支援システムにおいて、特定の性質を有することを特徴づける複数の遺伝子の発現量の範囲の組み合わせの集合と、当該性質を有しないことを特徴づける複数の遺伝子の発現量の範囲の組み合わせの集合とを記憶した記憶部を、異なる複数の性質に関してそれぞれ有することを特徴とする医療診断支援システム。
（１８）前記（１７）記載の医療診断支援システムにおいて、前記演算部は、被検サンプルの複数の遺伝子の発現量の範囲と第１の記憶部に記憶された複数の遺伝子の発現量の範囲の組み合わせとを比較し、被検サンプルが第１の性質を有する可能性を計算するとともに、被検サンプルの複数の遺伝子の発現量の範囲と第２の記憶部に記憶された複数の遺伝子の発現量の範囲の組み合わせとを比較し、被検サンプルが第２の性質を有する可能性を計算することを特徴とする医療診断支援システム。
【００２０】
（１９）前記（１８）記載の医療診断支援システムにおいて、前記表示部に、被検サンプルが前記第１の性質を有する可能性と前記第２の性質を有する可能性を表示することを特徴とする医療診断支援システム。
（２０）前記（１８）記載の医療診断支援システムにおいて、前記表示部に、被検サンプルが前記第１の性質を有する可能性と前記第２の性質を有する可能性を割合としてグラフ表示することを特徴とする医療診断支援システム。
【００２１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
１  データの変換
データは、ある性質を有するグループと有しないグループについて、各遺伝子の発現量が実数値として与えられる。１．１でまずこのデータについて詳しく説明する。次に１．２で、この実数値のデータを検索・特徴抽出に適した離散値データに変換する方法を示す。最後に１．３でこのデータをより検索・特徴抽出に適した２値データに変換する方法を示す。また、これらの具体的な例を図１に示す。
【００２２】
１．１  データの形態
データは、ある性質を有するグループのサンプルと有しないグループのサンプルについて、各遺伝子の発現量が実数値として与えられる（表１０１）。表１０１において、Ａ１…Ａｌはある性質を有する（Ｐｏｓｉｔｉｖｅ）ｌ人のサンプルを表し、Ｄ１…Ｄｍはある性質を有しない（Ｎｅｇａｔｉｖｅ）ｍ人のサンプルを表している。また遺伝子は、実際にはそれぞれ名前があるが、ここでは簡単のため、Ｇｅｎｏｍｅ１，Ｇｅｎｏｍｅ２，Ｇｅｎｏｍｅ３，…と、番号によって区別する。
【００２３】
それぞれのグループの各サンプルについて、約一万の遺伝子の発現量が与えられる。発現量の値は解析方法にもよるが、例えば負の値から約数千の値まで様々な値をとる。しかし、その値が絶対的な量としてどのような意味をもつかという事は正確には分かっておらず、この値に何らかの意味をもたせるには相対的な評価が必要である。ここに示したデータ例の場合、ただ一つ絶対的な評価基準として与えられているのは、次の一点のみであるとする。
【００２４】
・１００以下の値は全て０とみなす
これは、各遺伝子が全く発現していないような時でも、計器の問題で１００程度の値が出てしまう場合があるという事が分かっているからである。また、次のことも分かっている。
・１００以上の値については実際の発現量以上の値は出ない
そのため、同じサンプル、遺伝子について２つ以上のデータがある場合は、大きい方のデータを採用することになる。
【００２５】
このデータから、何らかの特徴抽出を行うわけであるが、連続値のデータはデータの検索、特徴抽出に適していない。なぜならば、連続値のデータではデータの検索、特徴抽出をする際に膨大な計算量、メモリー量を必要としてしまうからである。そこで次節以降で、この連続値データをデータの検索、特徴抽出に適した形式に変更する方法を示す。
【００２６】
１．２  離散値への変換
１．１でも述べたとおり、データは連続値データとして与えられる。しかしながら、連続値のデータはデータの検索、特徴抽出に適していない。そこでこのデータを何らかの方法で離散値のデータに変換する方法が望まれる。しかしながら、連続値のデータを離散値のデータに変換するという事はデータの劣化を意味しており、変換方法によっては著しいデータの劣化を招き、特徴の抽出が正確に行われないと言う事も考えられる。著しいデータの劣化を招く方法として次の例があげられる。
【００２７】
（例）閾値を適当に定め、この値より小さいものを０、大きいものを１として変換する。
この方法で変換した場合、大きな問題点が２つある。それは以下の通りである。
（問題点１）閾値をどのように定めるかという問題
（問題点２）ある区間に集中する特徴を抽出できない問題
まず、問題１について説明する。閾値を適当に設定するというのは非常に難しい問題である。例えば、大きすぎる閾値を設定してしまった場合、発現量の多くが０になってしまい、本来抽出されるべき特徴が抽出されないということが起こりうる。また、小さすぎる閾値を設定してしまった場合、この場合は逆に発現量の多くが１になってしまい、無意味に多くの特徴を抽出してしまう可能性がある。もうひとつ、例えば全体の値の平均を閾値として採用するという方法も考えられる。しかしながらこの方法では、全体の約半分が１で残り約半分が０というデータになってしまい、特徴のないデータになってしまう可能性がある。
【００２８】
仮に問題１が解決されて適切な閾値の決定方法が確立されたとしても、問題２が依然として残る事になる。閾値を用いる方法では、ある値より大きいか小さいかの評価しか与えていない。しかしながら与えられるデータでは、極端に大きい、もしくは小さい発現量をもつサンプルが少量あり、残りの多くはある区間に集中しているという場合が多く見られる。このような重要な特徴を、１つの閾値を用いる方法では抽出できない事になる。
以上で述べたような問題１、問題２を解決する手段として、ｎ個の境界を定め、これによってデータを離散化する方法について説明する。
【００２９】
１．１でも述べたとおり、ここで取り扱うデータ例では、１００以下の発現量は全て０とみなす事が出来る。そこで、発現量の最大値と１００の間をｎ等分し、それぞれを境界値ｂ１…ｂｎとして設定する。この境界値を使って、それぞれの区間に入っている連続値に０からｎまでの離散値を割り当てる。これはＢｏｒｄｅｒという関数によって行われる。
【００３０】
【数１】
0003563394.tif 000002
これによって、与えられた連続値データ（表１０１）は離散値データ（表１０３）に変換される。
【００３１】
Ｂｏｒｄｅｒ（ｘ）によって連続値データを離散値データに変換する方法は、ひとつの閾値で変換する場合の２つの問題点をともに解決している。まず問題１の閾値の選び方であるが、この方法では複数の境界値を用いるため、境界値として選んだ値がデータに与える影響は、ひとつの閾値の場合に比べて非常に小さい。また、境界の数であるｎを大きくすればその影響を任意に小さくすることが出来る。ただしこの場合、ｎを大きくする事で計算量、メモリー量のコストが大きくなってしまうというトレードオフがあるため、環境に合わせて適当に設定する必要がある。しかしながら３．１で説明する通り、ｎを大きくしてもあまりコストが大きくならない事が実験的に分かっており、この変換方法の有効性を証明している。次に問題２についてであるが、これはデータの変換方法から明らかに解決されている事が分かる。例えば、ある区間に集中しているデータは、変換後のデータでも例えば３〜５というようにある区間に集中している特徴として現れる。
【００３２】
１．３  ２値への変換
１．２で得られた離散値のデータは、連続値のデータに比べてデータの検索、特徴抽出に適している。しかしながら、２．３で説明するサポートという特徴抽出を高速に行うための理論を用いるためには、データが２値で与えられている必要がある。そこで本節で、１．２で得られた離散値データ（表１０３）を２値データ（表１０５）に変換する方法を示す。
【００３３】
１．２で得られた離散値データ（表１０３）の各値が示しているのは、元のデータの連続値がだいたいどの値をとっていたのかということである。そして、このデータから抽出すべき特徴というのは、例えば、ある性質を有するグループのある遺伝子はある範囲に発現量が集中している、といったものである。
（例）ある性質を有するグループは遺伝子３について９０％以上のサンプルが３〜５の値をとっている
このような特徴は、例えば次のような２値データでも抽出する事が出来る。
【００３４】
【数２】
0003563394.tif 000003
この関数による２値化は、１．２で示した閾値による２値化と大きく異なる。このように、適当な２値化が行われれば、特徴の抽出は正確に行われる。しかしながら実際はどのような範囲に入っているかが事前に分かるわけではない。そこで、様々な区間を対象とし、それぞれについて２値データへの変換をする方法を考える。このために次の表記を導入する。
【００３５】
【数３】
0003563394.tif 000004
このｉとｊを１からｎまで変化させることにより、全ての区間を網羅することが出来る。全ての区間の数は、幅１のものがｎ＋１個、幅２のものがｎ個というように数えて行けば、
【００３６】
【数４】
0003563394.tif 000005
となることが分かる。このようにして作られた各区間に対して、表１０３の離散値データがその区間に入っているかどうかで２値を割り当てる。すなわち次のような変換を行う。
【００３７】
【数５】
0003563394.tif 000006
上記ｆ（ｘ）は、Ｂｉｎａｒｙ（３，３）（ｘ）と同じである事が分かる。
【００３８】
この変換によって表１０３のＧｅｎｏｍ１に関する離散値データを２値データに変換したものが表１０５である。ここで注意しなければならないのは、各遺伝子についての１行のデータが［（ｎ＋１）（ｎ＋２）／２］行のデータになるという事である。それは各離散値データを、区間をいろいろに変えてそれぞれ２値化したためである。そのため、見た目上はデータが［（ｎ＋１）（ｎ＋２）／２］倍になったかの様に見える。しかしながら実質的にはデータの量としては変わっていない。しかも、３．１で示すとおり、表１０５のデータのうち実際に特徴抽出に用いるのは一部であり、データ量がｎの２乗のオーダーで増えてしまうという問題は実際には起きない。
【００３９】
本節の変換によって得られたデータ（表１０５）の各行は、ある遺伝子の発現量がある区間に属しているかどうかという事を表す２値データとなる。つまり、このデータに対して何らかの特徴が抽出された場合、それは遺伝子と発現量の区間に対する特徴を抽出した事になる。
【００４０】
２  特徴の価値基準の定義
１で変換されたデータに対して特徴の抽出を行うわけであるが、そのまえに特徴という言葉について正確に言及する必要がある。そこでまず２．１で、目的を踏まえた上での抽出したい特徴について具体的に述べる。次に２．２節ではルールという言葉を導入し、さらに特徴という言葉を具体的に定義する。最後に２．３節において、ルールについて価値基準を定める。
【００４１】
２．１  要求される特徴
本発明の方法によって抽出される特徴は、新たなサンプルが、ある性質を有するグループと有しないグループのどちらに属する可能性が高いかと言う事を調べる際に用いられる。すなわち、抽出された特徴は、ある性質を有するグループと有しないグループの差異を表している必要がある。すなわち、要求される特徴とは以下のように書くことが出来る。
【００４２】
（要求される特徴）
「サンプルの遺伝子がその特徴を有しているならば、ある性質を持っている（もしくは、持っていない）可能性が高い」という事が分かる。
例えば、表１０５のＧｅｎｏｍ１（０，２）の行のデータを見ると、ある性質を有するサンプルの方は１が多いのに対して、ある性質を有しないサンプルの方は０が多い事が分かる。つまり、この遺伝子の区間に発現量が存在しているサンプルは、この性質を有している可能性が高い事が分かる。すなわち、この遺伝子の区間は要求される特徴となりうる。
【００４３】
しかしながら、一般にはこのような遺伝子の特徴は、複数の遺伝子に起因するという事が知られている。そのため、表１０５のデータの複数の行の組み合わせについて同様の事を行うことになる。そこで次節以降で、遺伝子の発現量区間の組み合わせをルールとして定義し、さらにルールが要求される特徴となるための条件について説明する。
【００４４】
２．２  ルール
ある性質を有するか有しないかと言う事は、一般には複数の遺伝子に起因するという事が知られている。そのため、表１０５のデータの複数の行の組み合わせについて特徴の抽出を行う必要がある。そこで本節で、この組み合わせについて正確に定義する。
まずはじめに、表１０５の各行を、サンプルに対して２値を割り当てる関数として見る事にする。すなわち、各行を表す関数ｒは、
【００４５】
【数６】
0003563394.tif 000007
と表す事ができる。ただし、Ｐｏｓｉｔｉｖｅ，Ｎｅｇａｔｉｖｅはそれぞれ、ある性質を有するサンプルと有しないサンプルの集合である。例えば１行目に対応する関数をｒ１とすると、
【００４６】
【数７】
0003563394.tif 000008
となる。同様に２行目に対応する関数をｒ２とすると、
【００４７】
【数８】
0003563394.tif 000009
となる。これを正確に定義すると以下のようになる。
【００４８】
【数９】
0003563394.tif 000010
このようにして定義した各行を表す関数の集合としてルールを定義する。例えば、｛ｒ１，ｒ２｝や｛ｒ１，ｒ２，ｒ５，ｒ６，ｒ９｝はルールである。特に要素が１つのもの（例えば、｛ｒ１｝や｛ｒ２｝）もルールである。
【００４９】
ルールは、表１０５における各行を表す関数の組み合わせであり、すなわち各遺伝子の各区間の組み合わせとなっている。ここで注意しなければならないのは、同じ遺伝子の異なる区間を表す行が、ひとつのルールに混在する事は避けなければならないと言うことである。なぜならば、連続する区間は２値への変換においてすべて網羅されているため、この混在はデータの重複を意味するからである。例えば、表１０５の１行目に対応する関数Ｇｅｎｏｍ１（０，１）と２行目に対応する関数Ｇｅｎｏｍ１（１，１）をルールとした場合、５行目に対応する関数Ｇｅｎｏｍ１（０，２）と同じである事が分かる。このような事態を避けるため、ルールには、各遺伝子に起因する行はそれぞれ１つずつしか含む事ができないものとして扱う事にする。これは、アルゴリズムでルールを作る際に省かれる。
以上で定義されたルールについて、次節で価値基準を定め、要求される特徴となりうるものを選別する方法を示す。
【００５０】
２．３  ルールの価値基準
要求される特徴は、「サンプルの遺伝子がその特徴を有しているならば、ある性質を持っている（もしくは持っていない）可能性が高い」という事が分かるというものである。すなわち、一方のグループで１が発生する確率が高く、もう一方のグループで１が発生する確率が低い、と言った状況がこれに対応する事が分かる。そこでこの「１が発生する確率」を表すためにサポートいう概念を導入する。
【００５１】
（定義）サポート
【数１０】
0003563394.tif 000011
ｓｐｔＰ（Ｒ），ｓｐｔＮ（Ｒ）はそれぞれ、サンプルの集合Ｐｏｓｉｔｉｖｅ（Ｎｅｇａｔｉｖｅ）の中で、Ｒに属する全ての行が１となっているサンプルのみを抜き出した集合となっている。例えば、表１０５において９行目に対応する関数Ｇｅｎｏｍｅ１（１，３）と１０行目に対応する関数Ｇｅｎｏｍ１（０，４）の集合をルールとすると、
【００５２】
【数１１】
0003563394.tif 000012
となる。この結果、サポートで定義される集合の要素数が大きいほど、それぞれのグループで１となる確率が高い事が分かる。次に、この２つのグループの差を表す指標としてｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを定義する。ただし、＃Ａは集合Ａの要素数を表すものとする。
【００５３】
（定義）ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅ
【数１２】
0003563394.tif 000013
ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅはすなわち、１となったサンプル全体のうちグループＰｏｓｉｔｉｖｅに属しているサンプルの割合を表したものであり、この値が大きいほどグループＰｏｓｉｔｉｖｅで１が発生する確率と、グループＮｅｇａｔｉｖｅで１が発生する確率の差が大きい事が分かる。すなわち、ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅが大きいルールが要求される特徴となりうる事が分かる。このようにして定義されたｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅは２つの集合の差を表す確信度としての意味をもっており、従来のｃｏｎｆｉｄｅｎｃｅとは異なる。
【００５４】
以上の議論より、ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅが高いルールを探し出す事が、強い特徴を抽出することにつながる事が分かる。しかしながら実際には、この基準だけではよい特徴を抽出する事はできない。そのひとつの例として、次のような場合がある。
【００５５】
（例）次の２つが、それぞれＰｏｓｉｔｉｖｅに属していてＮｅｇａｔｉｖｅに属していない確率を高く与えるルールとして成り立っているとする。
（１）  被験者の遺伝子１，２が発現しているならば、Ｐｏｓｉｔｉｖｅに属していてＮｅｇａｔｉｖｅに属していない可能性が高い
（２）  被験者の遺伝子１，２，３が発現しているならば、Ｐｏｓｉｔｉｖｅに属していてＮｅｇａｔｉｖｅに属していない可能性が高い
このような場合、（１）の特徴だけがあれば十分である事が分かる。すなわち、あるルールの部分ルールが同様に高いｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを実現しているのであれば、その部分ルールの方のみを特徴として抽出すべきであることが分かる。
【００５６】
ルールの要素を多くしていったとき、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ），＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）は増える事は決して無く、だんだんと小さくなっていく事がサポートの定義から分かる。ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを大きくするためには、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）を大きく、＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）を小さくしなければならない。そのため、出来るだけ小さいルールで高いｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを実現するためには、＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）が効率的に減らされて行く事が不可欠である。そこでこの事を踏まえた上で余計なルールを含まないルール（そのルールが持つ価値を実現する最小のルール）として、最小遺伝子ルールを以下のように定義する。これは、同じ価値をもつルールであれば小さいルールほど利用価値が高いという事に基づく。
【００５７】
（定義）最小遺伝子ルール
ルールＲが全ての部分ルールＲ’（Ｒ’⊂Ｒ，Ｒ’≠Ｒ）について
＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ’）＞＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）
となるとき、ルールＲは最小遺伝子ルールであるという。
【００５８】
最小遺伝子ルールは、高いｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを実現する小さいルールを見つけ出す上で非常に有効な概念である。しかし、そのルールが最小遺伝子ルールであるかどうかを判定するのに、全ての部分ルールを調べる必要がある。つまりルールの要素数の２乗のオーダーの計算量が必要になってしまう。この計算量は、以下の定理によって高速化が保証される。
【００５９】
（定理１）ルールＲに関して次の２つは同値である。
（ｉ）  ルールＲの全ての部分ルールＲ’（Ｒ’⊂Ｒ，Ｒ’≠Ｒ）について
＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ’）＞＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）
（ｉｉ）  ルールＲの部分ルールＲ’（Ｒ’⊂Ｒ，Ｒ’≠Ｒ）のうち、＃Ｒ’＝＃Ｒ−１となる集合について
＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ’）＞＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）
【００６０】
この定理によれば、全ての部分ルールでなく、要素数がひとつ小さい部分ルールについてのみ調べれば最小遺伝子ルールであるかどうか判定する事ができることが分かる。すなわち、最小遺伝子ルールの判定には、ルールの要素数の１乗のオーダーの計算量しかかからないことが分かる。
最小遺伝子ルールの概念は、より価値の高い特徴を抽出するのに役立つだけでなく、特徴抽出にかかる計算量を削減する事にも大きな役割を果たす。これを保証するのが次の定理である。
【００６１】
（定理２）ルールＲ’が最小遺伝子ルールでないならば、それを部分ルールに含むルールＲ’（Ｒ’⊂Ｒ）も最小遺伝子ルールとならない。
この定理により、アルゴリズムでルールを作る際、最小遺伝子ルールでないルールはこれ以上ルールの要素を増やす必要がなく、その段階で破棄する事が出来る。これによって無駄な計算を避ける事ができ、計算量を大幅に削減することが出来る。
【００６２】
ここまでの説明で、ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの高い最小遺伝子ルールが要求される特徴となりうることが分かった。しかしながら、要求される特徴となるためにはｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅについて２点注意しなければならない点がある。
【００６３】
まずその１つ目について説明する。ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅは、１となったサンプル全体のうちグループＰｏｓｉｔｉｖｅに属しているサンプルの割合を表したものであるが、この指標には１となったサンプル全体の数は表れていない。そのため、例えばＰｏｓｉｔｉｖｅに属するものが１個でＮｅｇａｔｉｖｅに属するものが０個の場合、実際には価値がないにも関わらず、ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅは最大値となってしまう。このような事態を避けるために、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）に下限ＢｏｒｄｅｒＰｏｓｉｔｉｖｅを設ける。同様に、＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）に上限ＢｏｒｄｅｒＮｅｇａｔｉｖｅを設けることでｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅに下限を与えるのと同じ意味になる。
【００６４】
次に２つ目について説明する。最小遺伝子ルールの議論でも述べたが、抽出されるルールは出来るだけ小さいものが望ましい。一方、ここまでの議論に基づいて要求される特徴となるルールを定義した場合、これにさらにルールを追加したルールについても要求される特徴となるルールになってしまう場合がある。これを避けるために、部分ルールが要求される特徴となるルールになってはならないという条件を新たに加える事にする。
【００６５】
以上の議論から、要求される特徴となるルールを疾患原因ルールとして以下のように定義する。これは、抽出されるルールが非常に膨大な数になってしまうため、ルール全体を順序付ける前に価値の低いものを削減するためである。
【００６６】
（定義）疾患原因ルール
与えられたＢｏｒｄｅｒＰｏｓｉｔｉｖｅ，ＢｏｒｄｅｒＮｅｇａｔｉｖｅに対して、ルールＲが以下の４つの条件を満たすとき、ルールＲは疾患原因ルールであると言う。
（１）  Ｒは最小遺伝子ルールである
（２）  Ｒ’（Ｒ’⊂Ｒ，Ｒ’≠Ｒ）に対して、＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ’）≧ＢｏｒｄｅｒＮｅｇａｔｉｖｅ
（３）  ＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）≧ＢｏｒｄｅｒＰｏｓｉｔｉｖｅ
（４）  ＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）＜ＢｏｒｄｅｒＮｅｇａｔｉｖｅ
【００６７】
ここで注意しておきたいのは、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）≧ＢｏｒｄｅｒＰｏｓｉｔｉｖｅを満たす範囲で考えた場合に、疾患原因ルールとそうでないルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの関係である。これについて、次の定理が明らかになっている。
（定理３）疾患原因ルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの最小値が、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）≧ＢｏｒｄｅｒＰｏｓｉｔｉｖｅを満たすその他のルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの最大値よりも大きくなるための必要十分条件は次の不等式で与えられる。ただしｌはＰｏｓｉｔｉｖｅのサンプル数である。
【００６８】
【数１３】
0003563394.tif 000014
【００６９】
この定理によれば、ＢｏｒｄｅｒＰｏｓｉｔｉｖｅを大きく、ＢｏｒｄｅｒＮｅｇａｔｉｖｅを小さく設定すれば条件を満たす事が分かる。実際、疾患原因ルールとして抽出されるルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを大きくするためには、ＢｏｒｄｅｒＰｏｓｉｔｉｖｅ，ＢｏｒｄｅｒＮｅｇａｔｉｖｅにそれぞれ大きい値、小さい値を割り当てる必要があり、定理３の条件は満たされることになる。
このようにして定義した疾患原因ルールについても、最小遺伝子ルールの場合と同様にそのサブルールに対して条件があり、これを使う事で計算量を減らすことが出来る。これは次の定理により保証される。
【００７０】
（定理４）ルールＲ’（Ｒ’⊂Ｒ，Ｒ’≠Ｒ）が次の条件をひとつでも満たさない場合、ルールＲは疾患原因ルールでない。
（１）  ルールＲ’は最小遺伝子ルールである。
（２）  ＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ’）≧ＢｏｒｄｅｒＰｏｓｉｔｉｖｅ
（３）  ＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ’）≧ＢｏｒｄｅｒＮｅｇａｔｉｖｅ
この定理により、条件（１）（２）（３）のいずれかを満たさないルールは、これ以上ルールを組み合わせる必要がなく、その段階で削除してよいことが分かる。これによって無駄な計算を避ける事ができ、計算量を大幅に削減することが出来る。
【００７１】
このようにして定義された疾患原因ルールが表す特徴は、「サンプルの遺伝子がその特徴を有しているならば、ある性質を持っている（もしくは持っていない）可能性が高い」という性質をもっているという意味で価値ある特徴であり、またそれを実現する最小の組み合わせになっている。
【００７２】
３  ルールの抽出を行うアルゴリズム
２．３で定義された疾患原因ルールとなる全てのルールを探し出すアルゴリズムについて説明する。まず３．１で、与えられる連続値データを変換して得られた２値データ（表１０５）のうち、疾患原因ルールになりうる行だけを選び出し、データを削減する事について説明する。次に３．２で、削減されたデータを組み合わせて、疾患原因ルールを作るアルゴリズムについて説明する。
【００７３】
３．１  データの削減
与えられる連続値データを変換して得られた２値データの各行は、それぞれ要素数１のルールとして見る事ができる。すなわち、これらのルールのうち、疾患原因ルールの部分ルールに必要とされる条件を満たさないものは事前に削除する事が出来ることになる。これによって大幅なデータ削減を行う事ができる。図２に不必要な遺伝子の発現量の区間を取り除く場合と取り除かない場合のデータ量の違いを表す。図２における横軸は分割数、縦軸は処理するデータの数をそれぞれ表している。ここで使用したデータは、癌疾患に関する特徴を持つグループと特徴を持たないグループとそれぞれ１６人づつの患者の７２２０個の遺伝子に関する発現量をもとにしている。
【００７４】
またデータの削減は、計算量の削減という意味に加えて、特徴の絞り込みという一面も持っている。データの量が多すぎると、抽出される特徴もそれにともなって多くなってしまい、実際に使うのには適さないこともある。例えば、抽出した特徴が１００００を越えるような場合、それをどのように使うのかという事が新たな問題となってしまう。かといって、無意味にデータを削減するのでは有用な特徴まで見逃しかねない。そこで次のような方法によって、特徴の抽出に対する影響を小さく押さえながら、効率的にデータの削減を行った。
【００７５】
（１）  幅ｎ＋１の区間は除く
（２）  離散値の０を含み、幅が２以上の区間は除く
（３）  幅がｎ’以上のものは除く（ｎ’＜ｎ）
【００７６】
条件（１）は全ての区間を表すものであり、全ての値が１の行を作ってしまうため、当然取り除かれるべきである。上記条件（２）は、離散値の０が表す区間（１００以下）を特別に扱ったものである。実験では、データは比較的小さい値と１００以下の値に集中しており、条件（２）で除いたような区間は１が多く出来てしまい、特徴として抽出されやすい傾向がある。１．１でも述べたとおり、１００以下の値は全く発現していないとみなす事が出来る。この全く発現していない区間と、１００以上のある程度は発現しているとみなせる区間とを合わせた区間を考える事はあまり意味がないと考えられる。このあまり意味のない特徴が膨大に出力された結果として、価値ある特徴が埋もれてしまうのは問題がある。そのため２のような場合を除く事にした。最後に条件（３）であるが、これは（１）（２）の条件によるデータ削減によっても抽出される特徴が非常に多くなってしまったためにつけた条件である。（３）の条件をつける事によって、広い区間にまんべんなく分布しているような特徴は抽出できなくなってしまう。しかしながら、狭い区間に集中的に存在するという特徴の方が重要な特徴であることは明らかであり、これを重要視するのは価値あることである。ｎ’を小さく選ぶ事によってデータを小さくする事ができるが、前述のように、特徴の抽出を犠牲にしてしまうので、適当に選ぶ必要がある。
【００７７】
これら（１）（２）（３）の条件によるデータ削減によって、データ量を大幅に削減することができる。またこれによって抽出される特徴を効果的に絞り込むことが出来る。
【００７８】
３．２  アルゴリズム
２．３で定義された疾患原因ルールとなるルールを全て探し出すためのアルゴリズムについて説明する。
まず考えなければならないのは、全てのルールの組み合わせを作ることである。そのために図３のような探索木を考える。  ルート（符号３０１）から出発して下のほうに次の枝（符号３０２）を伸ばす。新たにパスに加えるノードは今までのパスに含まれないものである。こうして、任意の長さのパスを考えることで、任意の組み合わせのパスが作れる。この全てのパスに対して疾患原因ルールになっているかどうかを調べればよい。
【００７９】
しかしながら考えられる全てのルールに対して疾患原因ルールであるかどうかを確かめようとすると非常に大きな数の組み合わせを試さなければならない。例えば、遺伝子とその区間の組の数を１０，０００、結合ルールの長さを５に制限して考えてみても組み合わせの数は１００００Ｃ５となり、非現実的な数である事が分かる。提案するアルゴリズムでは、この計算量の爆発を避けるためにパスを深さ優先順に作り、途中の段階で疾患原因ルールとなるための条件を満たさないものについてはそれ以上パスを伸ばさないようにしている。これによって計算量の爆発を避けている。
【００８０】
この方法をとった場合、無駄な計算を削除できる代わりに、新しい組み合わせを作るたびに疾患原因ルールになるかどうかの判定が必要になる。この部分に多くの計算をかけてしまうと、全体の計算量が増えてしまうため、このアルゴリズムでは次のような工夫をしている。それは、疾患原因ルールとなるための条件のうち、計算量の少ないものから順番に判定すると言うものである。これをプログラムとして実装すると図４（ａ）のようになる。図４（ｂ）は、図４（ａ）のプログラムをフローチャートで表したものである。
【００８１】
疾患原因ルールの判定アルゴリズム４０１では、入力のルールＭに対して、変換された遺伝子データの集合ＧｅｎｏｍからＭに含まれていない要素数１のルールを加えて新たなルールＳをつくり、再帰的にルールを構成している。ただし、再起呼び出しを行う前に、疾患原因ルールとなるための条件の判定を行っている。最小遺伝子ルールの判定は、他の判定と比べて計算量が多いため、＃ｓｐｔＰｏｓｉｔｉｖｅ（Ｒ）に関する条件で始めに判定している。同様に、＃ｓｐｔＮｅｇａｔｉｖｅ（Ｒ）に関する条件も計算量が少ないが、仮にこの判定を先に持ってきても、どちらの場合にも最小遺伝子ルールの判定が必ず必要になってしまう。そのため、アルゴリズムの表記の簡単のため、最小遺伝子ルールの判定を先に行っている。
最小遺伝子ルールの判定アルゴリズム４０２では、最小遺伝子ルールの判定を行っている。ここでは前述の定理を用いて計算量の削減を行っている。
【００８２】
４ 診断支援システム
３で抽出した疾患原因ルールを用いて、新たなサンプルがどちらのグループに属する可能性が高いかを数値で表す方法について示す（図５）。
まず与えられたデータに対してＰｏｓｉｔｉｖｅとＮｅｇａｔｉｖｅを入れ替えたものについても３のアルゴリズムを適用することによって、Ｐｏｓｉｔｉｖｅに対する疾患原因ルール（Ｐｏｓｉｔｉｖｅルール）とＮｅｇａｔｉｖｅに対する疾患原因ルール（Ｎｅｇａｔｉｖｅルール）がそれぞれ得られる。これらのルールをデータベース５０４として診断システム５０３を構成する。また、別のデータに対しても同様にしてデータベース５０６と診断システム５０５を構成した場合、これら複数の診断システムを同時に使う事でより効果的な診断システムを構成することが出来る。それぞれの診断システムでは次のように診断を行う。
【００８３】
まず、データべースにある疾患原因ルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの和をそれぞれＣＰｏｓｉｔｉｖｅ，ＣＮｅｇａｔｉｖｅで表す事にする。次に、新たなサンプル（符号５０１）について遺伝子発現量を測定し（符号５０２）、抽出された疾患原因ルールのうちこのサンプルにも存在するルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの和をそれぞれＣ’Ｐｏｓｉｔｉｖｅ，Ｃ’Ｎｅｇａｔｉｖｅで表す事にする。ここで、サンプルに存在するルールとは、疾患原因ルールのうち、サンプルの遺伝子の発現量が条件を満たすルールをいう。またこれらを用いて新たなサンプルが満たしている疾患原因ルールの割合をそれぞれ次のように定義する。
【００８４】
【数１４】
0003563394.tif 000015
これらをもとに、ＰｏｓｉｔｉｖｅまたはＮｅｇａｔｉｖｅに属する相対的な可能性ＰＰｏｓｉｔｉｖｅ、ＰＮｅｇａｔｉｖｅはそれぞれ次のように表される。
【００８５】
【数１５】
0003563394.tif 000016
【００８６】
ＰＰｏｓｉｔｉｖｅ，ＰＮｅｇａｔｉｖｅを比較する事で、新たなサンプルがどちらのグループに属する可能性が高いかを調べる事ができる。例えば与えられたデータが、ある薬を投与したときに効果があったグループとなかったグループであった場合は、この診断システムによって薬を投与すべきかどうか判断することが出来る（符号５０７）。別のデータとして手術を行った場合の効果に関するデータが与えられているとすると、このデータに関する診断システムの結果として手術すべきかどうかの結果が同様に得られる（符号５０８）。これらの診断結果から得られる複数のＰＰｏｓｉｔｉｖｅの和が１になるように正規化することで、それぞれが治療方法のおすすめ度として得られる（符号５０９）。治療方法のおすすめ度は、数値で表現したり、グラフで表現したりして表示することができる。図示の例の場合、外科的治療のおすすめ度が７０％、薬剤治療のおすすめ度が３０％となっている。この結果をもとに、薬だけの治療や薬と手術を併用した治療など効果的な治療方法を選択することが出来る（符号５１０）。
【００８７】
なお、図５には、診断システムとして外科的治療診断システム５０３と薬剤治療診断システム５０５を別個に設けた例を示したが、１つの診断システムでデータベース５０４を利用した外科的治療診断とデータベース５０６を利用した薬剤治療診断を実行するようにしてもよい。また、それぞれ別個の遺伝子疾患ルールを記憶させた３以上のデータベースを用いて、それら３以上の基準を用いて治療方法の診断支援を行ってもよい。
この診断システムによって診断することの可能な性質には、他にも特定の治療方法が有効であるという性質、特定の疾患にかかっているという性質、特定の疾患にかかりやすいという性質等、種々の性質が考えられる。
【００８８】
５ オントロジーによる対象の選択
３のアルゴリズムは特徴抽出にかかる計算量を大幅に削減する事が出来るが、もともとの計算量、すなわち組み合わせの総数が非常に多いために依然として多くの計算量がかかってしまう。これを根本的に解決するためには、もともとの計算量を減らす必要があり、そのためには対象とする遺伝子をある程度絞り込む事が有効な手段となる。組み合わせの総数は、遺伝子の数をｋとすると２ｋと表す事が出来る。すなわち理論的には、遺伝子の数をひとつ減らすだけで、計算量を半分に減らすことが出来ることが分かる。さらには遺伝子の数をｈ個減らすと、計算量が１／２ｈになることが分かる。これは例えば、遺伝子を１０個減らせば計算量が１／１０２４になり、２０個なら１／１０４８５７６、３０個なら１／１０７３７４１８２４となる。これらの例から分かるように、対象の遺伝子を絞り込む事によって、極々小さい犠牲で非常に大きい効果が得ることが出来る。しかし極々小さい犠牲とは言え、対象とする遺伝子をいくつか取り除いてしまうと言う事は、場合によっては本来抽出されるべき重要な特徴が抽出されないという結果を招いてしまう事も考えられる。そこでオントロジーによる遺伝子の分類を使って遺伝子の絞り込みを行う事にする。
【００８９】
オントロジーによる遺伝子の分類は、様々な要因に基づいて行われており、またその分類は階層構造を持っている（図６）。ユーザーはこの分類の中から様々な情報をもとに有効なものを選び出してアルゴリズムの対象とする。こうすることで、上記のようなリスクを小さくすることが出来る。
【００９０】
ソフトではまず、オントロジーによる分類に基づいて図６の木構造の図が描画される。ユーザーはこの図の中から、各疾患に関連すると思われる項目６０１をクリックする事で選択を行う。関連する項目が絞り込まれていない場合は、「全ての遺伝子」６０２をクリックする事で遺伝子全体を対象とすることが出来る。選択後左上のスタートボタン６０３を押すと、選択された分類を対象としてアルゴリズムが起動する。選択を行わないでスタートボタンを押すと、全体を対象としてアルゴリズムが起動する。
【００９１】
６ 遺伝子の重要度の数値化
３のアルゴリズムにより、２で定義された疾患原因ルールが全て導き出される。疾患原因ルールは、遺伝子の組み合わせとして、ある性質を有するグループを強く特徴づけるものである。これは、新しいサンプルがどちらのグループに属する可能性が高いかという事を判定する上で非常に意味のあるデータであるが、一方で遺伝子個々についての情報という意味では分かりにくいものとなっている。実際の現場では、新しいサンプルに対する判定が正確に行えると言う事とともに、どの遺伝子がその性質に大きく寄与しているのかと言う事が明らかにされる事が非常に重要となる。そこで、抽出された疾患原因ルールから各遺伝子の重要度を導き出し、この性質に寄与する度合いを調べる方法を考える。
【００９２】
たくさんのルールに現れている遺伝子はほとんどルールには現れない遺伝子より重要であり、よりｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの高いルールに現れる遺伝子のほうが重要だと考えられる。これから、ひとつの遺伝子の重要度は、その遺伝子が現れるルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの値の総和とする。
【数１６】
0003563394.tif 000017
【００９３】
また、疾患に関係する遺伝子は複数であると考えられるので、ひとつの遺伝子の重要度をみる事も大切だが、遺伝子間の相互の結びつきを考えることが必要である。遺伝子の相互結合という観点から見ると、あるルールに同時に現れる２つの遺伝子は結びつきが強いと考えられる。このことより、ある２つの遺伝子ｇ１，ｇ２に対して、ｇ１，ｇ２が同時に現れるルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの総和をｇ１，ｇ２の結合度として考える。
【００９４】
【数１７】
0003563394.tif 000018
【００９５】
７ ビジュアライゼーション
ユーザーに抽出したルール、重要な遺伝子、遺伝子の相関関係を分かりやすく伝えるためにＪａｖａによって実装されたビューアを用いる。ビューアは次の４つからなる。これらのビューアはアルゴリズムのパラメータをパネルで変化することによって動的に変化させることができる。これによって、ユーザーはパラメータの変化による遺伝子の重要度、相関関係の微妙な移り変わりを視覚的に見ることができる。
【００９６】
７．１  ルールの可視化
Ｐｏｓｉｔｉｖｅ，Ｎｅｇａｔｉｖｅの２つのグループを分ける特徴を証拠となる発現量分布を用いて可視化する。２つのグループを分ける特徴の候補は一般に複数得ることができる。図７に、抽出したルールのリストを表示するビューアを示す。このリストの各行が抽出された１つのルールに対応している。列７０１は抽出されたルールの識別番号を表す。列７０２は、各ルールのｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅを表しておりリストはｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅの大きい順に並べられている。列７０３では、ルールに含まれる遺伝子が分かるようになっている。
【００９７】
図８に、１つのルールの特徴を可視化して表示するビューアの例を示す。図７に示したリストのビューアにおいて、ルールの行を選択することで、ルールの特徴を可視化した図８のビューアを開くことができる。図８に示したビューアには、図７に表示されたリストのＮｏ．５のルールが可視化して表示されている。「分割数」は発現量の閾値から最大値までの区間の分割数を示す。図示の例の「分割数＝１０」は、１．２で説明したＢｏｒｄｅｒ関数による発現量データの離散値への変換の際に、発現量の最大値と１００との間を１０等分したことを示している。パラメータの欄８０７に表示されているように、このルールは、Ｐｏｓｉｔｉｖｅのサポートが７以上、Ｎｅｇａｔｉｖｅのサポートが２より少なく、ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｎｆｉｄｅｎｃｅ  ９０％以上である。
【００９８】
図中の各行は、それぞれＮｏ．５のルールを構成するひとつの遺伝子とその発現量の区間を表している。ＧＩＤは遺伝子を識別する一意に与えられた番号である。発現量の最大値の欄には、データベースのサンプル中この遺伝子の発現量の最大値が表される。「下限≦ｘ＜上限」の欄には、区間の下限と上限が具体的な数値で表されている。「ブロックの数」は、分割した発現量の区間の内いくつの区域を範囲としているかを表し、「サンプルの分布」は、横軸に発現量を、縦軸にサンプル数をとった棒グラフであり、被験者がどのブロックに何人いるかをＰｏｓｉｔｉｖｅを濃い色の棒でＮｅｇａｔｉｖｅを薄い色の棒で表している。拡大図を図９に示す。これにより、発現量０から最大値の間で、このルールの表す範囲が全体のどの位置にあるかを視覚的に分かりやすく表している。
【００９９】
図中、中央の濃淡で表された「発現量の分布」の欄は、サンプルの遺伝子の発現量の高低を表しており、発現量が０に近ければ淡い色で、最大値に近ければ誓いの度濃い色で表示されている。また、×でマークされたサンプルはその遺伝子がルールを満たしていないということを表している。Ｐｏｓｉｔｉｖｅのグループに属しているサンプルに関して、図中の遺伝子の発現量の区間に入っているが、Ｎｅｇａｔｉｖｅのグループに属しているサンプルに関してはその区間に入っているとは限らないということを見せて、このルールが２つのグループを分ける根拠となっていることへの理解を助けることができる。
【０１００】
また、右の「関連文献」のボタンと「ＧｅｎＢａｎｋ」のボタンは、それぞれその遺伝子の公的な論文のデータベースであるＰｕｂＭｅｄと塩基配列のデータベースＧｅｎＢａｎｋへのリンクである。「関連文献」のボタンをクリックすると、図１０に示すようなウィンドウにより関連文献に関する情報が表示され、「ＧｅｎＢａｎｋ」のボタンをクリックすると、図１１に示すようなウィンドウにより遺伝子の塩基配列が表示（図示省略）され、遺伝子の詳細な情報を見ることができる。次の順位のルールを表示するには「次のルール」ボタンを押せばよい。その上の順位のルールを表示するには「前のルール」ボタンを押せばよい。
【０１０１】
７．２  重要遺伝子の可視化
ルールに現れる遺伝子の重要度を計算し、重要な順に並べ変えて表示する。図１２にひとつの例を示す。図７のビューアにおいて「遺伝子頻度順ランキング」ボタンをクリックすると、図１２の重要遺伝子のビューアが表示される。
図１２に示したビューアにおいて、各行がひとつの遺伝子を表しており、上にある遺伝子ほど重要度が高い。図中の「ＰＯＩＮＴ」は遺伝子の重要度を表し、「属しているＲｕｌｅ  Ｎｏ．」は、その行の遺伝子が属しているルールの番号（図８参照）を表示している。これらのＲｕｌｅ  Ｎｏ．の欄の数字をクリックすることで、図８に示すような対応するルールを表示することができる。また、遺伝子の名前となるＤＥＦＩＮＩＴＩＯＮが表示される。「関連文献」のボタンをクリックすると、図１０に示すようなウィンドウによりその遺伝子に関する公的な文献の情報を見ることができ、「ＧｅｎＢａｎｋ」のボタンをクリックすると、図１１に示すようなウィンドウにより遺伝子の塩基配列が表示（図示省略）され、ユーザーは即座に遺伝子に関する詳細を知ることができる。また、「次のページ」ボタンを押すことで、これより下位の遺伝子を見ることができ、「前のページ」ボタンを押すと、これより上位の遺伝子を見ることができる。
【０１０２】
７．３  遺伝子の結合度の可視化
図１３に示すように、ルールに現れる遺伝子間の結合度を計算し、結合度が成すネットワークをグラフとして表示できるようにする。これにより、ユーザーは、どの遺伝子とどの遺伝子が結びついているかを容易に理解することができる。グラフのノードは遺伝子を表し、辺がその両端の遺伝子の結合度を表している。２つの遺伝子の結合度が高いほど、対応する辺が強調して表示される。図示の例の場合、遺伝子Ｇ１，Ｇ３は強く結びついているが、遺伝子Ｇ１，Ｇ４は全く関連がないということが容易に分かる。また、辺をクリックすることで辺の両端のノードに対応する２つの遺伝子が同時に現れるルールのビューア１３０３を呼び出すことができる。図ではＧ１とＧ３が同時に現れるルールのビューアを表示している。加えて、ユーザーが遺伝子の関係が見やすいように、ノードの位置を計算して表示する。これにより、各辺が互いに重なりあわず、強調された辺が中央にくるようにすることができる。
【０１０３】
７．４  文献に現れる遺伝子の相関関係が成すネットワークとの連携
遺伝子に関する論文中に現れる遺伝子の２項関係のなすネットワークのグラフを重要な遺伝子の組の成すネットワークと同時にグラフとして描く。二つの異なるネットワークを同時に見て、それらのネットワークに共通に現れる遺伝子の結合を視覚的に見ることで、ユーザーはグループの特徴を表す遺伝子に関する理解を広げることができる。
【０１０４】
図１３で表された遺伝子の結合関係を表すネットワークと、論文に現れる遺伝子の相関関係が成すネットワークとを連携させて表示した例を図１４に示す。新たに加わった正方形のノードが論文中の遺伝子にあたり、滑らかな線で描かれた辺が遺伝子に関する論文中に現れる遺伝子の２項関係のなすネットワーク内の遺伝子の関係を表している。
【０１０５】
図の上方に「ｔｅｘｔ」と「ｐｒｏｆｉｌｅ」の２つの領域が描かれたパネル１４０１によって、グラフを変化させる。ｐｒｏｆｉｌｅのみの領域、ｔｅｘｔのみの領域、２つの領域の共通部分をクリックすることで、動的に次のネットワークに対応するグラフ１４０２を描画する。
【０１０６】
（１）  遺伝子の結合度が成すネットワーク（Ｐｒｏｆｉｌｅ）
（２）  文献に現れる遺伝子の相関関係が成すネットワーク（Ｔｅｘｔ）
（３）  ２つのネットワークを結びつけたネットワーク（Ａｌｌ）
（４）  ２つのネットワークの重なり合う部分がなすネットワーク（Ａｎｄ）
【０１０７】
８ システム構成
データの解析要求からその結果のビジュアライゼーションに至る一連の処理はインターネットまたはイントラネットを介して行われる（図１５）。一般に公開可能なデータに関してはインターネットを選択し、機密性の高いデータに対してはイントラネットを選択することになる。ネットを介してユーザー１５０２は解析要求をサーバに対して送る。解析要求を受けたサーバ１５０４は要求された解析を行い、この結果をユーザーに対して表示する。このようにすることで、ユーザーは最新のデータに対する大規模な解析を容易に行うことが出来る。
【０１０８】
【発明の効果】
本発明によると、ある特徴を有するグループと有しないグループ間の遺伝子の違いを抽出し、それを可視化することが出来るようになる。これにより、その特徴を有するかどうかが分からないサンプルについても事前に予測が可能になり、効果的な治療を行える事が期待できる。
【図面の簡単な説明】
【図１】データの変換方法を示す図。
【図２】データ削減の効果を示す図。
【図３】探索木の説明図。
【図４】ルールの判定アルゴリズムを示す図。
【図５】診断システムの説明図。
【図６】オントロジーによる分類の説明図。
【図７】抽出したルールのリストを表示するビューアの図。
【図８】ルールのビジュアライゼーションの例を示す図。
【図９】サンプルの分布の拡大図。
【図１０】遺伝子に関する論文のビューアの例を示す図。
【図１１】遺伝子の塩基配列のビューアの例を示す図。
【図１２】重要度で順序付けした遺伝子のビジュアライゼーションの例を示す図。
【図１３】遺伝子の結合度の成すネットワークのビジュアライゼーションの例を示す図。
【図１４】遺伝子の結合度の成すネットワークと文献に現れる遺伝子の相関関係が成すネットワークとを連携させて表示した例を示す図。
【図１５】システムの構成例を示す図。
【符号の説明】
３０１：ルートのノード
３０２：枝
６０１：各分類を表すボタン
６０２：遺伝子全体をあらわすボタン
【図１】
0003563394.tif 000019
【図２】
0003563394.tif 000020
【図３】
0003563394.tif 000021
【図４】
0003563394.tif 000022
【図５】
0003563394.tif 000023
【図６】
0003563394.tif 000024
【図７】
0003563394.tif 000025
【図８】
0003563394.tif 000026
【図９】
0003563394.tif 000027
【図１０】
0003563394.tif 000028
【図１１】
0003563394.tif 000029
【図１２】
0003563394.tif 000030
【図１３】
0003563394.tif 000031
【図１４】
0003563394.tif 000032
【図１５】
0003563394.tif 000033