(57)【要約】【課題】短時間かつ容易な作業でネットワークの解析をできるようにする。【解決手段】情報処理装置は、所定のネットワークにおけるリンク情報を読み出し（Ｓ１）、３ノード間でリンクがある組をモチーフとして抽出する（Ｓ２）。情報処理装置は、抽出されたモチーフのIDとして、そのモチーフに含まれる３ノードのそれぞれについての各エッジ属性を数値化したものを用いて、MotifIDを計算する（Ｓ３）。ここに、エッジ属性としては、第１のノードが第２のノードの機能をPositiveにする場合の「Ｐ」と、第１のノードが第２のノードの機能をNegativeにする場合の「Ｎ」とが採用される。本発明は、タンパク質ネットワークの解析装置に適用可能である。【選択図】図３
2008152731.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含むネットワークに関する情報処理を実行する情報処理装置において、
前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性が定義されており、
前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値を用いて、前記モチーフを特定する識別子を作成する識別子作成手段
を備える情報処理装置。
【請求項２】
前記識別子作成手段により作成された前記識別子に基づいて、前記ネットワークに含まれる１以上の前記モチーフのうちの少なくとも１つを解析対象として決定し、その解析対象についての所定の解析処理を実行する解析手段
をさらに備える請求項１に記載の情報処理装置。
【請求項３】
前記解析手段は、前記所定の解析処理として、前記識別子作成手段により作成された複数の前記識別子毎に、対応するモチーフの前記ネットワークにおける出現件数を計算する
請求項２に記載の情報処理装置。
【請求項４】
前記識別子作成手段により作成された複数の前記識別子毎に、前記出現件数と、対応するモチーフに関する情報とを提示する提示手段
をさらに備える請求項３に記載の情報処理装置。
【請求項５】
前記提示手段は、さらに、前記識別子作成手段により作成された所定の前記識別子に対応するモチーフに含まれる前記n個のノードのうちの、所定のノードに関する情報をさらに提示する
請求項４に記載の情報処理装置。
【請求項６】
前記解析手段は、さらに、前記識別子作成手段により作成された複数の前記識別子のうちから、所定のノードを含む１以上のモチーフのそれぞれに対応する１以上の識別子をそれぞれ検索し、
前記提示手段は、前記解析手段により検索された前記1以上の識別子のそれぞれに対応する前記1以上のモチーフのそれぞれに関する情報をさらに提示する
請求項４に記載の情報処理装置。
【請求項７】
複数のノードを含むネットワークに関する情報処理を実行する情報処理装置の情報処理方法において、
前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性が定義されており、
前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値を用いて、前記モチーフを特定する識別子を作成する
ステップを含む情報処理方法。
【請求項８】
複数のノードを含むネットワークに関する情報処理を制御するコンピュータに実行させるプログラムであって、
前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性が定義されており、
前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値を用いて、前記モチーフを特定する識別子を作成する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法並びにプログラムに関し、特に、短時間かつ容易な作業で、ネットワークの解析ができるようになった情報処理装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
近年、タンパク質の分子的な接続関係のネットワーク（以下、タンパク質ネットワークと称する）を解析する技術が研究／開発されている。例えば非特許文献１には、タンパク質ネットワークにおいて、タンパク質をノードとして、３つのノード間の接続関係のパターン（以下、モチーフと称する。なお、モチーフは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).
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、非特許文献１を含む従来の技術では、タンパク質ネットワークの解析を行うためには、ノードとすべきタンパク質の種類が多数存在することから、多大な時間と労力とが必要であった。
【０００４】
例えば、タンパク質ネットワークから、重要な部分構造を抽出することは、タンパク質の機能の因果関係を知るために重要なことであり、ひいては、癌研究における発癌過程の推測や治療ポイントの発見に寄与できるものとして重要なことである。さらに、抽出された重要な部分構造から、ノードの役割（他のノードに対する働きかけ）等を調査したり、かかる役割を果たすノードとして如何なるタンパク質の種類が存在するのかを調査することは重要なことである。
【０００５】
ところが、非特許文献１を含む従来の技術を利用して解析した場合には、モチーフの出現頻度を検出するだけでも多大な時間と労力とが必要であり、さらにその後、出現頻度が高いモチーフを重要構造であるとして抽出し、そのモチーフ内の各ノードの役割（他のノードに対する働きかけ）等を調査したり、かかる役割を果たすノードとして如何なるタンパク質の種類が存在するのかを調査するためには、莫大な時間と労力とが必要となる。
【０００６】
以上、タンパク質ネットワークの解析の問題として説明してきたが、タンパク質ネットワークに限らず、多数種類のノードが存在するネットワークの解析についても同様の問題が発生する。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、短時間かつ容易な作業で、ネットワークの解析をできるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の情報処理装置は、複数のノードを含むネットワークに関する情報処理を実行する情報処理装置であって、前記複数のノードのそれぞれには、接続され得る他のノードとの関係についての属性として、m種類（mは２以上の整数値）の属性のうちの所定の１つが付されており、前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値を用いて、前記モチーフを特定する識別子を作成する識別子作成手段を備える。
【０００９】
前記識別子作成手段により作成された前記識別子に基づいて、前記ネットワークに含まれる１以上の前記モチーフのうちの少なくとも１つを解析対象として決定し、その解析対象についての所定の解析処理を実行する解析手段をさらに備える。
【００１０】
前記解析手段は、前記所定の解析処理として、前記識別子作成手段により作成された複数の前記識別子毎に、対応するモチーフの前記ネットワークにおける出現件数を計算する。
【００１１】
前記識別子作成手段により作成された複数の前記識別子毎に、前記出現件数と、対応するモチーフに関する情報とを提示する提示手段をさらに備える。
【００１２】
前記提示手段は、さらに、前記識別子作成手段により作成された所定の前記識別子に対応するモチーフに含まれる前記n個のノードのうちの、所定のノードに関する情報をさらに提示する。
【００１３】
前記解析手段は、さらに、前記識別子作成手段により作成された複数の前記識別子のうちから、所定のノードを含む１以上のモチーフのそれぞれに対応する１以上の識別子をそれぞれ検索し、前記提示手段は、前記解析手段により検索された前記1以上の識別子のそれぞれに対応する前記1以上のモチーフのそれぞれに関する情報をさらに提示する。
【００１４】
本発明の一側面の情報処理方法およびプログラムは、上述した本発明の一側面の情報処理装置に対応する方法およびプログラムである。
【００１５】
本発明の一側面の情報処理装置および方法並びにプログラムにおいては、複数のノードを含むネットワークに関する情報処理として次のような処理が実行される。即ち、前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性が定義されており、前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性が数値化され、それらの各数値を用いて、前記モチーフを特定する識別子が作成される。
【発明の効果】
【００１６】
以上のごとく、本発明によれば、ネットワークの解析ができる。特に、短時間かつ容易な作業で、そのネットワークの解析ができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、明細書または図面における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１８】
さらに、この記載は、明細書または図面に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、明細書または図面に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００１９】
本発明の一側面の情報処理装置は、
複数のノードを含むネットワーク（例えばタンパク質をノードとするタンパク質ネットワーク）に関する情報処理を実行する情報処理装置（例えば図１の情報処理装置１１）において、
前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性（例えば後述するＰとＮ）が定義されており、
前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフ（例えば図８の３つの黒丸印をノードとして形成されるモチーフ等）において、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値（例えば後述するノードリンク数値v1_node_num，v2_node_num，v3_node_num。具体的には例えば図８の例では、各ノードの近傍に表示されている数値、即ち、16（=v1_node_num），36(=v2_node_num)，22(=v3_node_num)等）を用いて、前記モチーフを特定する識別子（例えば図５等のMotifID(unique)であって、具体的には例えば図８の例では、MotifID(unique)＝「１６２２３６」）を作成する識別子作成手段（例えば図１の加工部３１）
を備える。
【００２０】
前記識別子作成手段により作成された前記識別子に基づいて、前記ネットワークに含まれる１以上の前記モチーフのうちの少なくとも１つを解析対象として決定し、その解析対象についての所定の解析処理を実行する解析手段（例えば図１のデータ解析部２２）
をさらに備える。
【００２１】
前記解析手段は、前記所定の解析処理として、前記識別子作成手段により作成された複数の前記識別子毎に、対応するモチーフの前記ネットワークにおける出現件数を計算する（例えば図３のステップＳ５参照）。
【００２２】
前記識別子作成手段により作成された複数の前記識別子毎に、前記出現件数と、対応するモチーフに関する情報とを提示する提示手段（例えば、図８のように、出現件数を示す「該当Motif数：５４０５」や、対応するモチーフに関する情報の一例であるグラフパターンを含む画像を表示する図１の表示部４２）
をさらに備える。
【００２３】
前記提示手段は、さらに、前記識別子作成手段により作成された所定の識別子に対応するモチーフに含まれる前記n個のノードのうちの、所定のノードに関する情報（例えば図９のステップＳ４３や図１１のステップＳ５２でいう「該当ノードの位置にあるノード群」）をさらに提示する。
【００２４】
前記解析手段は、さらに、前記識別子作成手段により作成された複数の識別子のうちから、所定のノードを含む１以上のモチーフのそれぞれに対応する１以上の識別子をそれぞれ検索し、
前記提示手段は、前記解析手段により検索された前記1以上の識別子のそれぞれに対応する前記1以上のモチーフのそれぞれに関する情報をさらに提示する（例えば図１２、図１３参照）。
【００２５】
本発明の一側面の情報処理方法は、
複数のノードを含むネットワークに関する情報処理を実行する情報処理装置（例えば図１の情報処理装置１１）の情報処理方法であって、
前記複数のノードのそれぞれに付され得る属性として、接続され得る他のノードとの関係に応じてm種類（mは２以上の整数値）の属性が定義されており、
前記ネットワークから抽出された、n個（nは３以上の整数値）のノードの接続関係の所定のパターンとしてのモチーフにおいて、前記n個のノードのそれぞれについて、接続される他のノードとの関係毎に付された各属性を数値化し、それらの各数値を用いて、前記モチーフを特定する識別子を作成する
ステップ（例えば図３のステップＳ３）を含む。
【００２６】
本発明の一側面のプログラムは、上述した本発明の一側面の情報処理方法に対応するプログラムであって、例えば図１４の構成のコンピュータにより実行される。
【００２７】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２８】
図１は、本発明が適用される情報処理システムの機能的構成例を示している。
【００２９】
図１の例では、情報処理システムは、情報処理装置１１とデータベース１２とから構成されている。
【００３０】
情報処理装置１１は、複数のノードから構成されるタンパク質ネットワークから、１以上のモチーフを検出し、その検出結果をユーザに提示することができる。
【００３１】
ここに、タンパク質ネットワークのノードとは、タンパク質を意味する。ただし、後述するように（図１０の主要な仲介ノード参照）、同一モチーフにおける同一位置に存在するノードであっても、必ずしも一種類のタンパク質が唯一対応するわけではなく、複数種類のタンパク質が対応する場合がある。そこで、以下、特にタンパク質の種類に言及する場合を除き、タンパク質を、単にノードと称する。
【００３２】
データベース１２は、例えば図２のデータ構造に従って、各種データを保持することができる。即ち、図２は、図１の情報処理装置１１が利用するデータの主要データ構造の一例を示している。ここに、「情報処理装置１１が利用する」と記載した理由は、図２のデータ構造は、データベース１２のみならず、後述する情報処理装置１１内の保持部３２も併せたデータ構造となっているからである。即ち、図２のデータ構造の全構造が、データベース１２内に構築される必要は無く、適宜保持部３２内に構築されてもよい。
【００３３】
なお、図２における下線が引かれた文字列（グラフ、ノード、属性リスト等）を含む四角で示されるデータを、以下、その文字列を利用して「文字列データ」と称する。即ち、以下、「グラフデータ」、「ノードデータ」、「属性リストデータ」、「エッジ属性データ」、「属性値リストデータ」、および「モチーフデータ」と称して説明していく。
【００３４】
「ノードデータ」とは、所定のノードを特定するためのデータであり、「ノード名」、「属性名」、および、「属性値」を含んでいる。即ち、所定のノードは、その「ノードデータ」に含まれる、「ノード名」、「属性名」、および、「属性値」といったデータから特定可能である。「ノード名」とは、その所定のノードの名称を示すデータであって、例えばタンパク質の名称等を示すデータをいう。「属性名」とは、その所定のノードの属性の名称を示すデータ、例えばタンパク質の所定の特徴に基づく複数の属性（例えば大分子、中分子、小分子等）のうちの、そのノードが分類される属性の名称を示すデータをいう。「属性値」とは、「属性名」に対応する値を示すデータをいう。
【００３５】
「エッジ属性データ」とは、所定のノードに対して付与されたエッジ属性を示すデータをいう。
【００３６】
ここに、エッジ属性とは、次のような属性をいう。即ち、所定の第１のノードと所定の第２のノードとが接続するとき、第１のノードが第２のノードに対して何等かの働きかけをする場合があり、その働きかけの種類に応じて分類される属性を、本明細書では、エッジ属性と称している。具体的には、エッジ属性としては、次の第１の属性と第２の属性とが存在する。
【００３７】
第１の属性とは、第１のノードが、第２のノードの機能をPositiveにする（促進する／強める／増やす）働きかけをする場合の属性をいう。以下、かかる第１の属性の名称（属性名）を、Ｐと称する。
【００３８】
第２のエッジ属性とは、Ｐとは逆に、第１のノードが、第２のノードの機能をNegativeにする（抑制する／弱める／減らす）働きかけをする場合の属性をいう。以下、かかる第２の属性の名称（属性名）を、Ｎと称する。
【００３９】
また、これらのＰとＮには一意の値（属性値）が与えられる。例えば本実施の形態では、Ｐの属性値としては２が与えられ、Ｎの属性値としては１が与えられる。
【００４０】
以上まとめると、第１のノードと第２のノードとが接続する場合に、第１のノードから第２のノードに対して働きかけをするときに、その働きかけの種別（エッジ属性）を示すデータが、第１のノードについての「エッジ属性データ」である。この「エッジ属性データ」は、「属性名」と「属性値」とのデータから構成されている。
【００４１】
なお、同様に、第２のノードから第１のノードに対して働きかけをするときには、第２のノードについての「エッジ属性データ」が別途作られることになる。
【００４２】
さらに、タンパク質ネットワークにおけるタンパク質の種類は多数存在することから、複数種類のそれぞれのノード（タンパク質）について、対応する「ノードデータ」がそれぞれ存在する。また、所定種類のノード（１つの「ノードデータ」で特定されるノード）について、接続可能な別のノード（別の「ノードデータ」で特定されるノード）が複数存在する場合には、複数の別のノードのそれぞれに対して働きかけの種類（エッジ属性）が異なることから、複数の別のノードのそれぞれに対しての「エッジ属性データ」が存在することになる。
【００４３】
そこで、第１のノードと第２のノードとの接続の関係について、第１のノードに対してＰまたはＮのエッジ属性が付される場合には、即ち、第１のノードが第２のノードの機能をPositive/Negativeにする働きかけをする場合には、第１のノードから第２のノードにリンクが張られるとして、どのタンパク質からどのタンパク質にリンクが張られているのかを示すデータが、本実施の形態では図２の「グラフデータ」に格納されている。なお、無向／有効種別とは、後述する図８等に示されるように、２つのノード間のリンクも画面に表示されるが、そのリンクについては、有向のある矢印線で示してもよいし、無向の線で示してもよいが、何れの線を採用するのかについては予め定義しておかなければならず、かかる定義もデータとして格納されているという意味である。
【００４４】
また、上述したように、「ノードデータ」や「エッジ属性」は多数存在することから、リスト情報として、各「ノードデータ」の「属性名」と各「エッジ属性」の「属性値」との関係をリスト化した「属性リストデータ」や、各「ノードデータ」の「属性値」と各「エッジ属性データ」の「属性名」との関係をリスト化した「属性値リストデータ」も存在する。
【００４５】
なお、「モチーフデータ」については後述する。
【００４６】
このような図２のデータ構造に従って、各種データが、図１のデータベース１２に格納されたり、保持部３２に保持されることになる。各種データの具体例については、図３以降の図面を参照して後述する。
【００４７】
図１に戻り、情報処理装置１１は、次の第１の機能乃至第３の機能を有している。
【００４８】
第１の機能とは、所定のタンパク質ネットワークについて、１以上のモチーフを検出し、それらの１以上のモチーフに関する情報を生成する機能である。１以上のモチーフに関する情報は、特に限定されないが、例えば本実施の形態では、モチーフ毎の出現件数が採用されるとする。以下、第１の機能を、モチーフ計算機能と称する。また、モチーフ計算機能の発揮により実現される処理を、モチーフ計算処理と称する。なお、モチーフ計算機能の詳細については、図３乃至図６を参照して説明する。
【００４９】
第２の機能とは、モチーフ計算処理の結果をユーザに呈示する機能、例えば本実施の形態では、検出された各種モチーフやそれらの出現件数を画面表示の形態でユーザに提示する機能である。以下、第２の機能を、モチーフ表示機能と称する。また、モチーフ表示機能の発揮により実現される処理を、モチーフ表示処理と称する。なお、モチーフ表示機能の詳細については、図７と図８を参照して説明する。
【００５０】
第３の機能とは、ユーザの操作に応じて、各種モチーフについてのさらに詳細な情報をユーザに提示する機能、例えば本実施の形態では、画面表示の形態で提示する機能である。以下、第３の機能を、モチーフ詳細表示機能と称する。また、モチーフ詳細表示機能の発揮により実現される処理を、モチーフ詳細表示処理と称する。なお、モチーフ詳細表示機能の詳細については、図９乃至図１３を参照して説明する。
【００５１】
このようなモチーフ計算機能、モチーフ表示機能、および、モチーフ詳細表示機能を実現すべく、情報処理装置１１は、データ処理部２１乃至ＵＩ(User Interface)部２５を含むように構成されている。
【００５２】
順不同に説明すると、データ読み出し部２３は、データ処理部２１の制御に基づいて、データベース１２から各種データを読み出して、データ処理部２１の加工部３１に提供する。データ書き込み部２４は、データ制御部２１の制御に基づいて、加工部３１から提供された各種データをデータベース１２に書き込む。なお、データベース１２に対して読み出されたり書き込みされる各種データの具体例については、図３以降の図面を参照して後述する。
【００５３】
データ解析部２２は、データ処理部２１の制御に基づいて、各種データを解析し、その解析結果をデータ処理部２１に提供する。なお、解析対象の各種データの具体例については、図３以降の図面を参照して後述する。
【００５４】
データ処理部２１は、モチーフ計算機能、モチーフ表示機能、および、モチーフ詳細表示機能を実現すべく、上述したように、データ解析部２２乃至データ書き込み部２４を適宜制御して、各種データの処理を実行する。具体的には、各種データの加工等の処理は、加工部３１により実行され、加工部３１により加工等の処理が施されたデータや、加工部３１の各種処理に利用されるデータは、保持部３２に適宜保持される。なお、処理対象の各種データの具体例については、図３以降の図面を参照して後述する。
【００５５】
ＵＩ部２５は、その名称の如く、ユーザに対してユーザインタフェースを提供する。即ち、ＵＩ部２５は、ユーザとデータ処理部２１の加工部３１とのインタフェースとして機能する。具体的には、指令等の各種情報をユーザが入力するための入力部４１と、各種情報をユーザに画面表示の形態で提示する表示部４２とが、ＵＩ部２５に含まれる。なお、入力部４１により入力される情報や、表示部４２から表示される情報の具体例については、図３以降の図面を参照して説明する。
【００５６】
次に、モチーフ計算機能、モチーフ表示機能、および、モチーフ詳細表示機能の各詳細について、その順番で順次説明していく。
【００５７】
なお、モチーフ計算機能、モチーフ表示機能、または、モチーフ詳細表示機能を実現するために行われる処理のうちの、加工部３１がデータ解析部２２等を制御して実行する処理については、加工部３１自身が実行してもよいことは言うまでもない。逆に、加工部３１自身が実行する処理については、加工部３１がデータ解析部２２等を制御して実行してもよいことは言うまでもない。
【００５８】
はじめに、図３乃至図６を参照して、モチーフ計算機能の詳細について説明する。
【００５９】
図３は、モチーフ計算処理例を説明するフローチャートである。
【００６０】
ステップＳ１において、加工部３１は、データ読み出し部２３を制御して、データベース１２からリンク情報を読み出して、保持部３２に保持させる。
【００６１】
ここに、リンク情報とは、第１のノードと第２のノードのリンクの内容を示す情報であって、具体的には例えば、「第１のノード」，「第１のノードについての、第２のノードに関するエッジ属性」，「第２のノード」から構成される情報をいう。
【００６２】
「第１のノード」としては、図２の例でいえば、第１のノードについての「ノードデータ」の「ノード名」を採用できる。
【００６３】
「第１のノードについての、第２のノードに関するエッジ属性」としては、図２の例でいえば、第１のノードについての、第２のノードに関する「エッジ属性データ」のうちの「属性名」または「属性値」を採用できる。例えば本実施の形態では、後述するMotifIDの計算を容易なものとするために、「属性値」が採用されているとする。
【００６４】
「第２のノード」としては、図２の例でいえば、第２のノードについての「ノードデータ」の「ノード名」を採用できる。
【００６５】
即ち、加工部３１は、データベース１２に格納されている複数の「ノードデータ」のうちの所定の１つの「ノードデータ」を、第１のノードについての「ノードデータ」として、その「ノード名」を「第１のノード」として読み出すことができる。
【００６６】
この第１のノードからリンクが張られる第２のノードについては、図２の「グラフデータ」から特定可能である。そこで、加工部３１は、「グラフデータ」に基づいて、第２のノードを特定し、第２のノードについての「ノードデータ」の「ノード名」を「第２のノード」として読み出すことができる。また、加工部３１は、第１のノードについての、第２のノードに関する「エッジ属性データ」の「属性値」を、「第１のノードについての、第２のノードに関するエッジ属性」として読み出すことができる。
【００６７】
このようにして、１つのリンク情報が読み出されることになる。
【００６８】
ただし、第１のノードからリンクが張られている第２のノードは、上述したように、１種類のノードであるとは限らず、多数種類のノードとなる場合が多い。従って、第１のノードについてのリンク情報の個数は、リンクが張られている種類分の個数となる。
【００６９】
また、複数種類の各タンパク質のそれぞれが第１のノードとなり得るので、即ち、データベース１２に格納されている複数の「ノードデータ」のそれぞれが第１のノードとなり得るので、結局、複数の「ノードデータ」毎に、リンクが張られている別の種類のノードのそれぞれについてのリンク情報がそれぞれ読み出されることになる。
【００７０】
なお、各リンク情報の読み出しについては、「ノードデータ」や「エッジ属性データ」そのものを利用するのではなく、「属性リストデータ」や「属性値リストデータ」を利用するようにしてもよい。
【００７１】
また、各リンク情報自体を予め製作しておき、データベース１２に予め保持しておいてもよい。
【００７２】
いずれにしても各リンク情報が保持部３２に保持されると、処理は、ステップＳ１からＳ２に進む。
【００７３】
ステップＳ２において、加工部３１は、各リンク情報に基づいて、３ノード間でリンクがある組を抽出する。
【００７４】
ここに、３ノード間でリンクがある組とは、次のような組をいう。即ち、３つのノードを各頂点とする三角形を形成できる組であって、その三角形の三辺のそれぞれにおいて、２つの頂点（２ノード）のうちの少なくとも一方から他方にリンクが張られている組、即ち、２ノードのうちの少なくとも一方のノードが他方のノードの機能をPositive/Negativeにする働きかけをしている組をいう。
【００７５】
即ち、ステップＳ２で抽出された各組が、タンパク質ネットワークにおける３ノード間の各モチーフをそれぞれ示すことになる。
【００７６】
そこで、ステップＳ３において、加工部３１は、各モチーフのそれぞれについてのＩＤ（以下、MotifIDと称する）を計算する。
【００７７】
ここで、MotifIDの計算の具体例について説明する。ステップＳ３のMotifIDの計算の処理は、次のステップＳ３ａ乃至Ｓ３ｄの処理に大別される。
【００７８】
即ち、ステップＳ３ａにおいて、加工部３１は、そのモチーフを構成する３つのノードのそれぞれについて、接続される別の２つのノード毎に、in,outのそれぞれに付されたエッジ属性を数値化する。なお、in，outについては後述する。具体的には、加工部３１は、所定の１つのノートについて、接続される別の１つのノードとの関係において、in,out毎に、エッジ属性としてＮを有する場合には１とし、エッジ属性としてＰを有する場合には２とし、エッジ属性を有しない場合には０とするように、それぞれ３進数表現する。そして、加工部３１は、in,outの３進数表現をそれぞれin_num，out_numとして、（in_num*3+out_num）により演算される数値を作る。以下、かかる数値を、リンク数値と称する。
【００７９】
ここに、in,outとは、次のことをいう。即ち、モチーフを構成する３つのノードのうちの所定の２つのノードを、第１のノードと第２のノードとして、その間の接続に着目すると、第１のノードから第２のノードにリンクが張られるとともに、第２のノードから第１のノードにリンクが張られることもある。即ち、第１のノードが、第２のノードの機能をPositive/Negativeにする働きかけをするとともに、第２のノードが、第１のノードの機能をPositive/Negativeにする働きかけをすることもある。このことを、第１のノードの観点から説明すると、接続された第２のノードとの関係で、第２のノードに対して働きかけるとともに、第２のノードからの働きかけを受けることもある。このうちの、前者の働きかけることをoutといい、働きかけを受けることをinという。
【００８０】
なお、第１のノードと第２のノードとの間では、上述したように、必ずしも両方向にリンクが張られているわけではなく、何れか一方向にリンクが張られている場合もある。
【００８１】
してみると、第１のノードの観点からすると、接続された第２のノードとの関係で、inに対してＰ若しくはＮのエッジ属性が付与されるか、またはエッジ属性が付与されず、また、outに対してＰ若しくはＮのエッジ属性が付与されるか、またはエッジ属性が付与されない、と把握することができる。
【００８２】
以下、このように把握した場合の呼称として、「inに対して付与されたエッジ属性（Ｐ若しくはＮ）」，「in」，「outに対して付与されたエッジ属性（Ｐ若しくはＮ）」，「out」を連続して並べた文字列を採用する。
【００８３】
具体的には例えば、「Ｐ in Ｎ out」等と称する。即ち、「Ｐ in Ｎ out」とは、第１のノードから見て、自身の機能をPositiveにする働きかけを第２のノードから受け（自身の機能がPositiveとなり）、第２のノードの機能をNegativeにする働きかけをすることを意味する。
【００８４】
また、単に「Ｐ in」と称した場合には、第１のノードから見て、自身の機能をPositiveにする働きかけを第２のノードから受けるが（自身の機能がPositiveとなるが）、第２のノードに対しては何の働きもしない（第２のノードの機能をPositiveにもNegativeにもしない）ことを意味する。一方、単に「Ｎ out」と称した場合には、第１のノードから見て、第２のノードから何の働きかけも受けないが（自身の機能がPositiveにもNegativeにもならないが）、第２のノードの機能をNegativeにする働きをすることを意味する。
【００８５】
なお、第１のノードと第２のノードが接続されている場合に、第１のノードから見て「Ｐ in Ｎ out」であるときには、第２のノードから見ると「Ｎ in Ｐ out」となる。また、第１のノードから見て「Ｐ in」であるときには、第２のノードから見ると「Ｐ out」となり、第１のノードから見て「Ｎ out」であるときには、第２のノードから見ると「Ｎ in」となる。
【００８６】
このような「Ｐ in Ｎ out」、「Ｐ in」、「Ｎ out」等を数値化したものが、リンク数値である。
【００８７】
具体的には例えば、「Ｐ in Ｎ out」の場合のリンク数値は、in_num = ２(=Ｐ)であり、out_num = １(=Ｎ)であるので、２*３＋１＝７となる。また、「Ｐ in」の場合のリンク数値は、out_num=0として、２*３＋０＝６となる。一方、「Ｎ out」の場合のリンク数値は、in_num =0として、０*３＋１＝１となる。
【００８８】
なお、保持部３２等に図４に示されるようなテーブルを予め保持させておいて、「リンク数値」の項目の中から該当値を読み出す処理を、ステップＳ３ａの処理として採用してもよい。
【００８９】
ここで、モチーフを構成する３つのノードを頂点とする三角形を形成させた場合に、所定の１頂点（例えば後述する図８の例では、16という数値が付された右上方の黒丸印）の位置をv1と称し、そのv1の頂点に対して例えば左周りの順に、残りの２つの頂点のそれぞれの位置（例えば後述する図８の例では、36という数値が付された左上方の黒丸印の頂点と、22という数値が付された中央下方の黒丸印の頂点のそれぞれの位置）を、v2，v3のそれぞれと称するとする。
【００９０】
この場合、v1の位置に着目すると、v1のノードについてのリンク数値としては、v2のノードに対するリンク数値と、v3のノードに対するリンク数値との２つが存在する。
【００９１】
そこで、ステップＳ３ｂにおいて、加工部３１は、v1のノードについて、v2のノードに対するリンク数値と、v3のノードに対するリンク数値とのうちの、小さい方を１０の位とし、大きい方を１の位とした２桁の数値（以下、ノードリンク数値と称する）を作る。
【００９２】
具体的には例えば、v1のノードが、v2のノードとの関係で「Ｐ in Ｎ out」であり、v3のノードとの関係で「Ｎ out」であった場合には、上述したように、v1のノードについて、v2のノードに対するリンク数値は７となり、v3のノードに対するリンク数値は１となる。そこで、このような場合、ステップＳ３ｂの処理で、１７という２桁の数値が、v1のノードについてのノードリンク数値として作られるのである。
【００９３】
同様に、ステップＳ３ｂにおいて、加工部３１は、v2，v3の各ノードのそれぞれについて、各ノードリンク数値を作る。
【００９４】
次に、ステップＳ３ｃにおいて、加工部３１は、所定の順番、例えば本実施の形態ではv1，v2，v3の順番で、各ノードリンク数値を並べた数列をつくり、この数列をMotifID(original)とする。即ち、v1,v2,v3の各ノードリンク数値のそれぞれを、v1_node_num，v2_node_num，v3_node_numとそれぞれ記述するとした場合、（v1_node_num  v2_node_num  v3_node_num）からなる数列がMotifID(original)となる。
【００９５】
具体的には例えば、v1_node_num，v2_node_num，v3_node_numの各ノードリンク数値が、４８，４７，５８のそれぞれであったとすると、「４８４７５８」がMotifID(original)となる。
【００９６】
また、ステップＳ３ｄにおいて、加工部３１は、v1,v2,v3のノードの各ノードリンク数値を、値の小さい順に並べ変えた数列をつくり、この数列をMotifID(unique)とする。
【００９７】
具体的には例えば、上述した例では、v1_node_num，v2_node_num，v3_node_numの各ノードリンク数値が、４８，４７，５８のそれぞれであったので、「４７４８５８」がMotifID(unique)となる。
【００９８】
ここで、MotifID(original)は、３つのノードの位置関係を特定可能なIDであるのに対して、MotifID(unique)は３つのノードの位置関係とは無関係なIDとなっている。そこで、MotifID(unique)から、３つのノードの位置関係が把握できる情報、即ち、MotifID(unique)とMotifID(original)との対応関係を示す情報（以下、ノード位置関係情報と称する）があると便利である。そこで、本実施の形態では、加工部３１は、ステップＳ３ｄにおいてさらに、作成したMotifID(unique)について、ノード位置関係情報もあわせて作成するとする。
【００９９】
ノード位置関係情報の形態は、特に限定されないが、本実施の形態では例えば、MotifID(unique)を構成する６桁の数列のうち、上位２桁、中位２桁、および、下位２桁の数値はそれぞれ、v1_node_num，v2_node_num，v3_node_numのうちの何れに該当するのかを示す情報が、ノード位置関係情報として採用されている。
【０１００】
具体的には例えば、MotifID(unique)を構成する６桁の数列のうち、上位２桁、中位２桁、および、下位２桁のそれぞれを、１，２，３のそれぞれで示し、これらの（１，２，３）と（v1_node_num，v2_node_num，v3_node_num）との関係を示す情報が、ノード位置関係情報として採用されている。
【０１０１】
より具体的には例えば、上述した例では、v1_node_num，v2_node_num，v3_node_numの各ノードリンク数値が、４８，４７，５８のそれぞれであり、それ故、「４７４８５８」がMotifID(unique)となった。この場合には、上位２桁（＝１）は、v2_node_num（＝４７）であり、中位２桁（＝２）は、v1_node_num（＝４８）であり、下位２桁（＝３）は、v3_node_num（＝４７）である。そこで、（v1_node_num，v2_node_num，v3_node_num）＝（２，１，３）という情報が、ノード位置関係情報として作成されることになる。
【０１０２】
なお、以下、単にMotifIDと称している場合には、MotifID(unique)とMotifID(original)とを区別していない、または、両者を含んでいることを意味する。
【０１０３】
以上のステップＳ３ａ乃至Ｓ３ｄ、即ち、図３のステップＳ３の処理により、MotifIDが計算されると、処理はステップＳ４に進む。
【０１０４】
ステップＳ４において、加工部３１は、各モチーフ毎に、３ノード名、MotifID(unique)、およびノード位置関係情報を、所定のファイル（以下、Motifファイルと称する）に出力する。
【０１０５】
ここで、Motifファイルの格納場所は、データベース１２であってもよいし、保持部３２であってもよい。ただし、Motifファイルの格納場所がデータベース１２である場合には、加工部３１は、データ書き込み部２４を制御して、３ノード名、MotifID(unique)、およびノード位置関係情報を、Motifファイルに格納する。
【０１０６】
具体的には例えば、図５に示されるようなMotifファイルが、データベース１２または保持部３２に格納されることになる。
【０１０７】
図５のMotifファイルにおいて、所定の1行が、所定のモチーフに対応する。
【０１０８】
また、「３ノード名」の項目のうちの、「v1」の項目には、上述したv1の位置に存在するノードの名称が、「v2」の項目には、上述したv2の位置に存在するノードの名称が、「v3」の項目には、上述したv3の位置に存在するノードの名称が、それぞれ格納される。具体的には例えば、上述したステップＳ１の処理で読み出されたリンク情報のうちの、v1，v2，v3の各位置に存在する各ノードについての図２の「ノードデータ」の「ノード名」が格納されることになる。
【０１０９】
なお「MotifID(original)」の項目は、図５の例では理解を容易なものとするために設けられているが、上述したように、MotifID(unique)とノード位置関係情報とからMotifID(original)は再現可能であるので、Motifファイルにとって必須な項目ではない。
【０１１０】
また、「MotifID(unique)」，「ノード位置関係情報」のそれぞれの項目は、上述したステップＳ３dの処理で作成されたMotifID(unique)，ノード位置関係情報のそれぞれが格納される。例えば２行目のモチーフの項目には、上述した具体例のMotifID(unique)，ノード位置関係情報のそれぞれが格納されていることがわかる。
【０１１１】
図３に戻り、ステップＳ５において、加工部３１は、データ解析部２２を制御することでMotifID(unique)ごとの出現件数を計算し、その計算結果を所定のファイル（以下、MotifIDファイルと称する）に格納する。
【０１１２】
ここで、MotifIDファイルの格納場所は、データベース１２であってもよいし、保持部３２であってもよい。ただし、MotifIDファイルの格納場所がデータベース１２である場合には、加工部３１は、データ書き込み部２４を制御して、MotifID(unique)ごとの出現件数を、MotifIDファイルに格納する。
【０１１３】
具体的には例えば、図６に示されるようなMotifIDファイルが、データベース１２または保持部３２に格納されることになる。
【０１１４】
これにより、モチーフ計算処理が終了する。
【０１１５】
なお、このようにして生成されるMotifファイルやMotifIDファイルに格納される情報が、図２でいう「モチーフデータ」に該当することになる。
【０１１６】
以上、図３乃至図６を参照して、モチーフ計算機能の詳細について説明した。
【０１１７】
次に、図７と図８を参照して、モチーフ表示機能の詳細について説明する。
【０１１８】
図７は、モチーフ表示処理例を説明するフローチャートである。
【０１１９】
ステップＳ２１において、図１の加工部３１は、MotifIDファイル（図６参照）が存在するか否かを判定する。
【０１２０】
MotifIDファイルが存在する場合、ステップＳ２１の処理でＹＥＳであると判定されて、処理はステップＳ２２に進む。
【０１２１】
ステップＳ２２において、加工部３１は、MotifID(unique)ごとの出現件数をMotifIDファイルから読み出す。なお、MotifIDファイルがデータベース１２に格納されていた場合には、加工部３１は、データ読み出し部２３を制御して、MotifID(unique)ごとの出現件数をMotifIDファイルから読み出す。
【０１２２】
ステップＳ２３において、加工部３１は、MotifID(unique)ごとに、出現件数とグラフパターンを表示部４２に表示させる。
【０１２３】
なお、出現件数とグラフパターンの表示形態は、特に限定されないが、例えば本実施の形態では、図８に示される表示形態が採用されているとする。即ち、図８は、タンパク質ネットワークにおける３ノード間の各モチーフのうちの、MotifID(unique)が「１６２２３６」であるモチーフについての、出現件数とグラフパターンの表示例が示されている。
【０１２４】
図８の例では、「MotifID：１６２２３６」の右方の表示、即ち、「該当Motif数：５４０５」という表示が、出現件数の表示である。かかる表示から、MotifID(unique)が「１６２２３６」であるモチーフの出現件数は５４０５であることがわかる。
【０１２５】
また、図８の例では、出現件数の表示の下方に、MotifID(unique)が「１６２２３６」であるモチーフのグラフパターンが表示されている。
【０１２６】
このグラフパターンは、３つのノードが黒丸印で示され、２ノード間におけるリンクが実線または点線で示されている。
【０１２７】
ここで、実線の２端のうちの、矢印が付された端を先端と称し、他方の端（何も付されていない端）を元端と称するとすると、実線は、元端の第１のノードが、先端の第２のノードの機能をPositiveにする働きかけをする場合に張られるリンク（以下、Ｐリンクと称する）を示している。一方、点線の２端のうちの、垂直線が付された端を先端と称し、他方の端（何も付されていない端）を元端と称するとすると、点線は、元端の第１のノードが、先端の第２のノードの機能をNegativeにする働きかけをする場合に張られるリンク（以下、Ｎリンクと称する）を示している。
【０１２８】
また、３つのノード（黒丸印）のうちの、右上方のノードが上述したv1のノードを示しており、左上方のノードが上述したv2のノードを示しており、中央下方のノードが上述したv3のノードを示している。そして、３つのノードのそれぞれの近傍には、上述したステップＳ３ｂの処理で作られるノードリンク数値がそれぞれ表示されている。
【０１２９】
このようにグラフパターンを表示することで、そのモチーフを構成する３つのノードにおける各リンクの状況を容易に認識すること、即ち、３ノード（タンパク質）間の機能のPositive/Negativeの関係を容易に認識することができるようになる。
【０１３０】
図７に戻り、ステップＳ２１の処理でＮＯであると判定された場合、即ち、MotifIDファイルが存在しない場合、処理はステップＳ２４に進む。
【０１３１】
ステップＳ２４において加工部３１は、Motifファイル（図５参照）が存在するか否かを判定する。
【０１３２】
MotifIDファイルは存在しないが、Motifファイルは存在する場合、ステップＳ２４の処理でＹＥＳであると判定されて、処理はステップＳ２５に進む。
【０１３３】
ステップＳ２５において、加工部３１は、Motif情報をMotifファイルから読み出す。なお、Motifファイルがデータベース１２に格納されていた場合には、加工部３１は、データ読み出し部２３を制御して、Motif情報をMotifファイルから読み出す。ここに、Motif情報とは、モチーフ毎の、３ノード名、MotifID(unique)、およびノード位置関係情報をいう。即ち、図５の例では、モチーフ毎に、対応する行の情報がMotif情報として読み出されることになる。
【０１３４】
ステップＳ２６において、加工部３１は、データ解析部２２を制御することでMotifID(unique)ごとの出現件数を計算し、その計算結果をMotifIDファイルに格納する。即ち、ステップＳ２６の処理とは、図３のモチーフ計算処理のステップＳ５に対応する処理である。
【０１３５】
ステップＳ２６の処理が実行されると、即ち、MotifIDファイルとMotifファイルとが存在するようになると、処理はステップＳ２２に進み、それ以降の処理が実行される。
【０１３６】
また、MotifIDファイルもMotifファイルも存在しない場合、ステップＳ２４の処理でＮＯであると判定されて、処理はステップＳ２７に進む。
【０１３７】
ステップＳ２７において、加工部３１は、図３のモチーフ計算処理を実行する。かかるモチーフ計算処理が実行されると、即ち、MotifIDファイルとMotifファイルとが存在するようになると、処理はステップＳ２２に進み、それ以降の処理が実行される。
【０１３８】
以上、図７と図８を参照して、モチーフ表示機能の詳細について説明した。
【０１３９】
次に、図９乃至図１３を参照して、モチーフ詳細表示機能の詳細について説明する。
【０１４０】
図９は、モチーフ詳細表示処理例を説明するフローチャートである。
【０１４１】
ステップＳ４１において、図１の加工部３１は、上述した図７のモチーフ表示処理を実行する。
【０１４２】
これにより、MotifID(unique)ごとに、出現件数とグラフパターンが、例えば本実施の形態では図８に示されるような表示形態で表示部４２に表示される。
【０１４３】
この場合、上述したように、所定のMotifID(unique)を有するモチーフのグラフパターンにおいては、そのモチーフを構成する３つのノードとして、それぞれ黒丸印が表示される。
【０１４４】
即ち、この段階では、各ノードは、単なる黒丸印であり、いかなる種類のタンパク質で構成されているのかはわからない。そこで、図９の例のモチーフ詳細表示処理では、ユーザが指定した位置のノードとなり得るタンパク質の集合体を表示すべく、次のステップＳ４２とＳ４３の処理が実行される。なお、以下、所定のノードとなり得るタンパク質の集合体を、単に、ノード群と称する。即ち、ノード群を表示するとは、所定のノードとなり得る各タンパク質をそれぞれ特定可能な情報、例えば、それぞれの名称等を表示することを意味する。
【０１４５】
ステップＳ４２において、加工部３１は、ノードが指定されたか否かを判定する。
【０１４６】
ここで、ユーザのノードの指定手法は、特に限定されない。例えば本実施の形態では、入力部４１の少なくとも一部がマウスで構成されており、表示部４２に表示されたグラフパターンに含まれる３つのノード（黒丸印）のうちの、指定したいノードをマウスによりクリックすることで、当該ノードを指定する、という手法が採用されているとする。
【０１４７】
従って、所定のノードがマウスでクリックされるまでの間、ステップＳ４２の処理でＮＯであると判定されて、処理はステップＳ４２に再び戻され、ノードが指定されたか否かが再度判定される。
【０１４８】
そして、所定のノードがマウスでクリックされると、ステップＳ４２の処理でＹＥＳであると判定されて、処理はステップＳ４３に進む。
【０１４９】
ステップＳ４３において、加工部３１は、モチーフ中で該当ノードの位置にあるノード群を表示部４２に表示させる。即ち、ステップＳ４２の処理で指定されたノードとなり得る各タンパク質のそれぞれの名称等が、表示部４２に表示される。
【０１５０】
具体的には例えば、図３のモチーフ計算処理が実行されたところ、図１０に示される８つのMotifID(unique)が計算され、上述したステップＳ４１の処理で、これらの８つのMotifID(unique)のそれぞれについて、図１０に示されるグラフパターンおよび出現件数が、それぞれ１つのウィンドウ（図８参照）として、表示部４２に表示されたとする。
【０１５１】
なお、３つのノード（黒丸印）は、図１０の例では省略されているが、実際には表示部４２に表示される。また、３つのノードを示す位置は、図１０の例では、一番上（右上）がv1とされ、中央（左中央）がv2とされ、一番下（右下）がv3とされているが、v1乃至v3が左周りの順であれば、v1の位置自体は図１０の例に特に限定されない。さらにいえば、Motifファイルの定義等を適宜変更することで、３つの位置の表現形態として、左周りのv1乃至v3の形態を採用する必要も特に無い。さらにまた、出現件数は、図１０の例では、出現率（％）で表示されるとしているが、図８の例のように絶対個数で表示されてもよい。
【０１５２】
ここで、例えば、ユーザが、最も出現件数が多い（出現率が高い）モチーフ、即ち、MotifID(unique)が「２２２６６６」であるモチーフに着目し、v2の位置（図１０中丸印内の位置）にあるノード群を認識すべく、v2の位置のノード（図１０には図示せず。図８の黒丸印参照）をマウスでクリックしたとする。
【０１５３】
すると、ステップＳ４２においてＹＥＳであると判定され、ステップＳ４３の処理で、MotifID(unique)が「２２２６６６」であるモチーフ中で該当ノードの位置（図１０中丸印内の位置）にあるノード群として、図１０の「主要な仲介ノード」の項目にある情報、即ち、「JUN  SP1  TP53  SP3  Transcription Factor」が表示部４２に表示されるのである。
【０１５４】
このように、ユーザは、簡単な操作を行うだけで、タンパク質ネットワークにおける出現頻度が高い重要構造の中で、仲介の働きを有しているタンパク質（ノード）としては、「JUN  SP1  TP53  SP3  Transcription Factor」が存在する、ということを素早く認識できるようになる。
【０１５５】
即ち、従来より、出現頻度が高い重要構造の中で仲介の働きを有しているノード（タンパク質）は、重要な役割を果たすノードであるという理論自体はあった。しかしながら、従来、所定のタンパク質ネットワークの中から、かかる理論に適合する実際のタンパク質を発見するためには、多大な時間と労力とが必要であった。
【０１５６】
具体的には例えば、上述した非特許文献１の技術による解析を行っても、そもそも２ノード間のリンクとして、Positive／Negativeの概念すら導入されていないことから、図１０の左上のグラフパターンを有するモチーフを検出することすらできない。そこで、仮に、上述した非特許文献１の技術に対して、Positive／Negativeの概念を導入した技術を採用したとする。しかしながら、この場合であっても、図１０の８つのモチーフをそれぞれ検出し、そのうちの図１０中最左端のグラフパターンを有するモチーフ（本発明を利用するとMotifID(unique)として「２２２６６６」が付与されるモチーフ）が、出現頻度が高い重要構造であることを特定するまでには、多大な時間と労力とがかかる。してみると、そのモチーフの中から、仲介の働きを有しているノード群、即ち、v2の位置（図１０中丸印内の位置）にあるノード群を特定するためには、さらに莫大な時間と労力とがかかることになる。
【０１５７】
これに対して、本発明が適用されるモチーフ計算処理（図３）、モチーフ表示処理（図７）、およびモチーフ詳細表示処理（図９）を実行できる情報処理装置１１（図１）を利用することで、短時間かつ簡便な操作のみで、出現頻度が高い重要構造の中で、仲介の働きを有しているタンパク質（ノード）としては、「JUN  SP1  TP53  SP3  Transcription Factor」が存在することを認識できるようになる。
【０１５８】
ところで、ノード群を表示させる対象位置は、図１０の例では、マウスのクリックにより指定されたが、その指定手法は、特に図１０の例に限定されず、基本的にMotifID（unique）と、モチーフ内でのノードの位置（例えば本実施の形態では、v1,v2,v3のうちの何れかの位置）とを指定できる手法であれば足りる。
【０１５９】
従って、例えば、ユーザは、キーボード等で構成される入力部４１（図１）を用いて、MotifID(unique)と、モチーフ内でのノードの位置とを直接入力することで、ノード群を表示させる対象位置を指定することもできる。このような指定が行われる場合のモチーフ詳細表示処理の一例が図１１のフローチャートに示されている。即ち、図１１は、モチーフ詳細表示処理例であって、図９の例とは別の例を説明するフローチャートである。
【０１６０】
図１１のステップＳ５１において、図１の加工部３１は、MotifID(unique)とモチーフ内でのノードの位置の入力を受け付けたか否かを判定する。
【０１６１】
加工部３１は、かかる入力を受け付けるまでの間、ステップＳ５１の処理でＮＯであると判定して、処理をステップＳ５１に再び戻す、といったループ処理を繰り返し実行する。
【０１６２】
そして、かかる入力を受け付けると、加工部３１は、ステップＳ５１の処理でＹＥＳであると判定して、ステップＳ５２において、モチーフ中で該当ノードの位置にあるノード群を表示部４２に表示させる。
【０１６３】
さらに、タンパク質ネットワークにおいて、特定タンパク質（ノード）の特徴として、モチーフにおける役割／位置の中で一番多い役割／位置とは何であるのかを解析できるようになれば、ユーザにとって便宜である。そこで、かかる解析を高速かつ簡便にユーザができるように、図１の情報処理装置１１は、さらに、図１２に示されるようなモチーフ詳細表示処理を実行することも可能である。即ち、図１２は、モチーフ詳細表示処理例であって、図９や図１１の例とは別の例を説明するフローチャートである。
【０１６４】
ステップＳ６１において、図１の加工部３１は、ノード名の入力を受け付けたか否かを判定する。
【０１６５】
ここに、ノード名とは、ユーザが解析対象とする特定タンパク質（ノード）の名称、即ち、「ＳＰ１」や「ＴＰ５３」等をいう。即ち、ユーザは、キーボード等で構成される入力部４１（図１）を用いて、解析対象の特定タンパク質（ノード）の名称を直接入力することができる。
【０１６６】
加工部３１は、かかる入力を受け付けるまでの間、ステップＳ６１の処理でＮＯであると判定して、処理をステップＳ６１に再び戻す、といったループ処理を繰り返し実行する。
【０１６７】
そして、かかる入力を受け付けると、加工部３１は、ステップＳ６１の処理でＹＥＳであると判定して、ステップＳ６２において、全モチーフ中で該当ノード（ステップＳ６１の処理で受け付けられたノード名で特定されるノード）を含むモチーフを表示部４２に表示させる。
【０１６８】
即ち、ステップＳ６２において、加工部３１は、データ解析部２２を制御することで、Motifファイル等から、該当ノードを含む１以上のモチーフに対応する１以上のMotifID(unique)を検索し、それらの１以上のMotifID(unique)でそれぞれ特定される各モチーフを表示部４２に表示させる。
【０１６９】
なお、モチーフの表示形態は、特に限定されないが、例えば本実施の形態では、図１３に示される表示形態が採用されているとする。即ち、図１３は、タンパク質ネットワークにおける３ノード間の各モチーフのうちの、ユーザが指定した特定ノード（タンパク質）を含むモチーフの表示例が示されている。
【０１７０】
図１３の例では、ユーザが指定した特定ノード（タンパク質）を含むモチーフの総数（件数）を表示するウィンドウ１０１と、そのうちの１つのモチーフについてのMotifID(unique)とグラフパターンとを表示するウィンドウ１０２とが、表示部４２に表示される。
【０１７１】
ユーザは、ウィンドウ１０１を見ることで、自身が指定した特定ノード（タンパク質）を含むモチーフは、７件あることを容易に視認できる。そして、ユーザは、例えばこのウィンドウ１０１内の「表示」と記述されたソフトウエアボタンを押下することで、７つのモチーフのうちの所定の１つのモチーフについてのMotifID(unique)やグラフパターンをウィンドウ１０２に表示させることができる。さらに、ユーザは、例えばこのウィンドウ１０１内の「表示」と記述されたソフトウエアボタンを再度押下することで、７つのモチーフのうちの別の１つのモチーフについてのMotifID(unique)やグラフパターンをウィンドウ１０２に表示させることができる。また、表示の終了を指示したい場合には、ユーザは、例えばこのウィンドウ１０１内の「終了」と記述されたソフトウエアボタンを押下すればよい。
【０１７２】
ここで、図１３のウィンドウ１０２中の３つのノード（黒丸印）のうちの中央下方のノード（v3のノード）は、他のノードよりも大きな黒丸印であって、点滅するように表示されている。ユーザが指定した特定ノードを、他のノードと区別するためである。換言すると、ユーザが指定した特定ノードの表現形態は、他のノードと区別可能な表現形態であれば足り、図１３の例に特に限定されない。具体的には例えば、その他、ユーザが指定した特定ノードを、他のノードとは別の色で表示するようにしてもよい。
【０１７３】
以上説明したように、図１の情報処理装置１１は、モチーフ計算機能、モチーフ表示機能、および、モチーフ詳細表示機能を有している。従って、上述したように、かかる機能を、タンパク質ネットワークについて適用して実現することで、次のような効果を奏することが可能になる。
【０１７４】
タンパク質間の、機能のPositive／Negativeを考慮した因果関係を表現する部分構造（各種モチーフ）を簡単に抽出できる、という効果を奏することが可能になる。
【０１７５】
各タンパク質の機能をより詳細に知ることができる、という効果を奏することが可能になる。
【０１７６】
さらに、両者の効果から、例えば癌の原因となる機能（増殖／停滞）や治療のために必要な分子の働きを検出することができる、という効果を奏することも可能になる。
【０１７７】
さらにまた、以上の各種効果を得るために必要なユーザの作業は簡便であり、かつ、以上の各種効果を短時間で得ることができる、という効果を奏することが可能になる。
【０１７８】
以上、本発明を、タンパク質ネットワークにおける３ノード間のモチーフの検出／解析について適用する例について言及した。しかしながら、本発明の適用先は、上述した例に特に限定されない。例えば、本発明は、タンパク質ネットワーク以外の様々な種類のネットワークに対しても適用可能であるし、また、タンパク質ネットワークを含む様々な種類のネットワークにおけるn（nは、３以上の整数値）ノード間のモチーフの検出／解析に対しても適用可能である。
【０１７９】
例えば、ノードの属性としては、タンパク質ネットワークではＰとＮといった２つのエッジ属性が付与されていたが、ネットワークの種類によっては３以上の属性がノードに付与される場合がある。かかるネットワークにおける３ノード間の接続関係を示すモチーフのMotifIDとしては、例えば次のようなものを採用できる。換言すると、図３のステップＳ３のMotifIDの計算の処理として、例えば次のステップＳ３ａ−M乃至Ｓ３ｄ−Mの処理を採用することも可能である。
【０１８０】
即ち、例えば所定ノードにおいて、他のノードとの接続形態に応じて、m種類（mは２以上の整数値）の性質が存在するネットワークにおいては、かかるm種類の性質を、ノードの属性として採用できる。
【０１８１】
この場合、ステップＳ３ａ−Mにおいて、加工部３１は、モチーフを構成する３つのノードのそれぞれについて、接続された１つの別のノードとの関係において、in,out毎に、m種類の属性のうちの付された属性を、0,…,mとする(m+1)進数で数値化する。そして、加工部３１は、in,outの(m+1)進数表現をそれぞれin_num，out_numとして、｛in_num*(m+1)+out_num｝により演算される数値を、リンク数値として作る。
【０１８２】
その後のステップＳ３ｂ-M乃至Ｓ３ｄ―Mの処理としては、タンパク質ネットワークについての上述したステップＳ３ｂ乃至Ｓ３ｄと同様の処理を採用すればよい。
【０１８３】
また例えば、タンパク質ネットワークであっても、nノード間の接続関係のモチーフの検出／解析を行う場合には、MotifIDとして、例えば次のようなものを採用できる。換言すると、図３のステップＳ３のMotifIDの計算の処理として、例えば次のステップＳ３ａ−N乃至Ｓ３ｄ−Nの処理を採用することも可能である。
【０１８４】
即ち、この場合には、各ノードの位置としては、v1,v2, …,vnが存在することになるので、ステップＳ３ａ−NとＳ３ｂ―Nとにおいて、加工部３１は、v1,v2, …,vnの各ノードのそれぞれについて、各ノードリンク数値を作る。
【０１８５】
次に、ステップＳ３ｃ―Nにおいて、加工部３１は、所定の順番、例えば本実施の形態ではv1，v2，…,vnの順番で、各ノードリンク数値を並べた数列をつくり、この数列をMotifID(original)とする。即ち、v1,v2, …,vnの各ノードリンク数値のそれぞれを、v1_node_num，v2_node_num，…,vn_node_numとそれぞれ記述すると、（v1_node_num  v2_node_num   …  vn_node_num）からなる数列がMotifID(original)となる。
【０１８６】
また、ステップＳ３ｄ―Nにおいて、加工部３１は、v1,v2, …,vnのノードの各ノードリンク数値を、値の小さい順に並べ変えた数列をつくり、この数列をMotifID(unique)とする。
【０１８７】
さらにまた、m種類の属性を有するノードからなるネットワークについて、nノード間の接続関係のモチーフの検出／解析を行う場合には、MotifIDとして、例えば次のようなものを採用できる。換言すると、図３のステップＳ３のMotifIDの計算の処理として、次のステップＳ３ａ−NM乃至Ｓ３ｄ−NMの処理を採用できる。
【０１８８】
この場合には、ステップＳ３ａ−NM，Ｓ３b−NMの処理として、上述したステップＳ３ａ−M，Ｓ３b−Mの処理と、ステップＳ３ａ−N，Ｓ３b−Nの処理とを組み合わせた処理を採用すればよい。即ち、ステップＳ３ａ−NM，Ｓ３b−NMの処理により、v1,v2, …,vnの各ノードのそれぞれについて、in,outの属性が(m+1)進数表現されて、｛in*(m+1)+out｝により数値化されたものが、各々のリンク数値として作られる。
【０１８９】
その後は、ステップＳ３c−NM，Ｓ３d−NMの処理として、上述したステップＳ３c−N，Ｓ３ｄ−Nの処理と同様の処理が実行されて、MotifID(original)とMotifID(unique)とがそれぞれ生成される。
【０１９０】
このようにして生成されたMotifID(original)とMotifID(unique)とを採用することで、図３のステップＳ４，Ｓ５も同様に実行でき、また、図７のモチーフ表示処理、図９，図１１，図１２のモチーフ詳細表示処理等も同様に実行できるようになる。ただし、nノード間のモチーフについては、3ノードではなくnノードについての処理となる。
【０１９１】
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることができる。
【０１９２】
この場合、上述した図１の情報処理装置１１の少なくとも一部として、例えば、図１４に示されるパーソナルコンピュータを採用することができる。
【０１９３】
図１４において、CPU（Central Processing Unit）２０１は、ROM（Read Only Memory）２０２に記録されているプログラム、または記憶部２０８からRAM（Random Access Memory）２０３にロードされたプログラムに従って各種の処理を実行する。RAM２０３にはまた、CPU２０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１９４】
CPU２０１、ROM２０２、およびRAM２０３は、バス２０４を介して相互に接続されている。このバス２０４にはまた、入出力インタフェース２０５も接続されている。
【０１９５】
入出力インタフェース２０５には、キーボード、マウスなどよりなる入力部２０６、ディスプレイなどよりなる出力部２０７、ハードディスクなどより構成される記憶部２０８、および、モデム、ターミナルアダプタなどより構成される通信部２０９が接続されている。通信部２０９は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【０１９６】
入出力インタフェース２０５にはまた、必要に応じてドライブ２１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア２１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２０８にインストールされる。
【０１９７】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１９８】
このようなプログラムを含む記録媒体は、図１４に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア（パッケージメディア）２１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２０２や、記憶部２０８に含まれるハードディスクなどで構成される。
【０１９９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２００】
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。換言すると、例えば、図１の例の情報処理装置１１とデータベース１２とを併せて１つの装置であると捉えてもよい。
【図面の簡単な説明】
【０２０１】
【図１】本発明が適用される情報処理装置の機能的構成例を示す機能ブロック図である。
【図２】図１の情報処理装置が利用するデータの主要データ構造の一例を示す図である。
【図３】図１の情報処理装置が実行する処理のうちの、モチーフ計算処理の一例を説明するフローチャートである。
【図４】MotifIDの計算手法の一部を説明する図である。
【図５】Motifファイルの構造例を示す図である。
【図６】MotifIDファイルの構造例を示す図である。
【図７】図１の情報処理装置が実行する処理のうちの、モチーフ表示処理の一例を説明するフローチャートである。
【図８】図７のモチーフ表示処理の実行結果の一例を示す図である。
【図９】図１の情報処理装置が実行する処理のうちの、モチーフ詳細表示処理の一例を説明するフローチャートである。
【図１０】図９のモチーフ詳細表示処理の実行結果の一例を示す図である。
【図１１】図１の情報処理装置が実行する処理のうちの、モチーフ詳細表示処理の一例であって、図９とは別の例を説明するフローチャートである。
【図１２】図１の情報処理装置が実行する処理のうちの、モチーフ詳細表示処理の一例であって、図９や図１１とは別の例を説明するフローチャートである。
【図１３】図１２のモチーフ詳細表示処理の実行結果の一例を示す図である。
【図１４】本発明が適用される情報処理をソフトウエアで実行するコンピュータの構成例を示すブロック図である。
【符号の説明】
【０２０２】
１１  情報処理装置，  １２  データベース，  ２１  データ処理部，  ２２  データ解析部，  ２３  データ読み出し部，  ２４  データ書き込み部，  ２５  ＵＩ部，  ３１  加工部，  ３２  保持部，  ４１  入力部，  ４２  表示部，  ２０１  ＣＰＵ，  ２０２  ＲＯＭ，  ２０３  ＲＡＭ，  ２０８  記憶部，  ２１１  リムーバブルメディア
【図１】
2008152731.tif 000003
【図２】
2008152731.tif 000004
【図３】
2008152731.tif 000005
【図４】
2008152731.tif 000006
【図５】
2008152731.tif 000007
【図６】
2008152731.tif 000008
【図７】
2008152731.tif 000009
【図８】
2008152731.tif 000010
【図９】
2008152731.tif 000011
【図１０】
2008152731.tif 000012
【図１１】
2008152731.tif 000013
【図１２】
2008152731.tif 000014
【図１３】
2008152731.tif 000015
【図１４】
2008152731.tif 000016