(57)【要約】【課題】  注釈情報が混在しても生物情報を最適な符号長で圧縮できる生物情報のロスレス符号化装置を提供する。【解決手段】  原塩基配列ファイル（ａ）等の生物情報ファイルを読み込むと、注釈情報<ＡＮＮＯＴＡＴＩＯＮ>と、塩基の配列情報を、それぞれ注釈データ（ｂ）、配列データ本体（ｃ）として分離する。注釈データには、注釈情報間に挟まれていた塩基の数を所定のルールで記録し、後の復号時に統合を容易にする。分離された注釈データ、配列データ本体は、それぞれさらに圧縮されて圧縮ファイルが得られる。【選択図】  図２
2005087069.tif 000002
【特許請求の範囲】
【請求項１】
所定の範囲内で定義された文字の配列情報と前記配列情報の特定の範囲の情報を注釈する注釈情報で構成される生物情報ファイルに対して、
前記注釈情報と配列情報を分離して、注釈データ、配列データ本体とするとともに、前記生物情報ファイルを復元できるように、前記注釈データに前記配列データ本体へのリンク情報を追加するためのデータ分離手段と、
前記配列データ本体に記録された各文字に対して固定ビット長を割り当てることによりデータ圧縮を行って、中間配列データを得る固定長符号化手段と、
前記固定長で圧縮された中間配列データ、および前記注釈データそれぞれに対して、可変ビット長でデータ圧縮を行う可変長符号化手段と、
を有することを特徴とする生物情報のロスレス符号化装置。
【請求項２】
請求項１において、
前記可変長符号化手段は、前記注釈データまたは配列データ本体の各バイト配列単位にランレングス圧縮を行うとともに、各バイトデータの発生頻度順に短い長さのビットを割り当てることにより符号化を行うものであることを特徴とする生物情報のロスレス符号化装置。
【請求項３】
請求項１において、
前記配列データ本体は、ａ、ｇ、ｃ、ｔ（大文字も可）の４種類の文字から構成され、各文字が８ビットで記録された塩基配列データであり、前記固定長符号化手段は、前記各文字を２ビットの固定長で符号化を行うものであることを特徴とする生物情報のロスレス符号化装置。
【請求項４】
請求項１において、
前記配列データ本体は、Ｌ、Ａ、Ｓ、Ｇ、Ｖ、Ｅ、Ｋ、Ｉ、Ｔ、Ｄ、Ｒ、Ｐ、Ｎ、Ｆ、Ｑ、Ｙ、Ｍ、Ｈ、Ｃ、Ｗ（小文字も可）の２０種類の文字から構成され、各文字が８ビットで記録されたアミノ酸配列データであり、前記固定長符号化手段は、Ｌ、Ａ、Ｓ、Ｇ、Ｖ、Ｅ、Ｋ、Ｉ、Ｔ、Ｄ、Ｒ、Ｐ、Ｎ、Ｆ、Ｑの文字に対しては４ビットの固定長で符号化を行い、Ｙ、Ｍ、Ｈ、Ｃ、Ｗの文字に対しては８ビットの固定長で符号化を行うものであることを特徴とする生物情報のロスレス符号化装置。
【請求項５】
１バイト未満で１つの塩基もしくはアミノ酸が記録された配列データから、目的とする配列を検索する装置であって、
検索キーとする配列を入力する検索キー入力手段と、
前記入力された検索キーを１塩基もしくは１アミノ酸の記録単位ずつ移動させて、全体としてバイト単位になるように任意ビットを追加した、複数の検索パターンを作成する検索パターン作成手段と、
前記作成された検索パターンと、前記配列データを１バイト単位で比較していくことにより照合を行う照合手段と、
を有することを特徴とする生物情報の検索装置。
【請求項６】
所定の範囲内で定義された数値を含む文字情報と前記文字情報の特定の範囲の情報を注釈する注釈情報で構成される三次元情報ファイルに対して、
情報の区切りを示す空白文字符号を抽出し、ランレングス符号化を行い、前記三次元情報ファイル内の空白文字部分を所定のランレングス符号に変換するランレングス符号化手段と、
前記文字情報に含まれる数値を分離して数値データ本体とし、分離された他方を注釈データとして、前記三次元情報ファイルを復元できるように、前記注釈データに前記数値データ本体へのリンク情報を追加するためのデータ分離手段と、
前記数値データ本体、および前記注釈データそれぞれに対して、可変ビット長でデータ圧縮を行う可変長符号化手段と、
を有することを特徴とする三次元情報のロスレス符号化装置。
【請求項７】
請求項６において、
定型的に使用されるタグに対する辞書データをさらに有し、当該辞書データを利用して、前記文字情報に含まれる定型タグを、対応するビット列に変換する定型タグ符号化手段を更に有することを特徴とする三次元情報のロスレス符号化装置。
【請求項８】
請求項６において、
前記配列データ本体は、０、１、２、３、４、５、６、７、８、９および小数点符号と負符号で構成され、各構成要素が８ビットで記録された数値配列データであり、前記固定長符号化手段は、４ビットの固定長で符号化を行うものであることを特徴とする三次元情報のロスレス符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バイオインフォマティクス、ゲノム創薬、バイオ新素材開発など生物情報データベースの構築、検索を行う分野、コンピュータグラフィックスを用いたＣＧアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作、ＣＧを用いた高分子構造・挙動の可視化分野に関する。
【背景技術】
【０００２】
近年、ヒトゲノムプロジェクトなどバイオインフォマティクス（生物情報科学）の急速な進展に伴い、膨大な生物情報データベースが構築されつつある。特に、ＤＮＡ配列については、完成度が高まっており、現在急ピッチでプロテオーム情報の蓄積が進行している。このように蓄積される大容量のデータベースを活用し、医薬品開発や新規素材開発などに応用するためには、ネットワーク経由の円滑なデータベースの扱いが重要となる。すなわち、いかに効率良く圧縮し、効率良く検索するかが重要となる。
【０００３】
生物情報配列は、１文字のエラーでも致命的な欠陥につながるため、圧縮を行う場合、ＭＰＥＧなどのロッシー型圧縮やニアロスレス型圧縮は適用できず、ロスレス型圧縮に限定される。幸い、生物情報配列は、ＡＳＣＩＩテキスト形式であるため、テキストを対象とした汎用可逆圧縮ツール（ＺＩＰ、ＬＺＨ等）である程度の圧縮が可能であり、現在蓄積されているデータベースにおいてもＺＩＰ技術が適用されている。
【０００４】
このような生物情報の符号化については、他にもいくつかの技術が提案されている（例えば、特許文献１、特許文献２参照）。
【特許文献１】特開２００３−１８８７３５号公報
【特許文献２】特開２００３−１０１４８５号公報  また、生物情報の解析には、タンパク質立体構造等の３次元モデルの解析も必要となるが、このような３次元モデルを圧縮する手法についても提案されている（例えば、特許文献３参照）。
【特許文献３】特開平１０−３２０５８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のような汎用圧縮ツール（ユニバーサル圧縮方式）もしくは上記特許文献に示した技術では、生物情報の特徴を活かせないため、圧縮率に限界がある。例えば、ＤＮＡ配列は４文字で構成されるため、理論上は１文字あたり２ビットで符号化できるが、ＤＮＡの代表的な相同検索エンジンＦＡＳＴＡに用いられている記録形式であるＦＡＳＴＡ形式では、注釈情報を混在するため３ビット程度までしか圧縮できない。また、ＤＮＡには特有の繰り返しパターンがあり、これを活用すると２ビット未満に圧縮できる可能性がある。
【０００６】
そこで、本発明は、生物情報配列の特徴を活かし、注釈情報が混在しても生物情報を最適な符号長で圧縮できる生物情報のロスレス符号化装置、圧縮された生物情報配列を完全には復号しなくても、少ないメモリで検索可能な生物情報の検索装置、３次元モデルに対しても、ロスレス圧縮することが可能な三次元情報のロスレス符号化装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明では、生物情報のロスレス符号化装置を、所定の範囲内で定義された文字の配列情報と前記配列情報の特定の範囲の情報を注釈する注釈情報で構成される生物情報ファイルに対して、前記注釈情報と配列情報を分離して、注釈データ、配列データ本体とするとともに、前記生物情報ファイルを復元できるように、前記注釈データに前記配列データ本体へのリンク情報を追加するためのデータ分離手段と、前記配列データ本体に記録された各文字に対して固定ビット長を割り当てることによりデータ圧縮を行って、中間配列データを得る固定長符号化手段と、前記固定長で圧縮された中間配列データ、および前記注釈データそれぞれに対して、可変ビット長でデータ圧縮を行う可変長符号化手段を有する構成としたことを特徴とする。
【０００８】
また、本発明では、１バイト未満で１つの塩基もしくはアミノ酸が記録された検索用配列データから、目的とする配列を検索する生物情報の検索装置を、検索キーとする配列を入力する検索キー入力手段と、前記入力された検索キーを１塩基もしくは１アミノ酸の記録単位ずつ移動させて、全体としてバイト単位になるように任意ビットを追加した、複数の検索パターンを作成する検索パターン作成手段と、前記作成された検索パターンと、前記検索用配列データを１バイト単位で比較していくことにより照合を行う照合手段を有する構成としたことを特徴とする。
【０００９】
また、本発明では、三次元情報のロスレス符号化装置を、所定の範囲内で定義された数値を含む文字情報と前記文字情報の特定の範囲の情報を注釈する注釈情報で構成される三次元情報ファイルに対して、情報の区切りを示す空白文字符号を抽出し、ランレングス符号化を行い、前記三次元情報ファイル内の空白文字部分を所定のランレングス符号に変換するランレングス符号化手段と、前記文字情報に含まれる数値を分離して数値データ本体とし、分離された他方を注釈データとして、前記三次元情報ファイルを復元できるように、前記注釈データに前記数値データ本体へのリンク情報を追加するためのデータ分離手段と、前記数値データ本体、および前記注釈データそれぞれに対して、可変ビット長でデータ圧縮を行う可変長符号化手段を有する構成としたことを特徴とする。
【発明の効果】
【００１０】
本発明の生物情報のロスレス符号化装置によれば、注釈情報と配列情報が混在した生物情報ファイルについて、注釈情報と配列情報を分離して、それぞれ注釈データ、配列データ本体とするとともに、注釈データに、配列データ本体へのリンク情報を追加した後、それぞれを符号化するようにしたので、注釈情報が混在しても生物情報を最適な符号長で圧縮することが可能となるという効果を奏する。
【００１１】
本発明の生物情報の検索装置によれば、入力された検索キーを、１文字（１塩基もしくはアミノ酸）ずつ移動させて、全体としてバイト単位とした複数の検索パターンを作成し、この検索パターンを利用して配列データの検索を行うようにしたので、少ないメモリで検索可能となるという効果を奏する。
【００１２】
本発明の三次元情報のロスレス符号化装置によれば、注釈情報と数値情報が混在した三次元情報ファイルについて、情報の区切りを示す空白文字符号を抽出し、ランレングス符号化を行った後、注釈情報と数値情報を分離して、それぞれ注釈データ、数値データ本体とするとともに、注釈データに、数値データ本体へのリンク情報を追加した後、それぞれを符号化するようにしたので、３次元モデルに対しても、ロスレス圧縮することが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（生物情報のロスレス符号化装置）
図１は、本発明に係る生物情報のロスレス符号化装置の構成を示す機能ブロック図である。図１において、１はデータ分離手段、２は固定長符号化手段、３は可変長符号化手段である。データ分離手段１は、生物情報ファイルに記録されている注釈情報と配列情報を分離して注釈データと、配列データ本体を得る機能を有している。固定長符号化手段２は、データ分離手段１により分離された一方の配列データ本体を、各配列文字の別によらず各文字に固定ビット長を割り当てることにより符号化する機能を有している。可変長符号化手段３は、データ分離手段１により分離された一方の注釈データ、固定長符号化手段２により符号化された配列データ本体を、それぞれ可変長で符号化する機能を有している。
【００１４】
ここで、本発明で圧縮対象とする生物情報の構造について説明しておく。本実施形態では、生物情報として、塩基配列、アミノ酸配列を利用することができる。ここでは、まず、塩基配列について説明する。図２（ａ）は、代表的なデータ形式であるＦＡＳＴＡ形式で表現した原塩基配列ファイルを示す図である。図１において、ｔ、ｃ、ａ、ｇは、それぞれチミン、シトニン、アデニン、グアニンの４種類の塩基を示している。なお、ここでは、塩基を示す４文字以外の注釈情報は、<ANNOTATION>として省略して示してあるが、実際には、塩基配列を説明するための注釈情報が記されている。注釈情報を構成する文字、および各塩基は、ＡＳＣＩＩコードで記録されており、１文字の記録に８ビットを要している。
【００１５】
続いて、図１に示した装置の処理動作について説明する。まず、図２（ａ）に示したような原塩基配列ファイルを入力すると、まず、データ分離手段１が、原塩基配列ファイル内の注釈情報と配列情報を分離して、注釈データ、配列データ本体とする。具体的には、図２（ａ）に示したような原塩基配列ファイルを先頭から順に解読していき、データがｔ、ｃ、ａ、ｇのＡＳＣＩＩ文字データだけから構成されるテキスト形式である場合には、配列データ本体であると判断し、ｔ、ｃ、ａ、ｇ以外のＡＳＣＩＩ文字データを含むテキスト形式である場合には、注釈データであると判断して分離する。この際、配列データ本体として分離される塩基の数をカウントしておき、各注釈情報の後に、記録されていた塩基の数を記録する。例えば、図２（ａ）の例では、<ANNOTATION2>の後に６７の塩基が記録されていたので、注釈データ内に、６７の塩基を挿入すべき旨の情報を記録することになる。ただし、本実施形態では、注釈情報がＡＳＣＩＩコードで記録されており、０〜１２７の値は、文字情報として認識されることになる。そのため、文字情報として使用される最大値１２７に塩基数６７を加算して記録されることになる。このため、図２（ｂ）に示すように、<ANNOTATION2>の後には、「１９４」が記録されることになる。
【００１６】
１バイトで記録できる情報は、０〜２５５までであり、上述のように、０〜１２７は文字情報として使用されているので、１バイトで記録できる塩基数は、１２８までとなる。そのため、塩基数が１２９以上となった場合は、２バイトで記録することになる。例えば、図２（ａ）の例では、<ANNOTATION1>の後に１３６の塩基が記録されていたので、注釈データ内に、１３６の塩基を挿入すべき旨の情報を記録することになる。この場合、１３６を１２８と８に分け、１バイト目、２バイト目にそれぞれ１２７を加算して記録する。このため、図２（ｂ）に示すように、<ANNOTATION1>の後には、「２５５」「１３５」が記録されることになる。このように、注釈データに、挿入すべき塩基の数が記録されることにより、復号時に配列データ本体とのリンクをとることが可能となる。
【００１７】
配列データ本体は、原塩基配列ファイルから注釈情報を外して、塩基を連続して配列させたものとなる。そのため、図２（ａ）のように、１３６の塩基と６７の塩基が記録されていた場合は、図２（ｃ）に示すように、２０３の塩基が連続して記録されることになる。
【００１８】
続いて、固定長符号化手段２が、配列データ本体を固定長符号化し、中間配列データを得る。具体的には、８ビットで記録されている各塩基を２ビットに置き換えて符号化する。具体的には、図３に示した塩基変換テーブルを利用して、置き換えることになる。この結果、１塩基について８ビットで記録されていたものが、２ビットで記録されることになり、大幅にデータ量が削減される。
【００１９】
一方、可変長符号化手段３は、注釈データを可変長で符号化していく。ここで、可変長符号化手段３による処理概要を図４のフローチャートに示す。まず、読み込んだ注釈データをバイト単位でランレングス圧縮する（ステップＳ１）。次に、バイトデータの頻度テーブルを作成する（ステップＳ２）。具体的には、出現頻度の高いバイトデータの順に、少ないビット長のビット配列を対応させた頻度テーブルを作成することになる。作成された頻度テーブルは、後で利用するために保存される。次に、ランレングス圧縮したデータを、作成した頻度テーブルで変換する（ステップＳ３）。これにより、頻度が高いデータほど、小さい値になる。続いて、頻度テーブルで変換されたデータを可変長符号化する（ステップＳ４）。このステップＳ４における可変長符号化処理は、Golomb-Rice等の周知の手法を用いることができる。この結果、圧縮注釈データが得られることになる。
【００２０】
可変長符号化手段３は、注釈データの処理後、固定長符号化手段２より固定長符号化された中間配列データを可変長符号化する。この処理は、上記ステップＳ１〜ステップＳ４の処理と同一である。この結果、圧縮配列データが得られることになる。
【００２１】
以上の処理により、圧縮ファイル（圧縮注釈データ、圧縮配列データ、注釈頻度テーブル、配列頻度テーブル、塩基変換テーブルを含む）が得られることになる。この圧縮ファイルを所定の記憶装置に記憶させておくことにより、圧縮ファイルの流通が可能となる。例えば、これらを、インターネットに公開されたコンピュータの所定のディレクトリに保存しておけば、利用者は、データ量の小さいデータ量をダウンロードすれば良いため、データの取得を迅速に行うことが可能となる。
【００２２】
続いて、圧縮ファイルの復号処理について説明する。復号処理は、圧縮注釈データと注釈頻度テーブルから注釈データを復元し、圧縮配列データと配列頻度テーブルから中間配列データを復元し、中間配列データと塩基変換テーブルから配列データ本体を復元し、最後に、注釈データと配列データ本体を統合して元の生物情報ファイルを得ることになる。具体的には、まず、圧縮注釈データに対して、図４のフローチャートに示した処理と逆の処理を行い、注釈頻度テーブルを利用して注釈データを復元する。また、圧縮配列データに対しても、図４のフローチャートに示した処理と逆の処理を行い、配列頻度テーブルを利用して、中間配列データを復元する。中間配列データは、各塩基が２ビットで表現されているので、塩基変換テーブルを利用して各塩基８ビットに戻してやることにより、配列データ本体が復元される。次に、注釈データと配列データ本体の統合を行うが、これは、注釈データの注釈情報<ANNOTATION>を読み込み、その直後に記録されている挿入文字数分に対応する数の塩基を配列データ本体から読み込み、注釈情報の後に挿入していく。この処理を各注釈情報に対して行っていくことにより、生物情報ファイルが復元される。
【００２３】
（生物情報の検索装置）
次に、本発明に係る生物情報の検索装置について説明する。図５は、本発明に係る生物情報の検索装置の構成を示す機能ブロック図である。図５において、１１は検索キー入力手段、１２は検索パターン作成手段、１３は照合手段である。検索キー入力手段１は、検索の目的とする配列である検索キーを入力する機能を有している。検索パターン作成手段１２は、入力された検索キーを１文字ずつ移動させた複数の検索パターンを作成する機能を有している。照合手段１３は、作成された検索パターンと、中間配列データ内の配列との照合を行う機能を有している。
【００２４】
続いて、図５に示した検索装置の処理動作について説明する。中間配列データの構造を図６（ａ）に示す。上述のように、中間配列データにおいては、各塩基は２ビットで記録されている。図６では、１バイト（４塩基）単位で区切って示している。このような中間配列データを用いて、「ｔａｔａｇｃ」という配列を検索する場合を考えてみる。この場合、検索キー入力手段１１から「ｔａｔａｇｃ」という検索キーを入力すると、検索パターン作成手段１２は、図６（ｂ）に示すようなＡ「ｔａｔａｇｃ＊＊」、Ｂ「＊ｔａｔａｇｃ＊」、Ｃ「＊＊ｔａｔａｇｃ」、Ｄ「＊＊＊ｔａｔａｇｃ＊＊＊」という４通りの検索パターンを作成する。ここで、「＊」は２ビットの任意の配列である。この検索パターンは、整数バイトとなっており、ここでは、検索パターンＡ、Ｂ、Ｃは２バイト、検索パターンＤは３バイトである。次に、照合手段１３が、検索パターンの先頭から、バイト単位で検索する。例えば、まず、Ａパターンの先頭１バイトの「ｔａｔａ」を利用して、１バイト単位で、中間配列データとのマッチングを行い、一致する配列が存在したら、２バイト目の「ｇｃ＊＊」とのマッチングを行う。このようにすることにより、検索対象とする配列全てのマッチングをいきなり行う必要がなく、１バイト目が一致した場合のみ、２バイト目以降のマッチングを行えば良いことになり、検索時間が大幅に短縮される。Ａパターンで一致する配列が見つからなかった場合は、Ｂパターン、Ｃパターン、Ｄパターンという順に、全てのパターンで検索を試みる。
【００２５】
（アミノ酸配列の例）
上記生物情報のロスレス符号化装置および検索装置の例では、ＤＮＡ塩基配列を例にとって説明したが、アミノ酸配列でも同様である。ここでは、アミノ酸配列を圧縮、検索する場合について、上記ＤＮＡ塩基配列の場合と異なる点について説明する。アミノ酸配列の場合は、データ分離手段１による処理の後、固定長符号化手段２により８ビットで表現されている各アミノ酸を４ビットに変換する。ただし、アミノ酸は２０種類あるため、４ビットでは表現しきれないため、比較的出現頻度の低いもの５種については、８ビットで表現し、他の１５種について４ビットで表現することとしている。具体的には、図７に示したアミノ酸変換テーブルを利用して変換することになる。
【００２６】
次に、アミノ酸配列の検索について説明する。アミノ酸の場合の中間配列データの構造を図７に示す。中間配列データにおいては、上述のように各アミノ酸は４ビットもしくは８ビットで記録されている。図８では、１バイト（１もしくは２アミノ酸）単位で区切って示している。このような中間配列データを用いて、「ＥＫＡＲ」という配列を検索する場合を考えてみる。この場合、図８（ｂ）に示すようなＥ「ＥＫＡＲ」、Ｆ「＊ＥＫＡＲ＊」という２通りのパターンを作成し、バイト単位で検索する。ここで、「＊」は４ビットの任意の配列である。例えば、まず、Ｅパターンの先頭１バイトの「ＥＫ」を利用して、１バイト単位で、中間配列データとのマッチングを行い、一致する配列が存在したら、２バイト目の「ＡＲ」とのマッチングを行う。このようにすることにより、検索対象とする配列全てのマッチングをいきなり行う必要がなく、１バイト目が一致した場合のみ、２バイト目以降のマッチングを行えば良いことになり、検索時間が大幅に短縮される。Ｅパターンで一致する配列が見つからなかった場合は、Ｆパターンで検索を試みる。
【００２７】
（三次元情報のロスレス符号化装置）
図９は、本発明に係る三次元情報のロスレス符号化装置の構成を示す機能ブロック図である。図９において、２１はランレングス符号化手段、２２は定型タグ符号化手段、２３はデータ分離手段、２４は可変長符号化手段である。ランレングス符号化手段２１は、三次元情報ファイル内の空白文字のランレングス符号化を行う機能を有している。定型タグ符号化手段２２は、三次元情報ファイル内の定型のタグを対応するビット列に変換する機能を有している。データ分離手段２３は、三次元情報ファイルに記録されている注釈情報と数値情報を分離して注釈データと、数値データ本体を得る機能を有している。可変長符号化手段２４は、データ分離手段２３により分離された注釈データ、数値データ本体を、それぞれ可変長で符号化する機能を有している。
【００２８】
本発明で圧縮対象とする三次元情報ファイルの構造について説明しておく。図１０（ａ）は、代表的なデータ形式であるＶＲＭＬ形式で表現した三次元ＣＧファイルを示す図である。図１０（ａ）において、下線は「スペース」を示している。なお、ここでは、数値以外の注釈情報は、図１と同様<ANNOTATION>として省略して示してあるが、実際には、数値を説明するための注釈情報が記されている。
【００２９】
続いて、三次元情報ファイルの圧縮について説明する。まず、三次元データを読み込むと、ランレングス符号化手段１１が、スペース（空白）情報をランレングス符号化する。次に、定型タグ符号化手段１２が、定型タグを符号化していく。具体的には、図１１に示すような定型タグ変換テーブルを利用して符号化することになる。次に、データ分離手段１３が、文字情報に含まれる数値を分離して数値データ本体とし、分離された他方を注釈データとする。具体的には、図１０（ａ）に示したような原三次元ＣＧファイルを先頭から順に解読していき、データが０，１，２，３，４，５，６，７，８，９、および負符号と小数点記号のＡＳＣＩＩ文字データのみから構成されるテキスト形式である場合には、数値データ本体であると判断し、データに上記以外のＡＳＣＩＩ文字データを含むテキスト形式である場合には、注釈データであると判断して分離する。この際、数値データ本体として分離される数値の個数をカウントしておき、各注釈情報の後に、記録されていた数値に関する情報を記録する。この際、バイト単位で読み込んだ文字に、以下の〔変換規則１〕に従って数値を割り当てる。
【００３０】
〔変換規則１〕
０〜１２７：ＡＳＣＩＩ文字列
１２８〜１９１：挿入数値長＋１２７
１９２〜２２３：定型タグコード＋１９２
２２４〜２５５：挿入スペース長＋２２３
例えば、図１０（ａ）に示した先頭５文字のスペースは、挿入スペース長「５」に２２３を加算して「２２８」として図１０（ｂ）に示す注釈データに記録される。同様に、２文字のスペースは、挿入スペース長「２」に２２３を加算して「２２５」として注釈データに記録される。また、図１０（ａ）に示した「POINT」という定型タグは、図９に示したテーブルにより得られる「２１」に１９２を加算して「２１３」として図１０（ｂ）に示す注釈データに記録される。数値については、「．」も含めて連続する数値の個数に１２７を加算した値として記録される。すなわち、「０．００００００」のように８個の場合は、「１３５」として記録され、「−０．０００１００」のように９個の場合は、「１３６」として記録される。
【００３１】
数値データ本体は、原三次元ＣＧデータから注釈情報を外して、数値を連続して配列させたものとなる。そのため、図１（ｃ）に示すように、数値が連続して記録されることになる。
【００３２】
可変長符号化手段２４は、注釈データ、数値データ本体を可変長で符号化していく。具体的には、図４のフローチャートに示した処理を実行することになる。この結果、圧縮ファイル（圧縮注釈データ、圧縮数値データ、注釈頻度テーブル、数値頻度テーブル、定型タグ変換テーブル）が得られることになる。
【００３３】
続いて、復号処理について説明する。復号処理は、圧縮注釈データと注釈頻度テーブルから注釈データを復元し、圧縮数値データ本体と数値頻度テーブルから数値データ本体を復元し、最後に、注釈データと数値データ本体を統合して元の配列データを得ることになる。具体的には、まず、圧縮注釈データに対して、図４のフローチャートに示した処理と逆の処理を行い、注釈頻度テーブルを利用して注釈データを復元する。また、圧縮数値データ本体に対しても、図４のフローチャートに示した処理と逆の処理を行い、数値頻度テーブルを利用して、数値データ本体を復元する。次に、注釈データと数値データ本体の統合を行うが、これは、注釈データの注釈情報<ANNOTATION>を読み込み、その直後に記録されている数値を、上述の〔変換規則１〕によって変換し、対応する個数の数値を数値データ本体から読み込み、注釈情報の後に挿入していく。この処理を各注釈情報に対して行っていくことにより、三次元情報ファイルが復元される。
【００３４】
なお、上記図１、図５、図８に示した各装置は、具体的には、コンピュータ等のハードウェアに、専用のソフトウェアプログラムを搭載することにより実現される。
【図面の簡単な説明】
【００３５】
【図１】本発明に係る生物情報のロスレス符号化装置の構成を示す機能ブロック図である。
【図２】データ分離手段１による処理の様子を示す図である。
【図３】塩基変換テーブルの一例を示す図である。
【図４】可変長符号化手段による処理概要を示すフローチャートである。
【図５】本発明に係る生物情報の検索装置の構成を示す機能ブロック図である。
【図６】塩基配列の場合の中間配列データおよび検索パターンを示す図である。
【図７】アミノ酸変換テーブルの一例を示す図である。
【図８】アミノ酸配列の場合の中間配列データおよび検索パターンを示す図である。
【図９】本発明に係る三次元情報のロスレス符号化装置の構成を示す機能ブロック図である。
【図１０】データ分離手段２３による処理の様子を示す図である。
【図１１】定型タグ変換テーブルの一例を示す図である。
【符号の説明】
【００３６】
１、２３・・・データ分離手段
２・・・固定長符号化手段
３、２４・・・可変長符号化手段
１１・・・検索キー入力手段
１２・・・検索パターン作成手段
１３・・・照合手段
１４・・・アーカイブ実行手段
２１・・・ランレングス符号化手段
２２・・・定型タグ符号化手段
【図１】
2005087069.tif 000003
【図２】
2005087069.tif 000004
【図３】
2005087069.tif 000005
【図４】
2005087069.tif 000006
【図５】
2005087069.tif 000007
【図６】
2005087069.tif 000008
【図７】
2005087069.tif 000009
【図８】
2005087069.tif 000010
【図９】
2005087069.tif 000011
【図１０】
2005087069.tif 000012
【図１１】
2005087069.tif 000013