(57)【特許請求の範囲】
【請求項１】
取得手段と抽出手段と特定手段と割付手段と生成手段とを備えて、公開運用される生体高分子データベースの検索に用いられるインデックスを生成するインデックス生成装置で実行されるインデックス生成方法であって、
上記取得手段が、上記生体高分子データベースから、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得し、
上記抽出手段が、上記取得手段の取得したテキスト情報から生体高分子名を抽出し、
上記特定手段が、上記抽出手段の抽出した生体高分子名をキーにして、生体高分子とそれが持つ機能情報及び／又は生物種情報との対応関係について記述するとともに、この記述にあたってこれらの機能情報及び／又は生物種情報を階層的に記述する機能定義辞書を参照することで、その抽出した生体高分子名の指す生体高分子が持つ階層的な機能情報及び／又は生物種情報を特定し、
上記割付手段が、上記抽出手段の抽出した生体高分子名に対して、上記特定手段の特定した階層的な機能情報及び／又は生物種情報を割り付け、
上記生成手段が、上記割付手段の割り付けた階層的な機能情報及び／又は生物種情報を分類することで、上記取得手段の取得した格納場所情報へと辿る階層的な構造を持つハイパーテキスト形式のインデックスを生成することを、
特徴とするインデックス生成方法。
【請求項２】
請求項１に記載のインデックス生成方法において、
上記抽出手段は、同一の生体高分子に係る異なる表記の生体高分子名と、その生体高分子についての統一的な表記となる生体高分子名との対応関係について記述する字句変換辞書を参照することで、その統一的な表記で記述される生体高分子名を抽出することを、
特徴とするインデックス生成方法。
【請求項３】
公開運用される生体高分子データベースの検索に用いられるインデックスを生成するインデックス生成装置であって、
上記生体高分子データベースから、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得する取得手段と、
上記取得手段の取得したテキスト情報から生体高分子名を抽出する抽出手段と、
上記抽出手段の抽出した生体高分子名をキーにして、生体高分子とそれが持つ機能情報及び／又は生物種情報との対応関係について記述するとともに、この記述にあたってこれらの機能情報及び／又は生物種情報を階層的に記述する機能定義辞書を参照することで、その抽出した生体高分子名の指す生体高分子が持つ階層的な機能情報及び／又は生物種情報を特定する特定手段と、
上記抽出手段の抽出した生体高分子名に対して、上記特定手段の特定した階層的な機能情報及び／又は生物種情報を割り付ける割付手段と、
上記割付手段の割り付けた階層的な機能情報及び／又は生物種情報を分類することで、上記取得手段の取得した格納場所情報へと辿る階層的な構造を持つハイパーテキスト形式のインデックスを生成する生成手段とを備えることを、
特徴とするインデックス生成装置。
【請求項４】
請求項３に記載のインデックス生成装置において、
上記抽出手段は、同一の生体高分子に係る異なる表記の生体高分子名と、その生体高分子についての統一的な表記となる生体高分子名との対応関係について記述する字句変換辞書を参照することで、その統一的な表記で記述される生体高分子名を抽出することを、
特徴とするインデックス生成装置。
【請求項５】
公開運用される生体高分子データベースの検索に用いられるインデックスを生成するインデックス生成装置の実現に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータを、
上記生体高分子データベースから、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得する取得手段と、
上記取得手段の取得したテキスト情報から生体高分子名を抽出する抽出手段と、
上記抽出手段の抽出した生体高分子名をキーにして、生体高分子とそれが持つ機能情報及び／又は生物種情報との対応関係について記述するとともに、この記述にあたってこれらの機能情報及び／又は生物種情報を階層的に記述する機能定義辞書を参照することで、その抽出した生体高分子名の指す生体高分子が持つ階層的な機能情報及び／又は生物種情報を特定する特定手段と、
上記抽出手段の抽出した生体高分子名に対して、上記特定手段の特定した階層的な機能情報及び／又は生物種情報を割り付ける割付手段と、
上記割付手段の割り付けた階層的な機能情報及び／又は生物種情報を分類することで、上記取得手段の取得した格納場所情報へと辿る階層的な構造を持つハイパーテキスト形式のインデックスを生成する生成手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
請求項５に記載のコンピュータ読み取り可能な記録媒体において、
上記抽出手段は、同一の生体高分子に係る異なる表記の生体高分子名と、その生体高分子についての統一的な表記となる生体高分子名との対応関係について記述する字句変換辞書を参照することで、その統一的な表記で記述される生体高分子名を抽出することを、
特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、公開運用される生体高分子データベースの検索に用いられるインデックスを生成するインデックス生成方法およびその装置と、そのインデックス生成装置の実現に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【０００２】
【従来の技術】
蛋白質は、工業化学、医学、薬学、化学、農学の分野で酵素や医薬品として利用されている生体高分子である。蛋白質に関する研究では、熱安定性を増加させてより高温度下の条件でも安定に機能する酵素の開発や、心筋梗塞、癌、糖尿病等の病気の原因を引き起こす蛋白質の研究が進められている。
【０００３】
このような研究を進める上で、対象とする蛋白質の立体構造を知ることは必要不可欠である。蛋白質の立体構造はＸ線結晶解析やＮＭＲ法（核磁気共鳴法）によって決定され、決定された立体構造は米国Brookhaven National Laboratoryが管理・運用するデータベースProtein Data Bank(ＰＤＢ）に登録され、世界中で利用されている。
【０００４】
ＰＤＢでは、各蛋白質の立体構造（蛋白質を構成する各元素の座標データ）に英数字４文字からなるＩＤコード（例えば、"3ADK"や"5P21"）を割り付け、そのＩＤコードに基づいて、蛋白質の立体構造を記述する図１９に示すようなファイルフォーマットを持つファイルを保存・管理している。ここで、この図は、ＩＤコード"2AID"の割り付けられた蛋白質の立体構造を示してある。
【０００５】
図２０に、ＰＤＢ（CD-ROM版）のファイルの管理方式を示す。この図では、ＩＤコード"2AID"の蛋白質がＰＤＢのどのディレクトリに保存されているかを示している。この図に示すように、ＰＤＢでは、ディレクト名DISTR の下に、ＩＤコードの中２文字（この場合、ＩＤコード"2AID"のAI）からなるディレクトリを作成し、その下に各ＩＤコードに対応するファイルを保存している。
【０００６】
このため、ＩＤコードが分かっている場合にはファイルの格納場所がすぐに分かるものの、蛋白質名とＩＤコードとの間に明確な命名規則が存在していないため、ＰＤＢの利用者には、どの蛋白質がどのＩＤコードで管理されているか分からないという問題があった。
【０００７】
そこで、ＰＤＢでは、データの探索を簡単にするため、ＰＤＢの全データのタイトル行またはコンパウンド行を抜き取ったインデックスファイル（COMPOUND.IDX）をユーザに提供している。ここで、タイトル行（図１９中のTITLE 部分）には、発表論文のタイトルなどが記載され、コンパウンド行（図１９中のCOMPND部分）には、その蛋白質の特徴などが記載されている。
【０００８】
【発明が解決しようとする課題】
しかしながら、立体構造を決定する際の条件や手法は異なるため、ＰＤＢには、同じ蛋白質に対して複数の立体構造が登録（例えば、リゾチームは100 件以上登録されている）されている。
【０００９】
また、ＰＤＢのデータは立体構造を決定した研究者が作成するが、蛋白質の名前の表記が研究者によって異なるため、インデックスファイルで使用されている蛋白質名が統一されていないのが現状である。
【００１０】
このため、蛋白質データベースからキーワード検索で蛋白質のデータを検索しても、入力したキーワードによって、検索結果が異なり、また、どの蛋白質が何件登録されているという情報も存在しないため、必要なデータをすべて網羅しているかユーザは把握できないという問題が生じている。
【００１１】
また、ＰＤＢのデータは蛋白質の機能別に分類されていないため、ユーザが研究している蛋白質と同じ機能を持つ蛋白質を探索したい場合は、ユーザ自身でＰＤＢのタイトル行を参考にしながら検索するしかなく、実質上全く対応できないのが現状である。
【００１２】
更に、ＰＤＢはインターネットで公開されているが、一件の座標データが数百キロバイトから数メガバイトのサイズになるため、インターネットで約１万件あるすべてのデータをダウンロードするには大きすぎる。このため、大半のユーザはＰＤＢのＣＤーＲＯＭ版( リリースNo.86 では3 枚組）のデータベースを取得し、個々の研究者が必要なデータをＣＤーＲＯＭからコピーして使用しているのが現状である。
【００１３】
本発明は、このような事情に鑑みてなされたものであって、公開運用される生体高分子データベースのデータを予め生体高分子の機能別に分類することによって、生体高分子の機能に基づく検索、類似な機能を持つ生体高分子を検索できるようにする。
【００１６】
【課題を解決するための手段】
この目的を達成するために、本発明のインデックス生成装置は、公開運用される生体高分子データベースの検索に用いられるインデックスを生成することを実現するために、（１）生体高分子データベースから、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得する取得手段と、（２）取得手段の取得したテキスト情報から生体高分子名を抽出する抽出手段と、（３）抽出手段の抽出した生体高分子名をキーにして、生体高分子とそれが持つ機能情報及び／又は生物種情報との対応関係について記述するとともに、この記述にあたってこれらの機能情報及び／又は生物種情報を階層的に記述する機能定義辞書を参照することで、その抽出した生体高分子名の指す生体高分子が持つ階層的な機能情報及び／又は生物種情報を特定する特定手段と、（４）抽出手段の抽出した生体高分子名に対して、特定手段の特定した階層的な機能情報及び／又は生物種情報を割り付ける割付手段と、（５）割付手段の割り付けた階層的な機能情報及び／又は生物種情報を分類することで、取得手段の取得した格納場所情報へと辿る階層的な構造を持つハイパーテキスト形式のインデックスを生成する生成手段とを備えるように構成する。
ここで、抽出手段は、同一の生体高分子に係る異なる表記の生体高分子名と、その生体高分子についての統一的な表記となる生体高分子名との対応関係について記述する字句変換辞書を参照することで、その統一的な表記で記述される生体高分子名を抽出するように処理することがある。
以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
次に、図１に従って、本発明の概要について説明する。
【００１７】
図中、１は生体高分子データベース、２は字句変換辞書、３は定義辞書、４は種類別インデックス、５は機能別インデックス、Ｐ１は第１の処理過程、Ｐ２は第２の処理過程、Ｐ３は第３の処理過程である。
【００１８】
この生体高分子データベース１は、生体高分子の持つ立体情報などの情報を管理する。字句変換辞書２は、出現パターンとそれの変換先となる変換パターンとの対応関係を管理する。定義辞書３は、存在する生体高分子名を管理するとともに、生体高分子名とその生体高分子が持つ機能情報や生物種情報との対応関係を階層的な記述形態に従いつつ管理する。
【００１９】
種類別インデックス４は、ハイパーテキスト形式で構成されて、規定の文字順に分類された生体高分子名を索引項目として、生体高分子データベース１の格納場所情報を管理する。機能別インデックス５は、ハイパーテキスト形式で構成されて、生体高分子の持つ機能情報や生物種情報を索引項目として、生体高分子データベース１の格納場所情報を管理する。
【００２０】
第１の処理過程Ｐ１では、生体高分子データベース１から、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得する。
【００２１】
第２の処理過程Ｐ２では、第１の処理過程Ｐ１で取得したテキスト情報から生体高分子名を抽出するとともに、それに対して、その生体高分子が持つ階層的な機能情報や生物種情報を割り付ける。
【００２２】
第３の処理過程Ｐ３では、第２の処理過程Ｐ２で割り付けた機能情報や生物種情報を分類することで、機能別インデックス５を生成する。
【００２５】
このように構成される本発明では、第１の処理過程Ｐ１で、生体高分子データベース１から、生体高分子名を記述するテキスト情報部分と、その生体高分子の情報の格納場所を示す情報とを取得すると、第２の処理過程Ｐ２で、字句変換辞書２を使って字句表記の違いを統一しつつ、定義辞書３に管理される生体高分子名に該当するものを特定することで、その取得されたテキスト情報から生体高分子名を抽出し、定義辞書３に管理される対応関係データに従って、その抽出した生体高分子名に対して、その生体高分子が持つ階層的な機能情報や生物種情報を割り付ける。
【００２６】
この割付結果を受けて、第３の処理過程Ｐ３で、その割り付けられた機能情報や生物種情報を分類することで、生体高分子データベース１の格納場所情報へと辿る機能別インデックス５を生成する。
さらに、第３の処理過程Ｐ３では、第２の処理過程Ｐ２で抽出された生体高分子名を規定の文字順に分類することで、生体高分子データベース１の格納場所情報へと辿るハイパーテキスト形式の種類別インデックス４を生成することがある。
【００２８】
このようにして、本発明によれば、現在どのような生体高分子の情報が生体高分子データベース１に登録されているのかを生体高分子の機能情報や生物種情報から辿れるインデックスを自動的に生成できるようになることから、生体高分子の機能情報や生物種情報に基づいて生体高分子データベース１を検索できるようになることで、公開運用される生体高分子データベース１に管理される最新のデータを有効かつ簡単に利用できるようになる。
【００２９】
そして、本発明によれば、表記の違いを考慮しながら生体高分子名を統一しつつインデックスを生成することから、同じ生体高分子を一箇所にまとめることができるようになるとともに、ユーザが入力したキーワードに依存せずに生体高分子名を網羅的に検索できるようになる。
そして、本発明によれば、現在どのような生体高分子の情報が生体高分子データベース１に登録されているのかを生体高分子の名前から辿れるインデックスを自動的に生成することも可能であり、このインデックスを生成するようにすれば、生体高分子の名前に基づいて生体高分子データベース１を検索できるようになることで、公開運用される生体高分子データベース１に管理される最新のデータを有効かつ簡単に利用できるようになる。
【００３０】
本発明に関連する技術として、このようにして生成される種類別インデックス４や機能別インデックス５をネットワークを介して接続される端末に掲示し、その掲示に応答して生体高分子データベース１の格納場所情報が選択されるときに、生体高分子データベース１から、その選択された格納場所情報の指す生体高分子情報を取得して端末に送信するという構成を採ることも可能である。
【００３１】
このように構成される本発明に関連する技術によれば、ネットワークを介して接続される端末が必要な生体高分子情報を簡単に入手できるようになることから、ユーザはＣＤーＲＯＭによる生体高分子データベース１の提供に依らずに、生体高分子データベース１を利用できるようになる。
【００３２】
【発明の実施の形態】
以下、ＰＤＰにより公開運用される蛋白質データベースへの適用を具体例として、本発明を詳細に説明する。
【００３３】
図２に、本発明を実現する計算機装置１０の一実施例を図示する。
【００３４】
この図に示すように、本発明を実現する計算機装置１０は、蛋白質データベース１１と、字句変換辞書１２と、機能定義辞書１３と、第１の作業ファイル１４と、第２の作業ファイル１５と、レコード抽出プログラム１６と、字句変換プログラム１７と、機能マッピングプログラム１８と、機能別分類プログラム１９と、インデックス生成プログラム２０と、機能別インデックス２１と、種類別インデックス２２とを備える。
【００３５】
ここで、レコード抽出プログラム１６や字句変換プログラム１７や機能マッピングプログラム１８や機能別分類プログラム１９やインデックス生成プログラム２０は、フロッピィディスクや回線などを介してインストールされることになる。
【００３６】
この蛋白質データベース１１は、ＰＤＢのリリースするＣＤーＲＯＭをハードディスクに展開することで構築されるものであって、図１９に示すようなファイルフォーマットを有して、各蛋白質の立体構造を管理する。
【００３７】
字句変換辞書１２は、テキスト中に出現するパターンをどのようなパターンに変換するのかを、
｛出現パターン定義部｝｛変換パターン定義部｝
の形式に従って管理する。
【００３８】
ＰＤＢのデータは生体高分子の立体構造を決定した研究者によって記述されるため、生体高分子名等の表記が統一されていないのが現状である。そこで、同じ生体高分子が異なる表記で記載されている場合は、この字句変換辞書１２を使って記載内容を統一する処理を行う。また、誤記や例外的な記述内容に対する修正処理も行う。
【００３９】
図３（ａ）に、字句変換辞書１２の管理する辞書データの一例を図示する。この図の例では、「C-AMP-DEPENDENT 」と「C-AMP DEPENDENT 」とを、共に「CAMP-DEPENDENT」に変換することを示している。なお、行頭が＃で始まる行はコメント行である。
【００４０】
機能定義辞書１３は、テキスト中に記述される蛋白質名（修飾記述されることがある）と、その蛋白質が持つ機能情報や生物種情報を、
｛蛋白質名定義部｝｛蛋白質機能定義部｝
の形式に従って管理する。
【００４１】
図３（ｂ）に、機能定義辞書１３の管理する辞書データの一例を図示する。機能定義辞書１３で定義する機能情報や生物種情報は階層的に定義することができ、図中の' ＠' が階層の区切りを表し、左から右に向かって階層が細分化され、階層の最下位層には修飾記述などのない蛋白質名の最終的な定義が記述される。また、同一蛋白質に対して複数の異なる機能を定義することができる。なお、行頭が＃で始まる行はコメント行である。
【００４２】
この図では、「HIV-1 PROTEASE」という蛋白質は、酵素(Enzymes) で、加水分解酵素(Hydrolases)で、アスパラギン酸に活性中心を持つ蛋白質分解酵素(AsparticProtease)で、最終的な蛋白質名が「HIV-1 PROTEASE」であるという辞書データ例を示してある。また、「HIV-1 PROTEASE」という蛋白質は、ウィルスの持つ蛋白質(Viral proteins)で、そのウィルスはＨＩＶで、最終的な蛋白質名が「HIV-1 PROTEASE」であるという辞書データ例を示してある。
【００４３】
図３（ｂ）には示していないが、機能定義辞書１３は、例えば、「STRUCTURE OF HIV-1 PROTEASE 」と修飾記述される場合にも、その最終的な蛋白質名が「HIV-1 PROTEASE」であるということを管理することで、「STRUCTURE OF HIV-1 PROTEASE 」というテキストから「HIV-1 PROTEASE」という蛋白質名を抽出できるようにする構成を採っている。
【００４４】
図４に、レコード抽出プログラム１６の実行する処理フローの一実施例、図５に、字句変換プログラム１７の実行する処理フローの一実施例、図６に、機能マッピングプログラム１８の実行する処理フローの一実施例、図７及び図８に、機能別分類プログラム１９の実行する処理フローの一実施例、図９に、インデックス生成プログラム２０の実行する処理フローの一実施例を図示する。次に、これらの処理フローに従って、本発明について詳細に説明する。
【００４５】
レコード抽出プログラム１６は、起動されると、図４の処理フローに示すように、先ず最初に、ステップ１で、蛋白質データベース１１に格納される全てのレコードに対して処理を終了したのか否かを判断して、全てのレコードに対して処理を終了したことを判断するときには、処理を終了し、全てのレコードに対して処理を終了していないことを判断するときには、ステップ２に進んで、未処理のレコードを１つ選択して読み込み、それが持つＩＤコードを抽出する。
【００４６】
続いて、ステップ３で、その読み込んだ選択レコードにタイトル行が記述されているのか否かを判断して、タイトル行が記述されていることを判断するときには、ステップ４に進んで、ステップ２で抽出したＩＤコードと、そのタイトル行の記述内容とを１行にまとめて第１の作業ファイル１４に格納する。
【００４７】
一方、ステップ３で、選択レコードにタイトル行が記述されていないことを判断するときには、ステップ５に進んで、ステップ２で抽出したＩＤコードと、選択レコードに記述されるコンパウンド行とを１行にまとめて第１の作業ファイル１４に格納する。
【００４８】
このようにして、レコード抽出プログラム１６は、蛋白質データベース１１から、レコードの内容を説明するタイトル行（タイトル行が存在しない場合はコンパウンド行）を抽出するとともに、レコードの格納場所を示すポインタとなるＩＤコードを抽出して、その抽出したタイトル行（コンパウンド行）の記述内容とＩＤコードとを１行にまとめて、図１０に示すように、第１の作業ファイル１４に格納していくように処理するのである。
【００４９】
字句変換プログラム１７は、レコード抽出プログラム１６の処理が終了することで起動されると、図５の処理フローに示すように、先ず最初に、ステップ１で、第１の作業ファイル１４に格納される全てのデータに対して処理を終了したのか否かを判断して、全てのデータに対して処理を終了したことを判断するときには、処理を終了し、全てのデータに対して処理を終了していないことを判断するときには、ステップ２に進んで、未処理のデータを１つ選択して、それが持つタイトル行（コンパウンド行）の記述内容を読み込む。
【００５０】
続いて、ステップ３で、その読み込んだ記述内容のデータに、字句変換辞書１２の出現パターン定義部に定義されたパターンが出現したのか否かを判断して、出現したことを判断するときには、ステップ４に進んで、字句変換辞書１２の変換パターン定義部に記述される変換パターンに従って、その出現パターンを変換し、続くステップ５で、その変換したデータを第１の作業ファイル１４に返却することで、第１の作業ファイル１４に格納されるデータを字句変換辞書１２の指定するパターンに書き換えてから、ステップ１に戻る。
【００５１】
一方、ステップ３で、読み込んだ記述内容のデータに字句変換辞書１２の出現パターン定義部に定義されたパターンが出現しないことを判断するときには、ステップ４／ステップ５の処理を行うことなく、ステップ１に戻る。
【００５２】
このようにして、字句変換プログラム１７は、レコード抽出プログラム１６により抽出されたタイトル行（コンパウンド行）に出現する字句変換辞書１２の出現パターン定義部に定義されたパターン（文字列）を、変換パターン定義部に定義されたパターン（文字列）に置き換えていくように処理する。
【００５３】
例えば、図１１に示すように、「CAMP DEPENDENT」という出現パターンを「CAMP-DEPENDENT」というパターンに置き換え、「C-AMP-DEPENDENT 」という出現パターンを「CAMP-DEPENDENT」というパターンに置き換えることで、表記を統一しているように処理するのである。
【００５４】
機能マッピングプログラム１８は、字句変換プログラム１７の処理が終了することで起動されると、図６の処理フローに示すように、先ず最初に、ステップ１で、第１の作業ファイル１４に格納される全てのデータに対して処理を終了したのか否かを判断して、全てのデータに対して処理を終了したことを判断するときには、処理を終了し、全てのデータに対して処理を終了していないことを判断するときには、ステップ２に進んで、未処理のデータを１つ選択して、それが持つタイトル行（コンパウンド行）の記述内容を読み込む。
【００５５】
続いて、ステップ３で、その読み込んだ記述内容のデータに、機能定義辞書１３の蛋白質名定義部に定義された文字列が出現したのか否かを判断して、出現したことを判断するときには、ステップ４に進んで、その出現位置に、機能定義辞書１３の蛋白質機能定義部に定義された文字列を埋め込み、続くステップ５で、その埋め込んだ文字列を持つデータを第１の作業ファイル１４に返却することで、第１の作業ファイル１４に格納されるデータに対して機能定義辞書１３の指定する機能情報や生物種情報を書き込んでから、ステップ１に戻る。
【００５６】
一方、ステップ３で、読み込んだ記述内容のデータに機能定義辞書１３の蛋白質名定義部に定義された文字列が出現しないことを判断するときには、ステップ４／ステップ５の処理を行うことなく、ステップ１に戻る。
【００５７】
このようにして、機能マッピングプログラム１８は、字句変換プログラム１７により字句の統一されたタイトル行（コンパウンド行）の記述内容を処理対象として、その記述内容に出現する機能定義辞書１３の蛋白質名定義部に定義された文字列を抽出することで、そのタイトル行（コンパウンド行）に記述される蛋白質名を修飾記述などのない形（機能定義辞書１３の定義する最下位層の蛋白質名の形）で抽出する。
【００５８】
そして、その文字列の出現位置に、蛋白質機能定義部に定義された機能情報や生物種情報の文字列を挿入していくことで、その抽出した蛋白質名に、その蛋白質が持つ機能情報や生物種情報の文字列を挿入していくように処理する。ここで、同一行に対して複数の蛋白質名定義部に定義された文字列がマッチする場合はそれぞれの行を別の行として出力していくように処理する。
【００５９】
例えば、図１２に示すように、第１の作業ファイル１４に格納される「STRUCTURE OF A1-PROTEIN 」というデータの持つ「A1-PROTEIN」を抽出することで、「A1-PROTEIN」という蛋白質名を抽出していくとともに、その出現位置に、「￥ＫＷ｛蛋白質名定義部の文字列｝｛蛋白質機能定義部の文字列｝」という形に従って、機能定義辞書１３の定義する「CLASS-A@TYPE-A1@A1-PROTEIN」という文字列を挿入していくことで、「A1-PROTEIN」という蛋白質名に、その蛋白質が持つ機能情報や生物種情報の文字列を挿入していくように処理するのである。
【００６０】
機能別分類プログラム１９は、機能マッピングプログラム１８の処理が終了することで起動されると、第１の作業ファイル１４に格納されるデータを処理対象として、図７及び図８の処理フローを実行することで、図１３に示すような機能別分類ツリーを生成する。
【００６１】
図１３に示す機能別分類ツリーは、機能マッピングプログラム１８により生成された図１２の下段に示すデータから生成されるものである。図中の中間ノードは、各機能階層（各生物種階層）に対応し、末端のリーフノードには蛋白質情報の格納場所を示すＩＤコードが結び付けられている。
【００６２】
すなわち、機能別分類プログラム１９は、機能マッピングプログラム１８の処理が終了することで起動されると、図７及び図８の処理フローに示すように、先ず最初に、ステップ１で、第１の作業ファイル１４に格納される全てのデータに対して処理を終了したのか否かを判断して、全てのデータに対して処理を終了したことを判断するときには、ステップ２に進んで、以下に説明する処理により作成した機能別分類ツリーを第２の作業ファイル１５に格納して、処理を終了する。
【００６３】
一方、ステップ１で、第１の作業ファイル１４に格納される全てのデータに対して処理を終了していないことを判断するときには、ステップ３に進んで、第１の作業ファイル１４に格納される未処理のデータ（蛋白質名と、その蛋白質が持つ機能情報や生物種情報と、その蛋白質の情報の格納場所を示すＩＤコードとを持つデータ）を１つ選択して、それを読み込む。続いて、ステップ４で、その読み込んだデータの持つ機能や生物種の階層的な定義情報を取り出し、続くステップ５で、その取り出した定義情報の持つ最上位層の文字列を抽出する。
【００６４】
続いて、ステップ６で、機能別分類ツリーの最上位階層ノードに、抽出した文字列と同一の文字列を持つノードがあるのか否かを判断して、同一文字列を持つノードがないことを判断するときには、ステップ７に進んで、機能別分類ツリーの最上位階層ノードに、抽出した文字列を持つ兄弟ノードを生成し、同一文字列を持つノードがあることを判断するときには、このステップ７の処理は行わない。
【００６５】
続いて、ステップ８で、取り出した定義情報の持つ最下位層の文字列まで処理を行ったのか否かを判断して、最下位層の文字列まで処理を行ったことを判断するときには、ステップ９に進んで、その取り出した定義情報に対応付けられるＩＤコード（ステップ３で読み込んだＩＤコード）をリーフノードに結び付けてから、ステップ１に戻る。
【００６６】
一方、ステップ８で、取り出した定義情報の持つ最下位層の文字列まで処理を行っていないことを判断するときには、ステップ１０（図８の処理フロー）に進んで、その定義情報の持つ未処理の中の最上位の層の文字列を抽出する。
【００６７】
続いて、ステップ１１で、その抽出した文字列の階層位置に対応付けられる機能別分類ツリーの階層ノードに、抽出した文字列と同一の文字列を持つノードがあるのか否かを判断して、同一文字列を持つノードがないことを判断するときには、ステップ１２に進んで、機能別分類ツリーの持つその階層ノードに、抽出した文字列を持つ兄弟ノードを生成し、同一文字列を持つノードがあることを判断するときには、このステップ１２の処理は行わない。
【００６８】
続いて、ステップ１３で、１つ前に処理したノード（１つ上の階層ノード）との間に、親子関係のリンクを張ってから、ステップ８に戻る。
【００６９】
このようにして、機能別分類プログラム１９は、機能マッピングプログラム１８により生成されたデータから、図１３に示すような機能別分類ツリーを生成して、それを第２の作業ファイル１５に格納するように処理する。
【００７０】
インデックス生成プログラム２０は、機能別分類プログラム１９の処理が終了されることで起動されると、図９の処理フローに示すように、先ず最初に、ステップ１で、機能別分類プログラム１９により作成された機能別分類ツリーの各階層ごとにページを作成し、その最下位ページには、同じ機能（生物種）を持つ蛋白質のＩＤコードとタイトル行の一覧を表示するＨＴＭＬドキュメントを作成することで、機能別インデックス２１を作成する。
【００７１】
続いて、ステップ２で、機能別分類プログラム１９により作成された機能別分類ツリーのリーフノードに格納される蛋白質名に基づいて、蛋白質の先頭文字ことにページを作成し、その最下位ページには、同じ蛋白質名を持つＩＤコードとタイトル行の一覧を表示するＨＴＭＬドキュメントを作成することで、種類別インデックス２２を作成する。
【００７２】
このようにして、インデックス生成プログラム２０は、図１４に示すようなデータ構造を持つ機能別インデックス２１を作成するとともに、図１５に示すようなデータ構造を持つ種類別インデックス２２を作成するのである。ここで、図１４に示す機能別インデックス２１は、機能別分類プログラム１９が図１３に示すー機能別分類ツリーの生成するときに作成されることになる。
【００７３】
図１６に、このようにして作成された機能別インデックス２１及び種類別インデックス２２を使って実現される蛋白質データベースの運用システムの一例を図示する。
【００７４】
この図に示す蛋白質データベース運用システムは、蛋白質データベース１１／機能別インデックス２１／種類別インデックス２２を備えるＷＥＢサーバ１００と、ネットワークを介してＷＥＢサーバ１００に接続されて、ＷＥＢブラウザ２０１と蛋白質立体構造表示プログラム２０２とを展開するクライアント端末２００とで構成されている。
【００７５】
ここで、この蛋白質立体構造表示プログラム２０２は、蛋白質の立体構造情報（蛋白質を構成する各元素の座標データで表される）から、その蛋白質の立体構造の三次元モデルを生成してディスプレイ画面に表示する処理を行う。
【００７６】
このように構成される図１６に示す蛋白質データベース運用システムでは、機能別インデックス２１や種類別インデックス２２をＷＥＢサーバ１００上で運用することによって、ユーザは蛋白質データベース１１に関する特別な知識がなくても、ＷＥＢブラウザ２０１を利用して、必要な蛋白質の機能階層や生物種階層をブラウジングすることによって、蛋白質の立体構造情報などのデータを入手することができる。
【００７７】
そして、ユーザは、蛋白質立体構造表示プログラム２０２を使って、この入手した立体構造情報から蛋白質の立体構造をディスプレイ画面に見れるようになる。
【００７８】
図１７に、機能別インデックス２１にアクセスし、機能別階層を辿りながら最終的にＨＩＶー１プロテアーゼの立体構造を蛋白質立体構造表示プログラム２０２で表示するまでの画面のハードコピーを図示する。また、図１８に、種類別インデックス２２にアクセスし、名前の階層を辿りながら最終的にＨＩＶー１プロテアーゼの立体構造に辿り着くまでの画面のハードコピーを図示する。
【００７９】
この機能別インデックス２１や種類別インデックス２２を用いると、ＩＤコードをマウスクリックすることでＰＤＢの座標データがダウンロードされるため、ＷＥＢブラウザ２０１のヘルパーアプリケーションとしてＧＺＩＰを登録し、解凍したデータを蛋白質立体構造表示プログラム２０２の生成ファイルとして扱うよう設定することによって、ＰＤＢから簡単に生体高分子の立体構造を表示するＷＥＢアプリケーションを構築することができる。
【００８０】
解凍したファイルは蛋白質立体構造表示プログラム２０２の生成ファイルとして設定されているため、マウスクリックするだけで立体構造を表示することができる。なお、図１７に示した機能別インデックス２１は、ＰＤＢのRelease No. 86(October, 1998) のＣＤーＲＯＭに登録されている全データを本発明に従って機能別に分類したものであり、図１８に示した種類別インデックス２２は、ＰＤＢのRelease No. 86(October, 1998) のＣＤーＲＯＭに登録されている全データを本発明に従って名前別に分類したものである。
【００８１】
以上に説明した実施例では説明しなかったが、字句変換プログラム１７は、字句変換辞書１２を使ってタイトル行（コンパウンド行）に出現するパターンの表記を統一していくいくときに、字句変換辞書１２の辞書データごとに参照回数をを計数して、参照されない辞書データを出力していく機能を有している。この機能により、システム設計者は、字句変換辞書１２に登録されている不適切な辞書データを発見できるようになる。
【００８２】
また、機能マッピングプログラム１８は、機能定義辞書１３を使って蛋白質データベース１１から抽出された蛋白質名に対して機能情報や生物種情報を割り付けていくときに、機能情報や生物種情報を割り付けることのできなかったＩＤコードを出力していく機能を有している。この機能により、システム設計者は、機能定義辞書１３に登録されている不適切な辞書データを発見できるようになるとともに、データ漏れがない形で、機能別インデックス２１や種類別インデックス２２を作成できるようになる。
【００８４】
図示実施例に従って本発明を説明したが、本発明はこれに限定されるものではない。例えば、実施例では、機能定義辞書１３が蛋白質の機能情報と生物種情報とに関する辞書データを一緒に管理する構成を採ることで、同一検索画面から、蛋白質の機能情報と生物種情報との双方から蛋白質を検索できるようにする構成を採ったが、機能定義辞書１３が蛋白質の機能情報のみを管理することで、蛋白質の機能情報のみから蛋白質を検索できるようにしたり、機能定義辞書１３が蛋白質の生物種情報のみを管理することで、蛋白質の生物種情報のみから蛋白質を検索できるようにする構成を採ってもよい。
【００８５】
また、実施例では、蛋白質データベース１１への適用を具体例にして本発明を説明したが、本発明は蛋白質以外の生体高分子の情報を管理する公開運用のデータベースに対しても、そのまま適用できる。
【００８６】
【発明の効果】
以上説明したように、本発明によれば、現在どのような生体高分子の情報が生体高分子データベースに登録されているのかを生体高分子の機能情報や生物種情報から辿れるインデックスを自動的に生成できるようになることから、ユーザは生体高分子データベースに関する特別な知識がなくても、生体高分子の機能情報や生物種情報に基づいて生体高分子データベースを検索できるようになることで、公開運用される生体高分子データベースに管理される最新のデータを有効かつ簡単に利用できるようになる。
【００８８】
そして、本発明によれば、表記の違いを考慮しながら生体高分子名を統一しつつインデックスを生成することから、同じ生体高分子を一箇所にまとめることができるようになるとともに、ユーザが入力したキーワードに依存せずに生体高分子名を網羅的に検索できるようになる。
【００８９】
そして、本発明によれば、このインデックスが自動生成されることから、ユーザは常に最新のデータを利用することができる。
【図面の簡単な説明】
【図１】  本発明の概要を説明する図である。
【図２】本発明の一実施例である。
【図３】辞書データ構造の一実施例である。
【図４】レコード抽出プログラムの処理フローである。
【図５】字句変換プログラムの処理フローである。
【図６】機能マッピングプログラムの処理フローである。
【図７】機能別分類プログラムの処理フローである。
【図８】機能別分類プログラムの処理フローである。
【図９】インデックス生成プログラムの処理フローである。
【図１０】対象行の抽出処理の説明図である。
【図１１】字句変換処理の説明図である。
【図１２】機能マッピング処理の説明図である。
【図１３】機能別分類ツリーの説明図である。
【図１４】機能別インデックスの説明図である。
【図１５】種類別インデックスの説明図である。
【図１６】  本発明により作成されたインデックスにより実現される蛋白質データベースの運用システムの説明図である。
【図１７】  本発明により実現される処理の説明図である。
【図１８】  本発明により実現される処理の説明図である。
【図１９】ＰＤＢのファイルフォーマットの説明図である。
【図２０】ＰＤＢのファイル管理方式の説明図である。
【符号の説明】
１    生体高分子データベース
２    字句変換辞書
３    定義辞書
４    種類別インデックス
５    機能別インデックス
Ｐ１  第１の処理過程
Ｐ２  第２の処理過程
Ｐ３  第３の処理過程
【図１】
0004433343.tif 000002
【図２】
0004433343.tif 000003
【図３】
0004433343.tif 000004
【図４】
0004433343.tif 000005
【図５】
0004433343.tif 000006
【図６】
0004433343.tif 000007
【図７】
0004433343.tif 000008
【図８】
0004433343.tif 000009
【図９】
0004433343.tif 000010
【図１０】
0004433343.tif 000011
【図１１】
0004433343.tif 000012
【図１２】
0004433343.tif 000013
【図１３】
0004433343.tif 000014
【図１４】
0004433343.tif 000015
【図１５】
0004433343.tif 000016
【図１６】
0004433343.tif 000017
【図１７】
0004433343.tif 000018
【図１８】
0004433343.tif 000019
【図１９】
0004433343.tif 000020
【図２０】
0004433343.tif 000021