(57)【要約】  情報処理装置（１００）は、基準コドン配列データに含まれるコドンと、分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する。情報処理装置（１００）は、コドンが不一致となる配列位置を基準としたコドンに後続する複数のコドンを特定する。情報処理装置（１００）は、突然変異の種別を、あるコドンに突然変異が生じることであるコドンの配列位置を基準としたコドンに後続する複数のコドンに対応付けて記憶する記憶部を参照する。情報処理装置（１００）は、複数のコドンに対応づけられた突然変異の種別を特定する。
2020049748.tif 000002
【特許請求の範囲】
【請求項１】
基準コドン配列データと、分析対象コドン配列データとを取得し、
取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
処理をコンピュータが実行することを特徴とする特定方法。
【請求項２】
前記記憶部は、被変異コドンを、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶し、
前記記憶部と、特定された突然変異の種別と、特定された前記複数の配列位置にそれぞれ位置するコドンとを比較して、前記被変異コドンを特定する処理を更に実行することを特徴とする請求項１に記載の特定方法。
【請求項３】
前記被変異コドンを基にして、前記分析対象コドン配列データを修正し、修正したコドン配列データと、前記基準コドン配列データとを比較して、不一致となるコドンを特定する処理を更に実行することを特徴とする請求項２に記載の特定方法。
【請求項４】
前記突然変異の種別を特定する処理は、前記被変異コドンと、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも一つ後ろのコドンとが一致する場合に、前記突然変異の種別が塩基挿入であると判定することを特徴とする請求項２に記載の特定方法。
【請求項５】
前記突然変異の種別を特定する処理は、前記被変異コドンが、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも二つ後ろのコドンと一致する場合に、前記突然変異の種別が塩基欠失であると判定することを特徴とする請求項４に記載の特定方法。
【請求項６】
前記突然変異の種別を特定する処理は、前記突然変異の種別が前記塩基挿入でなく、かつ、前記塩基欠失でないと判定した場合には、前記突然変異の種別が塩基置換であると判定することを特徴とする請求項５に記載の特定方法。
【請求項７】
基準コドン配列データと、分析対象コドン配列データとを取得し、
前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成し、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【請求項８】
分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記第１配列データのコドン単位の符号をアミノ酸単位の符号に変換する処理を更に実行し、前記特定する処理は、符号化された前記アミノ酸配列データと、変換された前記第１配列データとを基にして、不一致となる符号の位置を特定することを特徴とする請求項７に記載の特定方法。
【請求項９】
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、
取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【請求項１０】
前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項９に記載の特定方法。
【請求項１１】
コンピュータに、
基準コドン配列データと、分析対象コドン配列データとを取得し、
取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
処理を実行させることを特徴とする特定プログラム。
【請求項１２】
前記記憶部は、被変異コドンを、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶し、
前記記憶部と、特定された突然変異の種別と、特定された前記複数の配列位置にそれぞれ位置するコドンとを比較して、前記被変異コドンを特定する処理を更に実行することを特徴とする請求項１１に記載の特定プログラム。
【請求項１３】
前記被変異コドンを基にして、前記分析対象コドン配列データを修正し、修正したコドン配列データと、前記基準コドン配列データとを比較して、不一致となるコドンを特定する処理を更に実行することを特徴とする請求項１２に記載の特定プログラム。
【請求項１４】
前記突然変異の種別を特定する処理は、前記被変異コドンと、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも一つ後ろのコドンとが一致する場合に、前記突然変異の種別が塩基挿入であると判定することを特徴とする請求項１２に記載の特定プログラム。
【請求項１５】
前記突然変異の種別を特定する処理は、前記被変異コドンが、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも二つ後ろのコドンと一致する場合に、前記突然変異の種別が塩基欠失であると判定することを特徴とする請求項１４に記載の特定プログラム。
【請求項１６】
前記突然変異の種別を特定する処理は、前記突然変異の種別が前記塩基挿入でなく、かつ、前記塩基欠失でないと判定した場合には、前記突然変異の種別が塩基置換であると判定することを特徴とする請求項１５に記載の特定プログラム。
【請求項１７】
コンピュータに、
基準コドン配列データと、分析対象コドン配列データとを取得し、
前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成し、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項１８】
分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記第１配列データのコドン単位の符号をアミノ酸単位の符号に変換する処理を更に実行し、前記特定する処理は、符号化された前記アミノ酸配列データと、変換された前記第１配列データとを基にして、不一致となる符号の位置を特定することを特徴とする請求項１７に記載の特定プログラム。
【請求項１９】
コンピュータに、
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、
取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項２０】
前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項１９に記載の特定プログラム。
【請求項２１】
基準コドン配列データと、分析対象コドン配列データとを取得し、取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する比較部と、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する特定部と
を有することを特徴とする情報処理装置。
【請求項２２】
前記記憶部は、被変異コドンを、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶し、
特定部は、前記記憶部と、特定された突然変異の種別と、特定された前記複数の配列位置にそれぞれ位置するコドンとを比較して、前記被変異コドンを特定する処理を更に実行することを特徴とする請求項２１に記載の情報処理装置。
【請求項２３】
特定部は、前記被変異コドンを基にして、前記分析対象コドン配列データを修正し、修正したコドン配列データと、前記基準コドン配列データとを比較して、不一致となるコドンを特定する処理を更に実行することを特徴とする請求項２２に記載の情報処理装置。
【請求項２４】
特定部は、前記被変異コドンと、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも一つ後ろのコドンとが一致する場合に、前記突然変異の種別が塩基挿入であると判定することを特徴とする請求項２２に記載の情報処理装置。
【請求項２５】
前記特定部は、前記被変異コドンが、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも二つ後ろのコドンと一致する場合に、前記突然変異の種別が塩基欠失であると判定することを特徴とする請求項２４に記載の情報処理装置。
【請求項２６】
前記特定部は、前記突然変異の種別が前記塩基挿入および前記塩基欠失でないと判定した場合には、前記突然変異の種別が塩基置換であると判定することを特徴とする請求項２５に記載の情報処理装置。
【請求項２７】
基準コドン配列データと、分析対象コドン配列データとを取得し、前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成する符号化部と、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する特定部と
を有することを特徴とする情報処理装置。
【請求項２８】
前記符号化部は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記第１配列データのコドン単位の符号をアミノ酸単位の符号に変換する処理を更に実行し、前記特定部は、符号化された前記アミノ酸配列データと、変換された前記第１配列データとを基にして、不一致となる符号の位置を特定することを特徴とする請求項２７に記載の情報処理装置。
【請求項２９】
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成する生成部と、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する特定部と
を有することを特徴とする情報処理装置。
【請求項３０】
前記生成部は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記特定部は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項２９に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定方法等に関する。
【背景技術】
【０００２】
近年、生物のＤＮＡ（deoxyribonucleic  acid）およびＲＮＡ（ribonucleic  acid）を構成する塩基配列を解析することで、新型ウィルスの影響力を予測し、ワクチンなどが開発されている。また、癌などの突然変異（点突然変異）や遺伝子変異の遺伝子の異常を検出したり、病気の発生リスクを診断したりする研究が行われている。【０００３】
ＤＮＡおよびＲＮＡの塩基は４種類で、「Ａ」、「Ｇ」、「Ｃ」、「Ｔ」または「Ｕ」の記号で示される。また、３つの塩基配列がひとかたまりで、２０種類のアミノ酸を決定する。それぞれのアミノ酸は、「Ａ」〜「Ｙ」の記号で示される。図３５は、アミノ酸と塩基、およびコドンとの関係を示す図である。なお、３つの塩基配列のかたまりは「コドン」と呼ばれる。各塩基の並びで、コドンが決定され、コドンが決定されるとアミノ酸が決定される。【０００４】
図３５に示すように、一つのアミノ酸に対して、複数種類のコドンが対応付けられる。このためコドンが決まると、アミノ酸が決まるが、アミノ酸が決まっても、コドンが一意に特定されるものではない。たとえば、アミノ酸「アラニン（Ala）」は、コドン「ＧＣＵ」、「ＧＣＣ」、「ＧＣＡ」、または、「ＧＣＧ」に対応付けられる。【０００５】
従来技術では、新型ウィルスを分析する場合に、ＦＡＳＴＡやＢＬＡＳＴが用いられる。ＦＡＳＴＡやＢＬＡＳＴでは、塩基配列をアミノ酸の記号に翻訳して、アミノ酸を比較の単位として、相同性検索を行い、過去に発見されたウィルスとの類似性を判定する。図３６は、相同性検索で使用するスコア行列を示す図である。【０００６】
また、従来技術では、癌などの突然変異を分析する場合、「塩基挿入」、「塩基失欠」、「塩基置換」の突然変異を判定し、突然変異による配列のフレームシフトを判定し、さらに、変異点以降に潜在する遺伝子変異を検出している。【０００７】
図３７は、突然変異のフレームシフトを判定する従来技術の一例を示す図である。突然変異のフレームシフトについては、精度を向上するため、Smith-watermanアルゴリズを利用し、塩基の単位にて、局所アライメントの判定が行われる。Smith-watermanアルゴリズは、式（１）を利用する。従来技術では、初期化を行った後に、式（１）の最大スコアＦ（ｉ，ｊ）を図３７の行列中から探索し、探索した場所から０が到達されたセルに到達するまでトレースバックする。【０００８】
【数１】
2020049748.tif 000003
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】国際公開第２００９／０１３９１０号
【特許文献２】特開２００２−１３２７８１号公報
【特許文献３】特開２００４−３５５５２２号公報
【特許文献４】国際公開第２００８／１０８２９７号
【特許文献５】特表２０１５−５３６１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した従来技術では、突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異の検出に要する時間が長いという問題がある。また、検索（照合）を高速化するためには、塩基配列を分割する必要があるという問題点がある。【００１１】
従来技術では、癌などの突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異を検出する場合、精度の向上を図るため、塩基の単位で局所アライメントを判定するため、速度が低下する。一方、ゲノム検索は、テキスト検索と比較すると、塩基に対し、ポインタ型転置インデックスのサイズが膨大になるため、インデックスよる検索ができず、低速である。速度低下を抑えるため、塩基データを分割し、並行処理でオートマトン照合を行っているが、管理の複雑化や操作性の低下などの分割損が生じている。【００１２】
１つの側面では、本発明は、突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異の検出に要する時間を短縮することができる特定方法、特定プログラムおよび情報処理装置を提供することを目的とする。また、１つの側面では、本発明は、塩基配列を分割せずに検索や分析の高速化を図ることができる特定方法、特定プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
第１の案では、コンピュータは、次の処理を実行する。コンピュータは、基準コドン配列データと、分析対象コドン配列データとを取得する。コンピュータは、取得した基準コドン配列データに含まれるコドンと、取得した分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する。コンピュータは、比較の結果に基づき、分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定する。コンピュータは、あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、あるコドンに突然変異が生じることであるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する。
【発明の効果】
【００１４】
突然変異のフレームシフトの種別判定や遺伝子変異の検出などに要する時間を短縮することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例１に係る情報処理装置の処理を説明するための図（１）である。
【図２】図２は、本実施例１に係る情報処理装置の処理を説明するための図（２）である。
【図３】図３は、本実施例１に係る情報処理装置の処理を説明するための図（３）である。
【図４】図４は、本実施例１に係る情報処理装置の処理を説明するための図（４）である。
【図５】図５は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。
【図６】図６は、基準コドン配列データのデータ構造の一例を示す図である。
【図７】図７は、分析対象コドン配列データのデータ構造の一例を示す図である。
【図８】図８は、コード変換テーブルのデータ構造の一例を示す図である。
【図９】図９は、第１配列データのデータ構造の一例を示す図である。
【図１０】図１０は、第２配列データのデータ構造の一例を示す図である。
【図１１】図１１は、挿入遷移テーブルのデータ構造の一例を示す図である。
【図１２Ａ】図１２Ａは、挿入遷移テーブルの遷移テーブル５０Ｕのデータ構造を示す図である。
【図１２Ｂ】図１２Ｂは、挿入遷移テーブルの遷移テーブル５０Ｃのデータ構造を示す図である。
【図１２Ｃ】図１２Ｃは、挿入遷移テーブルの遷移テーブル５０Ａのデータ構造を示す図である。
【図１２Ｄ】図１２Ｄは、挿入遷移テーブルの遷移テーブル５０Ｇのデータ構造を示す図である。
【図１３】図１３は、欠失遷移テーブルのデータ構造の一例を示す図である。
【図１４Ａ】図１４Ａは、欠失遷移テーブルの遷移テーブル５５Ｕのデータ構造を示す図である。
【図１４Ｂ】図１４Ｂは、欠失遷移テーブルの遷移テーブル５５Ｃのデータ構造を示す図である。
【図１４Ｃ】図１４Ｃは、欠失遷移テーブルの遷移テーブル５５Ａのデータ構造を示す図である。
【図１４Ｄ】図１４Ｄは、欠失遷移テーブルの遷移テーブル５５Ｇのデータ構造を示す図である。
【図１５】図１５は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。
【図１６】図１６は、本実施例２に係る情報処理装置の処理を説明するための図（１）である。
【図１７】図１７は、本実施例２に係る情報処理装置の処理を説明するための図（２）である。
【図１８】図１８は、本実施例２に係る情報処理装置の処理を説明するための図（３）である。
【図１９】図１９は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図２０】図２０は、本実施例２に係る情報処理装置の処理手順を示すフローチャート（１）である。
【図２１Ａ】図２１Ａは、コドン・アミノ酸変換テーブルのデータ構造の一例を示す図である。
【図２１Ｂ】図２１Ｂは、本実施例２に係る情報処理装置のその他の処理を説明するための図である。
【図２２】図２２は、本実施例２に係る情報処理装置の処理手順を示すフローチャート（２）である。
【図２３】図２３は、本実施例３に係る情報処理装置の処理を説明するための図（１）である。
【図２４】図２４は、本実施例３に係る情報処理装置の処理を説明するための図（２）である。
【図２５】図２５は、本実施例３に係る情報処理装置の構成を示す機能ブロック図である。
【図２６】図２６は、転置インデックスをハッシュ化する処理の一例を説明するための図である。
【図２７】図２７は、転置インデックスを復元する処理の一例を示す図である。
【図２８】図２８は、本実施例３に係る特定部の処理を説明するための図である。
【図２９】図２９は、本実施例３に係る情報処理装置の処理手順を示すフローチャート（１）である。
【図３０】図３０は、本実施例３に係る特定部が点突然変異のオフセットを特定する処理を示すフローチャートである。
【図３１】図３１は、本実施例３に係る情報処理装置のその他の処理を説明するための図である。
【図３２】図３２は、本実施例３に係る情報処理装置の処理手順を示すフローチャート（２）である。
【図３３】図３３は、本実施例１、２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図３４】図３４は、本実施例３に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図３５】図３５は、コドンとアミノ酸との関係を示す図である。
【図３６】図３６は、相同性検索で使用するスコア行列を示す図である。
【図３７】図３７は、突然変異のフレームシフトを判定する従来技術の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本発明にかかる特定方法、特定プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１７】
図１〜図４は、本実施例１に係る情報処理装置の処理を説明するための図である。情報処理装置は、下記の処理を行うことで、分析対象の塩基配列に発生した点突然変異を特定する。点突然変異には「塩基挿入」、「塩基欠失」、「塩基置換」が含まれる。本実施例１では、コドン単位に示される、正常な塩基配列の情報を「基準コドン配列データ」と表記する。コドン単位に示される、分析対象の塩基配列の情報を「分析対象コドン配列データ」と表記する。【００１８】
図１について説明する。情報処理装置は、基準コドン配列データ２０Ａと、分析対象コドン配列データ２０Ｂとをコドン単位で先頭から順に比較する。情報処理装置は、基準コドン配列データ２０Ａと、分析対象コドン配列データ２０Ｂとを比較すると、配列位置Ｐ２０以降のコドンが異なっていることを特定する。これにより、情報処理装置は、分析対象コドン配列データ２０Ｂに、突然変異が存在すると判定する。以下の説明では、基準コドン配列データと、分析対象コドン配列データとを先頭から順に比較し、コドンが異なる配置位置を「変異位置」と表記し、それぞれのコドンを「被変異コドン」、「変異コドン」と表記する。【００１９】
図２について説明する。情報処理装置は、分析対象コドン配列データ２０Ｂに、突然変異が存在すると判定すると、分析対象コドン配列データ２０Ｂに含まれるコドンから、変異コドンと、後続する２つのコドンとを特定する。後続する２つのコドンを「変異ｎコドン」（ｎは１以上の整数）、「変異ｎ＋１コドン」と表記する。たとえば、図２において、変異コドンを「ＧＵＣ」とすると、変異１コドンは「ＣＡＡ」となり、変異２コドンは「ＧＵＧ」となる。【００２０】
情報処理装置は、挿入遷移テーブル１４０ｆと、変異コドンに後続する２つの変異ｎコドンと変異ｎ＋１コドンとをもとに、被変異コドンの次の被変異ｎコドンを特定する。なお、ｎは１以上の整数である。被変異コドンの次のコドンを「被変異ｎコドン（塩基挿入）」と表記する。挿入遷移テーブル１４０ｆは、変異コドンに後続する２つのコドンと、塩基挿入前の被変異コドンの次の１つのコドンとを対応付けるテーブルである。挿入遷移テーブル１４０ｆの被変異ｎコドンと、基準コドン配列データの変異位置の次のコドンとが一致する場合には、分析対象コドン配列データに発生した点突然変異が「塩基挿入」となる。【００２１】
図２に示す例では、挿入遷移テーブル１４０ｆにおいて、変異コドン「ＧＵＣ」に後続する変異ｎコドン「ＣＡＡ」と変異ｎ＋１コドン「ＧＵＧ」とに対応する被変異ｎコドンは「ＡＡＧ」である。情報処理装置は、基準コドン配列データ２０Ａの基準位置Ｐ２０の次のコドン「ＡＡＧ」と、被変異ｎコドン（挿入）「ＡＡＧ」とを比較すると、一致する。このため、情報処理装置は、分析対象コドン配列データ２０Ｂに発生した点突然変異が「塩基挿入」であると判定する。【００２２】
なお、挿入遷移テーブル１４０ｆの変異ｎコドンと、基準コドン配列データの変異位置の次のコドンとが一致しない場合、分析対象コドン配列データに発生した点突然変異は「塩基欠失」または「塩基置換」である。【００２３】
図３について説明する。情報処理装置は、基準コドン配列データ３０Ａと、分析対象コドン配列データ３０Ｂとをコドン単位で先頭から順に比較する。情報処理装置は、基準コドン配列データ３０Ａと、分析対象コドン配列データ３０Ｂとを比較すると、配置位置（変異位置）Ｐ３０以降のコドンが異なっていることを特定する。これにより、情報処理装置は、分析対象コドン配列データ３０Ｂに、突然変異が存在すると判定する。【００２４】
図４について説明する。情報処理装置は、分析対象コドン配列データ３０Ｂに、突然変異が存在すると判定すると、分析対象コドン配列データ３０Ｂに含まれるコドンから、変異コドンと、後続する２つのコドンを特定する。たとえば、図４に示す例では、変異コドンは「ＵＣＡ」となる。後続する２つのコドンは「ＡＧＵ」「ＧＣＵ」となる。【００２５】
情報処理装置は、欠失遷移テーブル１４０ｇと、変異コドンに後続する２つのコドンとをもとに塩基欠失前の被変異コドンに後続する２つ目のコドンを特定する。後続する２つ目のコドンは「被変異ｎ＋１コドン（塩基欠失）」と表記する。欠失遷移テーブル１４０ｇは、変異コドンと、後続する２つのコドンと、塩基欠失前の被変異コドンに後続する２つ目のコドンとを対応付けるテーブルである。欠失遷移テーブル１４０ｇの被変異ｎ＋１コドンと、基準コドン配列データの変異位置に継続する２つ目のコドンとが一致する場合には、分析対象コドン配列データに発生した点突然変異が「塩基欠失」となる。【００２６】
図４に示す例では、欠失遷移テーブル１４０ｇにおいて、変異コドン「ＵＣＡ」と後続する２つのコドン「ＡＵＧ」「ＧＣＵ」とに対応する塩基欠失前の被変異ｎ＋１コドンは「ＵＧＣ」である。情報処理装置は、基準コドン配列データ３０Ａの変異位置Ｐ３０のコドン「ＵＵＵ」に後続する２つ目のコドン「ＵＧＣ」を比較すると、一致する。このため、情報処理装置は、分析対象コドン配列データ３０Ｂに発生した点突然変異が「塩基欠失」であると判定する。【００２７】
これまで、便宜上、被変異２コドン「ＵＧＣ」につき、欠失を判定する例を説明したが、被変異１コドン「ＡＡＧ」についても、欠失遷移テーブル１４０ｇを用いて、変異（０）コドン「ＵＣＡ」と変異１コドン「ＡＵＧ」から、被変異１コドン「ＡＡＧ」を参照することができ、欠失を判定することが可能である（なお、ｎは０以上の整数である。)。【００２８】
なお、欠失遷移テーブル１４０ｇの被変異ｎ＋１コドンと、基準コドン配列データの変異位置に後続する２つ目のコドンとが一致しない場合、分析対象コドン配列データに発生した点突然変異は「塩基挿入」または「塩基置換」である。【００２９】
一方、分析対象コドン配列データの変異コドンに後続する複数のコドンと基準コドン配列データの被変異コドンに後続する複数のコドンが一致する場合、分析対象コドン配列データに発生した点突然変異は「塩基置換」である。【００３０】
上記のように、本実施例１に係る情報処理装置は、基準コドン配列データと、分析対象コドン配列データとをコドン単位で比較して、不一致となるコドンを特定する。そして、情報処理装置は、不一致となる変異コドンに後続する２つのコドンをもとに、挿入遷移テーブル１４０ｆから被変異コドンの次のコドン、欠失遷移テーブル１４０ｇから、被変異コドンに後続する２つ目のコドンを取得し、分析対象コドン配列データに含まれる被変異コドンに後続するコドンと比較し、点突然変異の種別を特定する。これにより、一貫して、符号化されたコドン単位の比較によって、不一致コドンを特定しつつ、突然変異の種別を判定できるため、突然変異の種別判定に要する時間を短縮することができる。【００３１】
次に、本実施例１に係る情報処理装置の構成について説明する。図５は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。図５に示すように、情報処理装置１００は、通信部１１０、入力部１２０、表示部１３０、記憶部１４０、制御部１５０を有する。【００３２】
通信部１１０は、ネットワークを介して図示しない外部装置とデータ通信を実行する処理部である。通信部１１０は、通信装置の一例である。たとえば、情報処理装置１００は、ネットワークを介して外部装置から、基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ等の情報を受信してもよい。【００３３】
入力部１２０は、各種の情報を情報処理装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネルなどに対応する。【００３４】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。表示部１３０は、有機ＥＬ（electro-luminescence）ディスプレイ、液晶ディスプレイ、タッチパネル等に対応する。【００３５】
記憶部１４０は、基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ、コード変換テーブル１４０ｃ、第１配列データ１４０ｄ、第２配列データ１４０ｅを有する。また、記憶部１４０は、挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇ、検出結果テーブル１４０ｈを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００３６】
基準コドン配列データ１４０ａは、コドン単位に示される、正常な塩基配列の情報である。図６は、基準コドン配列データのデータ構造の一例を示す図である。図６に示すように、基準コドン配列データ１４０ａには、開始コドンから終止コドンまで、複数のコドンが配列されている。たとえば、開始コドンを「ＡＵＧ」とする。また、終止コドンを「ＵＧＡ」とする。【００３７】
分析対象コドン配列データ１４０ｂは、コドン単位に示される、分析対象となる塩基配列の情報である。図７は、分析対象コドン配列データのデータ構造の一例を示す図である。図７に示すように、分析対象コドン配列データ１４０ｂには、開始コドンから終止コドンまで、複数のコドンが配列されている。たとえば、開始コドンを「ＡＵＧ」とする。また、終止コドンを「ＵＧＡ」とする。【００３８】
コード変換テーブル１４０ｃは、コドンと、符号とを対応付けるテーブルである。図８は、コード変換テーブルのデータ構造の一例を示す図である。たとえば、コドン「ＵＵＵ」は、符号「４０ｈ（０１００００００）」に対応付けられる。ｈは１６進数を示す符号である。説明の便宜上、コドン「ＵＵＵ」を符号化したものを「ＵＵＵ（４０ｈ）」と表記する。他のコドンについても同様に、符号化したものを括弧によって示す。【００３９】
第１配列データ１４０ｄは、コード変換テーブル１４０ｃに基づき、基準コドン配列データ１４０ａを符号化した配列データである。図９は、第１配列データのデータ構造の一例を示す図である。図９に示すように、第１配列データ１４０ｄには、開始コドンから終止コドンまで、複数の符号化されたコドンが配列されている。【００４０】
第２配列データ１４０ｅは、コード変換テーブル１４０ｃに基づき、分析対象コドン配列データ１４０ｂを符号化した配列データである。図１０は、第２配列データのデータ構造の一例を示す図である。図１０に示すように、第２配列データ１４０ｅは、開始コドンから終止コドンまで、複数の符号化されたコドンが配列されている。【００４１】
挿入遷移テーブル１４０ｆは、変異コドンに後続する変異ｎコドン、変異ｎ＋１コドンと、塩基挿入前の被変異ｎコドンとを対応付けるテーブルである。図１１は、挿入遷移テーブルのデータ構造の一例を示す図である。図１１に示すように、挿入遷移テーブル１４０ｆは、遷移テーブル５０Ｕ，５０Ｃ，５０Ａ，５０Ｇを有する。【００４２】
遷移テーブル５０Ｕは、各変異ｎコドンと、変異ｎ＋１コドン（Ｕからはじまるコドン）と、塩基挿入前の被変異ｎコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１２Ａは、挿入遷移テーブルの遷移テーブル５０Ｕのデータ構造を示す図である。ｉ行目ｊ列目の変異ｎコドンおよび変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基挿入前の被変異ｎコドンである。【００４３】
遷移テーブル５０Ｃは、各変異ｎコドンと、変異ｎ＋１コドン（Ｃからはじまるコドン）と、塩基挿入前の被変異ｎコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１２Ｂは、挿入遷移テーブルの遷移テーブル５０Ａのデータ構造を示す図である。ｉ行目ｊ列目の変異ｎコドンおよび変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基挿入前の被変異ｎコドンである。【００４４】
遷移テーブル５０Ａは、各変異ｎコドンと、変異ｎ＋１コドン（Ａからはじまるコドン）と、塩基挿入前の被変異ｎコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１２Ｃは、挿入遷移テーブルの遷移テーブル５０Ａのデータ構造を示す図である。ｉ行目ｊ列目の変異ｎコドンおよび変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基挿入前の被変異ｎコドンである。【００４５】
遷移テーブル５０Ｃは、各変異ｎコドンと、変異ｎ＋１コドン（Ｇからはじまるコドン）と、塩基挿入前の変異ｎコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１２Ｄは、挿入遷移テーブルの遷移テーブル５０Ｇのデータ構造を示す図である。ｉ行目ｊ列目の変異ｎコドンおよび変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基挿入前の被変異ｎコドンである。たとえば、１１行目２列目の変異ｎコドン「ＣＡＡ（５Ａｈ）」および変異ｎ＋１コドン「ＧＵＧ（７３ｈ）」に対応するコドンは、１１行目２列目の塩基挿入前の被変異ｎコドン「ＡＡＧ（６Ｂｈ）」となる。【００４６】
欠失遷移テーブル１４０ｇは、変異ｎコドンおよび各変異ｎ＋１コドンと、塩基欠失前の被変異ｎ＋１コドンとを対応付ける。図１３は、欠失遷移テーブルのデータ構造の一例を示す図である。図１３に示すように、欠失遷移テーブル１４０ｇは、遷移テーブル５５Ｕ，５５Ｃ，５５Ａ，５５Ｇを有する。【００４７】
遷移テーブル５５Ｕは、変異ｎコドン（末尾がＵとなるコドン）と、各変異ｎ＋１コドンと、塩基欠失前の被変異ｎ＋１コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１４Ａは、欠失遷移テーブルの遷移テーブル５５Ｕのデータ構造を示す図である。図１４Ａに示されるいずれかの変異ｎコドンおよびｉ行目ｊ列目の変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基欠失前の被変異ｎ＋１コドンである。たとえば、変異ｎコドン「ＡＧＵ（６Ｃｈ））」および５行目４列目の変異ｎ＋１コドン「ＧＣＵ（７４ｈ）」に対応するコドンは、５行目４列目の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」となる。【００４８】
遷移テーブル５５Ｃは、変異ｎコドン（末尾がＣとなるコドン）と、各変異ｎ＋１コドンと、塩基欠失前の被変異ｎ＋１コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１４Ｂは、欠失遷移テーブルの遷移テーブル５５Ｃのデータ構造を示す図である。図１４Ｂに示されるいずれかの変異ｎコドンおよびｉ行目ｊ列目の変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基欠失前ｎ＋１コドンである。【００４９】
遷移テーブル５５Ａは、変異ｎコドン（末尾がＡとなるコドン）と、各変異ｎ＋１コドンと、塩基欠失前の被変異ｎ＋１コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１４Ｃは、欠失遷移テーブルの遷移テーブル５５Ａのデータ構造を示す図である。図１４Ｃに示されるいずれかの変異ｎコドンおよびｉ行目ｊ列目の変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基欠失前ｎ＋１コドンである。【００５０】
遷移テーブル５５Ｇは、変異ｎコドン（末尾がＧとなるコドン）と、各変異ｎ＋１コドンと、塩基欠失前の被変異ｎ＋１コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図１４Ｄは、欠失遷移テーブルの遷移テーブル５５Ｇのデータ構造を示す図である。図１４Ｄに示されるいずれかの変異ｎコドンおよびｉ行目ｊ列目の変異ｎ＋１コドンに対応するコドンは、ｉ行目ｊ列目の塩基欠失前ｎ＋１コドンである。【００５１】
図５の説明に戻る。検出結果テーブル１４０ｈは、分析対象コドン配列データ１４０ｂから検出される点突然変異の情報を保持するテーブルである。【００５２】
制御部１５０は、受付部１５０ａ、符号化部１５０ｂ、比較部１５０ｃ、特定部１５０ｄを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００５３】
受付部１５０ａは、入力部１２０、外部装置等から、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを受け付ける処理部である。受付部１５０ａは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを記憶部１４０に登録する。【００５４】
また、受付部１５０ａは、入力部１２０、外部装置等から、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇを受け付けた場合には、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇを記憶部１４０に登録する。【００５５】
符号化部１５０ｂは、コード変換テーブル１４０ｃを基にして、基準コドン配列データ１４０ａおよび分析対象コドン配列データを符号化する処理部である。符号化部１５０ｂは、基準コドン配列データ１４０ａと、コード変換テーブル１４０ｃとを比較して、各コドンを符号化することで、第１配列データ１４０ｄを生成する。符号化部１５０ｂは、分析対象コドン配列データ１４０ｂと、コード変換テーブル１４０ｃとを比較して、各コドンを符号化することで、第２配列データ１４０ｅを生成する。符号化部１５０ｂは、第１配列データ１４０ｄおよび第２配列データ１４０ｅを、記憶部１４０に格納する。【００５６】
図８に示したように、コード変換テーブル１４０ｃにより、各コドンには、１バイトのコードが割り当てられる。たとえば、コドン「ＵＵＵ」は「４０ｈ（０１００００００）」に変換される。符号化されたコドンを「ＵＵＵ（４０ｈ）」と表記する。【００５７】
比較部１５０ｃは、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較して、符号化されたコドンが不一致となる変異位置を特定する処理部である。上述したように、各コドンには１バイトのコードが割り当てられているため、比較部１５０ｃは、第１配列データ１４０ｄおよび第２配列データ１４０ｅについて、先頭から１バイトずつコードを読み出し、比較する処理を繰り返し実行する。【００５８】
比較部１５０ｃは、不一致となる変異位置を特定した場合には、比較結果を特定部１５０ｄに出力する。比較結果には、変異位置、第１の被変異コドン、第２の変異コドン、変異ｎコドン、変異ｎ＋１コドンの情報が含まれる。第１の被変異コドンは、第１配列データ１４０ｄに含まれる、変異位置の符号化されたコドンである。第２の変異コドンは、第２配列データ１４０ｅに含まれる、変異位置の符号化されたコドンである。変異ｎコドンは、第２の変異コドンの次のコドン（符号化されたコドン）である。変異ｎ＋１コドンは、第２の変異コドンの次の次のコドン（符号化されたコドン）である。【００５９】
なお、比較部１５０ｃは、第１配列データ１４０ｄと、第２配列データ１４０ｅとが一致する場合には、一致した旨の情報を、比較結果として特定部１５０ｄに出力する。【００６０】
特定部１５０ｄは、比較部１５０ｃの比較結果と、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇとを基にして、変異位置に発生した点突然変異の種別を特定する処理部である。【００６１】
特定部１５０ｄは、変異ｎコドンおよび変異ｎ＋１コドンと、挿入遷移テーブル１４０ｆとの比較により特定される塩基挿入前の被変異ｎコドンと、第１の被変異コドンの次のコドンとが一致する場合には、変異位置に発生した点突然変異の種別を「塩基挿入」とする。【００６２】
たとえば、比較結果に含まれる情報を、第１の被変異ｎコドン「ＡＡＧ（６Ｂｈ）」、第２の変異ｎコドン「ＣＡＡ（５Ａｈ））」、変異ｎ＋１コドン「ＧＵＧ（７３ｈ）」とする。図１２Ｄで説明したように、変異ｎコドン「ＣＡＡ（５Ａｈ）」、変異ｎ＋１コドン「ＧＵＧ（７３ｈ）」に対応する塩基挿入前の被変異ｎコドンは「ＡＡＧ（６Ｂｈ）」である。特定部１５０ｄは、塩基挿入前の被変異ｎコドン「ＡＡＧ（６Ｂｈ）」が、第１の被変異コドンの次のコドン「ＡＡＧ（６Ｂｈ）」と一致するため、変異位置に発生した点突然変異の種別を「塩基挿入」とする。【００６３】
これに対して、特定部１５０ｄは、変異ｎコドンおよび変異ｎ＋１コドンと、挿入遷移テーブル１４０ｆとの比較により特定される塩基挿入前の被変異ｎコドンと、第１の被変異コドンの次のコドンとが一致しない場合には、変異位置に発生した点突然変異の種別から「塩基挿入」を除外する。【００６４】
特定部１５０ｄは、変異ｎコドンおよび変異ｎ＋１コドンと、欠失遷移テーブル１４０ｇとの比較により特定される塩基欠失前の被変異ｎ＋１コドンと、第１の被変異コドンの次の次のコドンとが一致する場合には、変異位置に発生した点突然変異の種別を「塩基欠失」とする。【００６５】
たとえば、比較結果に含まれる情報を、第１の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」、第２の変異ｎコドン「ＡＧＵ（６Ｃｈ）」、変異ｎ＋１コドン「ＧＣＵ（７４ｈ）」とする。図１４Ａで説明したように、変異ｎコドン「ＡＧＵ（６Ｃｈ）」、変異ｎ＋１コドン「ＧＣＵ（７４ｈ））」に対応する塩基欠失前の被変異ｎ＋１コドンは「ＵＧＣ（４Ｄｈ）」である。特定部１５０ｄは、塩基欠失前の被変異コドン「ＵＧＣ（４Ｄｈ）」が、第１の被変異コドンの次の次のコドン「ＵＧＣ（４Ｄｈ）」と一致するため、基準位置に発生した点突然変異の種別を「塩基欠失」とする。【００６６】
これに対して、特定部１５０ｄは、変異ｎコドンおよび変異ｎ＋１コドンと、欠失遷移テーブル１４０ｇとの比較により特定される塩基欠失前の被変異ｎ＋１コドンと、第１の被変異コドンの次の次のコドンとが一致しない場合には、変異位置に発生した点突然変異の種別から「塩基欠失」を除外する。【００６７】
ところで、特定部１５０ｄは、挿入遷移テーブル１４０ｆを用いた特定および欠失遷移テーブル１４０ｇを用いた特定により、点突然変異の種別から「塩基挿入」および「塩基欠失」が除外された場合には、変異位置に発生した点突然変異の種別を「塩基置換」とする。【００６８】
特定部１５０ｄは、変異位置と、点突然変異の種別とを対応付けた情報を、検出結果テーブル１４０ｈに登録する。なお、特定部１５０ｄは、比較結果に、一致した旨の情報が含まれている場合には、異常がない旨の情報を、検出結果テーブル１４０ｈに登録する。情報処理装置１００は、検出結果テーブル１４０ｈの情報を、ネットワークを介して、外部装置に通知してもよいし、表示部１３０に出力して表示させてもよい。【００６９】
次に、本実施例１に係る情報処理装置１００の処理手順の一例について説明する。図１５は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。図１５に示すように情報処理装置１００の受付部１５０ａは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを受け付ける（ステップＳ１０１）。【００７０】
情報処理装置１００の符号化部１５０ｂは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを符号化し、第１配列データ１４０ｄおよび第２配列データ１４０ｅを生成する（ステップＳ１０２）。【００７１】
情報処理装置１００の比較部１５０ｃは、コドン（１バイト）単位に、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較し、不一致となる変異位置を特定する（ステップＳ１０３）。比較部１５０ｃは、変異位置に基づき、第１配列データ１４０ｄの第１の被変異コドン、被変異ｎコドン、被変異ｎ＋１コドン、第２配列データ１４０ｅの第２の変異コドン、変異ｎコドン、変異ｎ＋１コドンを特定する（ステップＳ１０４）。【００７２】
情報処理装置１００の特定部１５０ｄは、挿入遷移テーブル１４０ｆにおいて、変異ｎコドン、変異ｎ＋１コドンから特定される塩基挿入前の被変異ｎコドンが、第１の被変異コドンの次のコドンと一致するか否かを判定する（ステップＳ１０５）。特定部１５０ｄは、一致する場合には（ステップＳ１０５，Ｙｅｓ）、点突然変異の種別を「塩基挿入」と特定する（ステップＳ１０６）。一方、特定部１５０ｄは、一致しない場合には（ステップＳ１０５，Ｎｏ）、ステップＳ１０７に移行する。【００７３】
ステップＳ１０７について説明する。特定部１５０ｄは、欠失遷移テーブル１４０ｇにおいて、変異ｎコドン、変異ｎ＋１コドンから特定される塩基挿入前の被変異ｎコドンが、第１の被変異コドンの次の次のコドンと一致するか否かを判定する（ステップＳ１０７）。特定部１５０ｄは、一致する場合には（ステップＳ１０７，Ｙｅｓ）、点突然変異の種別を「塩基欠失」と特定する（ステップＳ１０８）。【００７４】
一方、特定部１５０ｄは、一致しない場合には（ステップＳ１０７，Ｎｏ）、点突然変異の種別を「塩基置換」と特定する（ステップＳ１０９）。【００７５】
特定部１５０ｄは、特定した突然変異の種別の情報を、検出結果テーブル１４０ｈに登録する（ステップＳ１１０）。情報処理装置１００は、検出結果テーブル１４０ｈを、表示部１３０に出力する（ステップＳ１１１）。【００７６】
次に、本実施例１に係る情報処理装置１００の効果について説明する。情報処理装置１００は、第１配列データ１４０ｄと、第２配列データ１４０ｅとを１バイトのコドン単位で比較して、不一致となるコドン（符号化されたコドン）を特定する。そして、情報処理装置１００は、不一致となるコドンを変異位置とする遷移先のコドンと、挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇとの比較により、分析対象コドン配列データに含まれる点突然変異の種別を特定する。これにより、一貫して、符号化されたコドン単位の比較によって、不一致コドンを特定しつつ、突然変異の種別を判定できるため、突然変異の種別判定に要する時間を短縮することができる。
【実施例２】
【００７７】
図１６〜図１８は、本実施例２に係る情報処理装置の処理を説明するための図である。図１６では、点突然変異「塩基挿入」を検出した場合の処理について説明する。本実施例２に係る情報処理装置は、実施例１の情報処理装置１００と同様にして、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較することで、不一致となる、変異位置Ｐ４０を特定する。情報処理装置は、変異位置Ｐ４０に基づく、変異コドン「ＧＵＣ（７１ｈ）」につき、変異ｎコドン「ＣＡＡ（５Ａｈ）」、変異ｎ＋１コドン「ＧＵＧ（７３ｈ）」と、挿入遷移テーブル１４０ｆとを比較して、塩基挿入前の被変異ｎコドン「ＡＡＧ（６８ｈ）」を特定する。情報処理装置は、変異コドンの次のコドン「ＣＡＡ（５Ａｈ）」を、塩基挿入前の被変異ｎコドン「ＡＡＧ（６８ｈ）」に置き換えることで、修正を行う。【００７８】
情報処理装置は、変異位置Ｐ４０を、次のコドンの配列位置に移動させる。移動させた配列位置Ｐ４１とする。情報処理装置は、配列位置Ｐ４１につき、変異ｎコドン「ＧＵＧ（７３ｈ）」と変異ｎ＋１コドン「ＣＡＵ（４８ｈ）」と挿入遷移テーブル１４０ｆとを比較して、塩基挿入前の被変異ｎコドン「ＵＧＣ（４Ｄｈ）」を特定する。情報処理装置は、変異コドンの次のコドン「ＧＵＧ（７３ｈ）を、塩基挿入前の被変異コドンの次のコドン「ＵＧＣ（４Ｄｈ）」に置き換えることで、修正を行う。【００７９】
情報処理装置は、上記のように、配列位置を移動させつつ、変異ｎコドンを塩基挿入前の被変異ｎコドンに置き換える処理を繰り返し実行することで、第３配列データ２４０ｅを生成する。【００８０】
情報処理装置は、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄとの符号化されたコドンを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図１６に示す例では、情報処理装置は、配列位置Ｐ４２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ４３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【００８１】
図１７は、点突然変異「塩基欠失」を検出した場合の処理について説明する。本実施例２に係る情報処理装置は、実施例１の情報処理装置１００と同様にして、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較することで、不一致となる、変異位置Ｐ５０を特定する。情報処理装置は、変異位置Ｐ５０の、変異コドン「ＵＣＡ（４０ｈ）」につき、変異ｎコドン「ＡＵＧ（６３ｈ）」、変異ｎ＋１コドン「ＧＣＵ（７４ｈ）」と、欠失遷移テーブル１４０ｇとを比較して、塩基欠失前の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」を特定する。情報処理装置は、変異コドンの次の次のコドン「ＧＣＵ（７４ｈ）」を、塩基挿入前の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」に置き換えることで、修正を行う。【００８２】
図示を省略するが、情報処理装置は、変異位置Ｐ５０を、次のコドンの配列位置に移動させる。情報処理装置は、新たな配置位置に基づく、変異ｎコドン、変異ｎ＋１コドンと欠失遷移テーブル１４０ｇとを比較して、塩基欠失前の被変異ｎ＋１コドンを特定する。情報処理装置は、変異ｎ＋１コドンを、塩基欠失前被変異ｎ＋１コドンに置き換えることで、修正を行う。【００８３】
情報処理装置は、上記のように、配列位置を移動させつつ、変異ｎ＋１コドンを塩基欠失前被変異ｎ＋１コドンに置き換える処理を繰り返し実行することで、第３配列データ２４０ｅを生成する。【００８４】
情報処理装置は、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄの符号化されたコドンとを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図１７に示す例では、情報処理装置は、配列位置Ｐ５２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ５３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【００８５】
図１８では、点突然変異「塩基置換」を検出した場合の処理について説明する。本実施例２に係る情報処理装置は、実施例１の情報処理装置１００と同様にして、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較することで、不一致となる、変異位置Ｐ６０を特定する。情報処理装置は、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇを用いて、点突然変異を「塩基置換」と判定したものとする。この場合には、情報処理装置は、第２配列データ１４０ｅの変異位置Ｐ６０の変異コドンの次の配列位置Ｐ６１のコドン以降を複写することで、第３配列データ２４０ｅを生成する。【００８６】
情報処理装置は、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄとの符号化されたコドンを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図１８に示す例では、情報処理装置は、配列位置Ｐ６２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ６３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【００８７】
上記のように、本実施例２に係る情報処理装置は、点突然変異の種別を特定した後に、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成し、第１配列データ１４０ｄと、第３配列データ２４０ｅとの相違するコドンを特定する。これにより、潜在的な遺伝子変異を検出することができる。【００８８】
次に、本実施例２に係る情報処理装置の構成について説明する。図１９は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。図１９に示すように、情報処理装置２００は、通信部１１０、入力部１２０、表示部１３０、記憶部２４０、制御部２５０を有する。ここで、通信部１１０、入力部１２０、表示部１３０に関する説明は、図５で説明した、通信部１１０、入力部１２０、表示部１３０に関する説明と同様である。【００８９】
記憶部２４０は、基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ、コード変換テーブル１４０ｃ、第１配列データ１４０ｄ、第２配列データ１４０ｅを有する。また、記憶部２４０は、挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇ、第３配列データ２４０ｅ、検出結果テーブル２４０ｈを有する。記憶部２４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【００９０】
記憶部２４０に含まれる基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ、コード変換テーブル１４０ｃ、第１配列データ１４０ｄ、第２配列データ１４０ｅの説明は、実施例１で説明したものと同様である。また、記憶部２４０に含まれる挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇの説明は、実施例１で説明したものと同様である。【００９１】
第３配列データ２４０ｅは、第２配列データ１４０ｅの符号化されたコドンのうち、点突然変異を含むコドンを、正常なコドンに修正した配列データである。【００９２】
検出結果テーブル２４０ｈは、分析対象コドン配列データ１４０ｂから検出される点突然変異および遺伝子変異の情報を保持するテーブルである。【００９３】
制御部２５０は、受付部１５０ａ、符号化部１５０ｂ、比較部１５０ｃ、特定部２５０ｄを有する。制御部２５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【００９４】
受付部１５０ａは、入力部１２０、外部装置等から、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを受け付ける処理部である。受付部１５０ａは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを記憶部２４０に登録する。その他の説明は、実施例１の受付部１５０ａの処理と同様である。【００９５】
符号化部１５０ｂは、コード変換テーブル１４０ｃを基にして、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを符号化する処理部である。その他の説明は、実施例１の符号化部１５０ｂの処理と同様である。【００９６】
比較部１５０ｃは、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較して、符号化されたコドンが不一致となる変異位置を特定する処理部である。比較部１５０ｃは、比較結果を、特定部２５０ｄに出力する。その他の説明は、実施例１の比較部１５０ｃの処理と同様である。【００９７】
特定部２５０ｄは、比較部１５０ｃの比較結果と、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇとを基にして、変異位置に発生した点突然変異の種別を特定する。特定部２５０ｄは、点突然変異の種別を特定すると、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成する。特定部２５０ｄは、第１配列データ１４０ｄと、第３配列データ２４０ｅとを比較して、遺伝子変異を検出する。特定部２５０ｄは、変異位置、点突然変異の種別、遺伝子変異の情報を、検出結果テーブル２４０ｈに登録する。【００９８】
特定部２５０ｄが、点突然変異の種別を特定する処理は、実施例１で説明した特定部１５０ｄの処理と同様である。以下では、点突然変異が「塩基挿入」、「塩基欠失」、「塩基置換」である場合に分けて、特定部２５０ｄの処理について説明する。【００９９】
点突然変異が「塩基挿入」である場合の特定部２５０ｄの処理について説明する。特定部２５０ｄは、図１６で説明したように、変異位置Ｐ４０に基づく、変異コドン「ＧＵＣ（７１ｈ）」につき、変異ｎコドン「ＣＡＡ（５Ａｈ）」、変異ｎ＋１コドン「ＧＵＧ（７３ｈ）」と、挿入遷移テーブル１４０ｆとを比較して、塩基挿入前の被変異ｎコドン「ＡＡＧ（６Ｂｈ）」を特定する。特定部２５０ｄは、被変異コドンの次のコドン「ＣＡＡ（５Ａｈ）」を、塩基挿入前の被変異ｎコドン「ＡＡＧ（６Ｂｈ）」に置き換えることで、修正を行う。【０１００】
特定部２５０ｄは、変異位置Ｐ４０を、次の配列位置に移動させる。移動させた配列位置Ｐ４１とする。特定部２５０ｄは、配列位置Ｐ４１につき、変異ｎコドン「ＧＵＧ（７３ｈ）」、変異ｎ＋１コドン「ＣＡＵ（４８ｈ）」と、挿入遷移テーブル１４０ｆとを比較して、塩基挿入前の被変異ｎコドン「ＵＧＣ（４Ｄｈ））」を特定する。特定部２５０ｄは、変異コドンの次の次のコドン「ＧＵＧ（７３ｈ）」を、塩基挿入前の被変異ｎコドン「ＵＧＣ（４Ｄｈ）」に置き換えることで、修正を行う。【０１０１】
特定部２５０ｄは、上記のように、配列位置を移動させつつ、変異ｎコドンを塩基挿入前の被変異ｎコドンに置き換える処理を繰り返し実行することで、第３配列データ２４０ｅを生成する。【０１０２】
特定部２５０ｄは、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄとの符号化されたコドンを比較して、相違するコドンを特定する。特定部２５０ｄは、相違するコドンを、潜在的な遺伝子変異として特定する。図１６に示す例では、情報処理装置は、配列位置Ｐ４２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ４３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【０１０３】
特定部２５０ｄは、点突然変異の種別「塩基挿入」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル２４０ｈに登録する。【０１０４】
点突然変異が「塩基欠失」である場合の特定部２５０ｄの処理について説明する。特定部２５０ｄは、図１７で説明したように、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較することで、不一致となる、変異位置Ｐ５０を特定する。特定部２５０ｄは、変異位置Ｐ５０に基づく、変異コドン「ＵＣＡ（４０ｈ）」につき、変異ｎコドン「ＡＧＵ（６３ｈ）」、変異ｎ＋１コドン「ＧＣＵ（７４ｈ）」と、欠失遷移テーブル１４０ｇとを比較して、塩基欠失前の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」を特定する。情報処理装置は、変異コドンの次の次のコドン「ＧＣＵ（７４ｈ）」を、塩基挿入前の被変異ｎ＋１コドン「ＵＧＣ（４Ｄｈ）」に置き換えることで、修正を行う。【０１０５】
図示を省略するが、特定部２５０ｄは、変異位置Ｐ５０を、次の配列位置に移動させる。特定部２５０ｄは、新たな配列位置に基づく、変異ｎコドンおよび変異ｎ＋１コドンと、欠失遷移テーブル１４０ｇとを比較して、塩基欠失前の被変異ｎ＋１コドンを特定する。特定部２５０ｄは、変異ｎ＋１コドンを、塩基欠失前の被変異ｎ＋１コドンに置き換えることで、修正を行う。【０１０６】
特定部２５０ｄは、上記のように、配列位置を移動させつつ、変異ｎ＋１コドンを塩基欠失前の被変異ｎ＋１コドンに置き換える処理を繰り返し実行することで、第３配列データ２４０ｅを生成する。【０１０７】
特定部２５０ｄは、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄの符号化されたコドンとを比較して、相違するコドンを特定する。特定部２５０ｄは、相違するコドンを、潜在的な遺伝子変異として特定する。図１７に示す例では、特定部２５０ｄは、配列位置Ｐ５２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ５３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【０１０８】
特定部２５０ｄは、点突然変異の種別「塩基欠失」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル２４０ｈに登録する。【０１０９】
点突然変異が「塩基置換」である場合の特定部２５０ｄの処理について説明する。特定部２５０ｄは、図１８で説明したように、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較することで、不一致となる、変異位置Ｐ６０を特定する。特定部２５０ｄは、挿入遷移テーブル１４０ｆおよび欠失遷移テーブル１４０ｇを用いて、点突然変異を「塩基置換」と判定したものとする。この場合には、特定部２５０ｄは、第２配列データ１４０ｅの変異位置Ｐ６０の変異コドンの次の配列位置Ｐ６１のコドン以降を複写することで、第３配列データ２４０ｅを生成する。【０１１０】
特定部２５０ｄは、第３配列データ２４０ｅの符号化されたコドンと、第１配列データ１４０ｄとの符号化されたコドンを比較して、相違するコドンを特定する。特定部２５０ｄは、相違するコドンを、潜在的な遺伝子変異として特定する。図１８に示す例では、特定部２５０ｄは、配列位置Ｐ６２のコドン「ＵＣＧ（４７ｈ）」と、配列位置Ｐ６３のコドン「ＡＡＡ（６Ａｈ）」を、遺伝子変異として特定する。【０１１１】
特定部２５０ｄは、点突然変異の種別「塩基置換」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル２４０ｈに登録する。【０１１２】
次に、本実施例２に係る情報処理装置２００の処理手順の一例について説明する。図２０は、本実施例２に係る情報処理装置の処理手順を示すフローチャート（１）である。図２０に示すように、情報処理装置２００の受付部１５０ａは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを受け付ける（ステップＳ２０１）。【０１１３】
情報処理装置２００の符号化部１５０ｂは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを符号化し、第１配列データ１４０ｄおよび第２配列データ１４０ｅを生成する（ステップＳ２０２）。【０１１４】
情報処理装置２００の比較部１５０ｃは、コドン（１バイト）単位に、第１配列データ１４０ｄと、第２配列データ１４０ｅとを比較し、不一致となる変異位置を特定する（ステップＳ２０３）。情報処理装置２００の特定部２５０ｄは、点突然変異の種別を特定する（ステップＳ２０４）。点突然変異の種別を特定する処理手順は、図１５のステップＳ１０５〜ステップＳ１０９で説明した処理手順に対応する。【０１１５】
特定部２５０ｄは、点突然変異の種別を基にして、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成する（ステップＳ２０５）。特定部２５０ｄは、第１配列データ１４０ｄと第３配列データ２４０ｅとを比較して、遺伝子変異を特定する（ステップＳ２０６）。【０１１６】
特定部２５０ｄは、特定した突然変異の種別および遺伝子変異の情報を検出結果テーブル２５０ｈに登録する（ステップＳ２０７）。情報処理装置２００は、検出結果テーブル２４０ｈを、表示部１３０に出力する（ステップＳ２０８）。【０１１７】
次に、本実施例２に係る情報処理装置２００の効果について説明する。情報処理装置２００は、第２配列データ１４０ｅに含まれる点突然変異の種別を特定すると、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成し、第１配列データ１４０ｄと、第３配列データ２４０ｅとの相違するコドンを特定する。これにより、点突然変異の種別の判定後も、一貫して、符号化されたコドン単位の比較によって、潜在的な遺伝子変異を検出することができる。【０１１８】
なお、本実施例２に係る情報処理装置２００は、便宜上、第３配列データ２４０ｅを生成し、第１配列データ１４０ｄと比較する方法を説明したが、これに限定されるものでは無い。情報処理装置２００は、第３配列データ２４０ｅを生成せず、第２配列データ１４０ｅをバイト単位に変換し、第１配列データ１４０ｄとバイト単位に比較することも可能である。【０１１９】
続いて、本実施例２に係る情報処理装置２００のその他の処理について説明する。情報処理装置２００は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データ１４０ａを符号化した第１配列データ１４０ｄを基にして、コドン・アミノ酸変換を行うことで、第４配列データ（図示略）を生成する。情報処理装置２００は、コドン・アミノ酸変換を行った第４配列データと、検索クエリのアミノ酸配列とを、アミノ酸の単位で比較し、変異位置を特定する。【０１２０】
図２１Ａは、コドン・アミノ酸変換テーブルのデータ構造の一例を示す図である。図２１Ａに示すように、コドン・アミノ酸変換テーブル２４０ｉは、符号化されたコドンと、符号化されたアミノ酸とが対応付けられる。たとえば、符号化されたコドン「ＵＵＵ（４０ｈ）」は、符号化されたアミノ酸「Ｐｈｅ（５０ｈ）」と対応付けられる。図１９において図示を省略するが、コドン・アミノ酸変換テーブル２４０ｉは、情報処理装置２００の記憶部２４０に格納される。【０１２１】
図２１Ｂは、本実施例２に係る情報処理装置のその他の処理を説明するための図である。図２１Ｂに示すように、情報処理装置２００は、第１配列データ１４０ｄと、コドン・アミノ酸変換テーブル２４０ｉとを比較して、符号化された各コドンを、符号化されたアミノ酸にそれぞれ変換することで、第４配列データ２４０ｊを生成する。たとえば、コドン「ＡＵＧ（６３ｈ）」は、アミノ酸「Ｍｅｔ（４Ｄｈ）」に変換される。図１９において図示を省略するが、第４配列データ２４０ｊは、情報処理装置２００の記憶部２４０に格納される。【０１２２】
情報処理装置２００は、第４配列データ２４０ｊと、第２配列データ１４０ｅとを比較して、不一致となる変異位置を特定する。図２１Ｂに示す例では、配列位置Ｐ２５以降のアミノ酸が異なっていると判定する。【０１２３】
次に、検索クエリの入力がアミノ酸配列の場合における、本実施例２に係る情報処理装置２００の処理手順の一例について説明する。図２２は、本実施例２に係る情報処理装置の処理手順を示すフローチャート（２）である。図２２に示すように、情報処理装置２００の受付部１５０ａは、基準コドン配列データを受け付ける（ステップＳ２１０）。情報処理装置２００の符号化部１５０ｂは、基準コドン配列データ１４０ａを符号化し、第１配列データ１４０ｄを生成する（ステップＳ２１１）。【０１２４】
受付部１５０ａは、分析対象アミノ酸配列データを受け付ける（ステップＳ２１２）。符号化部１５０ｂは、分析対象アミノ酸配列データを符号化し、第２配列データ１４０ｅを生成する（ステップＳ２１３）。ステップＳ２１３において、符号化部１５０ｂは、コード変換テーブル１４０ｃを基にして、分析対象アミノ酸配列データを、第２配列データ１４０ｅに変換する。具体的な説明は省略するが、コード変換テーブル１４０ｃは、アミノ酸と、符号化されたアミノ酸とを対応付けた情報を保持しているものとする。【０１２５】
情報処理装置２００の比較部１５０ｃは、コドン・アミノ酸変換テーブル２４０ｉを基にして、第１配列データ１４０ｄから、第４配列データ２４０ｊを生成する（ステップＳ２１４）。比較部１５０ｃは、アミノ酸単位に第４配列データ２４０ｊと第２配列データ１４０ｅとを比較し、変異位置を特定する（ステップＳ２１５）。【０１２６】
情報処理装置２００は、比較部１５０ｃにより特定された変異位置の情報を、検出結果テーブル２４０ｈに登録する（ステップＳ２１６）。情報処理装置２００は、検出結果テーブル２４０ｈを、表示部１３０に出力する（ステップＳ２１７）。【０１２７】
上記のように、情報処理装置２００は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データ１４０ａを符号化した第１配列データ１４０ｄを基にして、コドン・アミノ酸変換を行い、検索クエリと比較する。これにより、検索クエリの入力がアミノ酸配列であっても、突然変異の発生したアミノ酸を特定することができる。
【実施例３】
【０１２８】
図２３および図２４は、本実施例３に係る情報処理装置の処理を説明するための図である。図示を省略するが、本実施例３に係る情報処理装置は、実施例１の情報処理装置１００と同様にして、基準コドン配列データ１４０ａを受け付けると、コード変換テーブル１４０ｃを基にして符号化を行い、第１配列データ１４０ｄし、同時に転置インデックス３４０ａを生成する。また、情報処理装置は、分析対象コドン配列データ１４０ｂを受け付けると、コード変換テーブル１４０ｃを基にして符号化を行い、第２配列データ１４０ｅを生成する。【０１２９】
図２３について説明する。本実施例３に係る情報処理装置は、第１配列データ１４０ｄの生成と同時に、転置インデックス３４０ａを生成する。転置インデックス３４０ａは、第１配列データ１４０ｄの符号化されたコードの種別と、配列位置（オフセット）との関係をビットマップによって示す情報である。【０１３０】
転置インデックス３４０ａの横軸は、オフセットに対応する軸である。転置インデックス３４０ａの縦軸は、符号化されたコドンの種別に対応する軸である。転置インデックス３４０ａは、「０」または「１」のビットマップで示され、初期状態では全てのビットマップが「０」に設定される。【０１３１】
ここで、オフセットは、配列データに含まれる先頭のコドンからのオフセットである。本実施例３では、先頭のコドンのオフセットを「０」とする。たとえば、第１配列データ１４０ｄについて、コドン「ＡＵＧ（６３ｈ）」が先頭から７番目のコドンである場合には、コドン「ＡＵＧ（６３ｈ）」のオフセットは「６」となる。【０１３２】
情報処理装置は、第１配列データ１４０ｄを先頭から走査して、符号化されたコドンの種別と、オフセットとの関係を特定し、転置インデックス３４０ａの対応する箇所に「１」を設定する。たとえば、オフセット「６」にコドン「ＡＵＧ（６３ｈ）」が存在するため、オフセット「６」の列と、コドンの種別「ＡＵＧ（６３ｈ）」の行とが交差する箇所に「１」を設定する。情報処理装置は、上記処理を繰り返し実行することで、転置インデックス３４０ａを生成する。【０１３３】
図２４について説明する。情報処理装置は、第２配列データ１４０ｅの開始コドンから順に符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス３４０ａからそれぞれ取得する。たとえば、開始コドンを「ＡＵＧ（６３ｈ）」とする。【０１３４】
情報処理装置は、コドン「ＡＵＧ（６３ｈ）」のビットマップｂ１０、コドン「ＵＵＵ（４０ｈ）」のビットマップｂ１１、コドン「ＧＵＣ（７１ｈ）」のピットマップｂ１２を順に、転置インデックス３４０ａから取得する。ビットマップｂ１０は、転置インデックス３４０ａのコドンの種別「ＡＵＧ（６３ｈ）」の行に対応するビットマップである。ビットマップｂ１１は、転置インデックス３４０ａのコドンの種別「ＵＵＵ（４０ｈ）」の行に対応するビットマップである。ビットマップｂ１２は、転置インデックス３４０ａのコドンの種別「ＧＵＣ（７１ｈ）」の行に対応するビットマップである。【０１３５】
情報処理装置は、ビットマップｂ１０〜ｂ１２のビットマップの「１」の位置に着目し、「１」が順番に１つ左シフトしている間は、第１配列データ１４０ｄと、第２配列データ１４０ｅとのコドンが一致していると判定する。情報処理装置は、「１」が順番に１つ左シフトしなくなった段階で、第１配列データ１４０ｄと、第２配列データ１４０ｅとのコドンが不一致であると判定する。図２４に示す例では、ビットマップｂ１１からビットマップｂ１２への段階で、「１」がオフセット「７」からオフセット「２０」に移動しているため、オフセット（配列位置）「８」のコドン「ＧＵＣ（７１ｈ）」が、不一致となる旨が特定される。【０１３６】
上記のように、本実施例３に係る情報処理装置は、第１配列データ１４０ｄを基にして、転置インデックス３４０ａを生成しておく。情報処理装置は、第２配列データ１４０ｅに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを転置インデックス３４０ａから取得し、取得した複数のビットマップのフラグ「１」の位置を基にして、不一致となるコドンを特定する。これにより、点突然変異を含むコドンの検索を高速に実行することが可能となる。【０１３７】
次に、本実施例３に係る情報処理装置の構成について説明する。図２５は、本実施例３に係る情報処理装置の構成を示す機能ブロック図である。図２５に示すように、情報処理装置３００は、通信部１１０、入力部１２０、表示部１３０、記憶部３４０、制御部３５０を有する。ここで、通信部１１０、入力部１２０、表示部１３０に関する説明は、図５で説明した、通信部１１０、入力部１２０、表示部１３０に関する説明と同様である。【０１３８】
記憶部３４０は、基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ、コード変換テーブル１４０ｃ、第１配列データ１４０ｄ、転置インデックス３４０ａ、第２配列データ１４０ｅを有する。また、記憶部３４０は、挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇ、第３配列データ２４０ｅ、検出結果テーブル２４０ｈを有する。記憶部３４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。図２５において図示を省略するが、記憶部３４０は、コドン・アミノ酸変換テーブル２４０ｉ、第４配列データ２４０ｊを有していてもよい。【０１３９】
記憶部２４０に含まれる基準コドン配列データ１４０ａ、分析対象コドン配列データ１４０ｂ、コード変換テーブル１４０ｃ、第１配列データ１４０ｄ、第２配列データ１４０ｅの説明は、実施例１で説明したものと同様である。記憶部３４０に含まれる挿入遷移テーブル１４０ｆ、欠失遷移テーブル１４０ｇの説明は、実施例１で説明したものと同様である。記憶部３４０に含まれる第３配列データ２４０ｅ、検出結果テーブル２４０ｈに関する説明は、実施例２で説明したものと同様である。【０１４０】
転置インデックス３４０ａは、第１配列データ１４０ｄの符号化されたコードの種別と、配列位置（オフセット）との関係をビットマップによって示す情報である。図２３で説明したように、転置インデックス３４０ａの横軸は、オフセットに対応する軸である。転置インデックス３４０ａの縦軸は、符号化したコドンの種別に対応する軸である。【０１４１】
制御部３５０は、受付部１５０ａ、符号化部１５０ｂ、生成部３５０ａ、取得部３５０ｂ、特定部３５０ｃを有する。制御部３５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部３５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【０１４２】
受付部１５０ａは、入力部１２０、外部装置等から、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを受け付ける処理部である。受付部１５０ａは、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを記憶部３４０に登録する。その他の説明は、実施例１の受付部１５０ａの処理と同様である。【０１４３】
符号化部１５０ｂは、コード変換テーブル１４０ｃを基にして、基準コドン配列データ１４０ａおよび分析対象コドン配列データ１４０ｂを符号化する処理部である。その他の説明は、実施例１の符号化部１５０ｂの処理と同様である。【０１４４】
生成部３５０ａは、第１配列データ１４０ｄを基にして、転置インデックス３４０ａを生成する処理部である。生成部３５０ａは、第１配列データ１４０ｄを先頭から走査して、符号化されたコドンの種別と、オフセット（配列位置）との関係を特定し、転置インデックス３４０ａの対応する箇所に「１」を設定する。たとえば、生成部３５０ａは、オフセット「６」にコドン「ＡＵＧ（６３ｈ）」が存在するため、オフセット「６」の列と、コドンの種別「ＡＵＧ（６３ｈ）」の行とが交差する箇所に「１」を設定する。生成部３５０ａ、上記処理を繰り返し実行することで、転置インデックス３４０ａを生成する。【０１４５】
生成部３５０ａは、転置インデックス３４０ａを生成すると、情報量を削減するため、転置インデックス３４０ａをハッシュ化してもよい。図２６は、転置インデックスをハッシュ化する処理の一例を説明するための図である。【０１４６】
図２６で説明する例では、３２ビットレジスタを想定し、「２９」と「３１」の素数（底）を基に、転置インデックス３４０ａの各行のビットマップをハッシュ化する。ここでは、一例として、ビットマップｂ１から、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を生成する場合について説明する。【０１４７】
ビットマップｂ１は、転置インデックス（たとえば、図２３に示した転置インデックス３４０ａ）のある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップｈ１１は、底「２９」によりハッシュ化されたビットマップである。ハッシュ化ビットマップｈ１２は、底「３１」によりハッシュ化されたビットマップである。【０１４８】
生成部３５０ａは、ビットマップｂ１の各ビットの位置を、１つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。生成部３５０ａは、該当するビットマップｂ１のビットの位置に「１」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「１」を設定する処理を行う。【０１４９】
ビットマップｂ１から、底「２９」のハッシュ化ビットマップｈ１１を生成する処理の一例について説明する。はじめに、生成部３５０ａは、ビットマップｂ１の位置「０〜２８」の情報を、ハッシュ化ビットマップｈ１１にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「２９」で割った余りは「６」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１１の位置「６」と対応付けられる。生成部３５０ａは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「６」に「１」を設定する。【０１５０】
ビットマップｂ１のビットの位置「４２」を、低「２９」で割った余りは「１３」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１１の位置「１３」と対応付けられる。生成部３５０ａは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１１の位置「１３」に「１」を設定する。【０１５１】
生成部３５０ａは、ビットマップｂ１の位置「２９」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１１を生成する。【０１５２】
ビットマップｂ１から、底「３１」のハッシュ化ビットマップｈ１２を生成する処理の一例について説明する。はじめに、生成部３５０ａは、ビットマップｂ１の位置「０〜３０」の情報を、ハッシュ化ビットマップｈ１２にコピーする。続いて、ビットマップｂ１のビットの位置「３５」を、低「３１」で割った余りは「４」となるので、ビットマップｂ１の位置「３５」は、ハッシュ化ビットマップｈ１２の位置「４」と対応付けられる。生成部３５０ａは、ビットマップｂ１の位置「３５」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「４」に「１」を設定する。【０１５３】
ビットマップｂ１のビットの位置「４２」を、低「３１」で割った余りは「１１」となるので、ビットマップｂ１の位置「４２」は、ハッシュ化ビットマップｈ１２の位置「１１」と対応付けられる。生成部３５０ａは、ビットマップｂ１の位置「４２」に「１」が設定されているため、ハッシュ化ビットマップｈ１２の位置「１１」に「１」を設定する。【０１５４】
生成部３５０ａは、ビットマップｂ１の位置「３１」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップｈ１２を生成する。【０１５５】
生成部３５０ａは、転置インデックス３４０ａの各行について上記の折り返し技術による圧縮を行うことで、転置インデックスをハッシュ化する。なお、底「２９」、「３１」のハッシュ化ビットマップは、生成元のビットマップの行（符号化されたコドンの種別）の情報が付与される。【０１５６】
取得部３５０ｂは、第２配列データ１４０ｅに含まれる各符号化されたコドンに対応するビットマップを転置インデックス３４０ａから順番に取得する処理部である。取得部３５０ｂは、取得した各ビットマップの情報を特定部３５０ｃに出力する。特定部３５０ｃに出力されるビットマップの情報は、読み出した順にソートされているものとする。【０１５７】
取得部３５０ｂは、第２配列データ１４０ｅの開始コドンから順に、符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス３４０ａから取得する。たとえば、開始コドンを「ＡＵＧ（６３ｈ）」とし、第２配列データ１４０ｅを、図２４に示すものとする。この場合には、取得部３５０ｂは、「ＡＵＧ（６３ｈ）」のビットマップｂ１０、「ＵＵＵ（４０ｈ）」のビットマップｂ１１、「ＧＵＣ（７１ｈ）」のビットマップｂ１２、「ＣＡＡ（５Ａｈ）」のビットマップ（図示略）、続く各コドンのビットマップを読み出す。【０１５８】
ところで、取得部３５０ｂは、転置インデックス３４０ａがハッシュ化されている場合には、次の処理を実行することで、ハッシュ化された転置インデックス３４０ａを復元する。図２７は、転置インデックスを復元する処理の一例を示す図である。ここでは一例として、取得部３５０ｂが、ハッシュ化ビットマップｈ１１およびハッシュ化ビットマップｈ１２を基にして、ビットマップｂ１を復元する場合について説明する。【０１５９】
取得部３５０ｂは、底「２９」のハッシュ化ビットマップｈ１１から、中間ビットマップｈ１１’を生成する。取得部３５０ｂは、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、中間ビットマップｈ１１’の位置０〜２８にそれぞれ、コピーする。【０１６０】
取得部３５０ｂは、中間ビットマップｈ１１’の位置２９以降の値については、「２９」毎に、ハッシュ化ビットマップｈ１１の位置０〜２８の値を、それぞれコピーする処理を繰り返し実行する。図２７に示す例では、中間ビットマップｈ１１’の位置２９〜４３の位置に、ハッシュ化ビットマップｈ１１の位置０〜１４の値を、コピーした例を示す。【０１６１】
取得部３５０ｂは、底「３１」のハッシュ化ビットマップｈ１２から、中間ビットマップｈ１２’を生成する。取得部３５０ｂは、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、中間ビットマップｈ１２’の位置０〜３０にそれぞれ、コピーする。【０１６２】
取得部３５０ｂは、中間ビットマップｈ１２’の位置３１以降の値については、「３１」毎に、ハッシュ化ビットマップｈ１２の位置０〜３０の値を、それぞれコピーする処理を繰り返し実行する。図２７に示す例では、中間ビットマップｈ１２’の位置３１〜４３の位置に、ハッシュ化ビットマップｈ１２の位置０〜１２の値を、コピーした例を示す。【０１６３】
取得部３５０ｂは、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とを生成すると、中間ビットマップｈ１１’と、中間ビットマップｈ１２’とをＡＮＤ演算することで、ハッシュ化前のビットマップｂ１を復元する。取得部３５０ｂは、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、コドンに対応する各ビットマップを復元する（転置インデックス３４０ａを復元する）ことができる。【０１６４】
図２５の説明に戻る。特定部３５０ｃは、第１配列データ１４０ｄと第２配列データ１４０ｅとの不一致となる変異位置を特定する処理、点突然変異の種別を特定する処理、遺伝子変異を特定する処理を実行する。【０１６５】
特定部３５０ｃが、第１配列データ１４０ｄと第２配列データ１４０ｅとの不一致となる変異位置を特定する処理について説明する。図２８は、本実施例３に係る特定部の処理を説明するための図である。図２８に示すビットマップｂ１０，ｂ１１，ｂ１２は、上記の取得部３５０ｂから受け付けたビットマップである。【０１６６】
特定部３５０ｃは、ビットマップｂ１０を左シフトすることで、ビットマップｂ１０−１を生成する（ステップＳ１０）。特定部３５０ｃは、ビットマップ１０−１と、ビットマップｂ１１とをＡＮＤ演算することで、ビットマップｂ１１−１を算出する（ステップＳ１１）。ビットマップｂ１１−１では、オフセット７にビット「１」が立っているため、第１配列データ１４０ｄと、第２配列データ１４０ｅとは、オフセット「６」からオフセット「７」まで一致していることを意味する。【０１６７】
特定部３５０ｃは、ビットマップｂ１１−１を左シフトすることで、ビットマップ１１−２を算出する（ステップＳ１２）。特定部３５０ｃは、ビットマップｂ１１−２と、ビットマップｂ１２とをＡＮＤ演算することで、ビットマップｂ１２−１を算出する（ステップＳ１３）。ビットマップｂ１１−２のオフセット「８」にビット「１」が立っていたが、ビットマップｂ１２−１では、オフセット「８」にビットが「０」となる。これにより、特定部３５０ｃは、第１配列データ１４０ｄと、第２配列データ１４０ｅとは、オフセット（配列位置）「８」において、不一致であると判定する。【０１６８】
続いて、特定部３５０ｃが、点突然変異の種別を特定する処理について説明する。特定部３５０ｃは、不一致となる変異位置（オフセット）と、挿入遷移テーブル１４０ｆと、欠失遷移テーブル１４０ｇとを基にして、変異位置に発生した点突然変異の種別を特定する。特定部３５０ｃは、点突然変異の種別を特定すると、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成する。【０１６９】
ここで、特定部３５０ｃが、点突然変異の種別を特定する処理は、実施例１で説明した特定部１５０ｄの処理と同様である。また、特定部３５０ｃが、点突然変異の種別を基にして、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成する処理は、実施例２で説明した特定部２５０ｄの処理と同様である。【０１７０】
続いて、特定部３５０ｃが、遺伝子変異を特定する処理について説明する。特定部３５０ｃは、第３配列データ２４０ｅに含まれる各符号化されたコドンの種別に対応するビットマップを、転置インデックス３４０ａから順に取得する。特定部３５０ｃは、ビットマップを読み出す場合には、取得部３５０ｂと同様にして、開始コドンから順に、符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス３４０ａから取得する。【０１７１】
特定部３５０ｃは、各ビットマップを取得すると、図２４で説明した処理と同様にして、ビットマップを左シフトしたビットマップと、次のビットマップとをＡＮＤ演算することで、新たなビットマップを算出する処理を繰り返し実行する。特定部３５０ｃは、新たなビットマップにビット「１」が含まれなくなった時点のオフセットにおいて、第１配列データ１４０ｄと、第３配列データ２４０ｅとが不一致であると判定する。特定部３５０ｃは、判定した不一致となるオフセットに対応する第３配列データ２４０ｅのコドンを、遺伝子変異となるコドンであると判定する。【０１７２】
特定部３５０ｃは、上記の処理を実行し、点突然変異の種別および変異位置（オフセット）の情報、遺伝子変異として特定したコドンおよび配列位置（オフセット）の情報とを、検出結果テーブル２４０ｈに登録する。【０１７３】
次に、本実施例３に係る情報処理装置３００の処理手順の一例について説明する。図２９は、本実施例３に係る情報処理装置の処理手順を示すフローチャートである。図２９に示すように、情報処理装置３００の受付部１５０ａは、基準コドン配列データ１４０ａと分析対象コドン配列データ１４０ｂを受け付ける（ステップＳ３０１）。【０１７４】
情報処理装置３００の符号化部１５０ｂは、基準コドン配列データ１４０ａを符号化して第１配列データ１４０ｄを生成し、同時に転置インデックス３４０ａを生成する（ステップＳ３０２）。【０１７５】
符号化部１５０ｂは、分析対象コドン配列データ１４０ｂを符号化して、第２配列データ１４０ｄを生成する（ステップＳ３０３）。情報処理装置３００の取得部３５０ｂは、第２配列データ１４０ｅの符号化されたコドンと、転置インデックス３４０ａとを比較して、コドンに対応するビットマップを順番に取得する（ステップＳ３０４）。【０１７６】
情報処理装置３００の特定部３５０ｃは、各ビットマップのシフト演算、ＡＮＤ演算を実行することで、不一致となる変異位置（オフセット）を特定する（ステップＳ３０５）。特定部３５０ｃは、点突然変異の種別を特定する（ステップＳ３０６）。【０１７７】
特定部３５０ｃは、点突然変異の種別を基にして、第２配列データ１４０ｅを修正した第３配列データ２４０ｅを生成する（ステップＳ３０７）。特定部３５０ｃは、第３配列データの符号化されたコドンと、転置インデックス３４０ａとを比較して、コドンに対応するビットマップを順番に取得する（ステップＳ３０８）。【０１７８】
特定部３５０ｃは、各ビットマップのシフト演算、ＡＮＤ演算を実行することで、不一致となる変異位置（オフセット）および遺伝子変異を特定する（ステップＳ３０９）。特定部３５０ｃは、特定した点突然変異の種別および遺伝子変異の情報を、検出結果テーブル２４０ｈに登録する（ステップＳ３１０）。情報処理装置３００は、検出結果テーブル２４０ｈを、表示部１３０に出力して表示させる（ステップＳ３１１）。【０１７９】
次に、特定部３５０ｃがビットマップを基にして点突然変異のオフセットを特定する処理手順の一例について説明する。図３０は、本実施例３に係る特定部が点突然変異のオフセットを特定する処理を示すフローチャートである。図３０に示すように、情報処理装置３００の特定部３５０ｃは、オフセットｎを、開始コドンのオフセットに設定する（ステップＳ４０１）。情報処理装置１００の取得部３５０ｂは、第２配列データ１４０ｅのオフセットｎのコドンに対応する第１ビットマップを転置インデックス３４０ａから取得する（ステップＳ４０２）。【０１８０】
特定部３５０ｃは、第１ビットマップを左シフトする（ステップＳ４０３）。特定部３５０ｃは、オフセットｎに１をインクリメントする（ステップＳ４０４）。取得部３５０ｂは、第２配列データのオフセットｎのコドンに対応する第２ビットマップを転置インデックス３４０ａから取得する（ステップＳ４０５）。【０１８１】
特定部３５０ｃは、第１ビットマップと、第２ビットマップとをＡＮＤ演算し、第３ビットマップを生成する（ステップＳ４０６）。特定部３５０ｃは、第３ビットマップのオフセットｎのビットが「１」であるか否かを判定する（ステップＳ４０７）。【０１８２】
特定部３５０ｃは、第３ビットマップのオフセットｎのビットが「１」でない場合には（ステップＳ４０８，Ｎｏ）、第２配列データのオフセットｎに点突然変異があると判定する（ステップＳ４０９）。【０１８３】
一方、特定部３５０ｃは、第３ビットマップのオフセットｎのビットが「１」である場合には（ステップＳ４０８，Ｙｅｓ）、第３ビットマップを左シフトしたビットマップによって、第１ビットマップを更新し（ステップＳ４１０）、ステップＳ４０４に移行する。【０１８４】
次に、本実施例３に係る情報処理装置３００の効果について説明する。本実施例３に係る情報処理装置３００は、第２配列データ１４０ｅに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを転置インデックス３４０ａから取得し、取得した複数のビットマップのシフト演算、ＡＮＤ演算に基づいて、不一致となるコドンを特定する。これにより、点突然変異や遺伝子変異を含むコドンの検索を高速に実行することが可能となる。【０１８５】
なお、本実施例３に係る情報処理装置３００は、便宜上、第３配列データ２４０ｅを生成し、第１配列データ１４０ｄと比較する方法を説明したが、これに限定されるものでは無い。情報処理装置２００は、第３配列データ２４０ｅを生成せず、第２配列データ１４０ｅをバイト単位に変換し、第１配列データ１４０ｄとバイト単位に比較することも可能である。【０１８６】
続いて、本実施例３に係る情報処理装置３００のその他の処理について説明する。情報処理装置３００は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データを符号化し、コドンに対応付けた転置インデックスを生成する。また、情報処理装置３００は、コドン配列をアミノ酸配列に変換し、アミノ酸に対応付けた転置インデックスに生成し、生成した転置インデックスを用いて変異位置を特定する。【０１８７】
図３１は、本実施例３に係る情報処理装置のその他の処理を説明するための図である。図３１に示すように、情報処理装置３００は、第１配列データ１４０ｄと、図２１Ａに示したコドン・アミノ酸変換テーブル２４０ｉとを基にして、第４配列データ２４０ｊを生成し、同時に転置インデックス３４０ｂを生成する。転置インデックス３４０ｂは、第４配列データ２４０ｊの符号化されたコードの種別と、配列位置（オフセット）との関係をビットマップによって示す情報である。【０１８８】
情報処理装置３００は、アミノ酸配列に対応した転置インデックス３４０ｂを用いて、変異位置を特定する処理を行う。たとえば、情報処理装置３００は、アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを転置インデックス３４０ｂから取得し、取得した複数のビットマップのフラグの位置を基にして、アミノ酸配列データに含まれるアミノ酸のうち、第４配列データ２４０ｊと不一致となる配列位置を特定する。【０１８９】
次に、検索クエリの入力がアミノ酸配列の場合における、本実施例３に係る情報処理装置３００の処理手順の一例について説明する。図３２は、本実施例３に係る情報処理装置の処理手順を示すフローチャート（２）である。【０１９０】
図３２に示すように、情報処理装置３００の受付部１５０ａは、基準コドン配列データを受け付ける（ステップＳ４０１）。情報処理装置３００の符号化部１５０ｂは、基準コドン配列データを符号化し、第１配列データ１４０ｄを生成すると共に、生成部３５０ａが、転置インデックス３５０ａを生成する（ステップＳ４０２）。【０１９１】
受付部１５０ａは、分析対象アミノ酸配列データを受け付ける（ステップＳ４０３）。符号化部１５０ｂは、分析対象アミノ酸配列データを符号化し、第２配列データ１４０ｅを生成する（ステップＳ４０４）。【０１９２】
生成部３５０ａは、コドン・アミノ酸変換テーブル２４０ｉを基にして、第１配列データ１４０ｄから第４配列データ２４０ｊを生成し、同時にアミノ酸に対応付けた転置インデックス３４０ｂを生成する（ステップＳ４０５）。【０１９３】
情報処理装置４００の特定部３５０ｃは、各ビットマップのシフト演算、ＡＮＤ演算を実行することで、不一致となる変異位置（オフセット）を特定する（ステップＳ４０６）。特定部３５０ｃは、特定した突然変異の情報を、検出結果テーブル２４０ｈに登録する（ステップＳ４０７）。情報処理装置３００は、検出結果テーブル２４０ｈを、表示部１３０に出力して表示させる（ステップＳ４０８）。【０１９４】
上記のように、情報処理装置３００は、検索クエリの入力がアミノ酸配列の場合、アミノ酸に対応した転置インデックス３４０ｂを生成し、第２配列データ１４０ｅと比較する。これにより、検索クエリの入力がアミノ酸配列であっても、突然変異の発生したアミノ酸を、転置インデックスを用いて、特定することができる。【０１９５】
次に、実施例１、２に示した情報処理装置１００，２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図３３は、本実施例１、２に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０１９６】
図３３に示すように、コンピュータ４００は、各種演算処理を実行するＣＰＵ４０１と、ユーザからのデータの入力を受け付ける入力装置４０２と、ディスプレイ４０３とを有する。また、コンピュータ４００は、記憶媒体からプログラム等を読み取る読み取り装置４０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置４０５とを有する。コンピュータ４００は、各種情報を一時記憶するＲＡＭ４０６と、ハードディスク装置４０７とを有する。そして、各装置４０１〜４０７は、バス４０８に接続される。【０１９７】
ハードディスク装置４０７は、受付プログラム４０７ａ、符号化プログラム４０７ｂ、比較プログラム４０７ｃ、特定プログラム４０７ｄを有する。ＣＰＵ４０１は、受付プログラム４０７ａ、符号化プログラム４０７ｂ、比較プログラム４０７ｃ、特定プログラム４０７ｄを読み出してＲＡＭ４０６に展開する。【０１９８】
受付プログラム４０７ａは、受付プロセス４０６ａとして機能する。符号化プログラム４０７ｂは、符号化プロセス４０６ｂとして機能する。比較プログラム４０７ｃは、比較プロセス４０６ｃとして機能する。特定プログラム４０７ｄは、特定プロセス４０６ｄとして機能する。【０１９９】
受付プロセス４０６ａの処理は、受付部１５０ａの処理に対応する。符号化プロセス４０６ｂの処理は、符号化部１５０ｂの処理に対応する。比較プロセス４０６ｃの処理は、比較部１５０ｃの処理に対応する。特定プロセス４０６ｄの処理は、特定部１５０ｄ，２５０ｄの処理に対応する。【０２００】
なお、各プログラム４０７ａ〜４０７ｄについては、必ずしも最初からハードディスク装置４０７に記憶させておかなくてもよい。例えば、コンピュータ４００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ４００が各プログラム４０７ａ〜４０７ｄを読み出して実行するようにしてもよい。【０２０１】
次に、実施例３に示した情報処理装置３００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図３４は、本実施例３に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０２０２】
図３４に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータの入力を受け付ける入力装置５０２と、ディスプレイ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る読み取り装置５０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置５０５とを有する。コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０６と、ハードディスク装置５０７とを有する。そして、各装置５０１〜５０７は、バス５０８に接続される。【０２０３】
ハードディスク装置５０７は、受付プログラム５０７ａ、符号化プログラム５０７ｂ、生成プログラム５０７ｃ、取得プログラム５０７ｄ、特定プログラム５０７ｅを有する。ＣＰＵ５０１は、受付プログラム５０７ａ、符号化プログラム５０７ｂ、生成プログラム５０７ｃ、取得プログラム５０７ｄ、特定プログラム５０７ｅを読み出してＲＡＭ４０６に展開する。【０２０４】
受付プログラム５０７ａは、受付プロセス５０６ａとして機能する。符号化プログラム５０７ｂは、符号化プロセス５０６ｂとして機能する。生成プログラム５０７ｃは、生成プロセス５０６ｃとして機能する。取得プログラム５０７ｄは、取得プロセス５０６ｄとして機能する。特定プログラム５０７ｅは、特定プロセス５０６ｅとして機能する。【０２０５】
受付プロセス４０６ａの処理は、受付部１５０ａの処理に対応する。符号化プロセス４０６ｂの処理は、符号化部１５０ｂの処理に対応する。生成プロセス５０６ｃの処理は、生成部３５０ａの処理に対応する。取得プロセス５０６ｄの処理は、取得部３５０ｂの処理に対応する。特定プロセス５０６ｅの処理は、特定部３５０ｃの処理に対応する。【０２０６】
なお、各プログラム５０７ａ〜５０７ｄについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくてもよい。例えば、コンピュータ５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ５００が各プログラム５０７ａ〜５０７ｅを読み出して実行するようにしてもよい。
【符号の説明】
【０２０７】
１００，２００，３００    情報処理装置
１１０    通信部
１２０    入力部
１３０    表示部
１４０，２４０，３４０    記憶部
１４０ａ  基準コドン配列データ
１４０ｂ  分析対象コドン配列データ
１４０ｃ  コード変換テーブル
１４０ｄ  第１配列データ
１４０ｅ  第２配列データ
１４０ｆ  挿入遷移テーブル
１４０ｇ  欠失遷移テーブル
１４０ｈ，２４０ｈ  検出結果テーブル
１５０，２５０，３５０    制御部
１５０ａ  受付部
１５０ｂ  符号化部
１５０ｃ  比較部
１５０ｄ，２５０ｄ，３５０ｃ  特定部
２４０ｅ  第３配列データ
２４０ｉ  コドン・アミノ酸変換テーブル
２４０ｊ  第４配列データ
３５０ａ  生成部
３５０ｂ  取得部
【図１】
2020049748.tif 000004
【図２】
2020049748.tif 000005
【図３】
2020049748.tif 000006
【図４】
2020049748.tif 000007
【図５】
2020049748.tif 000008
【図６】
2020049748.tif 000009
【図７】
2020049748.tif 000010
【図８】
2020049748.tif 000011
【図９】
2020049748.tif 000012
【図１０】
2020049748.tif 000013
【図１１】
2020049748.tif 000014
【図１２Ａ】
2020049748.tif 000015
【図１２Ｂ】
2020049748.tif 000016
【図１２Ｃ】
2020049748.tif 000017
【図１２Ｄ】
2020049748.tif 000018
【図１３】
2020049748.tif 000019
【図１４Ａ】
2020049748.tif 000020
【図１４Ｂ】
2020049748.tif 000021
【図１４Ｃ】
2020049748.tif 000022
【図１４Ｄ】
2020049748.tif 000023
【図１５】
2020049748.tif 000024
【図１６】
2020049748.tif 000025
【図１７】
2020049748.tif 000026
【図１８】
2020049748.tif 000027
【図１９】
2020049748.tif 000028
【図２０】
2020049748.tif 000029
【図２１Ａ】
2020049748.tif 000030
【図２１Ｂ】
2020049748.tif 000031
【図２２】
2020049748.tif 000032
【図２３】
2020049748.tif 000033
【図２４】
2020049748.tif 000034
【図２５】
2020049748.tif 000035
【図２６】
2020049748.tif 000036
【図２７】
2020049748.tif 000037
【図２８】
2020049748.tif 000038
【図２９】
2020049748.tif 000039
【図３０】
2020049748.tif 000040
【図３１】
2020049748.tif 000041
【図３２】
2020049748.tif 000042
【図３３】
2020049748.tif 000043
【図３４】
2020049748.tif 000044
【図３５】
2020049748.tif 000045
【図３６】
2020049748.tif 000046
【図３７】
2020049748.tif 000047
【手続補正書】
【提出日】令和3年3月18日(2021.3.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
基準コドン配列データと、分析対象コドン配列データとを取得し、
取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
処理をコンピュータが実行することを特徴とする特定方法。
【請求項２】
前記記憶部は、被変異コドンを、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶し、
前記記憶部と、特定された突然変異の種別と、特定された前記複数の配列位置にそれぞれ位置するコドンとを比較して、前記被変異コドンを特定する処理を更に実行することを特徴とする請求項１に記載の特定方法。
【請求項３】
前記被変異コドンを基にして、前記分析対象コドン配列データを修正し、修正したコドン配列データと、前記基準コドン配列データとを比較して、不一致となるコドンを特定する処理を更に実行することを特徴とする請求項２に記載の特定方法。
【請求項４】
前記突然変異の種別を特定する処理は、前記被変異コドンと、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも一つ後ろのコドンとが一致する場合に、前記突然変異の種別が塩基挿入であると判定することを特徴とする請求項２に記載の特定方法。
【請求項５】
前記突然変異の種別を特定する処理は、前記被変異コドンが、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも二つ後ろのコドンと一致する場合に、前記突然変異の種別が塩基欠失であると判定することを特徴とする請求項４に記載の特定方法。
【請求項６】
前記突然変異の種別を特定する処理は、前記突然変異の種別が前記塩基挿入でなく、かつ、前記塩基欠失でないと判定した場合には、前記突然変異の種別が塩基置換であると判定することを特徴とする請求項５に記載の特定方法。
【請求項７】
基準コドン配列データと、分析対象コドン配列データとを取得し、
前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成し、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【請求項８】
分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記第１配列データのコドン単位の符号をアミノ酸単位の符号に変換する処理を更に実行し、前記特定する処理は、符号化された前記アミノ酸配列データと、変換された前記第１配列データとを基にして、不一致となる符号の位置を特定することを特徴とする請求項７に記載の特定方法。
【請求項９】
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、
取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する
処理をコンピュータが実行することを特徴とする特定方法。
【請求項１０】
前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項９に記載の特定方法。
【請求項１１】
コンピュータに、
基準コドン配列データと、分析対象コドン配列データとを取得し、
取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
処理を実行させることを特徴とする特定プログラム。
【請求項１２】
コンピュータに、
基準コドン配列データと、分析対象コドン配列データとを取得し、
前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成し、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項１３】
コンピュータに、
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、
取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する
処理を実行させることを特徴とする特定プログラム。
【請求項１４】
前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項１３に記載の特定プログラム。
【請求項１５】
基準コドン配列データと、分析対象コドン配列データとを取得し、取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する比較部と、
前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する特定部と
を有することを特徴とする情報処理装置。
【請求項１６】
基準コドン配列データと、分析対象コドン配列データとを取得し、前記基準コドン配列データをコドン単位で符号化した第１配列データと、前記分析対象コドン配列データをコドン単位で符号化した第２配列データとを生成する符号化部と、
前記第１配列データと、前記第２配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定する特定部と
を有することを特徴とする情報処理装置。
【請求項１７】
基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成する生成部と、
分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定する特定部と
を有することを特徴とする情報処理装置。
【国際調査報告】
2020049748.tif 000048
2020049748.tif 000049
2020049748.tif 000050
2020049748.tif 000051