(57)【要約】【課題】無駄な探索を抑え、閉路を含むグラフにおいても適用可能とした遺伝子ネットワーク経路探索装置及び方法を提供する。【解決手段】入力受付処理部１１は、外部から経路探索を要求する点及び遺伝子ネットワーク指定の情報を受け取り、遺伝子ネットワーク取得部１２が遺伝子ネットワークデータベース４より探索して遺伝子ネットワークを取得する。遺伝子ネットワークグラフ処理部１３は、こうして得られた遺伝子ネットワークのグラフデータ構造を構築し、強連結成分分解を行いトポロジカルソートをなす縮約グラフを生成する。経路探索処理部１４は、トポロジカル制約を利用して要求された点を通る全経路を縮約グラフから探索する。【選択図】  図１
2004220227.tif 000002
【特許請求の範囲】
【請求項１】
遺伝子ネットワークデータベースに記憶されている遺伝子ネットワークの経路を探索する遺伝子ネットワーク経路探索装置において、
探索対象となる遺伝子ネットワークの指定情報、および前記探索対象の遺伝子ネットワークにおける少なくとも１つのノードの識別子の指定を含む探索要求を受け付ける入力受け付け手段と、
前記指定情報に基づいて前記遺伝子ネットワークデータベースから探索対象となる遺伝子ネットワークを取得する遺伝子ネットワーク取得手段と、
前記探索対象となる遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成する有向グラフ生成手段と、
前記探索対象となる遺伝子ネットワークの各ノードの識別子と前記有向グラフの対応する頂点のラベルとの対応関係を示す識別子変換表を生成する識別子変換表生成手段と、
前記有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成する縮約グラフ生成手段と、
前記生成された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換し、トポロジカルソートをなす縮約グラフを生成するトポロジカルソート手段と、
前記有向グラフにおける各頂点のラベルと前記トポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成するラベル変換表生成手段と、
前記探索要求で指定された識別子を前記識別子変換表および前記ラベル変換表を用いて前記トポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、該変換したラベルを持つ頂点を通る経路を前記トポロジカルソートをなす縮約グラフから探索する経路探索手段と、
前記探索された経路に含まれる各頂点のラベルを、前記ラベル変換表および前記識別子変換表を用いて、前記遺伝子ネットワークデータベース上における遺伝子ネットワークのノードの識別子に変換し、探索結果を出力する出力手段とを備えることを特徴とする遺伝子ネットワーク経路探索装置。
【請求項２】
前記指定情報は、遺伝子ネットワーク識別子であり、前記遺伝子ネットワーク取得手段は、前記遺伝子ネットワーク識別子を持つ遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項３】
前記指定情報は、ノードの識別子であり、前記遺伝子ネットワーク取得手段は、前記識別子を持つノードを含む遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項４】
前記探索対象となる遺伝子ネットワークが複数存在した場合、前記識別子変換表生成手段は、探索対象となる複数の遺伝子ネットワークを１つに統合し、前記複数の探索対象となる遺伝子ネットワークの各ノードの識別子と前記統合された１つの遺伝子ネットワークの対応する頂点のラベルとの対応関係を示す識別子変換表を生成するものであり、前記有向グラフ生成手段は、前記統合された１つの遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項５】
前記探索要求は、始点となるノードの識別子および終点となるノードの識別子の指定を含み、前記経路探索手段は、始点終点間の全経路を探索するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項６】
前記探索要求は、始点となるノードの識別子の指定を含み、前記経路探索手段は、始点の下流の全経路を探索するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項７】
前記探索要求は、終点となるノードの識別子の指定を含み、前記経路探索手段は、終点の上流の全経路を探索するものであることを特徴とする請求項１記載の遺伝子ネットワーク経路探索装置。
【請求項８】
遺伝子ネットワークデータベースに記憶されている遺伝子ネットワークの経路を探索する遺伝子ネットワーク経路探索方法において、
（ａ）遺伝子ネットワーク取得手段が、外部から入力された探索対象となる遺伝子ネットワークの指定情報に基づいて前記遺伝子ネットワークデータベースから探索対象となる遺伝子ネットワークを取得するステップ、
（ｂ）有向グラフ生成手段が、前記探索対象となる遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成するステップ、
（ｃ）識別子変換表生成手段が、前記探索対象となる遺伝子ネットワークの各ノードの識別子と前記有向グラフの対応する頂点のラベルとの対応関係を示す識別子変換表を生成するステップ、
（ｄ）縮約グラフ生成手段が、前記有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成するステップ、
（ｅ）トポロジカルソート手段が、前記生成された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換し、トポロジカルソートをなす縮約グラフを生成するステップ、
（ｆ）ラベル変換表生成手段が、前記有向グラフにおける各頂点のラベルと前記トポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成するステップ、
（ｇ）経路探索手段が、外部から入力された探索要求で指定されたノードの識別子を前記識別子変換表および前記ラベル変換表を用いて前記トポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、該変換したラベルを持つ頂点を通る経路を前記トポロジカルソートをなす縮約グラフから探索するステップ、
（ｈ）出力手段が、前記探索された経路に含まれる各頂点のラベルを、前記ラベル変換表および前記識別子変換表を用いて、前記遺伝子ネットワークデータベース上における遺伝子ネットワークのノードの識別子に変換し、探索結果を出力するステップ、
を含むことを特徴とする遺伝子ネットワーク経路探索方法。
【請求項９】
前記指定情報は、遺伝子ネットワーク識別子であり、前記遺伝子ネットワーク取得手段は、前記遺伝子ネットワーク識別子を持つ遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１０】
前記指定情報は、ノードの識別子であり、前記遺伝子ネットワーク取得手段は、前記識別子を持つノードを含む遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１１】
前記探索対象となる遺伝子ネットワークが複数存在した場合、前記識別子変換表生成手段は、探索対象となる複数の遺伝子ネットワークを１つに統合し、前記複数の探索対象となる遺伝子ネットワークの各ノードの識別子と前記統合された１つの遺伝子ネットワークの対応する頂点のラベルとの対応関係を示す識別子変換表を生成し、前記有向グラフ生成手段は、前記統合された１つの遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１２】
前記探索要求は、始点となるノードの識別子および終点となるノードの識別子の指定を含み、前記経路探索手段は、始点終点間の全経路を探索することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１３】
前記探索要求は、始点となるノードの識別子の指定を含み、前記経路探索手段は、始点の下流の全経路を探索することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１４】
前記探索要求は、終点となるノードの識別子の指定を含み、前記経路探索手段は、終点の上流の全経路を探索することを特徴とする請求項８記載の遺伝子ネットワーク経路探索方法。
【請求項１５】
遺伝子ネットワークデータベースに記憶されている遺伝子ネットワークの経路を探索する遺伝子ネットワーク経路探索装置を構成するコンピュータを、
探索対象となる遺伝子ネットワークの指定情報、および前記探索対象の遺伝子ネットワークにおける少なくとも１つのノードの識別子の指定を含む探索要求を受け付ける入力受け付け手段、
前記指定情報に基づいて前記遺伝子ネットワークデータベースから探索対象となる遺伝子ネットワークを取得する遺伝子ネットワーク取得手段、
前記探索対象となる遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成する有向グラフ生成手段、
前記探索対象となる遺伝子ネットワークの各ノードの識別子と前記有向グラフの対応する頂点のラベルとの対応関係を示す識別子変換表を生成する識別子変換表生成手段、
前記有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成する縮約グラフ生成手段、
前記生成された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換し、トポロジカルソートをなす縮約グラフを生成するトポロジカルソート手段、
前記有向グラフにおける各頂点のラベルと前記トポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成するラベル変換表生成手段、
前記探索要求で指定された識別子を前記識別子変換表および前記ラベル変換表を用いて前記トポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、該変換したラベルを持つ頂点を通る経路を前記トポロジカルソートをなす縮約グラフから探索する経路探索手段、
前記探索された経路に含まれる各頂点のラベルを、前記ラベル変換表および前記識別子変換表を用いて、前記遺伝子ネットワークデータベース上における遺伝子ネットワークのノードの識別子に変換し、探索結果を出力する出力手段、
として機能させるプログラム。
【請求項１６】
前記指定情報は、遺伝子ネットワーク識別子であり、前記遺伝子ネットワーク取得手段は、前記遺伝子ネットワーク識別子を持つ遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得するものであることを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記指定情報は、ノードの識別子であり、前記遺伝子ネットワーク取得手段は、前記識別子を持つノードを含む遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得するものであることを特徴とする請求項１５記載のプログラム。
【請求項１８】
前記探索対象となる遺伝子ネットワークが複数存在した場合、前記識別子変換表生成手段は、探索対象となる複数の遺伝子ネットワークを１つに統合し、前記複数の探索対象となる遺伝子ネットワークの各ノードの識別子と前記統合された１つの遺伝子ネットワークの対応する頂点のラベルとの対応関係を示す識別子変換表を生成するものであり、前記有向グラフ生成手段は、前記統合された１つの遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成するものであることを特徴とする請求項１５記載のプログラム。
【請求項１９】
前記探索要求は、始点となるノードの識別子および終点となるノードの識別子の指定を含み、前記経路探索手段は、始点終点間の全経路を探索するものであることを特徴とする請求項１５記載のプログラム。
【請求項２０】
前記探索要求は、始点となるノードの識別子の指定を含み、前記経路探索手段は、始点の下流の全経路を探索するものであることを特徴とする請求項１５記載のプログラム。
【請求項２１】
前記探索要求は、終点となるノードの識別子の指定を含み、前記経路探索手段は、終点の上流の全経路を探索するものであることを特徴とする請求項１５記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、遺伝子ネットワーク経路探索装置及び方法に関し、特に閉路を含んだ遺伝子ネットワークなどに適用可能で、効率的な探索を実現する遺伝子ネットワーク経路探索装置及び方法に関する。
【０００２】
【従来の技術】
生物の遺伝子が次々に発見され、その機能が解明されつつあるが、疾患の発症などは、通常、複数の遺伝子やタンパク質が関与しており、発現機序、すなわち遺伝子ネットワークの解明が極めて重要である。例えば、後述する特許文献１には、遺伝子の発現データやタンパク質の濃度データ等から、その現象を引き起こしている遺伝子の制御ネットワークや酵素やタンパク質の反応を示す代謝ネットワークの構造等を推定するネットワーク推定方法が開示されている。また、後述する特許文献２には、遺伝子、ＲＮＡ、タンパク質、タンパク質複合体、低分子、環境条件、細胞周期、細胞タイプなどの要素情報と要素間の結合や制御などの関係情報とを遺伝子データベースに蓄積しておき、この遺伝子データベースに蓄積された要素情報をノード、関係情報をエッジとする遺伝子ネットワークを生成してグラフィカル表示し、表示されている遺伝子ネットワークにおける点または辺の変更、削除、追加等の編集を可能とした遺伝子ネットワーク研究支援システムが開示されている。
【０００３】
今後研究が進むにつれて、遺伝子ネットワークデータが増大することが予想される。遺伝子ネットワークデータが増大すると、これらのデータをもとに、ある刺激などに対する反応系において、それに関連する遺伝子群及び重要な遺伝子は何か等の遺伝子同定作業は時間を必要とする。このため、遺伝子ネットワークに埋もれている知識理解を支援する上で、所望する要素に関与する要素を知るための効率の良い経路探索が必要不可欠であるが、遺伝子ネットワークを対象とした効率の良い経路探索技術は未だ存在せず、バックトラッキング法など既存の手法をそのまま利用しているのが現状である。参考として、従来の全経路の数え上げ手法としてバックトラッキングによりすべてのパスを見いだす手法の擬似コードを図１１に示す。
【０００４】
【特許文献１】
特開２００１−１８８７６８号公報
【特許文献２】
特開２００２−９１９９１号公報
【０００５】
【発明が解決しようとする課題】
上述したように膨大な遺伝子ネットワークを読み取り、解明を進めるにはネットワーク経路の効率的な探索が不可欠である。ところが、上述したバックトラッキングによる経路探索法は下記記載の問題点を有している。
【０００６】
第１の問題点は、探索を深く行い過ぎることである。この手法はグラフの全てを探索し尽くし、不要な探索をもしてしまい効率がよくないということである。
【０００７】
第２の問題点は、閉路を含むグラフには対処できないことである。その理由は、この手法では無限ループに陥り、閉路を含むことを許していないからである。
【０００８】
本発明の目的は従来技術の問題点に対処すべく、無駄な探索を抑え、閉路を含むグラフにおいても適用可能とした遺伝子ネットワーク経路探索装置及び方法を提供することにある。
【０００９】
本発明の他の目的は、遺伝子ネットワークなどに埋もれている知識理解を支援するものとして、効率的にネットワーク経路を探索することができる装置及び方法を提供することにある。
【００１０】
【課題を解決するための手段】
本発明の第１の遺伝子ネットワーク経路探索装置は、遺伝子ネットワークデータベースに記憶されている遺伝子ネットワークの経路を探索するネットワーク経路探索装置において、探索対象となる遺伝子ネットワークの指定情報、および前記探索対象の遺伝子ネットワークにおける少なくとも１つのノードの識別子の指定を含む探索要求を受け付ける入力受け付け手段と、前記指定情報に基づいて前記遺伝子ネットワークデータベースから探索対象となる遺伝子ネットワークを取得する遺伝子ネットワーク取得手段と、前記探索対象となる遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成する有向グラフ生成手段と、前記探索対象となる遺伝子ネットワークの各ノードの識別子と前記有向グラフの対応する頂点のラベルとの対応関係を示す識別子変換表を生成する識別子変換表生成手段と、前記有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成する縮約グラフ生成手段と、前記生成された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換し、トポロジカルソートをなす縮約グラフを生成するトポロジカルソート手段と、前記有向グラフにおける各頂点のラベルと前記トポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成するラベル変換表生成手段と、前記探索要求で指定された識別子を前記識別子変換表および前記ラベル変換表を用いて前記トポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、該変換したラベルを持つ頂点を通る経路を前記トポロジカルソートをなす縮約グラフから探索する経路探索手段と、前記探索された経路に含まれる各頂点のラベルを、前記ラベル変換表および前記識別子変換表を用いて、前記遺伝子ネットワークデータベース上における遺伝子ネットワークのノードの識別子に変換し、探索結果を出力する出力手段とを備えている。
【００１１】
本発明の第１の遺伝子ネットワーク経路探索方法は、遺伝子ネットワークデータベースに記憶されている遺伝子ネットワークの経路を探索する遺伝子ネットワーク経路探索方法において、（ａ）遺伝子ネットワーク取得手段が、外部から入力された探索対象となる遺伝子ネットワークの指定情報に基づいて前記遺伝子ネットワークデータベースから探索対象となる遺伝子ネットワークを取得するステップ、（ｂ）有向グラフ生成手段が、前記探索対象となる遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成するステップ、（ｃ）識別子変換表生成手段が、前記探索対象となる遺伝子ネットワークの各ノードの識別子と前記有向グラフの対応する頂点のラベルとの対応関係を示す識別子変換表を生成するステップ、（ｄ）縮約グラフ生成手段が、前記有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成するステップ、（ｅ）トポロジカルソート手段が、前記生成された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換し、トポロジカルソートをなす縮約グラフを生成するステップ、（ｆ）ラベル変換表生成手段が、前記有向グラフにおける各頂点のラベルと前記トポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成するステップ、（ｇ）経路探索手段が、外部から入力された探索要求で指定されたノードの識別子を前記識別子変換表および前記ラベル変換表を用いて前記トポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、該変換したラベルを持つ頂点を通る経路を前記トポロジカルソートをなす縮約グラフから探索するステップ、（ｈ）出力手段が、前記探索された経路に含まれる各頂点のラベルを、前記ラベル変換表および前記識別子変換表を用いて、前記遺伝子ネットワークデータベース上における遺伝子ネットワークのノードの識別子に変換し、探索結果を出力するステップ、
を有している。
【００１２】
本発明の第２の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記指定情報は、遺伝子ネットワーク識別子であり、前記遺伝子ネットワーク取得手段は、前記遺伝子ネットワーク識別子を持つ遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得する。
【００１３】
本発明の第３の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記指定情報は、ノードの識別子であり、前記遺伝子ネットワーク取得手段は、前記識別子を持つノードを含む遺伝子ネットワークを前記遺伝子ネットワークデータベースから取得する。
【００１４】
本発明の第４の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記探索対象となる遺伝子ネットワークが複数存在した場合、前記識別子変換表生成手段は、探索対象となる複数の遺伝子ネットワークを１つに統合し、前記複数の探索対象となる遺伝子ネットワークの各ノードの識別子と前記統合された１つの遺伝子ネットワークの対応する頂点のラベルとの対応関係を示す識別子変換表を生成し、また、前記有向グラフ生成手段は、前記統合された１つの遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成する。
【００１５】
本発明の第５の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記探索要求は、始点となるノードの識別子および終点となるノードの識別子の指定を含み、前記経路探索手段は、始点終点間の全経路を探索する。
【００１６】
本発明の第６の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記探索要求は、始点となるノードの識別子の指定を含み、前記経路探索手段は、始点の下流の全経路を探索する。
【００１７】
本発明の第７の遺伝子ネットワーク経路探索装置および方法は、第１の遺伝子ネットワーク経路探索装置および方法において、前記探索要求は、終点となるノードの識別子の指定を含み、前記経路探索手段は、終点の上流の全経路を探索する。
【００１８】
【作用】
本発明にあっては、強連結成分分解しトポロジカルソートをなす縮約グラフを生成し、この縮約グラフを探索するため、元の探索対象となる有向グラフに閉路が含まれていても支障なく探索が行える。また、トポロジカルソートをなす縮約グラフの探索では、トポロジカルソート制約を利用して経路が存在しない自明な探索を排除できるため、効率的な経路探索が可能になる。更に、識別子変換表およびラベル変換表を使用した変換を行っているために、探索要求者は縮約グラフの構造やトポロジカルソートの内容を意識する必要がなく、遺伝子ネットワークデータベース上におけるノードの識別子を使って探索要求で始点や終点などを指定することができ、探索結果も遺伝子ネットワークデータベース上におけるノードの識別子で得ることができる。
【００１９】
【発明の第１の実施の形態】
図１を参照すると、本発明の第１の実施の形態にかかる遺伝子ネットワーク経路探索装置は、入力装置１、出力装置２、記憶装置３および遺伝子ネットワークデータベース４と、これらに接続された処理装置５とで構成される。
【００２０】
遺伝子ネットワークデータベース４には、１つ以上の遺伝子ネットワークが蓄積されている。遺伝子ネットワークには、転写を始めとした遺伝情報発現制御ネットワークである遺伝発現情報制御ネットワーク、シグナル伝達や細胞周期といった細胞内での分子反応を表す分子反応ネットワーク、細胞間相互作用の制御ネットワークである分子ネットワーク、遺伝子によりコードされる酵素間の反応ネットワークである代謝ネットワークなど、種々のネットワークが存在するが、遺伝子ネットワークデータベース４には、これらの遺伝子ネットワークの１つ或いは複数が事前に蓄積されている。各遺伝子ネットワークは、遺伝子、タンパク質、低分子、環境条件、細胞周期、細胞タイプなどの要素（ノード）情報が、要素間の結合や制御などの関係情報によって関連付けられており、他の遺伝子ネットワークと区別するために遺伝子ネットワーク識別子が付与されている。また、各遺伝子ネットワークのそれぞれの構成要素には遺伝子名やタンパク質名などの識別子が付与されており、異なる遺伝子ネットワークに存在する同じ構成要素には同じ識別子が付与されている。
【００２１】
入力装置１および出力装置２は、コンピュータに備わる通常の入出力装置で構成され、例えば入力装置１はキーボード、出力装置２はディスプレイ装置である。なお、入力装置１や出力装置２は入力ファイルや出力ファイルであっても良いし、他のコンピュータ等であっても良い。記憶装置３は、コンピュータに備わる主記憶および補助記憶装置で構成され、処理装置５で実行される各種のプログラムやデータを保持するために使用される。
【００２２】
処理装置５は、コンピュータのＣＰＵを含んで構成され、記憶装置３に記憶されたプログラムを実行することにより、遺伝子ネットワークの経路探索処理を実行する。処理装置５のブロック内に図示した入力受付処理部１１、遺伝子ネットワーク取得部１２、遺伝子ネットワークグラフ処理部１３、経路探索処理部１４および出力処理部１５は、経路探索処理プログラムによって処理装置５上に実現された機能的手段である。
【００２３】
入力受付処理部１１は、入力装置１から、探索対象となる遺伝子ネットワークの指定情報および探索要求を受け付け、記憶装置３の記憶部２１に記憶する。本実施の形態の場合、指定情報は遺伝子ネットワーク識別子であり、探索要求は、始点となるノードの識別子および終点となるノードの識別子の指定を含む。遺伝子ネットワーク識別子は１つ或いは複数指定することが可能である。
【００２４】
遺伝子ネットワーク取得部１２は、遺伝子ネットワークデータベース４から探索対象となる遺伝子ネットワークを取得し、記憶装置３の記憶部２２に記憶する。本実施の形態の場合、遺伝子ネットワーク取得部１２は、記憶部２１に記憶された遺伝子ネットワーク識別子を持つ遺伝子ネットワークを遺伝子ネットワークデータベース４から探索して、記憶部２２に記憶する。複数の遺伝子ネットワーク識別子が指定されている場合、それぞれについて探索を行う。
【００２５】
遺伝子ネットワークグラフ処理部１３は、遺伝子ネットワーク取得部１２で取得された遺伝子ネットワークに対して経路探索処理部１４が経路探索できるように前処理を行う部分であり、統合手段１３ａ、グラフデータ構造構築手段１３ｂ、縮約グラフ生成手段１３ｃ、トポロジカルソート手段１３ｄおよびラベル変換表生成手段１３ｅを有している。
【００２６】
統合手段１３ａは、記憶部２２に記憶された探索対象となる遺伝子ネットワークの各ノードにラベルを割当てて記憶装置３の記憶部２３に記憶すると共に、各ノードの識別子とそのノードに割り当てたラベルとの対応関係を示す識別子変換表を生成して記憶部２４に記憶する。このとき、探索対象となる遺伝子ネットワークが複数存在した場合、全ての遺伝子ネットワークを１つに統合した統合ネットワークを記憶部２３に記憶し、統合前の遺伝子ネットワークの各ノードの識別子とそのノードに割り当てたラベルとの対応関係を示す識別子変換表を生成して記憶部２４に記憶する。ここで、複数の遺伝子ネットワークを１つに統合するとは、複数の遺伝子ネットワーク間で共通なノード（つまり同じ識別子のノード）を１つのノードとして、複数の遺伝子ネットワークを１つの遺伝子ネットワークに置き換えることを意味する。
【００２７】
〔遺伝子ネットワークの統合例〕例えば、ネットワークＡともう一つのネットワークＢがあり、ネットワークＡに、Ａ１、Ａ２、Ａ３、Ａ４、Ａ５、Ａ６のノードがあり、ネットワークＢに、Ｂ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５のノードがあって、ノードＡ４とノードＢ３、ノードＡ５とノードＢ４、ノードＡ６とノードＢ５がそれぞれ共通している場合、Ｃ１（＝Ａ１）、Ｃ２（＝Ａ２）、Ｃ３（＝Ａ３）、Ｃ４（＝Ｂ１）、Ｃ５（＝Ｂ２）、Ｃ６（＝Ａ４＝Ｂ３）、Ｃ７（＝Ａ５＝Ｂ４）、Ｃ８（＝Ａ６＝Ｂ５）のノードを持つ統合ネットワークＣを生成する。
【００２８】
〔識別子変換情報の例〕また識別子変換情報としては、Ａ１がＣ１、Ａ２がＣ２、Ａ３がＣ３、Ａ４がＣ６、Ａ５がＣ７、Ａ６がＣ８、Ｂ１がＣ４、Ｂ２がＣ５、Ｂ３がＣ６、Ｂ４がＣ７、Ｂ５がＣ８にそれぞれ対応することを示す情報を生成する。
【００２９】
グラフデータ構造構築手段１３ｂは、記憶部２３に記憶された遺伝子ネットワークの隣接リストによるグラフデータ構造である有向グラフを生成し、記憶部２５に記憶する。
【００３０】
縮約グラフ生成手段１３ｃは、記憶部２５に記憶された有向グラフを強連結成分に分解し、強連結成分を１頂点に縮約した縮約グラフを生成して記憶装置３の記憶部２６に記憶すると共に、縮約前の有向グラフの各頂点のラベルと縮約グラフの対応する頂点のラベルとの対応関係を示す縮約情報を記憶装置３の記憶部２７に記憶する。例えば、前述の統合ネットワークＣの例において、Ｃ５、Ｃ６、Ｃ７が強連結成分として検出された場合、Ｃ５、Ｃ６、Ｃ７を１つの頂点Ｃ５６７に縮約した縮約グラフが生成され、元のＣ５、Ｃ６、Ｃ７が１つの頂点Ｃ５６７に対応することが縮約情報で示される。
【００３１】
トポロジカルソート手段１３ｄは、記憶部２６に記憶された縮約グラフの各頂点のラベルをトポロジカルソートが成立するラベルに変換してトポロジカルソートをなす縮約グラフを生成し、記憶装置３の記憶部２８に記憶すると共に、トポロジカルソート前の縮約グラフの各頂点のラベルとトポロジカルソート後の縮約グラフの各頂点のラベルとの対応関係を示すソート情報を記憶部２９に記憶する。例えば、前述したＣ５、Ｃ６、Ｃ７が１つの頂点Ｃ５６７に縮約され、残りの頂点Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ８がそのまま１つの頂点として残った縮約グラフをトポロジカルソートした結果、新たなラベルがＣ１’、Ｃ２’、Ｃ３’、Ｃ４’、Ｃ８’、Ｃ５６７’となった場合、Ｃ１がＣ１’に、Ｃ２がＣ２’に、Ｃ３がＣ３’に、Ｃ４がＣ４’に、Ｃ８がＣ８’に、Ｃ５６７がＣ５６７’にそれぞれ対応することがソート情報で示される。
【００３２】
ラベル変換表生成手段１３ｅは、記憶部２７に記憶された縮約情報と記憶部２９に記憶されたソート情報とを入力し、記憶部２５に記憶された有向グラフにおける各頂点のラベルと記憶部２８に記憶されたトポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成し、記憶部３０に記憶する。例えば前述した統合ネットワークＣの場合、Ｃ１がＣ１’に、Ｃ２がＣ２’に、Ｃ３がＣ３’に、Ｃ４がＣ４’に、Ｃ５がＣ５６７’に、Ｃ６がＣ５６７’に、Ｃ７がＣ５６７’に、Ｃ８がＣ５６７’にそれぞれ対応することがラベル変換表で示される。
【００３３】
経路探索処理部１４は、記憶部２１に記憶された探索要求で指定される始点から終点にいたる全ての経路を記憶部２８に記憶されたトポロジカルソートをなす縮約グラフ上で探索する部分であり、前処理手段１４ａおよび探索手段１４ｂを備える。
【００３４】
前処理手段１４ａは、記憶部２１に記憶された探索要求で指定された始点および終点のノード識別子を、記憶部２４に記憶されている識別子変換表を参照して、記憶部２５に記憶されている有向グラフ（縮約前のグラフ）の対応する頂点のラベルに変換し、更に、この変換したラベルを、記憶部３０に記憶されているラベル変換表を参照して、記憶部２８に記憶されているトポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換し、この変換したラベルを記憶装置３の記憶部３１に記憶する。例えば、前述したネットワークＡのノードＡ４が始点または終点として指定された場合、識別子変換表により、Ａ４がＣ６に変換され、次いで、ラベル変換表により、Ｃ６がＣ５６７’に変換される。
【００３５】
探索手段１４ｂは、記憶部３１から始点および終点のラベルを入力し、その始点から終点にいたる全ての経路を記憶部２８に記憶されたトポロジカルソートをなす縮約グラフ上で探索し、探索過程において途中結果のパスの親子情報を記憶部３２に適宜保持しつつ、最終的に得られた全ての経路の情報を記憶部３３に出力する。
【００３６】
出力処理部１５は、経路探索処理部１４で探索された経路を出力装置２に出力する部分であり、前処理手段１５ａおよび出力手段１５ｂを有する。
【００３７】
前処理手段１５ａは、記憶部３３に記憶されている探索された経路を遺伝子ネットワークデータベース４上における経路に変換したものを、記憶部３４に記憶する。この変換は、先ず、記憶部３３に記憶された経路に含まれる各頂点のラベルを、記憶部３０に記憶されたラベル変換表を参照して、記憶部２５に記憶された有向グラフ上の対応する頂点のラベルに変換し、さらに、この変換したラベルを、記憶部２４に記憶された識別子変換表を用いて、遺伝子ネットワークデータベース４上における遺伝子ネットワークのノードの識別子に変換することで行われる。例えば、探索された経路にノードＣ５６７’が含まれている場合、ラベル変換表により、Ｃ５６７’がＣ６に変換され、次いで、識別子変換表により、Ｃ６がＡ４、Ｂ３に変換される。
【００３８】
出力手段１５ｂは、記憶部３４に記憶された探索された経路を出力装置２から出力する。
【００３９】
以下に、図１に示した処理装置５内の入力受付処理部１１、遺伝子ネットワーク取得部１２、遺伝子ネットワークグラフ処理部１３、経路探索処理部１４および出力処理部１５の各処理について詳述する。
【００４０】
＜入力受付処理部＞  入力受付処理部１１は、入力装置１から探索対象となる遺伝子ネットワークを指定する遺伝子ネットワーク識別子が入力されると、この遺伝子ネットワーク識別子を記憶部２１を通じて遺伝子ネットワーク取得部１２へ渡す。以下、遺伝子ネットワーク取得部１２および遺伝子ネットワークグラフ処理部１３の処理により、遺伝子ネットワーク識別子で指定された遺伝子ネットワークに対する探索処理の準備が行われる。この準備が完了した後、入力装置１から経路探索を要求する始点および終点のノードの識別子を含む探索要求が入力されると、入力受付処理部１１は、この探索要求を記憶部２１を通じて経路探索処理部１４へ渡す。探索対象となる遺伝子ネットワークを変更しない限り、探索要求は何度も入力することが可能である。
【００４１】
＜遺伝子ネットワーク取得部＞  遺伝子ネットワーク取得部１２は、入力受付処理部１１から受け取った遺伝子ネットワーク識別子で遺伝子ネットワークデータベース４を探索して、指定された遺伝子ネットワークを取得し、記憶部２２に記憶する。複数の遺伝子ネットワーク識別子が指定されている場合、指定された全ての遺伝子ネットワークが取得される。
【００４２】
＜遺伝子ネットワークグラフ処理部＞  遺伝子ネットワークグラフ処理部１３は、記憶部２２を通じて遺伝子ネットワーク取得部１２から対象となる遺伝子ネットワークを受け取り、経路探索前処理を施す。この処理は図２に示す手順で行われる。
【００４３】
まず、統合手段１３ａにより、受け取った遺伝子ネットワークが複数あるかどうかを判定する（Ｓ１１）。受け取った遺伝子ネットワークが複数ある場合、統合手段１３ａにより、遺伝子ネットワークを１つに統合し（Ｓ１２）、統合した統合ネットワークを記憶部２３を通じてグラフデータ構造構築手段１３ｂに渡すと共に、統合前の遺伝子ネットワークの各ノードの識別子とそのノードに割り当てたラベルとの対応関係を示す識別子変換表を生成して記憶部２４に記憶する（Ｓ１３）。受け取った遺伝子ネットワークが１つの場合は、統合処理Ｓ１２をスキップし、統合手段１３ａにより、その遺伝子ネットワークの各ノードにラベルを割当てて記憶部２３を通じてグラフデータ構造構築手段１３ｂに渡すと共に、各ノードの識別子とそのノードに割り当てたラベルとの対応関係を示す識別子変換表を生成して記憶部２４に記憶する（Ｓ１３）。
【００４４】
次に、グラフデータ構造構築手段１３ｂにより、統合手段１３ａから渡された遺伝子ネットワークについて、隣接リストによるグラフデータ構造である有向グラフを構築し、記憶部２５を通じて縮約グラフ生成手段１３ｃに渡す（Ｓ１４）。
【００４５】
次に、縮約グラフ生成手段１３ｃにより、グラフデータ構造構築手段１３ｂから渡された有向グラフに対し、深さ優先探索に基づいた強連結成分分解アルゴリズムにより強連結成分に分解して閉路検出を行い、閉路を含む強連結成分を１点に縮約した縮約グラフを生成して記憶部２６に記憶し、同時に縮約前の有向グラフの各頂点のラベルと縮約グラフの対応する頂点のラベルとの対応関係を示す縮約情報を記憶部２７に記憶する（Ｓ１５）。強連結グラフとはどの２頂点間にも両方向の有向パスが存在するグラフであり、強連結成分とは極大な強連結部分グラフである。つまり、この強連結成分に閉路が含まれ、強連結成分分解手法により閉路が検出できる。深さ優先探索に基づいた強連結成分分解アルゴリズムを以下に記載する。
【００４６】
＊強連結成分分解アルゴリズム＊
１．  有向グラフＧ＝（Ｖ，Ｅ）を深さ優先探索し後行順に頂点にラベルを付ける。
２．  Ｇのすべての辺の向きを逆にして得られるグラフＲ（Ｇ）を求める。
３．  Ｒ（Ｇ）に対して深さ優先探索をする。ただし、未探索の辺の始点となる頂点でラベルの付いたものが存在しないときには、１で付けたラベルの大きいものを優先的に選んでラベル付けする。
４．  ３で得られた根付き木に対応するＧの頂点集合からなる点誘導部分グラフがＧの強連結成分である。
【００４７】
次に、トポロジカルソート手段１３ｄにより、ステップＳ１５で得られた縮約グラフにおいてトポロジカルソート（任意の辺ａ＝（ｕ，  ｖ）  に対してｌａｂｅｌ［ｕ］＜ｌａｂｅｌ［ｖ］）が成立するラベルｌａｂｅｌ［ｖ］＝ｋを割当てることで、トポロジカルソートをなす縮約グラフを生成して記憶部２８に記憶する（Ｓ１６）。深さ優先探索に基づく強連結成分分解アルゴリズムにより、各強連結成分に対して頂点を対応させ、２つの異なる強連結成分間にまたがる辺が存在するとき、対応する頂点間に向きまで考慮した辺を考えることにより、元のグラフから各強連結成分を１点に縮約して得られるグラフが得られ、同時にこのグラフにおいてトポロジカルソートが成立するグラフが構成できる。このとき、元のグラフの頂点に対してトポロジカルソート後の対応する頂点のラベルの関係を示すソート情報を記憶部２９に記憶する。
【００４８】
最後に、ラベル変換表生成手段１３ｅにより、記憶部２７に記憶された縮約情報と記憶部２９に記憶されたソート情報とを入力し、記憶部２５に記憶された有向グラフにおける各頂点のラベルとトポロジカルソートをなす縮約グラフの各頂点のラベルとの対応関係を示すラベル変換表を生成し、記憶部３０に記憶する（Ｓ１７）。
【００４９】
＜経路探索処理部＞  経路探索処理部１４は、遺伝子ネットワークグラフ処理部１３において構築、そして変換されたトポロジカルソートをなしている縮約グラフ構造を利用して、全経路を探索する。この処理は図３に示す手順で行われる。
【００５０】
まず、前処理手段１４ａにより、始点ｓ、終点ｔのノード識別子を、記憶部２４に記憶されている識別子変換表および記憶部３０に記憶されているラベル変換表を用いて、トポロジカルソートをなしている縮約グラフ上における対応する頂点のラベルｌａｂｅｌ［ｓ］、ｌａｂｅｌ［ｔ］に変換する（Ｓ２１）。
【００５１】
次に、探索手段１４ｂにより、ｌａｂｅｌ［ｓ］＜ｌａｂｅｌ［ｔ］を満たすかどうかを判定する（Ｓ２２）。満たさない場合はトポロジカルソート制約より経路がないことが自明であるため、図３の処理を終了し、出力処理部１５へ処理を移す。ｌａｂｅｌ［ｓ］＜ｌａｂｅｌ［ｔ］を満たす場合は、深さ優先探索順に隣接リストより頂点を辿る（Ｓ２３）。次の探索点ａがあるかどうかを判定し（Ｓ２４）、ない場合には探索が終了しているため、出力処理部１５へ処理を移す。次の探索点ａがある場合には、探索点ａ、終点ｔに関し、ｌａｂｅｌ［ａ］  “＜”  ｏｒ  “＝”  ｏｒ  “＞”  ｌａｂｅｌ［ｔ］を判定する（Ｓ２５）。
【００５２】
ｌａｂｅｌ［ａ］＜ｌａｂｅｌ［ｔ］の場合には終点ｔに到達するパスが存在する可能性があるため、パスの親子情報を記憶部３２に保持し（Ｓ２６）、ステップＳ２３へ戻りさらに深く頂点を探索する。ｌａｂｅｌ［ａ］＝ｌａｂｅｌ［ｔ］の場合にはパスが見つかったことになり、見つかったパスの情報を記憶部３３に保持し（Ｓ２７）、ステップＳ２３へ戻り深さ優先探索順に次の部分木を探索する。ｌａｂｅｌ［ａ］＞ｌａｂｅｌ［ｔ］の場合には、この先に終点ｔへ到達する経路が存在しないことがトポロジカルソート制約によりこの時点で自明であり、ステップＳ２３へ戻り深さ優先探索順に次の部分木を探索する。ステップＳ２４にて探索点がなくなった時点で処理を出力処理部１５へ移す。
【００５３】
＜出力処理部＞  出力処理部１５は、まず前処理手段１５ａにより、経路探索部１４において検出された経路情報を記憶部３３から取得し、記憶部３０に記憶されたラベル変換表および記憶部２４に記憶された識別子変換表を用いて、経路探索部１４において検出されて記憶部３３に記憶されている経路情報中の頂点のラベルを、遺伝子ネットワークデータベース４上におけるノードの識別子に変換した経路情報を生成して記憶部３４に記憶する。次に、出力手段１５ｂにより、記憶部３４に記憶された経路情報を出力装置２から出力する。
【００５４】
本実施の形態では、経路探索を行う前に、強連結成分分解しトポロジカルソートを構成することによって閉路を含むグラフに対応できる。また、トポロジカルソートをなす縮約グラフの探索では、トポロジカルソート制約を利用して経路が存在しない自明な探索を排除できるため、効率的な経路探索が可能になる。更に、遺伝子ネットワークデータベースに蓄積されている複数の遺伝子ネットワークを１つに統合した統合ネットワークに対する経路探索が可能となる。更にまた、識別子変換表およびラベル変換表を使用した変換を行っているために、探索要求者は縮約グラフの構造やトポロジカルソートの内容を意識する必要がなく、遺伝子ネットワークデータベース上におけるノードの識別子を使って探索要求で始点、終点を指定することができ、探索結果も遺伝子ネットワークデータベース上におけるノードの識別子で得ることができる。
【００５５】
以上の第１の実施の形態では、入力装置１から入力される探索要求は、始点となるノードの識別子および終点となるノードの識別子を含み、指定された始点から指定された終点にいたる全ての経路を探索するものであったが、本発明はこのような経路探索に限定されず、複数の指定された点をすべて通る全経路の探索や、複数の指定された点の何れか１つ以上を通る全経路の探索を行うようにしても良く、また、始点だけを指定し、始点の下流の全経路を探索したり、終点だけを指定し、終点の上流の全経路を探索するなど、任意の他の探索手法も可能である。以下の第２および第３の実施の形態では、このような他の探索手法について説明する。
【００５６】
【発明の第２の実施の形態】
図４を参照すると、本発明の第２の実施の形態にかかる遺伝子ネットワーク経路探索装置は、図１に示される第１の実施の形態にかかる遺伝子ネットワーク経路探索装置と比べて、入力受付処理部１１が、複数の経由点を順不同で指定した探索要求を受け付けるようにした点と、経路探索処理部１４に経路探索区間選択処理部１４ｃと繰り返し経路探索手段１４ｄを設けて、入力受付処理部１１で受け付けられた探索要求で指定された複数の経由点に基づいて経路探索区間を自動的に選択し、この選択した経路探索区間毎に全経路の探索を繰り返すようにした点で相違し、その他の構成および動作は第１の実施の形態と同じである。
【００５７】
図４において、入力受付処理部１１は複数の経由点を順不同で並べた探索要求を受け付け、記憶部２１を通じて経路探索処理部１４に渡す。ここで、各経由点は、探索対象となる遺伝子ネットワーク上におけるノードの識別子で表現されている。
【００５８】
経路探索処理部１４は、前処理手段１４ａにより、記憶部２１に記憶された個々の経由点のノード識別子を、記憶部２４に記憶された識別子変換表および記憶部３０に記憶されたラベル変換表を用いて、トポロジカルソートをなす縮約グラフ上の対応する頂点のラベルに変換し、記憶部３１に記憶する。
【００５９】
次に、経路探索区間選択処理部１４ｃは、記憶部３１に記憶された複数の経由点のラベルを昇順にソートし、ｌａｂｅｌ［ｘ］＜ｌａｂｅｌ［ｙ］となる始点ｘと終点ｙの全てのペアを算出して、記憶部３５に記憶する。例えば、ソート後のラベルが、１、２、３、４とすると、「１−２」、「１−３」、「１−４」、「２−３」、「２−４」、「３−４」の合計６つの始点終点のペアを生成する。
【００６０】
次に、繰り返し経路探索手段１４ｄは、記憶部３５に記憶された始点終点のペア毎に、図３のステップＳ２２〜Ｓ２７の処理を繰り返し、得られた経路情報を記憶部３３に記憶する。
【００６１】
【発明の第３の実施の形態】
図５を参照すると、本発明の第３の実施の形態にかかる遺伝子ネットワーク経路探索装置は、図１に示される第１の実施の形態にかかる遺伝子ネットワーク経路探索装置と比べて、入力受付処理部１１が、始点または終点となる起点とこの起点が始点または終点の何れであるかを示す種別とを指定した探索要求を受け付けるようにした点と、経路探索処理部１４に起点が終点の場合には上流探索（有向グラフにおける葉から根方向への探索）を行い、起点が始点の場合には下流探索（有向グラフにおける根から葉方向への探索）を行う上流下流探索手段１４ｅを設けて、入力受付処理部１１で受け付けられた探索要求で指定された起点が始点の場合には、その起点の下流の全経路を探索し、探索要求で指定された起点が終点の場合には、その起点の上流の全経路を探索するようにした点で相違し、その他の構成および動作は第１の実施の形態と同じである。
【００６２】
図５において、入力受付処理部１１は起点とその起点が始点または終点の何れであるかを示す種別とを指定した探索要求を受け付け、記憶部２１を通じて経路探索処理部１４に渡す。ここで、起点は、探索対象となる遺伝子ネットワーク上におけるノードの識別子で表現されている。
【００６３】
経路探索処理部１４は、前処理手段１４ａにより、記憶部２１に記憶された起点のノード識別子を、記憶部２４に記憶された識別子変換表および記憶部３０に記憶されたラベル変換表を用いて、トポロジカルソートをなす縮約グラフ上の対応する頂点のラベルに変換し、記憶部３１に記憶する。
【００６４】
次に上流下流探索手段１４ｅにより、記憶部２１に記憶された種別が始点の場合には、記憶部３１に記憶された起点の下流の全経路をトポロジカルソートをなす縮約グラフから探索し、種別が終点の場合には、起点の上流の全経路をトポロジカルソートをなす縮約グラフから探索する。この処理は図６に示す手順で行われる。
【００６５】
まず、深さ優先探索順に隣接リストより頂点を辿る（Ｓ３１）。このとき、起点が始点のときは下流探索を行い、起点が終点のときは上流探索を行う。次の探索点ａがあるかどうかを判定し（Ｓ３２）、ない場合には探索が終了しているため、出力処理部１５へ処理を移す。次の探索点ａがあるときには、下流探索の場合は探索点ａが葉であるかどうか、上流探索の場合には探索点ａが根であるかどうかを判定する（Ｓ３３）。このステップＳ３３の判定結果が偽（ＮＯ）の場合、この先に到達するパスが存在する可能性があるため、パスの親子情報を記憶部３２に保持し（Ｓ３４）、ステップＳ３１へ戻りさらに深く頂点を探索する。ステップＳ３３の判定結果が真（ＹＥＳ）の場合、パスが見つかったことになり、見つかったパスの情報を記憶部３３に保持し（Ｓ３５）、ステップＳ３１へ戻り深さ優先探索順に次の部分木を探索する。ステップＳ３２にて探索点がなくなった時点で処理を出力処理部１５へ移す。
【００６６】
【発明の他の実施の形態】
第２の実施の形態では、探索要求で指定された複数の経由点をトポロジカルソートをなす縮約グラフの対応する頂点のラベルでソートし、ソート後のラベルに関してｌａｂｅｌ［ｘ］＜ｌａｂｅｌ［ｙ］となる始点ｘと終点ｙの全てのペア毎に経路を探索したが、この第２の実施の形態に第３の実施の形態の探索方法を加え、ソート後のラベルが最小となる点の下流探索、ソート後のラベルが最大となる点の上流探索も同時に自動的に行うようにしても良い。
【００６７】
以上の各実施の形態では、入力受付処理部１１は探索対象となる遺伝子ネットワークの指定情報として、遺伝子ネットワーク識別子を受け付けたが、遺伝子ネットワークに含まれる任意の１つあるいは複数のノードの識別子を探索対象となる遺伝子ネットワークの指定情報として受け付けるようにしても良い。この場合、遺伝子ネットワーク取得部１２は、指定された識別子を持つノードを含む遺伝子ネットワークを遺伝子ネットワークデータベース４から探索する。また、探索対象となる遺伝子ネットワークを指定するために独立してノードの識別子を指定するのに代えて、探索要求で指定された点（始点や終点や中継点など）の識別子を持つノードを含む遺伝子ネットワークを遺伝子ネットワークデータベース４から探索対象となる遺伝子ネットワークとして検索するようにしても良い。
【００６８】
【実施例】
次に、上述した処理手順を簡易データに即して、具体的な実施例を挙げて説明する。
【００６９】
図７は、記憶部２５に隣接リスト形式で記憶された探索対象となる遺伝子ネットワークをグラフ形式で示した模式図であり、丸の図形が頂点、矢印がエッジ（辺）である。頂点に付された番号は、遺伝子名やタンパク質名などのノード識別子を番号に置き換えたものであり、辺に付された番号は、ノード間の関係情報を番号に置き換えたものである。頂点に付与された番号と元のノード識別子との対応関係は識別子変換表として記憶部２４に記憶されている。この図７に示すような有向グラフに対して、入力装置１から、中継点として３番、９番、１２番（順不同）の頂点に対応するノード識別子が指定された場合の経路探索について、以下説明する。
【００７０】
遺伝子ネットワークグラフ処理部１３は、縮約グラフ生成手段１３ｃにより、図７に示した有向グラフに対して強連結成分分解を行って図８に示すような縮約グラフを生成し、さらにトポロジカルソート手段１３ｄにより、図９に示すようなトポロジカルソートをなす縮約グラフを生成する。図８の縮約グラフでは、図７の有向グラフの１番、３番および４番の３つの頂点、２番、５番、１１番、１２番および１６番の５つの頂点、８番、１４番および１５番の３つの頂点が、それぞれ１つの頂点に縮約されている。また、図９のトポロジカルソートをなす縮約グラフでは、図８の縮約グラフの各頂点のラベルがトポロジカルソートをなすように変換されている。このとき、図７の有向グラフの頂点のラベルと図９のトポロジカルソートをなす縮約グラフの対応する頂点のラベルとの対応関係を示すラベル変換表が記憶部３０に記憶される。
【００７１】
経路探索処理部１４は、探索要求で指定された中継点のノード識別子を識別子変換表を用いて図７の有向グラフ上での３番、９番、１２番（順不同）の頂点のラベルに変換し、更にラベル変換表を用いて図９のトポロジカルソートをなす縮約グラフの対応する頂点のラベルに変換する。その結果、指定された中継点のラベルはｌａｂｅｌ［３］＝５，  ｌａｂｅｌ［９］＝１１，  ｌａｂｅｌ［１２］＝６となる。次に、ラベルでソートし、始点３（ラベル５）、終点１２（ラベル６）とした場合、始点３（ラベル５）、終点９（ラベル１１）とした場合及び始点１２（ラベル６）、終点９（ラベル１１）とした３つの場合の２点間探索、及び終点３（ラベル５）とした上流探索、始点９（ラベル１１）とした下流探索を経路探索処理部１４において実施する。この処理部では探索点がなくなるまで経路を算出する処理が行われ、最終的に図１０に実線で示すパスが検出された状態で終了する。そして処理を出力処理部１５へ移す。
【００７２】
出力処理部１５では、ラベル変換表および識別子変換表を用いて、探索されたパス上の頂点のラベルをノード識別子に変換して、出力装置２に出力する。
【００７３】
以上、本発明を幾つかの実施の形態および実施例に基づき具体的に説明したが、本発明は上記の実施の形態および実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７４】
【発明の効果】
以上説明したように、本発明においては次のような効果を奏する。
【００７５】
第１の効果は、経路探索の全経路列挙において閉路を含むグラフにも適用可能で且つ効率的な探索が行えることである。その理由は、強連結成分分解しトポロジカルソートをなす縮約グラフを生成し、この縮約グラフを探索するため、元の探索対象となる有向グラフに閉路が含まれていても支障なく探索が行え、また、トポロジカルソートをなす縮約グラフの探索では、トポロジカル制約を利用して経路が存在しない自明な探索を排除できるためである。
【００７６】
第２の効果は、強連結成分分解による頂点の縮約やトポロジカルソートに伴うラベルの変換を行っているにもかかわらず、探索要求者は縮約グラフの構造やトポロジカルソートの内容を意識する必要がなく、遺伝子ネットワークデータベース上におけるノードの識別子を使って探索要求で始点や終点などを指定することができ、探索結果も遺伝子ネットワークデータベース上におけるノードの識別子で得ることができることである。その理由は、識別子変換表およびラベル変換表を使用した変換を行っているためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】遺伝子ネットワークグラフ処理部の処理例を示す流れ図である。
【図３】経路探索処理部の処理例を示す流れ図である。
【図４】本発明の第２の実施の形態の構成を示すブロック図である。
【図５】本発明の第３の実施の形態の構成を示すブロック図である。
【図６】上流下流探索手段の処理例を示す流れ図である。
【図７】本発明の実施例にかかる隣接リスト形式で記憶された探索対象となる遺伝子ネットワークをグラフ形式で示した模式図である。
【図８】本発明の実施例にかかる有向グラフに対して強連結成分分解を行って縮約グラフを生成する様子を示す模式図である。
【図９】本発明の実施例にかかる縮約グラフからトポロジカルソートをなす縮約グラフを示す模式図である。
【図１０】本発明の実施例にかかる探索経路の一例を示す模式図である。
【図１１】従来の全経路の数え上げ手法としてバックトラッキングによりすべてのパスを見いだす手法の擬似コードを示す図である。
【符号の説明】
１…入力装置
２…出力装置
３…記憶装置
４…遺伝子ネットワークデータベース
５…処理装置
１１…入力受付処理部
１２…遺伝子ネットワーク取得部
１３…遺伝子ネットワークグラフ処理部
１４…経路探索処理部
１５…出力処理部
【図１】
2004220227.tif 000003
【図２】
2004220227.tif 000004
【図３】
2004220227.tif 000005
【図４】
2004220227.tif 000006
【図５】
2004220227.tif 000007
【図６】
2004220227.tif 000008
【図７】
2004220227.tif 000009
【図８】
2004220227.tif 000010
【図９】
2004220227.tif 000011
【図１０】
2004220227.tif 000012
【図１１】
2004220227.tif 000013