(57)【要約】【課題】ネットワークの分析を容易に行うことができるようにする。【解決手段】情報処理装置は、ユーザによる操作に応じて、複数のノードと、それらのノードの結びつきを示すエッジからなるネットワークに含まれる、ノードの接続関係の所定のパターンであるモチーフを、ノードに対応するアイコンおよびエッジに対応する連結線により指定し（Ｓ２０）、ネットワークから、アイコンおよび連結線により指定されたモチーフと相似するパターンを抽出する（Ｓ２５）ことで、ネットワークの分析を容易に行うことができる。本発明は、例えばタンパク質ネットワークを分析するネットワーク分析支援装置に適用可能である。【選択図】図２
2008310668.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードと、前記ノードの結びつきを示すエッジからなるネットワークに関する情報処理を実行する情報処理装置において、
ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフを、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定する指定手段と、
前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンを抽出する抽出手段と
を備える情報処理装置。
【請求項２】
前記ネットワークに対応するグラフを提示する提示手段をさらに備え、
前記提示手段は、前記ネットワークから抽出された前記モチーフと相似するパターンを、前記グラフ上で識別可能に提示する
請求項１に記載の情報処理装置。
【請求項３】
第１のノードが第２のノードの機能をPositiveにする接続をＰ接続とし、
第１のノードが第２のノードの機能をNegativeにする接続をＮ接続として定義されており、
前記指定手段は、前記ユーザによる操作に応じて、前記エッジの属性を前記Ｐ接続または前記Ｎ接続に指定する
請求項１に記載の情報処理装置。
【請求項４】
前記指定手段は、前記ユーザによる操作に応じて、複数の前記ノードが相互にリンクするパターンを、前記モチーフとして指定する
請求項１に記載の情報処理装置。
【請求項５】
前記指定手段は、前記ユーザによる操作に応じて、所定のノードが複数の他のノードと接続されているパターンを、前記モチーフとして指定する
請求項１に記載の情報処理装置。
【請求項６】
前記指定手段は、前記ユーザによる操作に応じて、パターンの異なる複数の前記モチーフを同時に指定する
請求項１に記載の情報処理装置。
【請求項７】
前記指定手段は、前記ユーザによる操作に応じて、過去に指定されたモチーフの一部を編集したパターンを、前記モチーフとして指定する
請求項１に記載の情報処理装置。
【請求項８】
複数のノードと、前記ノードの結びつきを示すエッジからなるネットワークに関する情報処理を実行する情報処理装置の情報処理方法において、
ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフを、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定し、
前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンを抽出する
ステップを含む情報処理方法。
【請求項９】
複数のノードと、前記ノードの結びつきを示すエッジからなるネットワークに関する情報処理を、コンピュータに実行させるプログラムにおいて、
ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフを、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定し、
前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンを抽出する
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ネットワークの分析を容易に行うことができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、要素の集合における各要素をノードとし、それらのノードのうち関連性のある要素間をエッジとして結ぶことにより得られるネットワークを解析し、その解析結果に基づいて、ネットワークの傾向や特徴を分析する方法があった。また、その分析を支援する為に分析対象のネットワークを画像化（グラフ化）する方法もあった。
【０００３】
例えば、ゲノム研究の分野においては、膨大なデータを対象に、特定の遺伝子についてそれらの関連性等に着目して、その特徴を解析者が見て直感的に捉えることができるようにする目的で、ネットワークを表示することが行われている。
【０００４】
また、近年、タンパク質の分子的な接続関係のネットワーク（以下、タンパク質ネットワークと称する）を解析する技術が研究/開発されている。例えば非特許文献１には、タンパク質ネットワークにおいて、タンパク質をノードとして、３つのノード間の接続関係のパターン（以下、部分構造と称する。なお、本明細書においては、部分構造と同じ意味で、モチーフも用い、モチーフはMotifとも記述する）の出現頻度を計算する技術が開示されている。
【０００５】
さらに、本出願人は、かかる非特許文献１等の従来の技術に比較して、短時間かつ容易な作業で、ネットワークの解析をできる情報処理装置を発明し、特願２００６−３４２８７４号として既に特許出願（以下、先願と称する）している。
【非特許文献１】R Milo, S Itzkovitz, N Kashtan, R Levitt, S Shen-Orr, I Ayzenshtat, M Sheffer & U Alon, “Superfamilies of designed and evolved networks”, Science, 303:1538-42 (2004).
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、近年、より複雑なネットワークの分析が行われるようになってきており、その為により多様な分析方法が求められているが、従来の方法であると、例えば、複雑なネットワーク、あるいはそれを描画したグラフから特定の条件のノードとエッジの組み合わせを解析者が目視で抽出することが非常に困難であるという問題がある。なお、先願を採用しても、かかる問題を十分に解決できるとは言い難い状況である。
【０００７】
すなわち、従来の技術でも２ノード間等の比較的単純な部分構造（モチーフ）抽出技術は存在しており、この場合、解析者はプログラムにより提示された部分構造から、単数または複数の部分構造を指定し、これに合致する部分構造をグラフから抽出する。また、考えられる限りの部分構造をグラフから抽出して出力することで、解析者は、その中から有益な情報を目視等で抽出する方法がとられていた。
【０００８】
このような方法であると、３ノード間、４ノード間、・・・、と部分構造が複雑になるにつれ、組み合わせから考えられる部分構造は有限であるが、その数が膨大なものとなってくると、その中から解析者が部分構造を指定するのは困難である。また、組み合わせから考えられる全ての部分構造を抽出した後、解析者が目視等で有益な情報を得る方法も、抽出の段階で膨大な演算量を要し、また得られた部分構造も膨大になる可能性が高い為、事実上、解析者が部分構造を目視等で網羅することは困難である。
【０００９】
また、上記特許文献１を含む従来の技術を利用して解析した場合には、部分構造の出現頻度を検出するだけでも多大な時間と労力とが必要であり、さらにその後、出現頻度が高い部分構造を重要構造であるとして抽出し、その部分構造内の各ノードの役割（他のノードに対する働きかけ）等を調査したり、かかる役割を果たすノードとして如何なるタンパク質の種類が存在するのかを調査する為には、莫大な時間と労力とが必要となる。このタンパク質ネットワークの解析の問題は、タンパク質ネットワークに限らず、多種多様のノードが存在するネットワークの解析についても同様の問題が発生する。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、ネットワークの分析を容易に行うことができるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面の情報処理装置は、複数のノードと、前記ノードの結びつきを示すエッジからなるネットワークに関する情報処理を実行する情報処理装置において、ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフを、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定する指定手段と、前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンを抽出する抽出手段とを備える。
【００１２】
前記ネットワークに対応するグラフを提示する提示手段をさらに備え、前記提示手段には、前記ネットワークから抽出された前記モチーフと相似するパターンを、前記グラフ上で識別可能に提示させることができる。
【００１３】
第１のノードが第２のノードの機能をPositiveにする接続をＰ接続とし、第１のノードが第２のノードの機能をNegativeにする接続をＮ接続として定義されており、前記指定手段には、前記ユーザによる操作に応じて、前記エッジの属性を前記Ｐ接続または前記Ｎ接続に指定させることができる。
【００１４】
前記指定手段には、前記ユーザによる操作に応じて、複数の前記ノードが相互にリンクするパターンを、前記モチーフとして指定させることができる。
【００１５】
前記指定手段には、前記ユーザによる操作に応じて、所定のノードが複数の他のノードと接続されているパターンを、前記モチーフとして指定させることができる。
【００１６】
前記指定手段には、前記ユーザによる操作に応じて、パターンの異なる複数の前記モチーフを同時に指定させることができる。
【００１７】
前記指定手段には、前記ユーザによる操作に応じて、過去に指定されたモチーフの一部を編集したパターンを、前記モチーフとして指定させることができる。
【００１８】
本発明の一側面の情報処理方法およびプログラムは、上述した本発明の一側面の情報処理装置に対応する方法およびプログラムである。
【００１９】
本発明の一側面の情報処理装置、情報処理方法、およびプログラムにおいては、ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフが、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定され、前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンが抽出される。
【発明の効果】
【００２０】
以上のように、本発明の一側面によれば、ネットワークの分析を容易に行うことができる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認する為のものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２２】
本発明の一側面の情報処理装置は、
複数のノードと、前記ノードの結びつきを示すエッジからなるネットワーク（例えばタンパク質をノードとするタンパク質ネットワーク）に関する情報処理を実行する情報処理装置（例えば、図１のパーソナルコンピュータ１１）において、
ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフ（例えば部分構造）を、前記ノードに対応するシンボル画像（例えば、図９のアイコン１、アイコン２、アイコン３）および前記エッジに対応する連結線（例えば、図９のエッジ１−２、エッジ２−３、エッジ３−１）により指定する指定手段（例えば、図１の入力部４１）と、
前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフ（例えば、図５乃至図１０の部分構造描画部６１に描画される部分構造）と相似するパターンを抽出する抽出手段（例えば、図１のデータ解析部２２）と
を備える。
【００２３】
前記ネットワークに対応するグラフ（例えば、図４のグラフ描画部５１に描画されているグラフ）を提示する提示手段（例えば、図１の表示部４２）をさらに備え、
前記提示手段は、前記ネットワークから抽出された前記モチーフと相似するパターンを、前記グラフ上で識別可能に提示する（例えば、図３のステップＳ２６の処理で描画される、図１１のグラフ描画部５１のグラフ）。
【００２４】
第１のノードが第２のノードの機能をPositiveにする接続をＰ接続とし、
第１のノードが第２のノードの機能をNegativeにする接続をＮ接続として定義されており、
前記指定手段は、前記ユーザによる操作に応じて、前記エッジの属性を前記Ｐ接続または前記Ｎ接続に指定する（例えば図１０参照）。
【００２５】
前記指定手段は、前記ユーザによる操作に応じて、複数の前記ノードが相互にリンクするパターンを、前記モチーフとして指定する（例えば図１３参照）。
【００２６】
前記指定手段は、前記ユーザによる操作に応じて、所定のノードが複数の他のノードと接続されているパターンを、前記モチーフとして指定する（例えば図１４参照）。
【００２７】
前記指定手段は、前記ユーザによる操作に応じて、パターンの異なる複数の前記モチーフを同時に指定する（例えば図１５参照）。
【００２８】
前記指定手段は、前記ユーザによる操作に応じて、過去に指定されたモチーフの一部を編集したパターンを、前記モチーフとして指定する（例えば図１６参照）。
【００２９】
本発明の一側面の情報処理方法は、
複数のノードと、前記ノードの結びつきを示すエッジからなるネットワークに関する情報処理を実行する情報処理装置（例えば、図１のパーソナルコンピュータ１１）の情報処理方法において、
ユーザによる操作に応じて、前記ネットワークに含まれる前記ノードの接続関係の所定のパターンであるモチーフを、前記ノードに対応するシンボル画像および前記エッジに対応する連結線により指定し（例えば、図２のステップＳ２０の処理）、
前記ネットワークから、前記連結線で結ばれた前記シンボル画像により指定された前記モチーフと相似するパターンを抽出する（例えば、図３のステップＳ２５の処理）
ステップを含む。
【００３０】
本発明の一側面のプログラムは、上述した本発明の一側面の情報処理方法に対応するプログラムであって、例えば、図１７の構成のコンピュータにより実行される。
【００３１】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００３２】
図１は、本発明が適用される情報処理システムの機能的構成例を示している。
【００３３】
図１の例では、情報処理システムは、パーソナルコンピュータ１１とデータベース１２とから構成されている。
【００３４】
パーソナルコンピュータ１１は、例えば、タンパク質ネットワーク、代謝ネットワーク、SNS（Social Networking Service）等のネットワークを分析する為のネットワーク分析支援装置であって、ユーザにより指定された条件の部分構造（モチーフ）をネットワークから抽出するという機能を有する。かかる機能を、部分構造抽出機能と称する。部分構造抽出機能を実現する為の部分構造抽出処理の詳細については、後述する、図２乃至図１６を参照して説明する。
【００３５】
データベース１２は、部分構造抽出機能を実現する為に必要な各種データが格納されている。なお、各種データの具体例については、図２以降の図面の説明の際に適宜挙げることにする。
【００３６】
このような部分構造抽出機能を実現すべく、パーソナルコンピュータ１１は、データ処理部２１、データ解析部２２、データ読み出し部２３、データ書き込み部２４、およびＵＩ(User Interface)部２５を含むように構成されている。
【００３７】
順不同に説明すると、データ読み出し部２３は、データ処理部２１の制御に基づいて、データベース１２から各種データを読み出して、加工部３１に提供する。データ書き込み部２４は、データ処理部２１の制御に基づいて、加工部３１から提供された各種データをデータベース１２に書き込む。なお、データベース１２に対して読み出されたり書き込みされる各種データの具体例については、図２以降の図面を参照して後述する。
【００３８】
データ解析部２２は、データ処理部２１の制御に基づいて、部分構造抽出機能を実現すべく、各種データを解析し、その解析結果をデータ処理部２１に提供する。なお、解析対象の各種データの具体例については、図２以降の図面を参照して後述する。
【００３９】
データ処理部２１は、上述したように、データ解析部２２乃至データ書き込み部２４を適宜制御して、各種データの処理を実行する。具体的には、各種データの加工等の実処理は、加工部３１により実行され、加工部３１により処理（加工等）されたデータや、加工部３１の各種処理に利用されるデータは、保持部３２に適宜保持される。なお、処理対象の各種データの具体例については、図２以降の図面を参照して後述する。
【００４０】
ＵＩ部２５は、その名称の如く、ユーザに対してユーザインターフェースを提供する。すなわち、ＵＩ部２５は、ユーザとデータ処理部２１の加工部３１とのインターフェースとして機能する。具体的には、例えばマウスやキーボード等、指令等の各種情報をユーザが入力する為の入力部４１と、各種情報をユーザに画面表示の形態で提示する表示部４２とが、ＵＩ部２５に含まれる。
【００４１】
なお、ユーザの指示に応じて入力部４１から加工部３１に入力される信号を、操作信号と称する。また、入力部４１により入力される情報や、表示部４２から表示される情報の具体例については、図２以降の図面を参照して説明する。
【００４２】
次に、図２および図３のフローチャートを参照して、かかる構成のパーソナルコンピュータ１１が実行する処理のうちの、上述した、部分構造抽出処理の一例について説明する。
【００４３】
ステップＳ１１において、データ処理部２１は、入力部４１から供給される操作信号に基づいて、ユーザにより部分構造抽出機能を実現する為のプログラムであるメインプログラムの起動が指示されたか否かを判定する。
【００４４】
ステップＳ１１において、メインプログラムの起動が指示されていないと判定された場合、ステップＳ１１に戻り、判定処理が繰り返される。その後、ステップＳ１１において、メインプログラムの起動が指示されたと判定された場合、ステップＳ１２において、加工部３１は、例えば、グラフを描画する為の画面であるグラフ描画部を、表示部４２に表示する。
【００４５】
ここで、グラフ描画部に描画されるグラフは、複数のノードと、それらのノードの結びつきを示すエッジとの関係を表わすネットワークを画像化したものとなる。つまり、グラフ描画部は、ネットワークに対応するグラフを描画する画面である。
【００４６】
ステップＳ１３において、データ処理部２１は、入力部４１から供給される操作信号に基づいて、グラフの手入力が選択されたか否かを判定する。
【００４７】
ステップＳ１３において、グラフの手入力が選択されたと判定された場合、ユーザによってグラフが手入力されるので、ステップＳ１４において、加工部３１は、入力部４１を介してユーザによるグラフの描画を受け付け、その受け付けた入力に対応するグラフが描画されたグラフ描画部を、表示部４２に表示する。加工部３１は、ユーザによるグラフの描画が終了まで、グラフの描画を受け付け、その後、ユーザによるグラフの描画が終了すると、処理は、ステップＳ１８に進む。
【００４８】
一方、ステップＳ１３において、グラフの手入力が選択されていないと判定された場合、ステップＳ１５において、データ読み出し部２３は、データ処理部２１の制御に基づいて、データベース１２に格納されている予め用意されたグラフのデータであるグラフファイルを選択して読み出し、加工部３１に供給する。
【００４９】
なお、グラフファイルは、例えば、タンパク質ネットワーク、代謝ネットワーク、SNS等のネットワークに対応するグラフのデータである。また、グラフファイルは、データベース１２に格納せずに、他の方法により提供してもよい。要は、グラフファイルを加工部３１に提供さえできればよく、その提供方法には如何なる方法を用いてもよい。
【００５０】
ステップＳ１６において、データ解析部２２は、加工部３１に供給されたグラフファイルを解析し、その解析結果を加工部３１に供給する。
【００５１】
ステップＳ１７において、加工部３１は、データ解析部２２による解析結果に基づいて、その解析結果に応じたグラフが描画された、例えば、図４のグラフ描画部５１を、表示部４２に表示し、処理は、ステップＳ１８に進む。
【００５２】
図４において、グラフ描画部５１には、複数のノードと、それらのノードを結び付けるエッジからなるネットワークに対応するグラフが描画される。なお、図４においては、四角がノードを示し、その四角を結んでいる線がエッジを示している。
【００５３】
すなわち、図４のグラフ描画部５１に描画されているグラフは、例えば、タンパク質ネットワーク等のネットワークに対応するグラフであり、ユーザは、そのグラフを解析することで、ネットワークの傾向や特徴の分析を行う。
【００５４】
図２のフローチャートに戻り、ステップＳ１８において、データ処理部２１は、入力部４１から供給される操作信号に基づいて、抽出する部分構造を指定する為のプログラムである部分構造抽出プログラムの起動が指示されたか否かを判定する。
【００５５】
ステップＳ１８において、部分構造抽出プログラムの起動が指示されていないと判定された場合、ステップＳ１８に戻り、判定処理が繰り返される。その後、ステップＳ１８において、部分構造抽出プログラムの起動が指示されたと判定された場合、ステップＳ１９において、加工部３１は、ユーザに対して部分構造を描画させる為の画面である、例えば、図５の部分構造描画部６１を、表示部４２に表示する。
【００５６】
図５において、部分構造描画部６１は、ユーザから受け付けた入力に応じた部分構造を表示するキャンパス６１Ａ、および、キャンパス６１Ａに表示された部分構造の抽出を実行させる為のボタン６１Ｂから構成される。また、カーソル６１Ｃは、ユーザの操作に応じて、部分構造描画部６１上を移動し、各種の動作を指示する。
【００５７】
図２のフローチャートに戻り、ステップＳ２０において、加工部３１は、入力部４１を介してユーザによる部分構造の描画を受け付け、その受け付けた入力に対応する部分構造が描画された部分構造描画部６１を、表示部４２に表示する。
【００５８】
ここで、図５乃至図１０を参照して、ユーザによる入力部４１（マウス）の操作に応じて部分構造描画部６１に描画される部分構造（モチーフ）の描画の流れの一例について説明する。
【００５９】
部分構造描画部６１において、図５に示すように、キャンパス６１Ａ上のカーソル６１Ｃを所定の位置に移動させた状態で、マウスがクリックされると、カーソル６１Ｃを移動させた位置に、図６に示すような、ノード１に対応するアイコン１が表示される。
【００６０】
続いて、部分構造描画部６１において、図７に示すように、キャンパス６１Ａ上のカーソル６１Ｃを、アイコン１の右方向に移動させた状態で、マウスがクリックされると、カーソル６１Ｃを移動させた位置に、ノード２に対応するアイコン２が表示される。そして、カーソル６１Ｃを、アイコン１からアイコン２へドラッグするマウス操作が行われると、部分構造描画部６１には、図８に示すように、アイコン１からアイコン２へのエッジ１−２が表示される（図中のアイコン１からアイコン２へ伸びる矢印）。
【００６１】
また、同様の操作を繰り返して、キャンパス６１Ａ上のカーソル６１Ｃを、アイコン２の左下方向に移動させた状態で、マウスがクリックされると、部分構造描画部６１には、図９に示すように、カーソル６１Ｃを移動させた位置に、ノード３に対応するアイコン３が表示される。そして、図９に示すように、部分構造描画部６１には、カーソル６１Ｃを、アイコン２からアイコン３へドラッグするマウス操作が行われると、アイコン２からアイコン３へのエッジ２−３が表示され（図中のアイコン２からアイコン３へ伸びる矢印）、アイコン３からアイコン１へドラッグするマウス操作が行われると、アイコン３からアイコン１へのエッジ３−１が表示される（図中のアイコン３からアイコン１へ伸びる矢印）。
【００６２】
その後、ユーザの操作によって、カーソル６１Ｃによりエッジ１−２が選択され、マウスが右クリックされると、部分構造描画部６１には、図１０に示すように、「set Edge As Positive」と「set Edge As Negative」の２つの項目が表示される。
【００６３】
ここで、この２つの項目について説明する。例えば、図１０において、ノード１とノード２に注目すると、上述した、ユーザの操作が行われることによって、これらのノードには、ノード１からノード２にリンク（エッジ：タンパク質間の接続）が張られており、さらに、そのエッジの属性として、ＰまたはＮを付与することができる。
【００６４】
すなわち、このＰとＮからなるエッジの属性であるが、「Ｐ」は「ノード１」が「ノード２」の機能をPositiveにする（促進する/強める/増やす）ように、「ノード１」が「ノード２」に接続されていることを意味している。以下、かかる接続を、「Ｐ接続」と称する。また、「Ｎ」は「ノード１」が「ノード２」の機能をNegativeにする（抑制する/弱める/減らす）ように、「ノード１」が「ノード２」に接続されていることを意味している。以下、かかる接続を、「Ｎ接続」と称する。
【００６５】
従って、図１０の「set Edge As Positive」または「set Edge As Negative」が選択されることで、エッジ１−２の接続が、「Ｐ接続」または「Ｎ接続」のいずれか一方に指定される。
【００６６】
同様にまた、図１０において、ノード２とノード３に注目すると、これらのエッジ２−３には、エッジの属性として、例えば、「Ｎ接続」が設定され、ノード３とノード１に注目すると、これらのエッジ３−１には、エッジの属性として、「Ｐ接続」が設定されている。
【００６７】
すなわち、図５乃至図１０を参照して説明した、上記の部分構造の描画の流れをまとめると、以下のようになる。
【００６８】
（1.）キャンパス６１Ａの任意の点をクリックすると、ノードを描画できる。
（2.）ノードを複数個描画した時点で、任意の１ノードをクリックした後、そのままドラッグし続け、別の任意のノード上で離すと、それらの２つのノードを結ぶエッジを描画できる。
（3.）（1.）と（2.）を所定の回数繰り返すことで、部分構造を描画できる。
【００６９】
以上のように、ユーザによる操作に応じて、各種のノードに対応するアイコン（シンボル画像）と、それらのノードを結ぶエッジに対応する連結線とが、部分構造描画部６１上に描画される。
【００７０】
なお、図５乃至図１０は、部分構造描画部６１の構成例を説明する為のものであり、上述した各部のレイアウトや画面のアスペクト比等は、図５乃至図１０に示される以外のものであってももちろんよい。また、上述した例では、ユーザにより操作される入力部４１として、マウスを使用した操作の例を説明したが、それに限らず、例えば、キーボードやタッチスクリーン等を用いた操作を行うことも勿論可能である。
【００７１】
さらにまた、説明を分かり易くする為に、部分構造を構成するノード数は、３つの場合について説明したが、部分構造を構成するノード数は、３つに限定されず、１、２、または４つ以上のノード数であってもよい。また、エッジと同様に、ノードにも属性を持たせて、部分構造描画部６１により、その属性を指定できるようにしてもよい。
【００７２】
図３のフローチャートに戻り、ステップＳ２１において、データ処理部２１は、入力部４１から供給される操作信号に基づいて、例えば部分構造描画部６１のボタン６１Ｂが押下され、ユーザにより部分構造の抽出が指示されたか否かを判定する。ステップＳ２１において、部分構造の抽出が指示されていないと判定された場合、ステップＳ２１に戻り、判定処理が繰り返される。
【００７３】
すなわち、ステップＳ２０およびステップＳ２１の処理が繰り返されことで、図５乃至図１０に示したように、部分構造（モチーフ）が部分構造描画部６１に描画される。
【００７４】
一方、ステップＳ２１において、部分構造の抽出が指示されたと判定された場合、データ解析部２２は、ステップＳ２２において、部分構造描画部６１に描画された部分構造のノード数またはエッジ数を計測し、ステップＳ２３において、計測されたノードまたはエッジの数だけ、グラフから任意のノードまたはエッジを選択する。
【００７５】
ステップＳ２４において、データ解析部２２は、部分構造描画部６１に描画された部分構造の任意のノードまたはエッジを選択し、グラフから選択されたノードまたはエッジのリンクの有無を評価する。
【００７６】
ステップＳ２５において、データ解析部２２は、部分構造描画部６１に描画された部分構造から選択されたノードまたはエッジと、グラフから選択されたノードまたはエッジとの組み合わせだけ判定し、それらが全て同じとなる場合、相似の部分構造であると判定する。
【００７７】
すなわち、ステップＳ２２乃至ステップＳ２５において、データ解析部２２によって、部分構造描画部６１に描画された部分構造に含まれるノード数がカウントされ、対象のネットワークから同じ数の任意のノードが選択され、描画された部分構造と同じようにノード間にエッジが張られているか否かが判定される。その解析の結果、ネットワークから、部分構造描画部６１に描画された部分構造と相似する（合致する）パターン（相似の部分構造）が抽出されることになる。
【００７８】
ステップＳ２６において、加工部３１は、データ解析部２２による解析の結果に基づいて、判定された相似の部分構造に含まれるノードまたはエッジがハイライト表示されるように、例えば、図１１のグラフ描画部５１を表示部４２に表示する。
【００７９】
図１１において、グラフ描画部５１は、グラフ描画領域５１Ａに、ネットワークに対応するグラフを描画する。このグラフにおいては、グラフの一部であって、部分構造描画部６１に描画された部分構造と相似の部分構造に含まれるノードまたはエッジが、ハイライト表示されている。
【００８０】
具体的には、例えば、図１１のグラフ描画領域５１Ａに描画されているグラフの一部を拡大した、図１２のグラフに示すように、相似の部分構造に含まれるノード（図中の黒い四角）は、他のノード（図中の白い四角）と異なり、ハイライト表示されている。また同様に、相似の部分構造に含まれるエッジ（図中の矢印）もハイライト表示される。
【００８１】
なお、図１２のグラフでは、相似の部分構造の表示を分かり易くするために、相似の部分構造に含まれないエッジの表現を省略している箇所があるが、実際には、相似の部分構造に含まれないノードもエッジで結ばれているものもある。
【００８２】
このように、ネットワークを構成する膨大な数のノードとエッジのうち、部分構造描画部６１に描画することで指定したノードとエッジだけがハイライト表示されるので、ユーザは、所望のノードとエッジを簡単に把握することができる。
【００８３】
なお、本実施の形態では、相似の部分構造（すなわち、部分構造と相似するパターン）に含まれるノードおよびエッジをハイライト表示することで、相似の部分構造に含まれない他のノードおよびエッジと区別したが、グラフの表示形態は特に限定されず、他の手法を用いて区別してもよい。具体的には、ハイライト表示の代わりに、相似の部分構造に含まれるノードおよびエッジの、例えば、色や大きさ、またはその形状等を変えてもよい。また、上述したように、エッジの属性には、Ｐ接続とＮ接続が存在するが、それらの接続毎に、例えば、Ｐ接続は緑色で表示し、Ｎ接続は赤色で表示する等、Ｐ接続とＮ接続を識別可能に表示してもよい。
【００８４】
要は、相似の部分構造に含まれるノードおよびエッジと、相似の部分構造に含まれないノードおよびエッジとを識別可能に表示できればよいのであって、その表示形態は任意である。
【００８５】
図３のフローチャートに戻り、ステップＳ２７において、加工部３１は、データ解析部２２による判定の結果に基づいて、判定された相似の部分構造に含まれるノードまたはエッジに関する情報をテキスト出力し、図２および図３の部分構造抽出処理は終了する。このテキストのデータは、例えば、抽出された３ノードの名称をカンマ区切りした情報として出力される。これにより、ユーザは、出力されたテキストのデータを利用して、さらに詳細なネットワークの解析を行うことができる。
【００８６】
なお、例えば、図１１のグラフ描画部５１において、テキスト領域５１Ｂには、判定された相似の部分構造に含まれるノードまたはエッジに関するテキストに関係する情報が表示される。また、加工部３１は、データ書き込み部２４を制御して、判定された相似に含まれるノードまたはエッジをテキスト出力する際、そのテキストのデータをデータベース１２に格納し、蓄積してもよい。
【００８７】
以上のように、ユーザにより指定された部分構造と相似の部分構造をネットワークから抽出し、その相似の部分構造に含まれるノードおよびエッジを識別可能に表示できる。その際に、ユーザはフリーハンドで所望の部分構造を描画できる。
【００８８】
これにより、ユーザが求める部分構造を、ユーザ自身が直接描画入力できるので、選択の手間を省くことができる。また、従来、プログラムやXML（Extensible Markup Language）文書により部分構造を指定していたものが、GUI（Graphical User Interface）で直感的に指定できるので、プログラムを書くことができないユーザであっても、直感的なインターフェースによって部分構造の抽出を行うことができる。
【００８９】
ところで、上述した、図２のステップＳ１８乃至図３のステップＳ２１の処理が実行されることで、部分構造描画部６１に描画される部分構造（モチーフ）であるが、図５乃至図１０に示した以外の方法で描画してもよい。そこで、次に、図１３乃至図１６を参照して、部分構造の指定方法の他のパターンについて説明する。なお、以下に説明する、図１３乃至図１６の部分構造描画部は、図２のステップＳ１９の処理において表示される、図５の部分構造描画部６１の代わりに表示される。
【００９０】
まず、図１３の部分構造描画部７１を参照して、ノード同士が相互にリンクしている部分構造の指定方法について説明する。なお、図１３において、キャンパス７１Ａ、ボタン７１Ｂ、およびカーソル７１Ｃは、図５のキャンパス６１Ａ、ボタン６１Ｂ、およびカーソル６１Ｃに相当し、その説明は繰り返しになるので適宜省略する。また、図１３において、実線または点線で囲まれた四角（シンボル画像）は、ノードを示し、それらのノードを結んでいる実線または点線（連結線）はエッジを示している。このような図形の意味は、後述する他の図でも同様である。
【００９１】
図１３において、部分構造描画部７１には、キャンパス７１Ａ乃至カーソル７１Ｃの他に、ノードの数を指定する為のテキストボックス７１Ｄ、各ノード間をエッジで結んで、ノード同士が相互にリンクされた完全なグラフを作成する為のボタン７１Ｅ、および、過去に作成した部分構造の履歴を表示する履歴領域７１Ｆが表示される。
【００９２】
ここで、図１３の部分構造描画部７１による、部分構造の描画の流れを以下に示す。
【００９３】
（1.）テキストボックス７１Ｄに、相互にリンクさせたいノードの数を入力すると、入力された数のノードを描画できる。
（2.）複数のノードが描画された時点で、ボタン７１Ｅが押下されると、キャンパス７１Ａに描画されているノードを相互に結ぶエッジを描画できる。
（3.）（1.）と（2.）により、相互にリンクされた部分構造を描画できる。
【００９４】
例えば、図１３の例では、テキストボックス７１Ｄに「5-10」が入力されているので、キャンパス７１Ａには、5個以上、10個以下となる9個のノードが表示され、それらのノードは、相互にエッジで結ばれている。なお、図１３の例では、「5-10」が指定されているので、6個目以降のノードは点線で示している。
【００９５】
そして、ユーザによって、ボタン７１Ｂが押下されると、図３のステップＳ２２以降の処理が実行され、キャンパス７１Ａに描画された部分構造（相互にリンクされたノードからなる部分構造）と類似の部分構造が抽出される。
【００９６】
以上のようにして、相互にリンクしているノードの部分構造が指定される。
【００９７】
次に、図１４の部分構造描画部８１を参照して、複数のノードにリンクしているノードの部分構造の指定方法について説明する。なお、図１４において、キャンパス８１Ａ、ボタン８１Ｂ、カーソル８１Ｃ、および履歴領域８１Ｆは、図５のキャンパス６１Ａ、ボタン６１Ｂ、およびカーソル６１Ｃ、並びに図１３の履歴領域７１Ｆに相当し、その説明は繰り返しになるので適宜省略する。
【００９８】
図１４において、部分構造描画部８１には、キャンパス８１Ａ、ボタン８１Ｂ、カーソル８１Ｃ、および履歴領域８１Ｆの他に、任意のリンク先のノード数を指定する為のテキストボックス８１Ｄ、および、テキストボックス８１Ｄに入力されたリンク先のノード数に応じた部分構造を作成する為のボタン８１Ｅが表示される。
【００９９】
ここで、図１４の部分構造描画部８１による、部分構造の描画の流れを以下に示す。
【０１００】
（1.）テキストボックス８１Ｄに、リンク先のノード数を入力すると、所定のノードがリンクしているノードの数を指定できる。
（2.）リンク先のノード数が指定された時点で、ボタン８１Ｅが押下されると、入力されたリンク先のノード数に応じた部分構造をキャンパス８１Ａに描画できる。
【０１０１】
例えば、図１４の例では、テキストボックス８１Ｄに「5-10」が入力されているので、5個から10個のノードにリンクしている所定のノードを示す部分構造が表示される。すなわち、図１４の「ワイルドカードノード 5-10」の文字が付された四角の図形は、5個から10個の任意のリンク先を表現している（いわゆるワイルドカードを表現している）。
【０１０２】
そして、ユーザによって、ボタン８１Ｂが押下されると、図３のステップＳ２２以降の処理が実行され、キャンパス８１Ａに描画された部分構造（複数のノードにリンクしているノードからなる部分構造）と類似の部分構造が抽出される。
【０１０３】
以上のようにして、複数のノードにリンクしているノードからなる部分構造が指定される。
【０１０４】
なお、図１４では、複数のノードにリンクしているノードについて説明したが、それとは逆に、複数のノードからリンクされているノードからなる部分構造も同様に指定できる。その場合、キャンパス８１Ａに描画される部分構造において、例えば、ノードを示している四角から伸びている矢印の向きを逆向きにして、「ワイルドカードノード 5-10」を示す四角から、ノードを示す四角に矢印を向けることで、5個から10個のノードにリンクされている所定のノードを示す部分構造とすることができる。
【０１０５】
次に、図１５の部分構造描画部９１を参照して、複数の部分構造の指定方法について説明する。なお、図１５において、キャンパス９１Ａ、ボタン９１Ｂ、カーソル９１Ｃ、および履歴領域９１Ｄは、図５のキャンパス６１Ａ、ボタン６１Ｂ、およびカーソル６１Ｃ、並びに図１３の履歴領域７１Ｆに相当し、その説明は繰り返しになるので適宜省略する。
【０１０６】
図１５において、部分構造描画部９１のキャンパス９１Ａには、ノード１、ノード２、およびノード３からなる第１の部分構造と、ノード３、ノード４、およびノード５からなる第２の部分構造が表示されている。この第１の部分構造および第２の部分構造の描画方法は、図５乃至図１０を参照して説明した方法と同様であるので、その説明は省略するが、図５乃至図１０で説明した方法を繰り返すことで、２つの部分構造がキャンパス９１Ａに描画される。
【０１０７】
ここで、図１５の部分構造描画部９１による、部分構造の描画の流れを以下に示す。
【０１０８】
（1.）１回目の図５乃至図１０の操作が行われると、図中左側の第１の部分構造を描画できる。
（2.）第１の部分構造が描画されている状態で、２回目の図５乃至図１０の操作が行われると、図中右側の第２の部分構造を描画できる。
【０１０９】
そして、ユーザによって、ボタン９１Ｂが押下されると、図３のステップＳ２２以降の処理が実行され、キャンパス９１Ａに描画された部分構造（複数の部分構造）と類似の部分構造が抽出される。
【０１１０】
以上のようにして、複数の部分構造が指定される。
【０１１１】
次に、図１６の部分構造描画部１０１を参照して、履歴領域から選択された部分構造を利用して作成された新たな部分構造の指定方法について説明する。なお、図１６において、キャンパス１０１Ａ、ボタン１０１Ｂ、カーソル１０１Ｃ、および履歴領域１０１Ｄは、図５のキャンパス６１Ａ、ボタン６１Ｂ、およびカーソル６１Ｃ、並びに図１３の履歴領域７１Ｆに相当し、その説明は繰り返しになるので適宜省略する。
【０１１２】
図１６において、部分構造描画部１０１のキャンパス１０１Ａには、履歴領域１０１Ｄのなかから選択された部分構造が表示されている。この履歴領域１０１Ｄを利用して表示した過去に作成した部分構造に対して、例えば、ノードの追加や削除、エッジの属性の変更等、各種の変更を加えることで、新たな部分構造がキャンパス１０１Ａに描画される。
【０１１３】
ここで、図１６の部分構造描画部１０１による、部分構造の描画の流れを以下に示す。
【０１１４】
（1.）履歴領域１０１Ｄから所定の部分構造を選択すると、選択された過去に作成された部分構造を描画できる。
（2.）過去に作成された部分構造が描画されている状態で、その部分構造に対して編集作業を施すと、新たな部分構造を描画できる。
【０１１５】
そして、ユーザによって、ボタン１０１Ｂが押下されると、図３のステップＳ２２以降の処理が実行され、キャンパス１０１Ａに描画された部分構造（履歴領域１０１Ｄからの部分構造を利用して作成された新たな部分構造）と類似の部分構造が抽出される。
【０１１６】
以上のようにして、過去に作成された部分構造を利用して作成された新たな部分構造が指定される。
【０１１７】
このように、本発明によれば、ユーザは部分構造を自由に描画できる。また、この部分構造をGUIで直感的に描画できるので、簡単かつ迅速に、所望の部分構造を指定できる。
【０１１８】
なお、部分構造の指定は、上記のいずれか、あるいは他の方法を１つ選択するか、または複数組み合わせて指定するようにできる。
【０１１９】
また、本実施の形態では、主に、細胞ネットワークであるタンパク質ネットワークの解析について説明してきたが、タンパク質ネットワークに限らず、多種多様のノードが存在するネットワークの解析についても同様に本発明を適用することが可能である。
【０１２０】
さらにまた、本明細書において、複数のノードと、それらのノードの結びつきを示すエッジからなるネットワークに含まれるノードの接続関係の所定のパターンを意味する、「部分構造」と「モチーフ」は、同様の意味で用いられている。
【０１２１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、プログラム記録媒体からインストールされる。
【０１２２】
図１７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）２１１は、ROM（Read Only Memory）２１２、または記憶部２１８に記録されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）２１３には、CPU２１１が実行するプログラムやデータ等が適宜記憶される。これらのCPU２１１、ROM２１２、およびRAM２１３は、バス２１４により相互に接続されている。
【０１２３】
CPU２１１にはまた、バス２１４を介して入出力インターフェース２１５が接続されている。入出力インターフェース２１５には、マイクロホン等よりなる入力部２１６、ディスプレイ、スピーカ等よりなる出力部２１７が接続されている。CPU２１１は、入力部２１６から入力される指令に対応して各種の処理を実行する。そして、CPU２１１は、処理の結果を出力部２１７に出力する。
【０１２４】
入出力インターフェース２１５に接続されている記憶部２１８は、例えばハードディスクからなり、CPU２１１が実行するプログラムや各種のデータを記録する。通信部２１９は、インターネットやローカルエリアネットワーク等のネットワークを介して外部の装置と通信する。
【０１２５】
また、通信部２１９を介してプログラムを取得し、記憶部２１８に記録してもよい。
【０１２６】
入出力インターフェース２１５に接続されているドライブ２２０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等のリムーバブルメディア２２１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータ等を取得する。取得されたプログラムやデータは、必要に応じて記憶部２１８に転送され、記録される。
【０１２７】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図１７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリ等よりなるパッケージメディアであるリムーバブルメディア２２１、または、プログラムが一時的もしくは永続的に格納されるROM２１２や、記憶部２１８を構成するハードディスク等により構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデム等のインターフェースである通信部２１９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１２８】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２９】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明が適用されるパーソナルコンピュータの機能的構成例を示す機能ブロック図である。
【図２】部分構造抽出処理を説明するフローチャートである。
【図３】部分構造抽出処理を説明するフローチャートである。
【図４】グラフ描画部の構成例を示す模式図である。
【図５】部分構造描画部の構成例を示す模式図である。
【図６】部分構造描画部の構成例を示す模式図である。
【図７】部分構造描画部の構成例を示す模式図である。
【図８】部分構造描画部の構成例を示す模式図である。
【図９】部分構造描画部の構成例を示す模式図である。
【図１０】部分構造描画部の構成例を示す模式図である。
【図１１】グラフ描画部の構成例を示す模式図である。
【図１２】グラフ描画部に描画されたグラフの一部の例を示す図である。
【図１３】部分構造描画部の構成例を示す模式図である。
【図１４】部分構造描画部の構成例を示す模式図である。
【図１５】部分構造描画部の構成例を示す模式図である。
【図１６】部分構造描画部の構成例を示す模式図である。
【図１７】本発明が適用される情報処理をソフトウェアで実行するコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１３１】
１１  パーソナルコンピュータ，  １２  データベース，  ２１  データ処理部，  ２２  データ解析部，  ２３  データ読み出し部，  ２４  データ書き込み部，  ２５  ＵＩ部，  ３１  加工部，  ３２  保持部，  ４１  入力部，  ４２  表示部，  ２１１  CPU，  ２１２  ROM，  ２１３  RAM，  ２１８  記憶部，  ２２１  リムーバブルメディア
【図１】
2008310668.tif 000003
【図２】
2008310668.tif 000004
【図３】
2008310668.tif 000005
【図４】
2008310668.tif 000006
【図５】
2008310668.tif 000007
【図６】
2008310668.tif 000008
【図７】
2008310668.tif 000009
【図８】
2008310668.tif 000010
【図９】
2008310668.tif 000011
【図１０】
2008310668.tif 000012
【図１１】
2008310668.tif 000013
【図１２】
2008310668.tif 000014
【図１３】
2008310668.tif 000015
【図１４】
2008310668.tif 000016
【図１５】
2008310668.tif 000017
【図１６】
2008310668.tif 000018
【図１７】
2008310668.tif 000019