(57)【要約】【課題】ゲノムに含まれるタンパク質の一次構造を特定すること。【解決手段】特定装置は、複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得する。特定装置は、タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定する。特定装置は、特定した複数の一次構造の候補において、一次構造および一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、複数の一次構造の候補のうち、一つの一次構造を特定する。【選択図】図３
2020140514.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する特定方法であって、
複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得し、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、
特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する
処理を実行することを特徴とする特定方法。
【請求項２】
前記特定する処理によって特定された一次構造と、一次構造および符号を対応付けた一次構造辞書とを基にして、前記タンパク質ファイルを一次構造単位で圧縮することで、一次構造圧縮ファイルを生成する処理を更に実行することを特徴とする請求項１に記載の特定方法。
【請求項３】
前記タンパク質圧縮ファイルの先頭からのオフセットと、一次構造の種別とを対応付けた一次構造転置インデックスを生成する処理を更に実行することを特徴とする請求項２に記載の特定方法。
【請求項４】
コンピュータが実行する特定方法であって、
複数のコドンが配列されたコドンファイルを取得し、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、
特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する
処理を実行することを特徴とする特定方法。
【請求項５】
前記特定する処理により特定されたタンパク質と、タンパク質およびタンパク質の符号を対応付けたタンパク質辞書とを基にして、前記コドンファイルをタンパク質単位で圧縮することで、タンパク質圧縮ファイルを生成する処理を更に実行することを特徴とする請求項４に記載の特定方法。
【請求項６】
前記タンパク質圧縮ファイルの先頭からのオフセットと、タンパク質の種別とを対応付けたタンパク質転置インデックスを生成する処理を更に実行することを特徴とする請求項５に記載の特定方法。
【請求項７】
塩基配列を含む塩基ファイルと、複数の塩基配列で特定されるコドンの符号とを対応付けた変換テーブルを基にして、前記塩基ファイルをコドン単位で圧縮することで、前記コドンファイルを生成する処理を更に実行することを特徴とする請求項４、５または６に記載の特定方法。
【請求項８】
前記コドンファイルの先頭からのオフセットと、コドンの種別とを対応付けたコドン転置インデックスを更に生成する処理を更に実行することを特徴とする請求項７に記載の特定方法。
【請求項９】
コンピュータに、
複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得し、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、
特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項１０】
コンピュータに、
複数のコドンが配列されたコドンファイルを取得し、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、
特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項１１】
複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得する取得部と、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する特定部と
を有することを特徴とする特定装置。
【請求項１２】
複数のコドンが配列されたコドンファイルを取得する取得部と、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する特定部と
を有することを特徴とする特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定方法等に関する。
【背景技術】
【０００２】
近年、生物のＤＮＡ（Deoxyribonucleic  Acid）およびＲＮＡ（Ribonucleic  Acid）を構成するゲノムを解析することで、新型ウィルスの影響力を予測し、ワクチンなどが開発されている。また、ゲノムを基にして、癌などの突然変異（点突然変異）や遺伝子変異の遺伝子の異常を検出したり、病気の発生リスクを診断したりする研究が行われている。
【０００３】
図２４は、ゲノムを説明するための図である。ゲノム１は、複数のアミノ酸が連結する遺伝子情報である。ここで、アミノ酸は、複数の塩基、コドンによって決定される。また、ゲノム１には、タンパク質１ａが含まれる。タンパク質１ａは、２０種類のアミノ酸が複数結合し、鎖状に多数が連結したものである。タンパク質１ａの構造には、一次構造、二次構造、三次（高次）構造が存在する。タンパク質１ｂは、高次構造のタンパク質である。
【０００４】
ＤＮＡおよびＲＮＡの塩基は４種類で、「Ａ」、「Ｇ」、「Ｃ」、「Ｔ」または「Ｕ」の記号で示される。また、３つの塩基配列がひとかたまりで、２０種類のアミノ酸を決定する。それぞれのアミノ酸は、「Ａ」〜「Ｙ」の記号で示される。図２５は、アミノ酸と塩基、およびコドンとの関係を示す図である。３つの塩基配列のかたまりは「コドン」と呼ばれる。各塩基の並びで、コドンが決定され、コドンが決定されるとアミノ酸が決定される。
【０００５】
図２５に示すように、一つのアミノ酸に対して、複数種類のコドンが対応付けられる。このためコドンが決まると、アミノ酸が決まるが、アミノ酸が決まっても、コドンが一意に特定されるものではない。たとえば、アミノ酸「アラニン（Ala）」は、コドン「ＧＣＵ」、「ＧＣＣ」、「ＧＣＡ」、または、「ＧＣＧ」に対応付けられる。
【０００６】
なお、ゲノムから所定の情報を検索するものとして、塩基やアミノ酸配列を、オリゴ配列の符号化によるインデックスを作成して比較し、データベース中から特異的オリゴ配列を検索する従来技術がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−２５６４３３号公報
【特許文献２】特開２００４−２８０６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、ゲノムに含まれるタンパク質の一次構造を特定することができないという問題がある。
【０００９】
たとえば、ゲノムに関する情報は、塩基単位の情報、コドン単位の情報、アミノ酸単位の情報等様々である。また、アミノ酸単位の情報を、コドン単位の情報に変換することは従来技術で行うことができない。このため、塩基、コドン、アミノ酸毎に、タンパク質の一次構造の情報を対応付けた辞書情報等を生成しておき、ゲノムと辞書情報との比較を行うことも考えられるが、辞書情報のデータ量が膨大となり、一次構造を特定するまでの速度が遅くなってしまう。
【００１０】
１つの側面では、本発明は、ゲノムに含まれるタンパク質の一次構造を特定することができる特定方法、特定プログラムおよび特定装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の案では、コンピュータは、次の処理を実行する。コンピュータは、複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得する。コンピュータは、タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定する。コンピュータは、特定した複数の一次構造の候補において、一次構造および一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、複数の一次構造の候補のうち、一つの一次構造を特定する。
【発明の効果】
【００１２】
ゲノムに含まれるタンパク質の一次構造を特定することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例１に係る特定装置の処理を説明するための図（１）である。
【図２】図２は、本実施例１に係る特定装置の処理を説明するための図（２）である。
【図３】図３は、本実施例１に係る特定装置の処理を説明するための図（３）である。
【図４】図４は、本実施例１に係る特定装置の処理を説明するための図（４）である。
【図５】図５は、本実施例１に係る特定装置の構成を示す機能ブロック図である。
【図６】図６は、変換テーブルのデータ構造の一例を示す図である。
【図７】図７は、コドン転置インデックスのデータ構造の一例を示す図である。
【図８】図８は、タンパク質辞書のデータ構造の一例を示す図である。
【図９】図９は、タンパク質ＨＭＭのデータ構造の一例を示す図である。
【図１０】図１０は、タンパク質転置インデックスのデータ構造の一例を示す図である。
【図１１】図１１は、コドン転置インデックスをハッシュ化する処理の一例を説明するための図である。
【図１２】図１２は、共起集計部の処理をコドン圧縮ファイルに含まれるタンパク質を特定する処理の一例を説明するための図である。
【図１３】図１３は、ハッシュ化されたビットマップを復元する処理を説明するための図である。
【図１４】図１４は、本実施例１に係る特定装置の処理手順を示すフローチャートである。
【図１５】図１５は、本実施例２に係る特定装置の処理を説明するための図（１）である。
【図１６】図１６は、本実施例２に係る特定装置の処理を説明するための図（２）である。
【図１７】図１７は、本実施例２に係る特定装置の処理を説明するための図（３）である。
【図１８】図１８は、本実施例２に係る特定装置の構成を示す機能ブロック図である。
【図１９】図１９は、一次構造辞書のデータ構造の一例を示す図である。
【図２０】図２０は、一次構造ＨＭＭのデータ構造の一例を示す図である。
【図２１】図２１は、一次構造転置インデックスのデータ構造の一例を示す図である。
【図２２】図２２は、本実施例２に係る特定装置の処理手順を示すフローチャートである。
【図２３】図２３は、本実施例に係る特定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図２４】図２４は、ゲノムを説明するための図である。
【図２５】図２５は、アミノ酸と塩基、およびコドンとの関係を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する特定方法、特定プログラムおよび特定装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
図１〜図４は、本実施例１に係る特定装置の処理を説明するための図である。まず、図１について説明する。塩基ファイル１５０ａは、複数の塩基が配列された情報を保持するファイルである。ＤＮＡおよびＲＮＡの塩基は４種類で、「Ａ」、「Ｇ」、「Ｃ」、「Ｔ」または「Ｕ」の記号で示される。
【００１６】
特定装置の第１符号化部１６０ｂは、変換テーブル１５０ｂを基にして、塩基ファイル１５０ａから、コドン圧縮ファイル１５０ｃと、コドン転置インデックス１５０ｄとを生成する。
【００１７】
変換テーブル１５０ｂは、コドンと、コドンの符号とを対応付けるテーブルである。３つの塩基配列のかたまりは「コドン」と呼ばれる。
【００１８】
第１符号化部１６０ｂは、塩基ファイル１５０ａから、３つずつ塩基を取り出し、取り出した塩基と、変換テーブル１５０ｂとを比較して、３つの塩基（コドン）に対応する符号を特定し、３つの塩基（コドン）を符号に変換する。第１符号化部１６０ｂは、かかる処理を繰り返し実行することで、コドン圧縮ファイル１５０ｃを生成する。コドン圧縮ファイル１５０ｃは、コドン単位の符号が配列する情報となる。本実施例１では便宜上、符号の隣に、符号化前の塩基（コドン）を括弧書きで示す。たとえば、コドン「ＡＵＧ」は、符号「６３ｈ」に変換されるが、変換された符号を「（ＡＵＧ）６３ｈ」と表記する。「ｈ」は１６進数であることを示すものである。
【００１９】
第１符号化部１６０ｂは、コドン圧縮ファイル１５０ｃを生成する際に、コドン転置インデックス１５０ｄを生成する。コドン転置インデックス１５０ｄは、コドン圧縮ファイル１５０ｃの先頭からのオフセットと、コドンの種別（コドンの符号）とを対応付ける情報である。
【００２０】
図２の説明に移行する。特定装置の共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃおよびコドン転置インデックス１５０ｄと、タンパク質辞書１５０ｅとを基にして、タンパク質ＨＭＭ（Hidden  Markov  Model）１５０ｆおよび辞書インデックス１５０ｇを生成する。
【００２１】
タンパク質辞書１５０ｅは、タンパク質の符号と、コドン符号配列とを対応付ける情報である。コドン符号配列は、複数のコドンの符号を配列した情報である。タンパク質の種類に応じてコドン（コドンの符号）の組み合わせはそれぞれ異なり、タンパク質に対応するコドンの数も一定ではない。
【００２２】
共起集計部１６０ｃは、コドン転置インデックス１５０ｄを基にして、コドン圧縮ファイル１５０ｃに含まれるコドンの組み合わせを特定する。また、共起集計部１６０ｃは、コドンの組み合わせ（コドン符号配列）と、タンパク質辞書１５０ｅのコドン符号配列とを比較して、コドン圧縮ファイル１５０ｃに含まれるタンパク質の符号を特定する処理を繰り返し実行する。
【００２３】
共起集計部１６０ｃは、上記処理を繰り返し実行していく過程で、コドン圧縮ファイル１５０ｃに含まれる各タンパク質に対応するコドン符号配列の「切れ目」を、辞書インデックス１５０ｇに設定する。たとえば、コドン符号配列「02h63h78h・・03h02h52h79h・03h」において、コドン符号配列「02h63h78h・・03h」が、タンパク質の符号「8000h」に対応するコドン符号配列であり、コドン配列「02h52h79h・・03h」が、タンパク質の符号「8001h」に対応するコドン配列である。この場合には、コドン符号配列「02h63h78h・・03h」と「02h52h79h・03h」との間が「切れ目」となる。辞書インデックス１５０ｇにおいて、各切れ目は、コドン圧縮ファイル１５０ｃの先頭からのオフセットで示される。本実施例１では一例として、切れ目を後続のコドン符号配列の先頭の符号のオフセットで示す。上記の例では後続の「02h52h79h・・03h」の先頭の符号＜02h＞のオフセットが、切れ目のオフセットとなる。
【００２４】
なお、共起集計部１６０ｃが、上記処理を行う過程において、コドン圧縮ファイル１５０ｃのあるオフセットからのコドン符号配列が、タンパク質辞書１５０ｅに含まれる長さの異なる複数のコドン符号配列と一致する場合もある。
【００２５】
たとえば、図３に示すように、コドン圧縮ファイル１５０ｃのある切れ目のオフセットＰからオフセットＮＡまでのコドン符号配列が、タンパク質Ａの符号に対応し、かつ、オフセットＰからオフセットＮＢまでのコドンの符号配列が、タンパク質Ｂの符号と一致する場合がある。
【００２６】
この場合には、共起集計部１６０ｃは、オフセットＰ〜Ｐ＋ＮＡのコドンの符号をタンパク質Ａの符号とし、オフセットＰ＋ＮＡ＋１を切れ目として、上記処理を繰り返し実行する。また、共起集計部１６０ｃは、オフセットＰ〜Ｐ＋ＮＢのコドンの符号をタンパク質Ｂの符号とし、オフセットＰ＋ＮＢ＋１を切れ目として、上記処理を繰り返し実行する。
【００２７】
共起集計部１６０ｃは、上記処理を繰り返し実行することで、あるタンパク質の符号に後続するタンパク質の符号の種別を集計し、あるタンパク質の符号との共起率を算出する。たとえば、タンパク質Ａのコドン符号配列が、コドン圧縮ファイル１５０ｃにおいて、ＭＡ回出現したとする。そして、タンパク質Ａのコドン符号配列に後続する各種のタンパク質のうち、タンパク質Ｂのコドン符号配列がＬＢ回出現した場合には、タンパク質Ａの符号と、タンパク質Ｂの符号との共起率は「ＬＢ／ＭＡ×１００」となる。共起集計部１６０ｃは、各タンパク質について、共起率を算出する処理を繰り返し実行することで、タンパク質ＨＭＭ１５０ｆを生成する。タンパク質ＨＭＭ１５０ｆは、各タンパク質の組と、共起率とを定義した情報である。
【００２８】
図４の説明に移行する。特定装置の第２符号化部１６０ｄは、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄ、タンパク質辞書１５０ｅ、辞書インデックス１５０ｇ、タンパク質ＨＭＭ１５０ｆを基にして、タンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉを生成する。第２符号化部１６０ｄは「特定部」の一例である。
【００２９】
第２符号化部１６０ｄは、辞書インデックス１５０ｇを基にして、コドン圧縮ファイル１５０ｃに含まれる各タンパク質のコドン符号配列の切れ目を特定する。第２符号化部１６０ｄは、各切れ目の間のコドン符号配列と、タンパク質辞書１５０ｅとを基にして、各切れ目の間のコドン符号配列に対応するタンパク質の符号を特定し、コドン符号配列を、タンパク質の符号に変換する。
【００３０】
第２符号化部１６０ｄは、タンパク質の符号（切れ目）に続くコドン符号配列が、複数のタンパク質の符号に該当する場合には、タンパク質ＨＭＭ１５０ｆを基にして、該当する複数のタンパク質の符号のうち、最も共起率の高いタンパク質の符号を特定する。第２符号化部１６０ｄは、切れ目に続くコドン符号配列を、特定したタンパク質の符号に変換する。第２符号化部１６０ｄは、上記処理を繰り返し実行することで、タンパク質圧縮ファイル１５０ｈを生成する。
【００３１】
第２符号化部１６０ｄは、タンパク質圧縮ファイル１５０ｈを生成する際に、タンパク質転置インデックス１５０ｉを生成する。タンパク質転置インデックス１５０ｉは、タンパク質圧縮ファイル１５０ｈの先頭からのオフセットと、タンパク質の符号とを対応付ける情報である。
【００３２】
上記のように、本実施例１に係る特定装置は、コドン圧縮ファイル１５０ｃに含まれるタンパク質と、このタンパク質に後続するタンパク質の共起率を算出することで、タンパク質ＨＭＭ１５０ｆを生成する。特定装置は、タンパク質ＨＭＭ１５０ｆを用いることで、コドン圧縮ファイル１５０ｃのコドン符号配列を、正しいタンパク質単位で切り出すことができる。正しいタンパク質単位で切り出すことで、コドン圧縮ファイル１５０ｃをタンパク質単位で符号化したタンパク質圧縮ファイル１５０ｈを生成することができる。また、コドン圧縮ファイル１５０ｃに含まれるタンパク質の配列を特定できるので、タンパク質の一次構造を容易に特定可能となる。
【００３３】
次に、本実施例１に係る特定装置１００の構成の一例について説明する。図５は、本実施例１に係る特定装置の構成を示す機能ブロック図である。図５に示すように、この特定装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１５０と、制御部１６０とを有する。
【００３４】
通信部１１０は、ネットワークを介して他の外部装置（図示略）との間でデータ通信を実行する処理部である。たとえば、通信部１１０は、通信装置に対応する。たとえば、通信部１１０は、外部装置から、後述する塩基ファイル１５０ａ等を受信してもよい。
【００３５】
入力部１２０は、特定装置１００に各種の情報を入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。
【００３６】
表示部１３０は、制御部１６０から出力される各種の情報を表示するための表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。
【００３７】
記憶部１５０は、塩基ファイル１５０ａ、変換テーブル１５０ｂ、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄを有する。記憶部１５０は、タンパク質辞書１５０ｅ、タンパク質ＨＭＭ１５０ｆ、辞書インデックス１５０ｇ、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３８】
塩基ファイル１５０ａは、複数の塩基が配列された情報を保持するファイルである。その他の塩基ファイル１５０ａの説明は、図１で説明した塩基ファイル１５０ａの説明と同様である。
【００３９】
変換テーブル１５０ｂは、コドンと、コドンに対応する符号とを対応付けるテーブルである。図６は、変換テーブルのデータ構造の一例を示す図である。図６に示すように、各コドンと、各符号とが対応付けられる。たとえば、コドン「ＵＵＵ」の符号は「４０ｈ（０１００００００）」となる。「ｈ」は１６進数を示すものである。
【００４０】
コドン圧縮ファイル１５０ｃは、符号化された複数のコドンが配列された情報を保持するファイルである。コドン圧縮ファイル１５０ｃは、後述する第１符号化部１６０ｂにより生成される。その他のコドン圧縮ファイルの説明は、図１で説明したコドン圧縮ファイル１５０ｃの説明と同様である。
【００４１】
コドン転置インデックス１５０ｄは、コドン圧縮ファイル１５０ｃの先頭からのオフセットと、コドンの種別（コドンの符号）とを対応付ける情報である。図７は、コドン転置インデックスのデータ構造の一例を示す図である。図７において、コドン転置インデックス１５０ｄの横軸は、オフセットに対応する軸である。コドン転置インデックス１５０ｄの縦軸は、コドンの種別（コドンの符号）に対応する軸である。コドン転置インデックス１５０ｄは、「０」または「１」のビットマップで示され、初期状態では全てのビットマップが「０」に設定される。
【００４２】
たとえば、コドン圧縮ファイル１５０ｃの先頭のコドンの符号のオフセットを「０」とする。コドン圧縮ファイル１５０ｃの先頭から７番目の位置に、コドンの符号「（ＡＵＧ）６３ｈ」が含まれる場合、コドン転置インデックス１５０ｄのオフセット「６」の列と、コドンの符号「（ＡＵＧ）６３ｈ」の行とが交差する位置のビットが「１」となる。
【００４３】
タンパク質辞書１５０ｅは、タンパク質の情報と、タンパク質に対応するコドン符号配列とを対応付ける情報である。図８は、タンパク質辞書のデータ構造の一例を示す図である。図８に示すように、このタンパク質辞書１５０ｅは、タンパク質情報と、アミノ酸符号配列と、コドン符号配列とを対応付ける。
【００４４】
タンパク質情報には、タンパク質の「符号」と、タンパク質の属する「グループ」と、タンパク質の「名称」とが含まれる。アミノ酸符号配列は、タンパク質の符号（タンパク質の種別）に対応するアミノ酸の符号の配列である。コドン符号配列は、タンパク質の符号（タンパク質の種別）に対応するコドンの符号の配列である。
【００４５】
たとえば、タンパク質「一型コラーゲン」は、グループ「コラーゲン」に属し、符号は「８０００ｈ」となる。符号「８０００ｈ」に対するアミノ酸符号配列は「02h46h59h・・・03h」となる。また、コドン符号配列は「02h63h78h・・・03h」となる。
【００４６】
タンパク質ＨＭＭ１５０ｆは、タンパク質とこのタンパク質に後続するタンパク質との共起率に関する情報を保持する。図９は、タンパク質ＨＭＭのデータ構造の一例を示す図である。図９に示すように、このタンパク質ＨＭＭ１５０ｆは、タンパク質情報と、共起タンパク質情報とを対応付ける。
【００４７】
タンパク質情報には、タンパク質の「符号」と、タンパク質の属する「グループ」と、タンパク質の「名称」とが含まれる。共起タンパク質情報には、タンパク質の符号と、共起率とがそれぞれ対応付けられる。たとえば、タンパク質ＨＭＭ１５０ｆの１行目のレコードについて説明する。タンパク質の符号「８０００ｈ」の次に後続するタンパク質の符号が、符号「８０２８ｈ」となる確率（共起率）は、「７８％」である。タンパク質の符号「８０００ｈ」の次に後続するタンパク質の符号が、符号「８１３２ｈ」となる確率（共起率）は、「６３％」である。タンパク質の符号「８０００ｈ」の次に後続するタンパク質の符号が、符号「８０Ｆ５ｈ」となる確率（共起率）は、「５１％」である。
【００４８】
辞書インデックス１５０ｇは、コドン圧縮ファイル１５０ｃに含まれる各コドン符号配列（タンパク質に対応するコドン符号配列のかたまり）の切れ目のオフセットを保持する情報である。たとえば、辞書インデックス１５０ｇにおいて、各切れ目は、コドン圧縮ファイル１５０ｃの先頭からのオフセットで示される。本実施例１では一例として、切れ目を、後続のコドン符号配列の先頭のコドン符号のオフセットで示す。なお、コドン符号配列に加え、アミノ酸符号配列（以降省略）に対応付けてもよい。
【００４９】
タンパク質圧縮ファイル１５０ｈは、複数のタンパク質の符号が配列された情報を保持するファイルである。タンパク質圧縮ファイル１５０ｈは、後述する第２符号化部１６０ｄにより生成される。その他のタンパク質圧縮ファイル１５０ｈの説明は、図１で説明したタンパク質圧縮ファイル１５０ｈの説明と同様である。
【００５０】
タンパク質転置インデックス１５０ｉは、タンパク質圧縮ファイル１５０ｈの先頭からのオフセットと、タンパク質の種別（タンパク質の符号）とを対応付ける情報である。図１０は、タンパク質転置インデックスのデータ構造の一例を示す図である。図１０において、タンパク質転置インデックス１５０ｉの横軸は、オフセットに対応する軸である。タンパク質転置インデックス１５０ｉの縦軸は、タンパク質の種別（タンパク質の符号）に対応する軸である。タンパク質転置インデックス１５０ｉは、「０」または「１」のビットマップで示され、初期状態では全てのビットマップが「０」に設定される。
【００５１】
たとえば、タンパク質圧縮ファイル１５０ｈの先頭のタンパク質の符号のオフセットを「０」とする。タンパク質圧縮ファイル１５０ｈの先頭から８番目の位置に、タンパク質の符号「８０００ｈ（一型コラーゲン）」が含まれる場合、タンパク質転置インデックス１５０ｉのオフセット「７」の列と、タンパク質の符号「８０００ｈ（一型コラーゲン）」の行とが交差する位置のビットが「１」となる。
【００５２】
図５の説明に戻る。制御部１６０は、取得部１６０ａと、第１符号化部１６０ｂと、共起集計部１６０ｃと、第２符号化部１６０ｄとを有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００５３】
取得部１６０ａは、通信部１１０を介して、ネットワークに接続された外部装置（図示略）から、各種の情報を取得する処理部である。たとえば、取得部１６０ａは、外部装置から、塩基ファイル１５０ａを取得した場合、塩基ファイル１５０ａを、記憶部１５０に格納する。なお、取得部１６０ａは、塩基ファイル１５０ａがＺＩＰ等で圧縮されている場合、圧縮された塩基ファイル１５０ａを伸長する。
【００５４】
第１符号化部１６０ｂは、塩基ファイル１５０ａおよび変換テーブル１５０ｂを基にして、コドン圧縮ファイル１５０ｃを生成する処理部である。第１符号化部１６０ｂは、塩基ファイル１５０ａから、３つずつ塩基を取り出し、取り出した３つの塩基と、変換テーブル１５０ｂとを比較して、３つの塩基（コドン）に対応する符号を特定し、３つの塩基を符号に変換する。たとえば、第１符号化部１６０ｂは、コドン「ＡＵＧ」を符号「６３ｈ」に変換する。第１符号化部１６０ｂは、上記処理を繰り返し実行することで、コドン圧縮ファイル１５０ｃを生成する。
【００５５】
第１符号化部１６０ｂは、コドン圧縮ファイル１５０ｃを生成する際に、コドン転置インデックス１５０ｄを生成する。たとえば、第１符号化部１６０ｂは、変換したコドンの符号と、コドン圧縮ファイル１５０ｃの符号のオフセットとに対応するコドン転置インデックス１５０ｄのビットマップに「１」を設定する。
【００５６】
ここで、第１符号化部１６０ｂは、コドン転置インデックス１５０ｄを生成すると、情報量を削減するため、コドン転置インデックス１５０ｄをハッシュ化してもよい。図１１は、コドン転置インデックスをハッシュ化する処理の一例を説明するための図である。
【００５７】
図１１で説明する例では、３２ビットレジスタを想定し、「２９」と「３１」の素数（底）を基に、コドン転置インデックス１５０ｄの各行のビットマップをハッシュ化する。ここでは、一例として、ビットマップｂ１から、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を生成する場合について説明する。
【００５８】
ビットマップｂ１は、コドン転置インデックス（たとえば、図７に示したコドン転置インデックス１５０ｄ）のある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップｈ１１は、底「２９」によりハッシュ化されたビットマップである。ハッシュ化ビットマップｈ１２は、底「３１」によりハッシュ化されたビットマップである。
【００５９】
第１符号化部１６０ｂは、ビットマップｂ１の各ビットの位置を、１つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。第１符号化部１６０ｂは、該当するビットマップｂ１のビットの位置に「１」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「１」を設定する処理を行う。
【００６０】
ビットマップｂ１から、底「２９」のハッシュ化ビットマップｈ１１を生成する処理の一例について説明する。はじめに、第１符号化部１６０ｂは、ビットマップｂ１の位置「０〜２８」の情報を、ハッシュ化ビットマップｈ１１にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「２９」で割った余りは「６」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１１の位置「６」と対応付けられる。第１符号化部１６０ｂは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「６」に「１」を設定する。
【００６１】
ビットマップｂ１のビットの位置「４２」を、低「２９」で割った余りは「１３」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１１の位置「１３」と対応付けられる。第１符号化部１６０ｂは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「１３」に「１」を設定する。
【００６２】
第１符号化部１６０ｂは、ビットマップｂ１の位置「２９」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１１を生成する。
【００６３】
ビットマップｂ１から、底「３１」のハッシュ化ビットマップｈ１２を生成する処理の一例について説明する。はじめに、第１符号化部１６０ｂは、ビットマップｂ１の位置「０〜３０」の情報を、ハッシュ化ビットマップｈ１２にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「３１」で割った余りは「４」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１２の位置「４」と対応付けられる。第１符号化部１６０ｂは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「４」に「１」を設定する。
【００６４】
ビットマップｂ１のビットの位置「４２」を、低「３１」で割った余りは「１１」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１２の位置「１１」と対応付けられる。第１符号化部１６０ｂは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「１１」に「１」を設定する。
【００６５】
第１符号化部１６０ｂは、ビットマップｂ１の位置「３１」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１２を生成する。
【００６６】
第１符号化部１６０ｂは、コドン転置インデックス１５０ｄの各行について上記の折り返し技術による圧縮を行うことで、コドン転置インデックス１５０ｄをハッシュ化する。なお、底「２９」、「３１」のハッシュ化ビットマップは、生成元のビットマップの行（符号化されたコドンの種別）の情報が付与される。
【００６７】
共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄ、タンパク質辞書１５０ｅを基にして、タンパク質ＨＭＭ１５０ｆおよび辞書インデックス１５０ｇを生成する処理部である。
【００６８】
共起集計部１６０ｃは、コドン転置インデックス１５０ｄを基にして、コドン圧縮ファイル１５０ｃに含まれるタンパク質の種別および位置を特定する。タンパク質は、所定のコドンの組み合わせ（コドン符号配列）であり、タンパク質に対応するコドン符号配列は、タンパク質辞書１５０ｅに定義される。
【００６９】
図１２は、共起集計部の処理をコドン圧縮ファイルに含まれるタンパク質を特定する処理の一例を説明するための図である。ここでは一例として、コドン符号配列「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ、（ＵＣＡ）４６ｈ、（ＵＧＧ）４Ｆｈ」に対応するタンパク質「ααα」の位置を特定する場合について説明する。
【００７０】
共起集計部１６０ｃは、コドン転置インデックス１５０ｄを参照し、各コドン「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ、（ＵＣＡ）４６ｈ、（ＵＧＧ）４Ｆｈ」に対応するビットマップを取得する。コドンの符号「（ＵＵＵ）４０ｈ」のビットマップをビットマップｂ＿ＵＵＵとする。コドンの符号「（ＵＣＣ）４５ｈ」のビットマップをビットマップｂ＿ＵＣＣとする。コドンの符号「（ＡＡＧ）６Ｂｈ」のビットマップをビットマップｂ＿ＡＡＧとする。コドンの符号「（ＵＣＡ）４６ｈ」のビットマップをビットマップｂ＿ＵＣＡとする。コドンの符号「（ＵＧＧ）４Ｆｈ」のビットマップをビットマップｂ＿ＵＧＧとする。
【００７１】
共起集計部１６０ｃは、ビットマップｂ＿ＵＵＵを取得し、ビットマップｂ＿ＵＵＵを左シフトすることで、ビットマップｂ２０を生成する。共起集計部１６０ｃは、ビットマップｂ＿ＵＣＣを取得し、ビットマップｂ＿ＵＣＣと、ビットマップｂ２０とをＡＮＤ演算することで、ビットマップｂ２１を生成する。ビットマップｂ２１のオフセット「８」に「１」が立っているため、オフセット７〜８に、コドン「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ」が含まれることが分かる。
【００７２】
共起集計部１６０ｃは、ビットマップｂ２１を左シフトすることで、ビットマップｂ２２を生成する。共起集計部１６０ｃは、ビットマップｂ＿ＡＡＧを取得し、ビットマップｂ＿ＡＡＧと、ビットマップｂ２２とをＡＮＤ演算することで、ビットマップｂ２３を生成する。ビットマップｂ２３のオフセット「９」に「１」が立っているため、オフセット７〜９に、コドン「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ」が含まれることが分かる。
【００７３】
共起集計部１６０ｃは、ビットマップｂ２３を左シフトすることで、ビットマップｂ２４を生成する。共起集計部１６０ｃは、ビットマップｂ＿ＵＣＡを取得し、ビットマップｂ＿ＵＣＡと、ビットマップｂ２４とをＡＮＤ演算することで、ビットマップｂ２５を生成する。ビットマップｂ２５のオフセット「１０」に「１」が立っているため、オフセット７〜１０に、コドン「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ、（ＵＣＡ）４６ｈ」が含まれることが分かる。
【００７４】
共起集計部１６０ｃは、ビットマップｂ２５を左シフトすることで、ビットマップｂ２６を生成する。共起集計部１６０ｃは、ビットマップｂ＿ＵＧＧを取得し、ビットマップｂ＿ＵＧＧと、ビットマップｂ２６とをＡＮＤ演算することで、ビットマップｂ２７を生成する。ビットマップｂ２５のオフセット「１１」に「１」が立っているため、オフセット７〜１１に、コドン「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ、（ＵＣＡ）４６ｈ、（ＵＧＧ）４Ｆｈ」が含まれることが分かる。
【００７５】
共起集計部１６０ｃは、図１２に示した処理を実行することで、コドン圧縮ファイル１５０ｃのオフセット「７〜１１」において、タンパク質αααに対応するコドン符号配列「（ＵＵＵ）４０ｈ、（ＵＣＣ）４５ｈ、（ＡＡＧ）６Ｂｈ、（ＵＣＡ）４６ｈ、（ＵＧＧ）４Ｆｈ」が含まれると判定する。共起集計部１６０ｃは、他のタンパク質についても、上記処理を繰り返し実行することで、コドン圧縮ファイル１５０ｃに含まれる各タンパク質の種別および位置（オフセット）を特定する。
【００７６】
続いて、共起集計部１６０ｃは、上記処理によって特定した、コドン圧縮ファイル１５０ｃに含まれる各タンパク質のオフセットを基にして、辞書インデックス１５０ｇを生成する。共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃに含まれる各タンパク質に対応するコドン符号配列の「切れ目」を、辞書インデックス１５０ｇに設定する。たとえば、共起集計部１６０ｃは、辞書インデックス１６０ｇにおいて、切れ目に対応するオフセットにフラグ「１」を立てる。辞書インデックス１６０ｇの初期値は、各オフセットに対応するフラグが「０」となる。
【００７７】
共起集計部１６０ｃが、上記処理を行う過程において、コドン圧縮ファイル１５０ｃのあるオフセットからのコドン符号配列が、タンパク質辞書１５０ｅに含まれる長さの異なる複数のコドン符号配列と一致する場合もある。
【００７８】
たとえば、図３で説明したように、コドン圧縮ファイル１５０ｃのある切れ目のオフセットＰからオフセットＮＡまでのコドン符号配列が、タンパク質Ａの符号に対応し、かつ、オフセットＰからオフセットＮＢまでのコドンの符号配列が、タンパク質Ｂの符号と一致する場合がある。
【００７９】
この場合には、共起集計部１６０ｃは、オフセットＰ〜Ｐ＋ＮＡのコドンの符号をタンパク質Ａの符号とし、辞書インデックス１５０ｇのオフセットＰ＋ＮＡ＋１にフラグ「１」を立てる。また、共起集計部１６０ｃは、オフセットＰ〜Ｐ＋ＮＢのコドンの符号をタンパク質Ｂの符号とし、辞書インデックス１５０ｇのオフセットＰ＋ＮＢ＋１にフラグ「１」を設定する。共起集計部１６０ｃは、上記処理を繰り返し実行することで、辞書インデックス１５０ｇを生成する。
【００８０】
続いて、共起集計部１６０ｃが、タンパク質ＨＭＭ１５０ｆを生成する処理の一例について説明する。共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃに含まれる各タンパク質の符号を、タンパク質辞書１５０ｅを基にそれぞれ特定する。また、共起集計部１６０ｃは、あるタンパク質の符号に後続するタンパク質の符号の種別を集計し、あるタンパク質の符号との共起率を算出する。
【００８１】
たとえば、タンパク質Ａの符号が、コドン圧縮ファイル１５０ｃにおいて、ＭＡ回出現したとする。そして、タンパク質Ａの符号に後続する各種のタンパク質の符号うち、タンパク質Ｂの符号がＬＢ回出現した場合には、タンパク質Ａの符号と、タンパク質Ｂの符号との共起率は「ＬＢ／ＭＡ×１００」となる。共起集計部１６０ｃは、他のタンパク質の符号についても、共起率を算出する処理を繰り返し実行することで、タンパク質ＨＭＭ１５０ｆを生成する。
【００８２】
ところで、共起集計部１６０ｃは、コドン転置インデックス１５０ｄのビットマップがハッシュ化されている場合には、ハッシュ化されたビットマップを復元する。図１３は、ハッシュ化されたビットマップを復元する処理を説明するための図である。ここでは一例として、共起集計部１６０ｃが、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を基にして、ビットマップｂ１を復元する場合について説明する。
【００８３】
共起集計部１６０ｃは、底「２９」のハッシュ化ビットマップｈ１１から、中間ビットマップｈ１１’を生成する。共起集計部１６０ｃは、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、中間ビットマップｈ１１’の位置０〜２８にそれぞれ、コピーする。
【００８４】
共起集計部１６０ｃは、中間ビットマップｈ１１’の位置２９以降の値については、「２９」毎に、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、それぞれコピーする処理を繰り返し実行する。図１３に示す例では、中間ビットマップｈ１１’の位置２９〜４３の位置に、ハッシュ化ビットマップｈ１１の位置０〜１４の値を、コピーした例を示す。
【００８５】
共起集計部１６０ｃは、底「３１」のハッシュ化ビットマップｈ１２から、中間ビットマップｈ１２’を生成する。共起集計部１６０ｃは、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、中間ビットマップｈ１２’の位置０〜３０にそれぞれ、コピーする。
【００８６】
共起集計部１６０ｃは、中間ビットマップｈ１２’の位置３１以降の値については、「３１」毎に、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、それぞれコピーする処理を繰り返し実行する。図１３に示す例では、中間ビットマップｈ１２’の位置３１〜４３の位置に、ハッシュ化ビットマップｈ１２の位置０〜１２の値を、コピーした例を示す。
【００８７】
共起集計部１６０ｃは、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とを生成すると、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とをＡＮＤ演算することで、ハッシュ化前のビットマップｂ１を復元する。共起集計部１６０ｃは、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、コドンに対応する各ビットマップを復元する（コドン転置インデックス１５０ｄを復元する）ことができる。
【００８８】
図５の説明に戻る。第２符号化部１６０ｄは、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄ、タンパク質辞書１５０ｅ、辞書インデックス１５０ｇ、タンパク質ＨＭＭ１５０ｆを基にして、タンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉを生成する。
【００８９】
第２符号化部１６０ｄは、辞書インデックス１５０ｇを基にして、コドン圧縮ファイル１５０ｃに含まれる各タンパク質のコドン符号配列の切れ目を特定する。第２符号化部１６０ｄは、各切れ目の間のコドン符号配列と、タンパク質辞書１５０ｅとを基にして、各切れ目の間のコドン符号配列に対応するタンパク質の符号を特定し、コドン符号配列を、タンパク質の符号に変換する。
【００９０】
第２符号化部１６０ｄは、タンパク質の符号（切れ目）に続くコドン符号配列が、複数のタンパク質の符号に該当する場合には、タンパク質ＨＭＭ１５０ｆを基にして、該当する複数のタンパク質の符号のうち、最も共起率の高いタンパク質の符号を特定する。
【００９１】
たとえば、タンパク質の符号「８０００ｈ」に続くタンパク質の符号が「８０２８ｈ」または「８１３２ｈ」となる場合の第２符号化部１６０ｄの処理について説明する。図９で説明したタンパク質ＨＭＭ１５０ｆを参照すると、タンパク質の符号「８０００ｈ」と符号「８０２８ｈ」との共起率は「７８％」である。一方、タンパク質の符号「８０００ｈ」と符号「８１３２ｈ」との共起率は「６３％」である。第２符号化部１６０ｄは、符号「８０００ｈ」と符号「８０２８ｈ」との共起率が、符号「８０００ｈ」と符号「８１３２ｈ」との共起率よりも大きいため、タンパク質の符号「８０００ｈ」に続くタンパク質の符号を「８１３２ｈ」と特定する。
【００９２】
第２符号化部１６０ｄは、切れ目に続くコドン符号配列を、特定したタンパク質の符号に変換する。第２符号化部１６０ｄは、上記処理を繰り返し実行することで、タンパク質圧縮ファイル１５０ｈを生成する。
【００９３】
第２符号化部１６０ｄは、タンパク質圧縮ファイル１５０ｈを生成する際に、タンパク質転置インデックス１５０ｉを生成する。タンパク質転置インデックス１５０ｉは、タンパク質圧縮ファイル１５０ｈの先頭からのオフセットと、タンパク質の符号とを対応付ける情報である。第２符号化部１６０ｄは、タンパク質転置インデックス１５０ｉを生成する場合に、タンパク質転置インデックス１５０ｉのビットマップをハッシュ化してもよい。タンパク質転置インデックス１５０ｉのビットマップをハッシュ化する処理は、共起集計部１６０ｃが、コドン転置インデックス１５０ｄのビットマップをハッシュ化する処理と同様である。
【００９４】
次に、本実施例１に係る特定装置１００の処理手順の一例について説明する。図１４は、本実施例１に係る特定装置の処理手順を示すフローチャートである。図１４に示すように、特定装置１００の第１符号化部１６０ｂは、塩基ファイル１５０ａをコドン単位で圧縮し、コドン圧縮ファイル１５０ｃおよびコドン転置インデックス１５０ｄを生成する（ステップＳ１０１）。
【００９５】
共起集計部１６０ｃは、タンパク質辞書１５０ｅと、コドン転置インデックス１５０ｄとを基にして、コドン圧縮ファイル１５０ｃに含まれるタンパク質を特定する（ステップＳ１０２）。共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃに含まれるタンパク質毎の切れ目を基にして、辞書インデックス１５０ｇを生成する（ステップＳ１０３）。
【００９６】
共起集計部１６０ｃは、コドン圧縮ファイル１５０ｃに含まれるタンパク質と、このタンパク質に後続するタンパク質とを集計し、共起率を算出する（ステップＳ１０４）。共起集計部１６０ｃは、タンパク質ＨＭＭ１５０ｆを生成する（ステップＳ１０５）。
【００９７】
第２符号化部１６０ｄは、辞書インデックス１５０ｇを基にして、コドン圧縮ファイル１５０ｃから、タンパク質に対応するコドン符号配列を抽出する（ステップＳ１０６）。第２符号化部１６０ｄは、タンパク質辞書１５０ｅを基にして、コドン符号配列を、タンパク質の符号に変換する（ステップＳ１０７）。
【００９８】
第２符号化部１６０ｄは、タンパク質圧縮ファイルおよびタンパク質転置インデックス１５０ｉを更新する（ステップＳ１０８）。第２符号化部１６０ｄは、コドン圧縮ファイル１５０ｃの終端に到達した場合には（ステップＳ１０９，Ｙｅｓ）、処理を終了する。第２符号化部１６０ｄは、コドン圧縮ファイル１５０ｃの終端に到達していない場合には（ステップＳ１０９，Ｎｏ）、タンパク質ＨＭＭ１５０ｆを基にして、後続するタンパク質の符号（コドン符号配列）を特定し（ステップＳ１１０）、ステップＳ１０６に移行する。
【００９９】
次に、本実施例１に係る特定装置１００の効果について説明する。特定装置１００は、コドン圧縮ファイル１５０ｃに含まれるタンパク質と、このタンパク質に後続するタンパク質の共起率を算出することで、タンパク質ＨＭＭ１５０ｆを生成する。特定装置１００は、タンパク質ＨＭＭ１５０ｆを用いることで、コドン圧縮ファイル１５０ｃのコドン符号配列を、正しいタンパク質単位で切り出すことができる。正しいタンパク質単位で切り出すことで、コドン圧縮ファイル１５０ｃをタンパク質単位で符号化したタンパク質圧縮ファイル１５０ｈを生成することができる。また、コドン圧縮ファイル１５０ｃに含まれるタンパク質の配列を特定できるので、複数のタンパク質やアミノ酸で構成されるタンパク質の一次構造を容易に推定可能となる。
【０１００】
特定装置１００は、特定装置１００は、タンパク質ＨＭＭ１５０ｆを用いることで、コドン圧縮ファイル１５０ｃのコドン符号配列を、正しいタンパク質単位で切り出し、タンパク質単位の符号に変換することで、タンパク質圧縮ファイル１５０ｈを生成する。これによって、塩基ファイル１５０ａを、タンパク質の単位で圧縮できるので、コドン圧縮ファイル１５０ｃと比較して、圧縮率を高めることができる。
【０１０１】
特定装置１００は、塩基ファイル１５０ａおよび変換テーブル１５０ｂを基にして、コドン圧縮ファイル１５０ｃおよびコドン転置インデックス１５０ｄを生成する。コドン転置インデックス１５０ｄを用いることで、コドン圧縮ファイル１５０ｃに含まれる各コドンの並びを、伸長することなく特定することができる。
【０１０２】
特定装置１００は、タンパク質圧縮ファイル１５０ｈを生成する際に、タンパク質転置インデックス１５０ｉを生成する。このタンパク質転置インデックス１５０ｉを用いることで、タンパク質圧縮ファイル１５０ｈに含まれる各タンパク質の並びを、伸長することなく特定することができる。
【実施例２】
【０１０３】
図１５〜図１７は、本実施例２に係る特定装置の処理を説明するための図である。まず、図１５について説明する。特定装置の共起集計部２６０ｃは、タンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉと、一次構造辞書２５０ａとを基にして、一次構造ＨＭＭ２５０ｂおよび一次構造辞書インデックス２５０ｃを生成する。
【０１０４】
タンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉに関する説明は、実施例１で説明したタンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉに関する説明と同様である。
【０１０５】
一次構造辞書２５０ａは、タンパク質の一次構造の符号と、タンパク質符号配列とを対応付ける情報である。以下の説明では、タンパク質の一次構造を、単に「一次構造」と表記する。タンパク質符号配列は、複数のタンパク質の符号を配列した情報である。タンパク質の一次構造に応じてタンパク質（タンパク質の符号）の組み合わせはそれぞれ異なり、一次構造に対応するタンパク質の数も一定ではない。
【０１０６】
共起集計部２６０ｃは、タンパク質転置インデックス１５０ｉを基にして、タンパク質圧縮ファイル１５０ｈに含まれるタンパク質の組み合わせを特定する。また、共起集計部２６０ｃは、タンパク質の組み合わせ（タンパク質符号配列）と、一次構造辞書２５０ａのタンパク質符号配列とを比較して、タンパク質圧縮ファイル１５０ｈに含まれる一次構造の符号を特定する処理を繰り返し実行する。
【０１０７】
共起集計部２６０ｃは、上記処理を繰り返し実行していく過程で、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造に対応するタンパク質符号配列の「切れ目」を、一次構造辞書インデックス２５０ｃに設定する。
【０１０８】
たとえば、タンパク質符号配列「02h8028h・・03h02h80F5h・03h」において、タンパク質符号配列「02h8028h・・03h」が、一次構造の符号「F00000h」に対応するタンパク質符号配列である。また、タンパク質符号配列「02h80F5h・03h」が、一次構造の符号「F00001h」に対応するタンパク質符号配列である。この場合には、タンパク質符号配列「02h8028h・・03h」と「02h80F5h・03h」との間が「切れ目」となる。一次構造辞書インデックス２５０ｃにおいて、各切れ目は、タンパク質圧縮ファイル１５０ｈの先頭からのオフセットで示される。本実施例２では一例として、切れ目を後続のタンパク質符号配列の先頭の符号のオフセットで示す。上記の例では後続の「02h80F5h・03h」の先頭の符号＜02h＞のオフセットが、切れ目のオフセットとなる。
【０１０９】
なお、共起集計部２６０ｃが、上記処理を行う過程において、タンパク質圧縮ファイル１５０ｈのあるオフセットからのタンパク質符号配列が、一次構造辞書２５０ａに含まれる長さの異なる複数のタンパク質符号配列に一致する場合もある。
【０１１０】
たとえば、図１６に示すように、タンパク質圧縮ファイル１５０ｈのある切れ目のオフセットＰからオフセットＮＣまでのタンパク質符号配列が、一次構造Ｃの符号に対応し、かつ、オフセットＰからオフセットＮＤまでのタンパク質符号配列が、一次構造Ｄの符号と一致する場合がある。
【０１１１】
この場合には、共起集計部２６０ｃは、オフセットＰ〜Ｐ＋ＮＣのタンパク質符号配列を一次構造Ｃの符号とし、オフセットＰ＋ＮＣ＋１を切れ目として、上記処理を繰り返し実行する。また、共起集計部２６０ｃは、オフセットＰ〜Ｐ＋ＮＤのタンパク質符号配列をタンパク質Ｂの符号とし、オフセットＰ＋ＮＤ＋１を切れ目として、上記処理を繰り返し実行する。
【０１１２】
共起集計部２６０ｃは、上記処理により特定した各一次構造（一次構造のタンパク質符号配列）について、一次構造の終端に含まれるアミノ酸の組み合わせを集計し、あるアミノ酸の組み合わせと、一次構造の符号との共起率を算出する。たとえば、あるアミノ酸の組み合わせＥが、タンパク質圧縮ファイル１５０ｈにおいて、ＭＥ回出現したとする。そして、アミノ酸の組み合わせＥを終端とする一次構造のうち、一次構造Ｆの出現回数がＬＦ回の場合には、アミノ酸の組み合わせＥと、一次構造Ｆとの共起率は「ＬＦ／ＭＥ×１００」となる。共起集計部２６０ｃは、各アミノ酸の組み合わせについて、共起率を算出する処理を繰り返し実行することで、一次構造ＨＭＭ２５０ｂを生成する。一次構造ＨＭＭ２５０ｂは、一次構造の終端のアミノ酸の組み合わせと、一次構造との共起率を定義した情報である。
【０１１３】
なお、共起集計部２６０ｃは、図８に示したタンパク質辞書に定義されたタンパク質の符号と、アミノ酸符号配列との関係を基にして、一次構造の終端に含まれるアミノ酸の組み合わせを特定してもよい。
【０１１４】
図１７の説明に移行する。特定装置の符号化部２６０ｄは、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉ、一次構造辞書２５０ａ、一次構造辞書インデックス２５０ｃ、一次構造ＨＭＭ２５０ｂを基にして、一次構造圧縮ファイル２５０ｄおよび一次構造転置インデックス２５０ｅを生成する。符号化部２６０ｄは「特定部」の一例である。
【０１１５】
符号化部２６０ｄは、一次構造辞書インデックス２５０ｃを基にして、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造のタンパク質符号配列の切れ目を特定する。符号化部２６０ｄは、各切れ目の間のタンパク質符号配列と、一次構造辞書２５０ａとを基にして、各切れ目の符号を先頭とするタンパク質符号配列に対応する一次構造の符号を特定し、タンパク質符号配列を、一次構造の符号に変換する。
【０１１６】
符号化部２６０ｄは、一次構造の（切れ目）に続くタンパク質符号配列が、複数の一次構造のタンパク質符号配列に該当する場合には、一次構造ＨＭＭ２５０ｂを基にして、該当する複数の一次構造のうち、最も共起率の高い一次構造を特定する。符号化部２６０ｄは、切れ目に続くタンパク質符号配列を、特定した一次構造の符号に変換する。符号化部２６０ｄは、上記処理を繰り返し実行することで、一次構造圧縮ファイル２５０ｄを生成する。
【０１１７】
たとえば、符号化部２６０ｄの処理を、図１６を用いて説明する。一例として、オフセットＰを先頭とするタンパク質符号配列が、一次構造Ｃに対応するタンパク質符号配列と、一次構造Ｄに対応するタンパク質符号配列に対応するものとする。この場合、符号化部２６０ｄは、一次構造ＣのオフセットＮＣを終端とするアミノ酸の組み合わせ、および、一次構造Ｃの共起率ＣＯ１と、一次構造ＤのオフセットＮＤを終端とするアミノ酸の組み合わせ、および、一次構造Ｄの共起率ＣＯ２とを比較する。
【０１１８】
符号化部２６０ｄは、共起率ＣＯ１が、共起率ＣＯ２よりも大きい場合には、オフセットＰを先頭とするタンパク質符号配列は、一次構造Ｃに対応するタンパク質符号配列であると特定し、オフセットＰ〜ＮＣまでのタンパク質符号配列を、一次構造Ｃの符号に変換する。符号化部２６０ｄは、オフセットＮＣを先頭とするタンパク質符号配列について、上記処理を繰り返し実行する。
【０１１９】
一方、符号化部２６０ｄは、共起率ＣＯ２が、共起率ＣＯ１よりも大きい場合には、オフセットＰを先頭とするタンパク質符号配列は、一次構造Ｄに対応するタンパク質符号配列であると特定し、オフセットＰ〜ＮＤまでのタンパク質符号配列を、一次構造Ｄの符号に変換する。符号化部２６０ｄは、オフセットＮＤを先頭とするタンパク質符号配列について、上記処理を繰り返し実行する。
【０１２０】
符号化部２６０ｄは、一次構造圧縮ファイル２５０ｄを生成する際に、一次構造転置インデックス２５０ｅを生成する。一次構造転置インデックス２５０ｅは、一次構造圧縮ファイル２５０ｄの先頭からのオフセットと、一次構造の符号とを対応付ける情報である。
【０１２１】
上記のように、本実施例２に係る特定装置は、タンパク質圧縮ファイル１５０ｈに含まれる一次構造と、この一次構造の終端に含まれるアミノ酸の組み合わせとの共起率を算出することで、一次構造ＨＭＭ２５０ｂを生成する。特定装置は、一次構造ＨＭＭ２５０ｂを用いることで、タンパク質圧縮ファイル１５０ｈのタンパク質符号配列に含まれる各一次構造を適切に特定することができる。また、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造を特定することで、タンパク質圧縮ファイル１５０ｈを、一次構造単位で符号化することができる。
【０１２２】
次に、本実施例２に係る特定装置２００の構成の一例について説明する。図１８は、本実施例２に係る特定装置の構成を示す機能ブロック図である。図１８に示すように、この特定装置２００は、通信部２１０、入力部２２０、表示部２３０、記憶部２５０、制御部２６０を有する。
【０１２３】
通信部２１０、入力部２２０、表示部２３０に関する説明は、実施例１で説明した通信部１１０、入力部１２０、表示部１３０に関する説明と同様である。
【０１２４】
記憶部２５０は、塩基ファイル１５０ａ、変換テーブル１５０ｂ、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄを有する。記憶部２５０は、タンパク質辞書１５０ｅ、タンパク質ＨＭＭ１５０ｆ、辞書インデックス１５０ｇ、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉを有する。記憶部２５０は、一次構造辞書２５０ａ、一次構造ＨＭＭ２５０ｂ、一次構造辞書インデックス２５０ｃ、一次構造圧縮ファイル２５０ｄ、一次構造転置インデックス２５０ｅを有する。記憶部２５０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【０１２５】
塩基ファイル１５０ａ、変換テーブル１５０ｂ、コドン圧縮ファイル１５０ｃ、コドン転置インデックス１５０ｄに関する説明は、実施例１で説明したものと同様である。タンパク質辞書１５０ｅ、タンパク質ＨＭＭ１５０ｆ、辞書インデックス１５０ｇ、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉに関する説明は、実施例１で説明したものと同様である。
【０１２６】
一次構造辞書２５０ａは、一次構造の符号と、タンパク質符号配列とを対応付ける情報である。図１９は、一次構造辞書のデータ構造の一例を示す図である。図１９に示すように、この一次構造辞書２５０ａは、一次構造情報と、タンパク質符号配列とを対応付ける。
【０１２７】
一次構造情報には、一次構造の「符号」と、一次構造の属する「グループ」と、一次構造の「名称」とが含まれる。タンパク質符号配列は、一次構造の符号（一次構造の種別）に対応する、タンパク質の符号の配列である。
【０１２８】
たとえば、一次構造「α一次配列」は、グループ「Ｇ１」に属し、符号は「F00000h」となる。また、符号「F00000h」に対応するタンパク質符号配列は「02h8028h・・・03h」となる。
【０１２９】
一次構造ＨＭＭ２５０ｂは、一次構造の終端のアミノ酸の組み合わせと、一次構造との共起率を定義した情報である。図２０は、一次構造ＨＭＭのデータ構造の一例を示す図である。図２０に示すように、この一次構造ＨＭＭ２５０ｂは、アミノ酸組み合わせ情報と、共起一次構造情報とを対応付ける。
【０１３０】
アミノ酸組み合わせ情報には、アミノ酸の組み合わせに対応する各「符号」と、アミノ酸の組み合わせに含まれる各アミノ酸の「名称」とを対応付ける。共起一次構造情報には、一次構造の符号と、共起率とがそれぞれ対応付けられる。たとえば、一次構造ＨＭＭ２５０ｂの１行目のレコードについて説明する。終端のアミノ酸の組み合わせ「47h41h50h」と、一次構造の符号「F08028h」との共起率は「78%」である。終端のアミノ酸の組み合わせ「47h41h50h」と、一次構造の符号「F08132h」との共起率は「63%」である。終端のアミノ酸の組み合わせ「47h41h50h」と、一次構造の符号「F080F5h」との共起率は「51%」である。
【０１３１】
一次構造辞書インデックス２５０ｃは、タンパク質転置インデックス１５０ｉに含まれる各タンパク質符号配列（一次構造に対応するタンパク質符号配列のかたまり）の切れ目のオフセットを保持する情報である。たとえば、一次構造辞書インデックス２５０ｃにおいて、各切れ目は、タンパク質圧縮ファイル１５０ｈの先頭からのオフセットで示される。本実施例２では一例として、切れ目を、後続のタンパク質符号配列の先頭のタンパク質の符号のオフセットで示す。
【０１３２】
一次構造圧縮ファイル２５０ｄは、複数の一次構造の符号が配列された情報を保持するファイルである。一次構造圧縮ファイル２５０ｄは、後述する符号化部２６０ｄにより生成される。その他の一次構造圧縮ファイル２５０ｄの説明は、図１７で説明した、一次構造圧縮ファイル２５０ｄの説明と同様である。
【０１３３】
一次構造転置インデックス２５０ｅは、一次構造圧縮ファイル２５０ｄの先頭からのオフセットと、一次構造の種別（一次構造の符号）とを対応付ける情報である。図２１は、一次構造転置インデックスのデータ構造の一例を示す図である。図２１において、一次構造転置インデックス２５０ｅの横軸は、オフセットに対応する軸である。一次構造転置インデックスの縦軸は、一次構造の種別（一次構造の符号）に対応する軸である。一次構造転置インデックス２５０ｅは、「０」または「１」のビットマップで示され、初期状態では全てのビットマップが「０」に設定される。
【０１３４】
たとえば、一次構造圧縮ファイル２５０ｄの先頭の一次構造の符号のオフセットを「０」とする。一次構造圧縮ファイル２５０ｄの先頭から９番目の位置に、一次構造の符号「F00000h（α一次配列）」が含まれる場合、一次構造転置インデックス２５０ｅのオフセット「８」の列と、一次構造の符号「F00000h（α一次配列）」の行とが交差する位置のビットが「１」となる。
【０１３５】
図１８の説明に戻る。制御部２６０は、取得部２６０ａと、前処理部２６０ｂと、共起集計部２６０ｃと、符号化部２６０ｄとを有する。制御部２６０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２６０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【０１３６】
取得部２６０ａは、通信部２１０を介して、ネットワークに接続された外部装置（図示略）から、各種の情報を取得する処理部である。たとえば、取得部２６０ａは、外部装置から、塩基ファイル１５０ａを取得した場合、塩基ファイル１５０ａを、記憶部２５０に格納する。なお、取得部２６０ａは、塩基ファイル１５０ａがＺＩＰ等で圧縮されている場合、圧縮された塩基ファイル１５０ａを伸長する。
【０１３７】
前処理部２６０ｂは、実施例１で説明した第１符号化部１６０ｂ、共起集計部１６０ｃ、第２符号化部１６０ｄに対応する処理部である。前処理部２６０ｂが、第１符号化部１６０ｂ、共起集計部１６０ｃ、第２符号化部１６０ｄに対応する処理を実行することで、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉを生成する。
【０１３８】
共起集計部２６０ｃは、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉ、一次構造辞書２５０ａを基にして、一次構造ＨＭＭ２５０ｂ、一次構造辞書インデックス２５０ｃを生成する処理部である。
【０１３９】
共起集計部２６０ｃは、タンパク質転置インデックス１５０ｉを基にして、タンパク質圧縮ファイル１５０ｈに含まれる一次構造の種別および位置を特定する。一次構造は、所定のタンパク質の組み合わせ（タンパク質符号配列）であり、一次構造に対応するタンパク質符号配列は、一次構造辞書２５０ａに定義される。
【０１４０】
共起集計部２６０ｃは、ある一次構造に含まれるタンパク質のビットマップを、タンパク質転置インデックス１５０ｉから抽出し、左シフト、ＡＮＤ演算を繰り返し実行することで、ある一次構造の位置を特定する。共起集計部２６０ｃが実行する左シフト、ＡＮＤ演算に関する説明は、実施例１で説明した共起集計部１６０ｃと同様である。共起集計部２６０ｃが、上記処理を繰り返し実行することで、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造をそれぞれ特定する。
【０１４１】
共起集計部２６０ｃが、上記処理を行う過程において、タンパク質圧縮ファイル１５０ｈのあるオフセットからのタンパク質符号配列が、一次構造辞書２５０ａに含まれる長さの異なる複数のタンパク質符号配列と一致する場合もある。
【０１４２】
たとえば、図１６で説明したように、タンパク質圧縮ファイル１５０ｈのある切れ目のオフセットＰからオフセットＮＣまでのタンパク質符号配列が、一次構造Ｃの符号に対応し、かつ、オフセットＰからオフセットＮＤまでのタンパク質符号配列が、一次構造Ｄの符号と一致する場合がある。
【０１４３】
この場合には、共起集計部２６０ｃは、オフセットＰ〜Ｐ＋ＮＣのタンパク質符号配列を一次構造Ｃの符号とし、一次構造辞書インデックス２５０ｃのオフセットＰ＋ＮＣ＋１にフラグ「１」を立てる。また、共起集計部２６０ｃは、オフセットＰ〜Ｐ＋ＮＤのタンパク質符号配列を一次構造Ｄの符号とし、一次構造辞書インデックス２５０ｃのオフセットＰ＋ＮＤ＋１にフラグ「１」を設定する。共起集計部２６０ｃは、上記処理を繰り返し実行することで、一次構造辞書インデックス２５０ｃを生成する。
【０１４４】
続いて、共起集計部２６０ｃが、一次構造ＨＭＭ２５０ｂを生成する処理の一例について説明する。共起集計部２６０ｃは、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造の符号を、一次構造辞書を基にそれぞれ特定する。また、共起集計部２６０ｃは、一次構造毎に、一次構造の終端に含まれるアミノ酸の組み合わせを集計する。
【０１４５】
たとえば、あるアミノ酸の組み合わせＥが、タンパク質圧縮ファイル１５０ｈにおいて、ＭＥ回出現したとする。そして、アミノ酸の組み合わせＥを終端とする一次構造のうち、一次構造Ｆの出現回数がＬＦ回の場合には、アミノ酸の組み合わせＥと、一次構造Ｆとの共起率は「ＬＦ／ＭＥ×１００」となる。共起集計部２６０ｃは、各アミノ酸の組み合わせについて、共起率を算出する処理を繰り返し実行することで、一次構造ＨＭＭ２５０ｂを生成する。なお、共起集計部２６０ｃは、タンパク質辞書１５０ｅを基にして、タンパク質に対応するアミノ酸符号配列（アミノ酸の組み合わせ）を特定するものとする。
【０１４６】
共起集計部２６０ｃが、アミノ酸の組み合わせを特定する終端の部分は、終端から先頭の方向に所定数のアミノ酸までの部分とする。終端の部分は、予め設定されていてもよい。
【０１４７】
符号化部２６０ｄは、タンパク質圧縮ファイル１５０ｈ、タンパク質転置インデックス１５０ｉ、一次構造辞書２５０ａ、一次構造辞書インデックス２５０ｃ、一次構造ＨＭＭ２５０ｂを基にして、一次構造圧縮ファイル２５０ｈおよび一次構造転置インデックス２５０ｅを生成する。
【０１４８】
符号化部２６０ｄは、一次構造辞書インデックス２５０ｇを基にして、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造のタンパク質符号配列の切れ目を特定する。符号化部２６０ｄは、各切れ目の間のタンパク質符号配列と、一次構造辞書２５０ａとを基にして、各切れ目の間のタンパク質符号配列に対応する一次構造の符号を特定し、タンパク質符号配列を、一次構造の符号に変換する。
【０１４９】
符号化部２６０ｄは、一次構造の符号（切れ目）に続くタンパク質符号配列が、複数の一次構造の符号に該当する場合には、一次構造ＨＭＭ２５０ｂを基にして、該当する複数の一次構造の符号のうち、最も共起率の高い一次構造を特定する。符号化部２６０ｄは、切れ目に続くタンパク質符号配列を、特定した一次構造の符号に変換する。符号化部２６０ｄは、上記処理を繰り返し実行することで、一次構造圧縮ファイル２５０ｄを生成する。
【０１５０】
たとえば、符号化部２６０ｄの処理を、図１６を用いて説明する。オフセットＰを先頭とするタンパク質符号配列が、一次構造Ｃに対応するタンパク質符号配列と、一次構造Ｄに対応するタンパク質符号配列に対応するものとする。この場合、符号化部２６０ｄは、一次構造ＣのオフセットＮＣを終端とするアミノ酸の組み合わせ、および、一次構造Ｃの共起率ＣＯ１と、一次構造ＤのオフセットＮＤを終端とするアミノ酸の組み合わせ、および、一次構造Ｄの共起率ＣＯ２とを比較する。
【０１５１】
符号化部２６０ｄは、共起率ＣＯ１が、共起率ＣＯ２よりも大きい場合には、オフセットＰを先頭とするタンパク質符号配列は、一次構造Ｃに対応するタンパク質符号配列であると特定し、オフセットＰ〜ＮＣまでのタンパク質符号配列を、一次構造Ｃの符号に変換する。符号化部２６０ｄは、オフセットＮＣを先頭とするタンパク質符号配列について、上記処理を繰り返し実行する。
【０１５２】
一方、符号化部２６０ｄは、共起率ＣＯ２が、共起率ＣＯ１よりも大きい場合には、オフセットＰを先頭とするタンパク質符号配列は、一次構造Ｄに対応するタンパク質符号配列であると特定し、オフセットＰ〜ＮＤまでのタンパク質符号配列を、一次構造Ｄの符号に変換する。符号化部２６０ｄは、オフセットＮＤを先頭とするタンパク質符号配列について、上記処理を繰り返し実行する。
【０１５３】
符号化部２６０ｄは、一次構造圧縮ファイル２５０ｄを生成する際に、一次構造転置インデックス２５０ｅを生成する。一次構造転置インデックス２５０ｅは、一次構造圧縮ファイル２５０ｄの先頭からのオフセットと、一次構造の符号とを対応付ける情報である。
【０１５４】
次に、本実施例２に係る特定装置２００の処理手順の一例について説明する。図２２は、本実施例２に係る特定装置の処理手順を示すフローチャートである。図２２に示すように、特定装置２００の前処理部２６０ｂは、前処理を実行することで、タンパク質圧縮ファイル１５０ｈおよびタンパク質転置インデックス１５０ｉを生成する（ステップＳ２０１）。ステップＳ２０１の前処理は、実施例１の図１４で説明した処理に対応する。
【０１５５】
特定装置２００の共起集計部２６０ｃは、一次構造辞書２５０ａと、タンパク質圧縮ファイル１５０ｈに含まれるタンパク質符号配列とを基にして、タンパク質圧縮ファイル１５０ｈに含まれる一次構造を特定する（ステップＳ２０２）。
【０１５６】
共起集計部２６０ｃは、タンパク質圧縮ファイル１５０ｈにおいて、各一次構造の切れ目のオフセットを一次構造辞書２５０ａに登録する（ステップＳ２０３）。共起集計部２６０ｃは、一次構造と、一次構造の終端に含まれるアミノ酸の組み合わせを集計する（ステップＳ２０４）。共起集計部２６０ｃは、集計結果を基にして、一次構造ＨＭＭ２５０ｂを生成する（ステップＳ２０５）。
【０１５７】
特定装置２００の符号化部２６０ｄは、一次構造辞書インデックス２５０ｃを基にして、タンパク質圧縮ファイル１５０ｈから、一次構造と、一次構造の終端（アミノ酸の組み合わせ）を特定する（ステップＳ２０６）。
【０１５８】
符号化部２６０ｄは、一次構造ＨＭＭ２５０ｂを基にして、共起率が最大となる一次構造を特定する（ステップＳ２０７）。符号化部２６０ｄは、一次構造転置インデックス２５０ｅを更新する（ステップＳ２０８）。
【０１５９】
符号化部２６０ｄは、タンパク質圧縮ファイル１５０ｈの終端に到達した場合には（ステップＳ２０９，Ｙｅｓ）、処理を終了する。一方、符号化部２６０ｄは、タンパク質圧縮ファイル１５０ｈの終端に到達していない場合には（ステップＳ２０９，Ｎｏ）、ステップＳ２０６に移行する。
【０１６０】
次に、本実施例２に係る特定装置２００の効果について説明する。特定装置２００は、タンパク質圧縮ファイル１５０ｈに含まれる一次構造と、この一次構造の終端に含まれるアミノ酸の組み合わせとの共起率を算出することで、一次構造ＨＭＭ２５０ｂを生成する。特定装置２００は、一次構造ＨＭＭ２５０ｂを用いることで、タンパク質圧縮ファイル１５０ｈのタンパク質符号配列に含まれる各一次構造を適切に特定することができる。また、タンパク質圧縮ファイル１５０ｈに含まれる各一次構造を特定することで、タンパク質圧縮ファイル１５０ｈを、一次構造単位で符号化することができる。
【０１６１】
次に、本実施例に示した特定装置２００（１００）と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２３は、本実施例に係る特定装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１６２】
図２３に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置３０５とを有する。コンピュータ３００は、各種情報を一時記憶するＲＡＭ３０６と、ハードディスク装置３０７とを有する。そして、各装置３０１〜３０７は、バス３０８に接続される。
【０１６３】
ハードディスク装置３０７は、取得プログラム３０７ａ、前処理プログラム３０７ｂ、共起集計プログラム３０７ｃ、符号化プログラム３０７ｄを有する。ＣＰＵ３０１は、取得プログラム３０７ａ、前処理プログラム３０７ｂ、共起集計プログラム３０７ｃ、符号化プログラム３０７ｄを読み出してＲＡＭ３０６に展開する。
【０１６４】
取得プログラム３０７ａは、取得プロセス３０６ａとして機能する。前処理プログラム３０７ｂは、前処理プロセス３０６ｂとして機能する。共起集計プログラム３０７ｃは、共起集計プロセス３０６ｃとして機能する。符号化プログラム３０７ｄは、符号化プロセス３０６ｄとして機能する。
【０１６５】
取得プロセス３０６ａの処理は、取得部２６０ａの処理に対応する。前処理プロセス３０６ｂの処理は、前処理部２６０ｂの処理に対応する。前処理部２６０ｂの処理は、第１符号化部１６０ｂ、共起集計部１６０ｃ、第２符号化部１６０ｄの処理に対応する。共起集計プロセス３０６ｃの処理は、共起集計部２６０ｃの処理に対応する。符号化プロセス３０６ｄの処理は、符号化部２６０ｄの処理に対応する。
【０１６６】
なお、各プログラム３０７ａ〜３０７ｄについては、必ずしも最初からハードディスク装置３０７に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ３００が各プログラム３０７ａ〜３０７ｄを読み出して実行するようにしてもよい。
【０１６７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６８】
（付記１）コンピュータが実行する特定方法であって、
複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得し、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、
特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する
処理を実行することを特徴とする特定方法。
【０１６９】
（付記２）前記特定する処理によって特定された一次構造と、一次構造および符号を対応付けた一次構造辞書とを基にして、前記タンパク質ファイルを一次構造単位で圧縮することで、一次構造圧縮ファイルを生成する処理を更に実行することを特徴とする付記１に記載の特定方法。
【０１７０】
（付記３）前記タンパク質圧縮ファイルの先頭からのオフセットと、一次構造の種別とを対応付けた一次構造転置インデックスを生成する処理を更に実行することを特徴とする付記２に記載の特定方法。
【０１７１】
（付記４）コンピュータが実行する特定方法であって、
複数のコドンが配列されたコドンファイルを取得し、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、
特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する
処理を実行することを特徴とする特定方法。
【０１７２】
（付記５）前記特定する処理により特定されたタンパク質と、タンパク質およびタンパク質の符号を対応付けたタンパク質辞書とを基にして、前記コドンファイルをタンパク質単位で圧縮することで、タンパク質圧縮ファイルを生成する処理を更に実行することを特徴とする付記４に記載の特定方法。
【０１７３】
（付記６）前記タンパク質圧縮ファイルの先頭からのオフセットと、タンパク質の種別とを対応付けたタンパク質転置インデックスを生成する処理を更に実行することを特徴とする付記５に記載の特定方法。
【０１７４】
（付記７）塩基配列を含む塩基ファイルと、複数の塩基配列で特定されるコドンの符号とを対応付けた変換テーブルを基にして、前記塩基ファイルをコドン単位で圧縮することで、前記コドンファイルを生成する処理を更に実行することを特徴とする付記４、５または６に記載の特定方法。
【０１７５】
（付記８）前記コドンファイルの先頭からのオフセットと、コドンの種別とを対応付けたコドン転置インデックスを更に生成する処理を更に実行することを特徴とする付記７に記載の特定方法。
【０１７６】
（付記９）コンピュータに、
複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得し、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、
特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する
処理を実行させることを特徴とする特定プログラム。
【０１７７】
（付記１０）前記特定する処理によって特定された一次構造と、一次構造および符号を対応付けた一次構造辞書とを基にして、前記タンパク質ファイルを一次構造単位で圧縮することで、一次構造圧縮ファイルを生成する処理を更に実行することを特徴とする付記９に記載の特定プログラム。
【０１７８】
（付記１１）前記タンパク質圧縮ファイルの先頭からのオフセットと、一次構造の種別とを対応付けた一次構造転置インデックスを生成する処理を更に実行することを特徴とする付記１０に記載の特定プログラム。
【０１７９】
（付記１２）コンピュータに、
複数のコドンが配列されたコドンファイルを取得し、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、
特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する
処理を実行させることを特徴とする特定プログラム。
【０１８０】
（付記１３）前記特定する処理により特定されたタンパク質と、タンパク質およびタンパク質の符号を対応付けたタンパク質辞書とを基にして、前記コドンファイルをタンパク質単位で圧縮することで、タンパク質圧縮ファイルを生成する処理を更に実行することを特徴とする付記１２に記載の特定プログラム。
【０１８１】
（付記１４）前記タンパク質圧縮ファイルの先頭からのオフセットと、タンパク質の種別とを対応付けたタンパク質転置インデックスを生成する処理を更に実行することを特徴とする付記１３に記載の特定プログラム。
【０１８２】
（付記１５）塩基配列を含む塩基ファイルと、複数の塩基配列で特定されるコドンの符号とを対応付けた変換テーブルを基にして、前記塩基ファイルをコドン単位で圧縮することで、前記コドンファイルを生成する処理を更に実行することを特徴とする付記１２、１３または１４に記載の特定プログラム。
【０１８３】
（付記１６）前記コドンファイルの先頭からのオフセットと、コドンの種別とを対応付けたコドン転置インデックスを更に生成する処理を更に実行することを特徴とする付記１５に記載の特定プログラム。
【０１８４】
（付記１７）複数のアミノ酸で構成される複数のタンパク質が配列されたタンパク質ファイルを取得する取得部と、
前記タンパク質ファイルに含まれるいずれかの位置を開始位置とする複数の一次構造の候補を特定し、特定した複数の一次構造の候補において、一次構造および前記一次構造の終端に位置する各アミノ酸の組み合わせと、一次構造および前記一次構造の終端に位置するアミノ酸の所定の組み合わせの共起率を、異なる一次構造毎に対応付けた一次構造テーブルとに基づき、前記複数の一次構造の候補のうち、一つの一次構造を特定する特定部と
を有することを特徴とする特定装置。
【０１８５】
（付記１８）前記特定部は、特定した一次構造と、一次構造および符号を対応付けた一次構造辞書とを基にして、前記タンパク質ファイルを一次構造単位で圧縮することで、一次構造圧縮ファイルを生成する処理を更に実行することを特徴とする付記１７に記載の特定装置。
【０１８６】
（付記１９）前記特定部は、前記タンパク質圧縮ファイルの先頭からのオフセットと、一次構造の種別とを対応付けた一次構造転置インデックスを生成する処理を更に実行することを特徴とする付記１８に記載の特定装置。
【０１８７】
（付記２０）複数のコドンが配列されたコドンファイルを取得する取得部と、
前記コドンファイルに含まれるいずれかの位置を開始位置とする複数のタンパク質の候補を特定し、特定した複数のタンパク質の候補に含まれる各タンパク質および前記開始位置の前のタンパク質の組み合わせと、コドン配列によって特定されるタンパク質において、あるタンパク質に後続するタンパク質の出現頻度が定義されたタンパク質テーブルとに基づき、前記複数のタンパク質の候補のうち、一つのタンパク質を特定する特定部と
を有することを特徴とする特定装置。
【０１８８】
（付記２１）前記特定部は、前記特定する処理により特定されたタンパク質と、タンパク質およびタンパク質の符号を対応付けたタンパク質辞書とを基にして、前記コドンファイルをタンパク質単位で圧縮することで、タンパク質圧縮ファイルを生成する処理を更に実行することを特徴とする付記２０に記載の特定装置。
【０１８９】
（付記２２）前記特定部は、前記タンパク質圧縮ファイルの先頭からのオフセットと、タンパク質の種別とを対応付けたタンパク質転置インデックスを生成する処理を更に実行することを特徴とする付記２１に記載の特定装置。
【０１９０】
（付記２３）前記特定部は、塩基配列を含む塩基ファイルと、複数の塩基配列で特定されるコドンの符号とを対応付けた変換テーブルを基にして、前記塩基ファイルをコドン単位で圧縮することで、前記コドンファイルを生成する処理を更に実行することを特徴とする付記２０、２１または２２に記載の特定装置。
【０１９１】
（付記２４）前記特定部は、前記コドンファイルの先頭からのオフセットと、コドンの種別とを対応付けたコドン転置インデックスを更に生成する処理を更に実行することを特徴とする付記２３に記載の特定装置。
【符号の説明】
【０１９２】
１００，２００    特定装置
１１０，２１０    通信部
１２０，２２０    入力部
１３０，２３０    表示部
１５０，２５０    記憶部
１５０ａ  塩基ファイル
１５０ｂ  変換テーブル
１５０ｃ  コドン圧縮ファイル
１５０ｄ  コドン転置インデックス
１５０ｅ  タンパク質辞書
１５０ｆ  タンパク質ＨＭＭ
１５０ｇ  辞書インデックス
１５０ｈ  タンパク質圧縮ファイル
１５０ｉ  タンパク質転置インデックス
１６０    制御部
１６０ａ，２６０ａ  取得部
１６０ｂ  第１符号化部
１６０ｃ，２６０ｃ  共起集計部
１６０ｄ  第２符号化部
２５０ａ  一次構造辞書
２５０ｂ  一次構造ＨＭＭ
２５０ｃ  一次構造辞書インデックス
２５０ｄ  一次構造圧縮ファイル
２５０ｅ  一次構造転置インデックス
２６０    制御部
２６０ｄ  符号化部
【図１】
2020140514.tif 000003
【図２】
2020140514.tif 000004
【図３】
2020140514.tif 000005
【図４】
2020140514.tif 000006
【図５】
2020140514.tif 000007
【図６】
2020140514.tif 000008
【図７】
2020140514.tif 000009
【図８】
2020140514.tif 000010
【図９】
2020140514.tif 000011
【図１０】
2020140514.tif 000012
【図１１】
2020140514.tif 000013
【図１２】
2020140514.tif 000014
【図１３】
2020140514.tif 000015
【図１４】
2020140514.tif 000016
【図１５】
2020140514.tif 000017
【図１６】
2020140514.tif 000018
【図１７】
2020140514.tif 000019
【図１８】
2020140514.tif 000020
【図１９】
2020140514.tif 000021
【図２０】
2020140514.tif 000022
【図２１】
2020140514.tif 000023
【図２２】
2020140514.tif 000024
【図２３】
2020140514.tif 000025
【図２４】
2020140514.tif 000026
【図２５】
2020140514.tif 000027