Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7124877B2 - 特定方法、特定プログラムおよび情報処理装置 - Google Patents
[go: Go Back, main page]

JP7124877B2 - 特定方法、特定プログラムおよび情報処理装置 - Google Patents

特定方法、特定プログラムおよび情報処理装置 Download PDF

Info

Publication number
JP7124877B2
JP7124877B2 JP2020540993A JP2020540993A JP7124877B2 JP 7124877 B2 JP7124877 B2 JP 7124877B2 JP 2020540993 A JP2020540993 A JP 2020540993A JP 2020540993 A JP2020540993 A JP 2020540993A JP 7124877 B2 JP7124877 B2 JP 7124877B2
Authority
JP
Japan
Prior art keywords
codon
sequence data
codons
sequence
mutation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020540993A
Other languages
English (en)
Other versions
JPWO2020049748A1 (ja
Inventor
正弘 片岡
俊也 宮崎
秋博 友部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2020049748A1 publication Critical patent/JPWO2020049748A1/ja
Application granted granted Critical
Publication of JP7124877B2 publication Critical patent/JP7124877B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Engineering & Computer Science (AREA)
  • Biotechnology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Analytical Chemistry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Chemical & Material Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、特定方法等に関する。
近年、生物のDNA(deoxyribonucleic acid)およびRNA(ribonucleic acid)を構成する塩基配列を解析することで、新型ウィルスの影響力を予測し、ワクチンなどが開発されている。また、癌などの突然変異(点突然変異)や遺伝子変異の遺伝子の異常を検出したり、病気の発生リスクを診断したりする研究が行われている。
DNAおよびRNAの塩基は4種類で、「A」、「G」、「C」、「T」または「U」の記号で示される。また、3つの塩基配列がひとかたまりで、20種類のアミノ酸を決定する。それぞれのアミノ酸は、「A」~「Y」の記号で示される。図35は、アミノ酸と塩基、およびコドンとの関係を示す図である。なお、3つの塩基配列のかたまりは「コドン」と呼ばれる。各塩基の並びで、コドンが決定され、コドンが決定されるとアミノ酸が決定される。
図35に示すように、一つのアミノ酸に対して、複数種類のコドンが対応付けられる。このためコドンが決まると、アミノ酸が決まるが、アミノ酸が決まっても、コドンが一意に特定されるものではない。たとえば、アミノ酸「アラニン(Ala)」は、コドン「GCU」、「GCC」、「GCA」、または、「GCG」に対応付けられる。
従来技術では、新型ウィルスを分析する場合に、FASTAやBLASTが用いられる。FASTAやBLASTでは、塩基配列をアミノ酸の記号に翻訳して、アミノ酸を比較の単位として、相同性検索を行い、過去に発見されたウィルスとの類似性を判定する。図36は、相同性検索で使用するスコア行列を示す図である。
また、従来技術では、癌などの突然変異を分析する場合、「塩基挿入」、「塩基失欠」、「塩基置換」の突然変異を判定し、突然変異による配列のフレームシフトを判定し、さらに、変異点以降に潜在する遺伝子変異を検出している。
図37は、突然変異のフレームシフトを判定する従来技術の一例を示す図である。突然変異のフレームシフトについては、精度を向上するため、Smith-watermanアルゴリズを利用し、塩基の単位にて、局所アライメントの判定が行われる。Smith-watermanアルゴリズは、式(1)を利用する。従来技術では、初期化を行った後に、式(1)の最大スコアF(i,j)を図37の行列中から探索し、探索した場所から0が到達されたセルに到達するまでトレースバックする。
Figure 0007124877000001
国際公開第2009/013910号 特開2002-132781号公報 特開2004-355522号公報 国際公開第2008/108297号 特表2015-536156号公報
しかしながら、上述した従来技術では、突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異の検出に要する時間が長いという問題がある。また、検索(照合)を高速化するためには、塩基配列を分割する必要があるという問題点がある。
従来技術では、癌などの突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異を検出する場合、精度の向上を図るため、塩基の単位で局所アライメントを判定するため、速度が低下する。一方、ゲノム検索は、テキスト検索と比較すると、塩基に対し、ポインタ型転置インデックスのサイズが膨大になるため、インデックスよる検索ができず、低速である。速度低下を抑えるため、塩基データを分割し、並行処理でオートマトン照合を行っているが、管理の複雑化や操作性の低下などの分割損が生じている。
1つの側面では、本発明は、突然変異のフレームシフトの判定や変異点以降に潜在する遺伝子変異の検出に要する時間を短縮することができる特定方法、特定プログラムおよび情報処理装置を提供することを目的とする。また、1つの側面では、本発明は、塩基配列を分割せずに検索や分析の高速化を図ることができる特定方法、特定プログラムおよび情報処理装置を提供することを目的とする。
第1の案では、コンピュータは、次の処理を実行する。コンピュータは、基準コドン配列データと、分析対象コドン配列データとを取得する。コンピュータは、取得した基準コドン配列データに含まれるコドンと、取得した分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する。コンピュータは、比較の結果に基づき、分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定する。コンピュータは、あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、あるコドンに突然変異が生じることであるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する。
突然変異のフレームシフトの種別判定や遺伝子変異の検出などに要する時間を短縮することができる。
図1は、本実施例1に係る情報処理装置の処理を説明するための図(1)である。 図2は、本実施例1に係る情報処理装置の処理を説明するための図(2)である。 図3は、本実施例1に係る情報処理装置の処理を説明するための図(3)である。 図4は、本実施例1に係る情報処理装置の処理を説明するための図(4)である。 図5は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。 図6は、基準コドン配列データのデータ構造の一例を示す図である。 図7は、分析対象コドン配列データのデータ構造の一例を示す図である。 図8は、コード変換テーブルのデータ構造の一例を示す図である。 図9は、第1配列データのデータ構造の一例を示す図である。 図10は、第2配列データのデータ構造の一例を示す図である。 図11は、挿入遷移テーブルのデータ構造の一例を示す図である。 図12Aは、挿入遷移テーブルの遷移テーブル50Uのデータ構造を示す図である。 図12Bは、挿入遷移テーブルの遷移テーブル50Cのデータ構造を示す図である。 図12Cは、挿入遷移テーブルの遷移テーブル50Aのデータ構造を示す図である。 図12Dは、挿入遷移テーブルの遷移テーブル50Gのデータ構造を示す図である。 図13は、欠失遷移テーブルのデータ構造の一例を示す図である。 図14Aは、欠失遷移テーブルの遷移テーブル55Uのデータ構造を示す図である。 図14Bは、欠失遷移テーブルの遷移テーブル55Cのデータ構造を示す図である。 図14Cは、欠失遷移テーブルの遷移テーブル55Aのデータ構造を示す図である。 図14Dは、欠失遷移テーブルの遷移テーブル55Gのデータ構造を示す図である。 図15は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。 図16は、本実施例2に係る情報処理装置の処理を説明するための図(1)である。 図17は、本実施例2に係る情報処理装置の処理を説明するための図(2)である。 図18は、本実施例2に係る情報処理装置の処理を説明するための図(3)である。 図19は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。 図20は、本実施例2に係る情報処理装置の処理手順を示すフローチャート(1)である。 図21Aは、コドン・アミノ酸変換テーブルのデータ構造の一例を示す図である。 図21Bは、本実施例2に係る情報処理装置のその他の処理を説明するための図である。 図22は、本実施例2に係る情報処理装置の処理手順を示すフローチャート(2)である。 図23は、本実施例3に係る情報処理装置の処理を説明するための図(1)である。 図24は、本実施例3に係る情報処理装置の処理を説明するための図(2)である。 図25は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。 図26は、転置インデックスをハッシュ化する処理の一例を説明するための図である。 図27は、転置インデックスを復元する処理の一例を示す図である。 図28は、本実施例3に係る特定部の処理を説明するための図である。 図29は、本実施例3に係る情報処理装置の処理手順を示すフローチャート(1)である。 図30は、本実施例3に係る特定部が点突然変異のオフセットを特定する処理を示すフローチャートである。 図31は、本実施例3に係る情報処理装置のその他の処理を説明するための図である。 図32は、本実施例3に係る情報処理装置の処理手順を示すフローチャート(2)である。 図33は、本実施例1、2に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図34は、本実施例3に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図35は、コドンとアミノ酸との関係を示す図である。 図36は、相同性検索で使用するスコア行列を示す図である。 図37は、突然変異のフレームシフトを判定する従来技術の一例を示す図である。
以下に、本発明にかかる特定方法、特定プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1~図4は、本実施例1に係る情報処理装置の処理を説明するための図である。情報処理装置は、下記の処理を行うことで、分析対象の塩基配列に発生した点突然変異を特定する。点突然変異には「塩基挿入」、「塩基欠失」、「塩基置換」が含まれる。本実施例1では、コドン単位に示される、正常な塩基配列の情報を「基準コドン配列データ」と表記する。コドン単位に示される、分析対象の塩基配列の情報を「分析対象コドン配列データ」と表記する。
図1について説明する。情報処理装置は、基準コドン配列データ20Aと、分析対象コドン配列データ20Bとをコドン単位で先頭から順に比較する。情報処理装置は、基準コドン配列データ20Aと、分析対象コドン配列データ20Bとを比較すると、配列位置P20以降のコドンが異なっていることを特定する。これにより、情報処理装置は、分析対象コドン配列データ20Bに、突然変異が存在すると判定する。以下の説明では、基準コドン配列データと、分析対象コドン配列データとを先頭から順に比較し、コドンが異なる配置位置を「変異位置」と表記し、それぞれのコドンを「被変異コドン」、「変異コドン」と表記する。
図2について説明する。情報処理装置は、分析対象コドン配列データ20Bに、突然変異が存在すると判定すると、分析対象コドン配列データ20Bに含まれるコドンから、変異コドンと、後続する2つのコドンとを特定する。後続する2つのコドンを「変異nコドン」(nは1以上の整数)、「変異n+1コドン」と表記する。たとえば、図2において、変異コドンを「GUC」とすると、変異1コドンは「CAA」となり、変異2コドンは「GUG」となる。
情報処理装置は、挿入遷移テーブル140fと、変異コドンに後続する2つの変異nコドンと変異n+1コドンとをもとに、被変異コドンの次の被変異nコドンを特定する。なお、nは1以上の整数である。被変異コドンの次のコドンを「被変異nコドン(塩基挿入)」と表記する。挿入遷移テーブル140fは、変異コドンに後続する2つのコドンと、塩基挿入前の被変異コドンの次の1つのコドンとを対応付けるテーブルである。挿入遷移テーブル140fの被変異nコドンと、基準コドン配列データの変異位置の次のコドンとが一致する場合には、分析対象コドン配列データに発生した点突然変異が「塩基挿入」となる。
図2に示す例では、挿入遷移テーブル140fにおいて、変異コドン「GUC」に後続する変異nコドン「CAA」と変異n+1コドン「GUG」とに対応する被変異nコドンは「AAG」である。情報処理装置は、基準コドン配列データ20Aの基準位置P20の次のコドン「AAG」と、被変異nコドン(挿入)「AAG」とを比較すると、一致する。このため、情報処理装置は、分析対象コドン配列データ20Bに発生した点突然変異が「塩基挿入」であると判定する。
なお、挿入遷移テーブル140fの変異nコドンと、基準コドン配列データの変異位置の次のコドンとが一致しない場合、分析対象コドン配列データに発生した点突然変異は「塩基欠失」または「塩基置換」である。
図3について説明する。情報処理装置は、基準コドン配列データ30Aと、分析対象コドン配列データ30Bとをコドン単位で先頭から順に比較する。情報処理装置は、基準コドン配列データ30Aと、分析対象コドン配列データ30Bとを比較すると、配置位置(変異位置)P30以降のコドンが異なっていることを特定する。これにより、情報処理装置は、分析対象コドン配列データ30Bに、突然変異が存在すると判定する。
図4について説明する。情報処理装置は、分析対象コドン配列データ30Bに、突然変異が存在すると判定すると、分析対象コドン配列データ30Bに含まれるコドンから、変異コドンと、後続する2つのコドンを特定する。たとえば、図4に示す例では、変異コドンは「UCA」となる。後続する2つのコドンは「AGU」「GCU」となる。
情報処理装置は、欠失遷移テーブル140gと、変異コドンに後続する2つのコドンとをもとに塩基欠失前の被変異コドンに後続する2つ目のコドンを特定する。後続する2つ目のコドンは「被変異n+1コドン(塩基欠失)」と表記する。欠失遷移テーブル140gは、変異コドンと、後続する2つのコドンと、塩基欠失前の被変異コドンに後続する2つ目のコドンとを対応付けるテーブルである。欠失遷移テーブル140gの被変異n+1コドンと、基準コドン配列データの変異位置に継続する2つ目のコドンとが一致する場合には、分析対象コドン配列データに発生した点突然変異が「塩基欠失」となる。
図4に示す例では、欠失遷移テーブル140gにおいて、変異コドン「UCA」と後続する2つのコドン「AUG」「GCU」とに対応する塩基欠失前の被変異n+1コドンは「UGC」である。情報処理装置は、基準コドン配列データ30Aの変異位置P30のコドン「UUU」に後続する2つ目のコドン「UGC」を比較すると、一致する。このため、情報処理装置は、分析対象コドン配列データ30Bに発生した点突然変異が「塩基欠失」であると判定する。
これまで、便宜上、被変異2コドン「UGC」につき、欠失を判定する例を説明したが、被変異1コドン「AAG」についても、欠失遷移テーブル140gを用いて、変異(0)コドン「UCA」と変異1コドン「AUG」から、被変異1コドン「AAG」を参照することができ、欠失を判定することが可能である(なお、nは0以上の整数である。)。
なお、欠失遷移テーブル140gの被変異n+1コドンと、基準コドン配列データの変異位置に後続する2つ目のコドンとが一致しない場合、分析対象コドン配列データに発生した点突然変異は「塩基挿入」または「塩基置換」である。
一方、分析対象コドン配列データの変異コドンに後続する複数のコドンと基準コドン配列データの被変異コドンに後続する複数のコドンが一致する場合、分析対象コドン配列データに発生した点突然変異は「塩基置換」である。
上記のように、本実施例1に係る情報処理装置は、基準コドン配列データと、分析対象コドン配列データとをコドン単位で比較して、不一致となるコドンを特定する。そして、情報処理装置は、不一致となる変異コドンに後続する2つのコドンをもとに、挿入遷移テーブル140fから被変異コドンの次のコドン、欠失遷移テーブル140gから、被変異コドンに後続する2つ目のコドンを取得し、分析対象コドン配列データに含まれる被変異コドンに後続するコドンと比較し、点突然変異の種別を特定する。これにより、一貫して、符号化されたコドン単位の比較によって、不一致コドンを特定しつつ、突然変異の種別を判定できるため、突然変異の種別判定に要する時間を短縮することができる。
次に、本実施例1に係る情報処理装置の構成について説明する。図5は、本実施例1に係る情報処理装置の構成を示す機能ブロック図である。図5に示すように、情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
通信部110は、ネットワークを介して図示しない外部装置とデータ通信を実行する処理部である。通信部110は、通信装置の一例である。たとえば、情報処理装置100は、ネットワークを介して外部装置から、基準コドン配列データ140a、分析対象コドン配列データ140b等の情報を受信してもよい。
入力部120は、各種の情報を情報処理装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネルなどに対応する。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。表示部130は、有機EL(electro-luminescence)ディスプレイ、液晶ディスプレイ、タッチパネル等に対応する。
記憶部140は、基準コドン配列データ140a、分析対象コドン配列データ140b、コード変換テーブル140c、第1配列データ140d、第2配列データ140eを有する。また、記憶部140は、挿入遷移テーブル140f、欠失遷移テーブル140g、検出結果テーブル140hを有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
基準コドン配列データ140aは、コドン単位に示される、正常な塩基配列の情報である。図6は、基準コドン配列データのデータ構造の一例を示す図である。図6に示すように、基準コドン配列データ140aには、開始コドンから終止コドンまで、複数のコドンが配列されている。たとえば、開始コドンを「AUG」とする。また、終止コドンを「UGA」とする。
分析対象コドン配列データ140bは、コドン単位に示される、分析対象となる塩基配列の情報である。図7は、分析対象コドン配列データのデータ構造の一例を示す図である。図7に示すように、分析対象コドン配列データ140bには、開始コドンから終止コドンまで、複数のコドンが配列されている。たとえば、開始コドンを「AUG」とする。また、終止コドンを「UGA」とする。
コード変換テーブル140cは、コドンと、符号とを対応付けるテーブルである。図8は、コード変換テーブルのデータ構造の一例を示す図である。たとえば、コドン「UUU」は、符号「40h(01000000)」に対応付けられる。hは16進数を示す符号である。説明の便宜上、コドン「UUU」を符号化したものを「UUU(40h)」と表記する。他のコドンについても同様に、符号化したものを括弧によって示す。
第1配列データ140dは、コード変換テーブル140cに基づき、基準コドン配列データ140aを符号化した配列データである。図9は、第1配列データのデータ構造の一例を示す図である。図9に示すように、第1配列データ140dには、開始コドンから終止コドンまで、複数の符号化されたコドンが配列されている。
第2配列データ140eは、コード変換テーブル140cに基づき、分析対象コドン配列データ140bを符号化した配列データである。図10は、第2配列データのデータ構造の一例を示す図である。図10に示すように、第2配列データ140eは、開始コドンから終止コドンまで、複数の符号化されたコドンが配列されている。
挿入遷移テーブル140fは、変異コドンに後続する変異nコドン、変異n+1コドンと、塩基挿入前の被変異nコドンとを対応付けるテーブルである。図11は、挿入遷移テーブルのデータ構造の一例を示す図である。図11に示すように、挿入遷移テーブル140fは、遷移テーブル50U,50C,50A,50Gを有する。
遷移テーブル50Uは、各変異nコドンと、変異n+1コドン(Uからはじまるコドン)と、塩基挿入前の被変異nコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図12Aは、挿入遷移テーブルの遷移テーブル50Uのデータ構造を示す図である。i行目j列目の変異nコドンおよび変異n+1コドンに対応するコドンは、i行目j列目の塩基挿入前の被変異nコドンである。
遷移テーブル50Cは、各変異nコドンと、変異n+1コドン(Cからはじまるコドン)と、塩基挿入前の被変異nコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図12Bは、挿入遷移テーブルの遷移テーブル50Aのデータ構造を示す図である。i行目j列目の変異nコドンおよび変異n+1コドンに対応するコドンは、i行目j列目の塩基挿入前の被変異nコドンである。
遷移テーブル50Aは、各変異nコドンと、変異n+1コドン(Aからはじまるコドン)と、塩基挿入前の被変異nコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図12Cは、挿入遷移テーブルの遷移テーブル50Aのデータ構造を示す図である。i行目j列目の変異nコドンおよび変異n+1コドンに対応するコドンは、i行目j列目の塩基挿入前の被変異nコドンである。
遷移テーブル50Cは、各変異nコドンと、変異n+1コドン(Gからはじまるコドン)と、塩基挿入前の変異nコドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図12Dは、挿入遷移テーブルの遷移テーブル50Gのデータ構造を示す図である。i行目j列目の変異nコドンおよび変異n+1コドンに対応するコドンは、i行目j列目の塩基挿入前の被変異nコドンである。たとえば、11行目2列目の変異nコドン「CAA(5Ah)」および変異n+1コドン「GUG(73h)」に対応するコドンは、11行目2列目の塩基挿入前の被変異nコドン「AAG(6Bh)」となる。
欠失遷移テーブル140gは、変異nコドンおよび各変異n+1コドンと、塩基欠失前の被変異n+1コドンとを対応付ける。図13は、欠失遷移テーブルのデータ構造の一例を示す図である。図13に示すように、欠失遷移テーブル140gは、遷移テーブル55U,55C,55A,55Gを有する。
遷移テーブル55Uは、変異nコドン(末尾がUとなるコドン)と、各変異n+1コドンと、塩基欠失前の被変異n+1コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図14Aは、欠失遷移テーブルの遷移テーブル55Uのデータ構造を示す図である。図14Aに示されるいずれかの変異nコドンおよびi行目j列目の変異n+1コドンに対応するコドンは、i行目j列目の塩基欠失前の被変異n+1コドンである。たとえば、変異nコドン「AGU(6Ch))」および5行目4列目の変異n+1コドン「GCU(74h)」に対応するコドンは、5行目4列目の被変異n+1コドン「UGC(4Dh)」となる。
遷移テーブル55Cは、変異nコドン(末尾がCとなるコドン)と、各変異n+1コドンと、塩基欠失前の被変異n+1コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図14Bは、欠失遷移テーブルの遷移テーブル55Cのデータ構造を示す図である。図14Bに示されるいずれかの変異nコドンおよびi行目j列目の変異n+1コドンに対応するコドンは、i行目j列目の塩基欠失前n+1コドンである。
遷移テーブル55Aは、変異nコドン(末尾がAとなるコドン)と、各変異n+1コドンと、塩基欠失前の被変異n+1コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図14Cは、欠失遷移テーブルの遷移テーブル55Aのデータ構造を示す図である。図14Cに示されるいずれかの変異nコドンおよびi行目j列目の変異n+1コドンに対応するコドンは、i行目j列目の塩基欠失前n+1コドンである。
遷移テーブル55Gは、変異nコドン(末尾がGとなるコドン)と、各変異n+1コドンと、塩基欠失前の被変異n+1コドンとを対応付ける。各コドンの関係は、符号化されたコドンで定義される。図14Dは、欠失遷移テーブルの遷移テーブル55Gのデータ構造を示す図である。図14Dに示されるいずれかの変異nコドンおよびi行目j列目の変異n+1コドンに対応するコドンは、i行目j列目の塩基欠失前n+1コドンである。
図5の説明に戻る。検出結果テーブル140hは、分析対象コドン配列データ140bから検出される点突然変異の情報を保持するテーブルである。
制御部150は、受付部150a、符号化部150b、比較部150c、特定部150dを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
受付部150aは、入力部120、外部装置等から、基準コドン配列データ140aおよび分析対象コドン配列データ140bを受け付ける処理部である。受付部150aは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを記憶部140に登録する。
また、受付部150aは、入力部120、外部装置等から、挿入遷移テーブル140fおよび欠失遷移テーブル140gを受け付けた場合には、挿入遷移テーブル140fおよび欠失遷移テーブル140gを記憶部140に登録する。
符号化部150bは、コード変換テーブル140cを基にして、基準コドン配列データ140aおよび分析対象コドン配列データを符号化する処理部である。符号化部150bは、基準コドン配列データ140aと、コード変換テーブル140cとを比較して、各コドンを符号化することで、第1配列データ140dを生成する。符号化部150bは、分析対象コドン配列データ140bと、コード変換テーブル140cとを比較して、各コドンを符号化することで、第2配列データ140eを生成する。符号化部150bは、第1配列データ140dおよび第2配列データ140eを、記憶部140に格納する。
図8に示したように、コード変換テーブル140cにより、各コドンには、1バイトのコードが割り当てられる。たとえば、コドン「UUU」は「40h(01000000)」に変換される。符号化されたコドンを「UUU(40h)」と表記する。
比較部150cは、第1配列データ140dと、第2配列データ140eとを比較して、符号化されたコドンが不一致となる変異位置を特定する処理部である。上述したように、各コドンには1バイトのコードが割り当てられているため、比較部150cは、第1配列データ140dおよび第2配列データ140eについて、先頭から1バイトずつコードを読み出し、比較する処理を繰り返し実行する。
比較部150cは、不一致となる変異位置を特定した場合には、比較結果を特定部150dに出力する。比較結果には、変異位置、第1の被変異コドン、第2の変異コドン、変異nコドン、変異n+1コドンの情報が含まれる。第1の被変異コドンは、第1配列データ140dに含まれる、変異位置の符号化されたコドンである。第2の変異コドンは、第2配列データ140eに含まれる、変異位置の符号化されたコドンである。変異nコドンは、第2の変異コドンの次のコドン(符号化されたコドン)である。変異n+1コドンは、第2の変異コドンの次の次のコドン(符号化されたコドン)である。
なお、比較部150cは、第1配列データ140dと、第2配列データ140eとが一致する場合には、一致した旨の情報を、比較結果として特定部150dに出力する。
特定部150dは、比較部150cの比較結果と、挿入遷移テーブル140fおよび欠失遷移テーブル140gとを基にして、変異位置に発生した点突然変異の種別を特定する処理部である。
特定部150dは、変異nコドンおよび変異n+1コドンと、挿入遷移テーブル140fとの比較により特定される塩基挿入前の被変異nコドンと、第1の被変異コドンの次のコドンとが一致する場合には、変異位置に発生した点突然変異の種別を「塩基挿入」とする。
たとえば、比較結果に含まれる情報を、第1の被変異nコドン「AAG(6Bh)」、第2の変異nコドン「CAA(5Ah))」、変異n+1コドン「GUG(73h)」とする。図12Dで説明したように、変異nコドン「CAA(5Ah)」、変異n+1コドン「GUG(73h)」に対応する塩基挿入前の被変異nコドンは「AAG(6Bh)」である。特定部150dは、塩基挿入前の被変異nコドン「AAG(6Bh)」が、第1の被変異コドンの次のコドン「AAG(6Bh)」と一致するため、変異位置に発生した点突然変異の種別を「塩基挿入」とする。
これに対して、特定部150dは、変異nコドンおよび変異n+1コドンと、挿入遷移テーブル140fとの比較により特定される塩基挿入前の被変異nコドンと、第1の被変異コドンの次のコドンとが一致しない場合には、変異位置に発生した点突然変異の種別から「塩基挿入」を除外する。
特定部150dは、変異nコドンおよび変異n+1コドンと、欠失遷移テーブル140gとの比較により特定される塩基欠失前の被変異n+1コドンと、第1の被変異コドンの次の次のコドンとが一致する場合には、変異位置に発生した点突然変異の種別を「塩基欠失」とする。
たとえば、比較結果に含まれる情報を、第1の被変異n+1コドン「UGC(4Dh)」、第2の変異nコドン「AGU(6Ch)」、変異n+1コドン「GCU(74h)」とする。図14Aで説明したように、変異nコドン「AGU(6Ch)」、変異n+1コドン「GCU(74h))」に対応する塩基欠失前の被変異n+1コドンは「UGC(4Dh)」である。特定部150dは、塩基欠失前の被変異コドン「UGC(4Dh)」が、第1の被変異コドンの次の次のコドン「UGC(4Dh)」と一致するため、基準位置に発生した点突然変異の種別を「塩基欠失」とする。
これに対して、特定部150dは、変異nコドンおよび変異n+1コドンと、欠失遷移テーブル140gとの比較により特定される塩基欠失前の被変異n+1コドンと、第1の被変異コドンの次の次のコドンとが一致しない場合には、変異位置に発生した点突然変異の種別から「塩基欠失」を除外する。
ところで、特定部150dは、挿入遷移テーブル140fを用いた特定および欠失遷移テーブル140gを用いた特定により、点突然変異の種別から「塩基挿入」および「塩基欠失」が除外された場合には、変異位置に発生した点突然変異の種別を「塩基置換」とする。
特定部150dは、変異位置と、点突然変異の種別とを対応付けた情報を、検出結果テーブル140hに登録する。なお、特定部150dは、比較結果に、一致した旨の情報が含まれている場合には、異常がない旨の情報を、検出結果テーブル140hに登録する。情報処理装置100は、検出結果テーブル140hの情報を、ネットワークを介して、外部装置に通知してもよいし、表示部130に出力して表示させてもよい。
次に、本実施例1に係る情報処理装置100の処理手順の一例について説明する。図15は、本実施例1に係る情報処理装置の処理手順を示すフローチャートである。図15に示すように情報処理装置100の受付部150aは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを受け付ける(ステップS101)。
情報処理装置100の符号化部150bは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを符号化し、第1配列データ140dおよび第2配列データ140eを生成する(ステップS102)。
情報処理装置100の比較部150cは、コドン(1バイト)単位に、第1配列データ140dと、第2配列データ140eとを比較し、不一致となる変異位置を特定する(ステップS103)。比較部150cは、変異位置に基づき、第1配列データ140dの第1の被変異コドン、被変異nコドン、被変異n+1コドン、第2配列データ140eの第2の変異コドン、変異nコドン、変異n+1コドンを特定する(ステップS104)。
情報処理装置100の特定部150dは、挿入遷移テーブル140fにおいて、変異nコドン、変異n+1コドンから特定される塩基挿入前の被変異nコドンが、第1の被変異コドンの次のコドンと一致するか否かを判定する(ステップS105)。特定部150dは、一致する場合には(ステップS105,Yes)、点突然変異の種別を「塩基挿入」と特定する(ステップS106)。一方、特定部150dは、一致しない場合には(ステップS105,No)、ステップS107に移行する。
ステップS107について説明する。特定部150dは、欠失遷移テーブル140gにおいて、変異nコドン、変異n+1コドンから特定される塩基挿入前の被変異nコドンが、第1の被変異コドンの次の次のコドンと一致するか否かを判定する(ステップS107)。特定部150dは、一致する場合には(ステップS107,Yes)、点突然変異の種別を「塩基欠失」と特定する(ステップS108)。
一方、特定部150dは、一致しない場合には(ステップS107,No)、点突然変異の種別を「塩基置換」と特定する(ステップS109)。
特定部150dは、特定した突然変異の種別の情報を、検出結果テーブル140hに登録する(ステップS110)。情報処理装置100は、検出結果テーブル140hを、表示部130に出力する(ステップS111)。
次に、本実施例1に係る情報処理装置100の効果について説明する。情報処理装置100は、第1配列データ140dと、第2配列データ140eとを1バイトのコドン単位で比較して、不一致となるコドン(符号化されたコドン)を特定する。そして、情報処理装置100は、不一致となるコドンを変異位置とする遷移先のコドンと、挿入遷移テーブル140f、欠失遷移テーブル140gとの比較により、分析対象コドン配列データに含まれる点突然変異の種別を特定する。これにより、一貫して、符号化されたコドン単位の比較によって、不一致コドンを特定しつつ、突然変異の種別を判定できるため、突然変異の種別判定に要する時間を短縮することができる。
図16~図18は、本実施例2に係る情報処理装置の処理を説明するための図である。図16では、点突然変異「塩基挿入」を検出した場合の処理について説明する。本実施例2に係る情報処理装置は、実施例1の情報処理装置100と同様にして、第1配列データ140dと、第2配列データ140eとを比較することで、不一致となる、変異位置P40を特定する。情報処理装置は、変異位置P40に基づく、変異コドン「GUC(71h)」につき、変異nコドン「CAA(5Ah)」、変異n+1コドン「GUG(73h)」と、挿入遷移テーブル140fとを比較して、塩基挿入前の被変異nコドン「AAG(68h)」を特定する。情報処理装置は、変異コドンの次のコドン「CAA(5Ah)」を、塩基挿入前の被変異nコドン「AAG(68h)」に置き換えることで、修正を行う。
情報処理装置は、変異位置P40を、次のコドンの配列位置に移動させる。移動させた配列位置P41とする。情報処理装置は、配列位置P41につき、変異nコドン「GUG(73h)」と変異n+1コドン「CAU(48h)」と挿入遷移テーブル140fとを比較して、塩基挿入前の被変異nコドン「UGC(4Dh)」を特定する。情報処理装置は、変異コドンの次のコドン「GUG(73h)を、塩基挿入前の被変異コドンの次のコドン「UGC(4Dh)」に置き換えることで、修正を行う。
情報処理装置は、上記のように、配列位置を移動させつつ、変異nコドンを塩基挿入前の被変異nコドンに置き換える処理を繰り返し実行することで、第3配列データ240eを生成する。
情報処理装置は、第3配列データ240eの符号化されたコドンと、第1配列データ140dとの符号化されたコドンを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図16に示す例では、情報処理装置は、配列位置P42のコドン「UCG(47h)」と、配列位置P43のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
図17は、点突然変異「塩基欠失」を検出した場合の処理について説明する。本実施例2に係る情報処理装置は、実施例1の情報処理装置100と同様にして、第1配列データ140dと、第2配列データ140eとを比較することで、不一致となる、変異位置P50を特定する。情報処理装置は、変異位置P50の、変異コドン「UCA(40h)」につき、変異nコドン「AUG(63h)」、変異n+1コドン「GCU(74h)」と、欠失遷移テーブル140gとを比較して、塩基欠失前の被変異n+1コドン「UGC(4Dh)」を特定する。情報処理装置は、変異コドンの次の次のコドン「GCU(74h)」を、塩基挿入前の被変異n+1コドン「UGC(4Dh)」に置き換えることで、修正を行う。
図示を省略するが、情報処理装置は、変異位置P50を、次のコドンの配列位置に移動させる。情報処理装置は、新たな配置位置に基づく、変異nコドン、変異n+1コドンと欠失遷移テーブル140gとを比較して、塩基欠失前の被変異n+1コドンを特定する。情報処理装置は、変異n+1コドンを、塩基欠失前被変異n+1コドンに置き換えることで、修正を行う。
情報処理装置は、上記のように、配列位置を移動させつつ、変異n+1コドンを塩基欠失前被変異n+1コドンに置き換える処理を繰り返し実行することで、第3配列データ240eを生成する。
情報処理装置は、第3配列データ240eの符号化されたコドンと、第1配列データ140dの符号化されたコドンとを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図17に示す例では、情報処理装置は、配列位置P52のコドン「UCG(47h)」と、配列位置P53のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
図18では、点突然変異「塩基置換」を検出した場合の処理について説明する。本実施例2に係る情報処理装置は、実施例1の情報処理装置100と同様にして、第1配列データ140dと、第2配列データ140eとを比較することで、不一致となる、変異位置P60を特定する。情報処理装置は、挿入遷移テーブル140fおよび欠失遷移テーブル140gを用いて、点突然変異を「塩基置換」と判定したものとする。この場合には、情報処理装置は、第2配列データ140eの変異位置P60の変異コドンの次の配列位置P61のコドン以降を複写することで、第3配列データ240eを生成する。
情報処理装置は、第3配列データ240eの符号化されたコドンと、第1配列データ140dとの符号化されたコドンを比較して、相違するコドンを特定する。情報処理装置は、相違するコドンを、潜在的な遺伝子変異として特定する。図18に示す例では、情報処理装置は、配列位置P62のコドン「UCG(47h)」と、配列位置P63のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
上記のように、本実施例2に係る情報処理装置は、点突然変異の種別を特定した後に、第2配列データ140eを修正した第3配列データ240eを生成し、第1配列データ140dと、第3配列データ240eとの相違するコドンを特定する。これにより、潜在的な遺伝子変異を検出することができる。
次に、本実施例2に係る情報処理装置の構成について説明する。図19は、本実施例2に係る情報処理装置の構成を示す機能ブロック図である。図19に示すように、情報処理装置200は、通信部110、入力部120、表示部130、記憶部240、制御部250を有する。ここで、通信部110、入力部120、表示部130に関する説明は、図5で説明した、通信部110、入力部120、表示部130に関する説明と同様である。
記憶部240は、基準コドン配列データ140a、分析対象コドン配列データ140b、コード変換テーブル140c、第1配列データ140d、第2配列データ140eを有する。また、記憶部240は、挿入遷移テーブル140f、欠失遷移テーブル140g、第3配列データ240e、検出結果テーブル240hを有する。記憶部240は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
記憶部240に含まれる基準コドン配列データ140a、分析対象コドン配列データ140b、コード変換テーブル140c、第1配列データ140d、第2配列データ140eの説明は、実施例1で説明したものと同様である。また、記憶部240に含まれる挿入遷移テーブル140f、欠失遷移テーブル140gの説明は、実施例1で説明したものと同様である。
第3配列データ240eは、第2配列データ140eの符号化されたコドンのうち、点突然変異を含むコドンを、正常なコドンに修正した配列データである。
検出結果テーブル240hは、分析対象コドン配列データ140bから検出される点突然変異および遺伝子変異の情報を保持するテーブルである。
制御部250は、受付部150a、符号化部150b、比較部150c、特定部250dを有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
受付部150aは、入力部120、外部装置等から、基準コドン配列データ140aおよび分析対象コドン配列データ140bを受け付ける処理部である。受付部150aは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを記憶部240に登録する。その他の説明は、実施例1の受付部150aの処理と同様である。
符号化部150bは、コード変換テーブル140cを基にして、基準コドン配列データ140aおよび分析対象コドン配列データ140bを符号化する処理部である。その他の説明は、実施例1の符号化部150bの処理と同様である。
比較部150cは、第1配列データ140dと、第2配列データ140eとを比較して、符号化されたコドンが不一致となる変異位置を特定する処理部である。比較部150cは、比較結果を、特定部250dに出力する。その他の説明は、実施例1の比較部150cの処理と同様である。
特定部250dは、比較部150cの比較結果と、挿入遷移テーブル140fおよび欠失遷移テーブル140gとを基にして、変異位置に発生した点突然変異の種別を特定する。特定部250dは、点突然変異の種別を特定すると、第2配列データ140eを修正した第3配列データ240eを生成する。特定部250dは、第1配列データ140dと、第3配列データ240eとを比較して、遺伝子変異を検出する。特定部250dは、変異位置、点突然変異の種別、遺伝子変異の情報を、検出結果テーブル240hに登録する。
特定部250dが、点突然変異の種別を特定する処理は、実施例1で説明した特定部150dの処理と同様である。以下では、点突然変異が「塩基挿入」、「塩基欠失」、「塩基置換」である場合に分けて、特定部250dの処理について説明する。
点突然変異が「塩基挿入」である場合の特定部250dの処理について説明する。特定部250dは、図16で説明したように、変異位置P40に基づく、変異コドン「GUC(71h)」につき、変異nコドン「CAA(5Ah)」、変異n+1コドン「GUG(73h)」と、挿入遷移テーブル140fとを比較して、塩基挿入前の被変異nコドン「AAG(6Bh)」を特定する。特定部250dは、被変異コドンの次のコドン「CAA(5Ah)」を、塩基挿入前の被変異nコドン「AAG(6Bh)」に置き換えることで、修正を行う。
特定部250dは、変異位置P40を、次の配列位置に移動させる。移動させた配列位置P41とする。特定部250dは、配列位置P41につき、変異nコドン「GUG(73h)」、変異n+1コドン「CAU(48h)」と、挿入遷移テーブル140fとを比較して、塩基挿入前の被変異nコドン「UGC(4Dh))」を特定する。特定部250dは、変異コドンの次の次のコドン「GUG(73h)」を、塩基挿入前の被変異nコドン「UGC(4Dh)」に置き換えることで、修正を行う。
特定部250dは、上記のように、配列位置を移動させつつ、変異nコドンを塩基挿入前の被変異nコドンに置き換える処理を繰り返し実行することで、第3配列データ240eを生成する。
特定部250dは、第3配列データ240eの符号化されたコドンと、第1配列データ140dとの符号化されたコドンを比較して、相違するコドンを特定する。特定部250dは、相違するコドンを、潜在的な遺伝子変異として特定する。図16に示す例では、情報処理装置は、配列位置P42のコドン「UCG(47h)」と、配列位置P43のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
特定部250dは、点突然変異の種別「塩基挿入」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル240hに登録する。
点突然変異が「塩基欠失」である場合の特定部250dの処理について説明する。特定部250dは、図17で説明したように、第1配列データ140dと、第2配列データ140eとを比較することで、不一致となる、変異位置P50を特定する。特定部250dは、変異位置P50に基づく、変異コドン「UCA(40h)」につき、変異nコドン「AGU(63h)」、変異n+1コドン「GCU(74h)」と、欠失遷移テーブル140gとを比較して、塩基欠失前の被変異n+1コドン「UGC(4Dh)」を特定する。情報処理装置は、変異コドンの次の次のコドン「GCU(74h)」を、塩基挿入前の被変異n+1コドン「UGC(4Dh)」に置き換えることで、修正を行う。
図示を省略するが、特定部250dは、変異位置P50を、次の配列位置に移動させる。特定部250dは、新たな配列位置に基づく、変異nコドンおよび変異n+1コドンと、欠失遷移テーブル140gとを比較して、塩基欠失前の被変異n+1コドンを特定する。特定部250dは、変異n+1コドンを、塩基欠失前の被変異n+1コドンに置き換えることで、修正を行う。
特定部250dは、上記のように、配列位置を移動させつつ、変異n+1コドンを塩基欠失前の被変異n+1コドンに置き換える処理を繰り返し実行することで、第3配列データ240eを生成する。
特定部250dは、第3配列データ240eの符号化されたコドンと、第1配列データ140dの符号化されたコドンとを比較して、相違するコドンを特定する。特定部250dは、相違するコドンを、潜在的な遺伝子変異として特定する。図17に示す例では、特定部250dは、配列位置P52のコドン「UCG(47h)」と、配列位置P53のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
特定部250dは、点突然変異の種別「塩基欠失」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル240hに登録する。
点突然変異が「塩基置換」である場合の特定部250dの処理について説明する。特定部250dは、図18で説明したように、第1配列データ140dと、第2配列データ140eとを比較することで、不一致となる、変異位置P60を特定する。特定部250dは、挿入遷移テーブル140fおよび欠失遷移テーブル140gを用いて、点突然変異を「塩基置換」と判定したものとする。この場合には、特定部250dは、第2配列データ140eの変異位置P60の変異コドンの次の配列位置P61のコドン以降を複写することで、第3配列データ240eを生成する。
特定部250dは、第3配列データ240eの符号化されたコドンと、第1配列データ140dとの符号化されたコドンを比較して、相違するコドンを特定する。特定部250dは、相違するコドンを、潜在的な遺伝子変異として特定する。図18に示す例では、特定部250dは、配列位置P62のコドン「UCG(47h)」と、配列位置P63のコドン「AAA(6Ah)」を、遺伝子変異として特定する。
特定部250dは、点突然変異の種別「塩基置換」および変異位置の情報と、遺伝子変異として特定したコドンおよび配列位置の情報とを、検出結果テーブル240hに登録する。
次に、本実施例2に係る情報処理装置200の処理手順の一例について説明する。図20は、本実施例2に係る情報処理装置の処理手順を示すフローチャート(1)である。図20に示すように、情報処理装置200の受付部150aは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを受け付ける(ステップS201)。
情報処理装置200の符号化部150bは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを符号化し、第1配列データ140dおよび第2配列データ140eを生成する(ステップS202)。
情報処理装置200の比較部150cは、コドン(1バイト)単位に、第1配列データ140dと、第2配列データ140eとを比較し、不一致となる変異位置を特定する(ステップS203)。情報処理装置200の特定部250dは、点突然変異の種別を特定する(ステップS204)。点突然変異の種別を特定する処理手順は、図15のステップS105~ステップS109で説明した処理手順に対応する。
特定部250dは、点突然変異の種別を基にして、第2配列データ140eを修正した第3配列データ240eを生成する(ステップS205)。特定部250dは、第1配列データ140dと第3配列データ240eとを比較して、遺伝子変異を特定する(ステップS206)。
特定部250dは、特定した突然変異の種別および遺伝子変異の情報を検出結果テーブル250hに登録する(ステップS207)。情報処理装置200は、検出結果テーブル240hを、表示部130に出力する(ステップS208)。
次に、本実施例2に係る情報処理装置200の効果について説明する。情報処理装置200は、第2配列データ140eに含まれる点突然変異の種別を特定すると、第2配列データ140eを修正した第3配列データ240eを生成し、第1配列データ140dと、第3配列データ240eとの相違するコドンを特定する。これにより、点突然変異の種別の判定後も、一貫して、符号化されたコドン単位の比較によって、潜在的な遺伝子変異を検出することができる。
なお、本実施例2に係る情報処理装置200は、便宜上、第3配列データ240eを生成し、第1配列データ140dと比較する方法を説明したが、これに限定されるものでは無い。情報処理装置200は、第3配列データ240eを生成せず、第2配列データ140eをバイト単位に変換し、第1配列データ140dとバイト単位に比較することも可能である。
続いて、本実施例2に係る情報処理装置200のその他の処理について説明する。情報処理装置200は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データ140aを符号化した第1配列データ140dを基にして、コドン・アミノ酸変換を行うことで、第4配列データ(図示略)を生成する。情報処理装置200は、コドン・アミノ酸変換を行った第4配列データと、検索クエリのアミノ酸配列とを、アミノ酸の単位で比較し、変異位置を特定する。
図21Aは、コドン・アミノ酸変換テーブルのデータ構造の一例を示す図である。図21Aに示すように、コドン・アミノ酸変換テーブル240iは、符号化されたコドンと、符号化されたアミノ酸とが対応付けられる。たとえば、符号化されたコドン「UUU(40h)」は、符号化されたアミノ酸「Phe(50h)」と対応付けられる。図19において図示を省略するが、コドン・アミノ酸変換テーブル240iは、情報処理装置200の記憶部240に格納される。
図21Bは、本実施例2に係る情報処理装置のその他の処理を説明するための図である。図21Bに示すように、情報処理装置200は、第1配列データ140dと、コドン・アミノ酸変換テーブル240iとを比較して、符号化された各コドンを、符号化されたアミノ酸にそれぞれ変換することで、第4配列データ240jを生成する。たとえば、コドン「AUG(63h)」は、アミノ酸「Met(4Dh)」に変換される。図19において図示を省略するが、第4配列データ240jは、情報処理装置200の記憶部240に格納される。
情報処理装置200は、第4配列データ240jと、第2配列データ140eとを比較して、不一致となる変異位置を特定する。図21Bに示す例では、配列位置P25以降のアミノ酸が異なっていると判定する。
次に、検索クエリの入力がアミノ酸配列の場合における、本実施例2に係る情報処理装置200の処理手順の一例について説明する。図22は、本実施例2に係る情報処理装置の処理手順を示すフローチャート(2)である。図22に示すように、情報処理装置200の受付部150aは、基準コドン配列データを受け付ける(ステップS210)。情報処理装置200の符号化部150bは、基準コドン配列データ140aを符号化し、第1配列データ140dを生成する(ステップS211)。
受付部150aは、分析対象アミノ酸配列データを受け付ける(ステップS212)。符号化部150bは、分析対象アミノ酸配列データを符号化し、第2配列データ140eを生成する(ステップS213)。ステップS213において、符号化部150bは、コード変換テーブル140cを基にして、分析対象アミノ酸配列データを、第2配列データ140eに変換する。具体的な説明は省略するが、コード変換テーブル140cは、アミノ酸と、符号化されたアミノ酸とを対応付けた情報を保持しているものとする。
情報処理装置200の比較部150cは、コドン・アミノ酸変換テーブル240iを基にして、第1配列データ140dから、第4配列データ240jを生成する(ステップS214)。比較部150cは、アミノ酸単位に第4配列データ240jと第2配列データ140eとを比較し、変異位置を特定する(ステップS215)。
情報処理装置200は、比較部150cにより特定された変異位置の情報を、検出結果テーブル240hに登録する(ステップS216)。情報処理装置200は、検出結果テーブル240hを、表示部130に出力する(ステップS217)。
上記のように、情報処理装置200は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データ140aを符号化した第1配列データ140dを基にして、コドン・アミノ酸変換を行い、検索クエリと比較する。これにより、検索クエリの入力がアミノ酸配列であっても、突然変異の発生したアミノ酸を特定することができる。
図23および図24は、本実施例3に係る情報処理装置の処理を説明するための図である。図示を省略するが、本実施例3に係る情報処理装置は、実施例1の情報処理装置100と同様にして、基準コドン配列データ140aを受け付けると、コード変換テーブル140cを基にして符号化を行い、第1配列データ140dし、同時に転置インデックス340aを生成する。また、情報処理装置は、分析対象コドン配列データ140bを受け付けると、コード変換テーブル140cを基にして符号化を行い、第2配列データ140eを生成する。
図23について説明する。本実施例3に係る情報処理装置は、第1配列データ140dの生成と同時に、転置インデックス340aを生成する。転置インデックス340aは、第1配列データ140dの符号化されたコードの種別と、配列位置(オフセット)との関係をビットマップによって示す情報である。
転置インデックス340aの横軸は、オフセットに対応する軸である。転置インデックス340aの縦軸は、符号化されたコドンの種別に対応する軸である。転置インデックス340aは、「0」または「1」のビットマップで示され、初期状態では全てのビットマップが「0」に設定される。
ここで、オフセットは、配列データに含まれる先頭のコドンからのオフセットである。本実施例3では、先頭のコドンのオフセットを「0」とする。たとえば、第1配列データ140dについて、コドン「AUG(63h)」が先頭から7番目のコドンである場合には、コドン「AUG(63h)」のオフセットは「6」となる。
情報処理装置は、第1配列データ140dを先頭から走査して、符号化されたコドンの種別と、オフセットとの関係を特定し、転置インデックス340aの対応する箇所に「1」を設定する。たとえば、オフセット「6」にコドン「AUG(63h)」が存在するため、オフセット「6」の列と、コドンの種別「AUG(63h)」の行とが交差する箇所に「1」を設定する。情報処理装置は、上記処理を繰り返し実行することで、転置インデックス340aを生成する。
図24について説明する。情報処理装置は、第2配列データ140eの開始コドンから順に符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス340aからそれぞれ取得する。たとえば、開始コドンを「AUG(63h)」とする。
情報処理装置は、コドン「AUG(63h)」のビットマップb10、コドン「UUU(40h)」のビットマップb11、コドン「GUC(71h)」のピットマップb12を順に、転置インデックス340aから取得する。ビットマップb10は、転置インデックス340aのコドンの種別「AUG(63h)」の行に対応するビットマップである。ビットマップb11は、転置インデックス340aのコドンの種別「UUU(40h)」の行に対応するビットマップである。ビットマップb12は、転置インデックス340aのコドンの種別「GUC(71h)」の行に対応するビットマップである。
情報処理装置は、ビットマップb10~b12のビットマップの「1」の位置に着目し、「1」が順番に1つ左シフトしている間は、第1配列データ140dと、第2配列データ140eとのコドンが一致していると判定する。情報処理装置は、「1」が順番に1つ左シフトしなくなった段階で、第1配列データ140dと、第2配列データ140eとのコドンが不一致であると判定する。図24に示す例では、ビットマップb11からビットマップb12への段階で、「1」がオフセット「7」からオフセット「20」に移動しているため、オフセット(配列位置)「8」のコドン「GUC(71h)」が、不一致となる旨が特定される。
上記のように、本実施例3に係る情報処理装置は、第1配列データ140dを基にして、転置インデックス340aを生成しておく。情報処理装置は、第2配列データ140eに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを転置インデックス340aから取得し、取得した複数のビットマップのフラグ「1」の位置を基にして、不一致となるコドンを特定する。これにより、点突然変異を含むコドンの検索を高速に実行することが可能となる。
次に、本実施例3に係る情報処理装置の構成について説明する。図25は、本実施例3に係る情報処理装置の構成を示す機能ブロック図である。図25に示すように、情報処理装置300は、通信部110、入力部120、表示部130、記憶部340、制御部350を有する。ここで、通信部110、入力部120、表示部130に関する説明は、図5で説明した、通信部110、入力部120、表示部130に関する説明と同様である。
記憶部340は、基準コドン配列データ140a、分析対象コドン配列データ140b、コード変換テーブル140c、第1配列データ140d、転置インデックス340a、第2配列データ140eを有する。また、記憶部340は、挿入遷移テーブル140f、欠失遷移テーブル140g、第3配列データ240e、検出結果テーブル240hを有する。記憶部340は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。図25において図示を省略するが、記憶部340は、コドン・アミノ酸変換テーブル240i、第4配列データ240jを有していてもよい。
記憶部240に含まれる基準コドン配列データ140a、分析対象コドン配列データ140b、コード変換テーブル140c、第1配列データ140d、第2配列データ140eの説明は、実施例1で説明したものと同様である。記憶部340に含まれる挿入遷移テーブル140f、欠失遷移テーブル140gの説明は、実施例1で説明したものと同様である。記憶部340に含まれる第3配列データ240e、検出結果テーブル240hに関する説明は、実施例2で説明したものと同様である。
転置インデックス340aは、第1配列データ140dの符号化されたコードの種別と、配列位置(オフセット)との関係をビットマップによって示す情報である。図23で説明したように、転置インデックス340aの横軸は、オフセットに対応する軸である。転置インデックス340aの縦軸は、符号化したコドンの種別に対応する軸である。
制御部350は、受付部150a、符号化部150b、生成部350a、取得部350b、特定部350cを有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
受付部150aは、入力部120、外部装置等から、基準コドン配列データ140aおよび分析対象コドン配列データ140bを受け付ける処理部である。受付部150aは、基準コドン配列データ140aおよび分析対象コドン配列データ140bを記憶部340に登録する。その他の説明は、実施例1の受付部150aの処理と同様である。
符号化部150bは、コード変換テーブル140cを基にして、基準コドン配列データ140aおよび分析対象コドン配列データ140bを符号化する処理部である。その他の説明は、実施例1の符号化部150bの処理と同様である。
生成部350aは、第1配列データ140dを基にして、転置インデックス340aを生成する処理部である。生成部350aは、第1配列データ140dを先頭から走査して、符号化されたコドンの種別と、オフセット(配列位置)との関係を特定し、転置インデックス340aの対応する箇所に「1」を設定する。たとえば、生成部350aは、オフセット「6」にコドン「AUG(63h)」が存在するため、オフセット「6」の列と、コドンの種別「AUG(63h)」の行とが交差する箇所に「1」を設定する。生成部350a、上記処理を繰り返し実行することで、転置インデックス340aを生成する。
生成部350aは、転置インデックス340aを生成すると、情報量を削減するため、転置インデックス340aをハッシュ化してもよい。図26は、転置インデックスをハッシュ化する処理の一例を説明するための図である。
図26で説明する例では、32ビットレジスタを想定し、「29」と「31」の素数(底)を基に、転置インデックス340aの各行のビットマップをハッシュ化する。ここでは、一例として、ビットマップb1から、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を生成する場合について説明する。
ビットマップb1は、転置インデックス(たとえば、図23に示した転置インデックス340a)のある行を抽出したビットマップを示すものとする。ハッシュ化ビットマップh11は、底「29」によりハッシュ化されたビットマップである。ハッシュ化ビットマップh12は、底「31」によりハッシュ化されたビットマップである。
生成部350aは、ビットマップb1の各ビットの位置を、1つの低で割った余りの値を、ハッシュ化ビットマップの位置と対応付ける。生成部350aは、該当するビットマップb1のビットの位置に「1」が設定されている場合には、対応付けられたハッシュ化ビットマップの位置に「1」を設定する処理を行う。
ビットマップb1から、底「29」のハッシュ化ビットマップh11を生成する処理の一例について説明する。はじめに、生成部350aは、ビットマップb1の位置「0~28」の情報を、ハッシュ化ビットマップh11にコピーする。続いて、ビットマップb1のビットの位置「35」を、低「29」で割った余りは「6」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh11の位置「6」と対応付けられる。生成部350aは、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「6」に「1」を設定する。
ビットマップb1のビットの位置「42」を、低「29」で割った余りは「13」となるので、ビットマップb1の位置「42」は、ハッシュ化ビットマップh11の位置「13」と対応付けられる。生成部350aは、ビットマップb1の位置「42」に「1」が設定されているため、ハッシュ化ビットマップh11の位置「13」に「1」を設定する。
生成部350aは、ビットマップb1の位置「29」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh11を生成する。
ビットマップb1から、底「31」のハッシュ化ビットマップh12を生成する処理の一例について説明する。はじめに、生成部350aは、ビットマップb1の位置「0~30」の情報を、ハッシュ化ビットマップh12にコピーする。続いて、ビットマップb1のビットの位置「35」を、低「31」で割った余りは「4」となるので、ビットマップb1の位置「35」は、ハッシュ化ビットマップh12の位置「4」と対応付けられる。生成部350aは、ビットマップb1の位置「35」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「4」に「1」を設定する。
ビットマップb1のビットの位置「42」を、低「31」で割った余りは「11」となるので、ビットマップb1の位置「42」は、ハッシュ化ビットマップh12の位置「11」と対応付けられる。生成部350aは、ビットマップb1の位置「42」に「1」が設定されているため、ハッシュ化ビットマップh12の位置「11」に「1」を設定する。
生成部350aは、ビットマップb1の位置「31」以上の位置について、上記処理を繰り返し実行することで、ハッシュ化ビットマップh12を生成する。
生成部350aは、転置インデックス340aの各行について上記の折り返し技術による圧縮を行うことで、転置インデックスをハッシュ化する。なお、底「29」、「31」のハッシュ化ビットマップは、生成元のビットマップの行(符号化されたコドンの種別)の情報が付与される。
取得部350bは、第2配列データ140eに含まれる各符号化されたコドンに対応するビットマップを転置インデックス340aから順番に取得する処理部である。取得部350bは、取得した各ビットマップの情報を特定部350cに出力する。特定部350cに出力されるビットマップの情報は、読み出した順にソートされているものとする。
取得部350bは、第2配列データ140eの開始コドンから順に、符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス340aから取得する。たとえば、開始コドンを「AUG(63h)」とし、第2配列データ140eを、図24に示すものとする。この場合には、取得部350bは、「AUG(63h)」のビットマップb10、「UUU(40h)」のビットマップb11、「GUC(71h)」のビットマップb12、「CAA(5Ah)」のビットマップ(図示略)、続く各コドンのビットマップを読み出す。
ところで、取得部350bは、転置インデックス340aがハッシュ化されている場合には、次の処理を実行することで、ハッシュ化された転置インデックス340aを復元する。図27は、転置インデックスを復元する処理の一例を示す図である。ここでは一例として、取得部350bが、ハッシュ化ビットマップh11およびハッシュ化ビットマップh12を基にして、ビットマップb1を復元する場合について説明する。
取得部350bは、底「29」のハッシュ化ビットマップh11から、中間ビットマップh11’を生成する。取得部350bは、ハッシュ化ビットマップh11の位置0~28の値を、中間ビットマップh11’の位置0~28にそれぞれ、コピーする。
取得部350bは、中間ビットマップh11’の位置29以降の値については、「29」毎に、ハッシュ化ビットマップh11の位置0~28の値を、それぞれコピーする処理を繰り返し実行する。図27に示す例では、中間ビットマップh11’の位置29~43の位置に、ハッシュ化ビットマップh11の位置0~14の値を、コピーした例を示す。
取得部350bは、底「31」のハッシュ化ビットマップh12から、中間ビットマップh12’を生成する。取得部350bは、ハッシュ化ビットマップh12の位置0~30の値を、中間ビットマップh12’の位置0~30にそれぞれ、コピーする。
取得部350bは、中間ビットマップh12’の位置31以降の値については、「31」毎に、ハッシュ化ビットマップh12の位置0~30の値を、それぞれコピーする処理を繰り返し実行する。図27に示す例では、中間ビットマップh12’の位置31~43の位置に、ハッシュ化ビットマップh12の位置0~12の値を、コピーした例を示す。
取得部350bは、中間ビットマップh11’と、中間ビットマップh12’とを生成すると、中間ビットマップh11’と、中間ビットマップh12’とをAND演算することで、ハッシュ化前のビットマップb1を復元する。取得部350bは、他のハッシュ化されたビットマップについても、同様の処理を繰り返し実行することで、コドンに対応する各ビットマップを復元する(転置インデックス340aを復元する)ことができる。
図25の説明に戻る。特定部350cは、第1配列データ140dと第2配列データ140eとの不一致となる変異位置を特定する処理、点突然変異の種別を特定する処理、遺伝子変異を特定する処理を実行する。
特定部350cが、第1配列データ140dと第2配列データ140eとの不一致となる変異位置を特定する処理について説明する。図28は、本実施例3に係る特定部の処理を説明するための図である。図28に示すビットマップb10,b11,b12は、上記の取得部350bから受け付けたビットマップである。
特定部350cは、ビットマップb10を左シフトすることで、ビットマップb10-1を生成する(ステップS10)。特定部350cは、ビットマップ10-1と、ビットマップb11とをAND演算することで、ビットマップb11-1を算出する(ステップS11)。ビットマップb11-1では、オフセット7にビット「1」が立っているため、第1配列データ140dと、第2配列データ140eとは、オフセット「6」からオフセット「7」まで一致していることを意味する。
特定部350cは、ビットマップb11-1を左シフトすることで、ビットマップ11-2を算出する(ステップS12)。特定部350cは、ビットマップb11-2と、ビットマップb12とをAND演算することで、ビットマップb12-1を算出する(ステップS13)。ビットマップb11-2のオフセット「8」にビット「1」が立っていたが、ビットマップb12-1では、オフセット「8」にビットが「0」となる。これにより、特定部350cは、第1配列データ140dと、第2配列データ140eとは、オフセット(配列位置)「8」において、不一致であると判定する。
続いて、特定部350cが、点突然変異の種別を特定する処理について説明する。特定部350cは、不一致となる変異位置(オフセット)と、挿入遷移テーブル140fと、欠失遷移テーブル140gとを基にして、変異位置に発生した点突然変異の種別を特定する。特定部350cは、点突然変異の種別を特定すると、第2配列データ140eを修正した第3配列データ240eを生成する。
ここで、特定部350cが、点突然変異の種別を特定する処理は、実施例1で説明した特定部150dの処理と同様である。また、特定部350cが、点突然変異の種別を基にして、第2配列データ140eを修正した第3配列データ240eを生成する処理は、実施例2で説明した特定部250dの処理と同様である。
続いて、特定部350cが、遺伝子変異を特定する処理について説明する。特定部350cは、第3配列データ240eに含まれる各符号化されたコドンの種別に対応するビットマップを、転置インデックス340aから順に取得する。特定部350cは、ビットマップを読み出す場合には、取得部350bと同様にして、開始コドンから順に、符号化されたコドンを読み出し、読み出したコドンの種別に対応するビットマップを、転置インデックス340aから取得する。
特定部350cは、各ビットマップを取得すると、図24で説明した処理と同様にして、ビットマップを左シフトしたビットマップと、次のビットマップとをAND演算することで、新たなビットマップを算出する処理を繰り返し実行する。特定部350cは、新たなビットマップにビット「1」が含まれなくなった時点のオフセットにおいて、第1配列データ140dと、第3配列データ240eとが不一致であると判定する。特定部350cは、判定した不一致となるオフセットに対応する第3配列データ240eのコドンを、遺伝子変異となるコドンであると判定する。
特定部350cは、上記の処理を実行し、点突然変異の種別および変異位置(オフセット)の情報、遺伝子変異として特定したコドンおよび配列位置(オフセット)の情報とを、検出結果テーブル240hに登録する。
次に、本実施例3に係る情報処理装置300の処理手順の一例について説明する。図29は、本実施例3に係る情報処理装置の処理手順を示すフローチャートである。図29に示すように、情報処理装置300の受付部150aは、基準コドン配列データ140aと分析対象コドン配列データ140bを受け付ける(ステップS301)。
情報処理装置300の符号化部150bは、基準コドン配列データ140aを符号化して第1配列データ140dを生成し、同時に転置インデックス340aを生成する(ステップS302)。
符号化部150bは、分析対象コドン配列データ140bを符号化して、第2配列データ140dを生成する(ステップS303)。情報処理装置300の取得部350bは、第2配列データ140eの符号化されたコドンと、転置インデックス340aとを比較して、コドンに対応するビットマップを順番に取得する(ステップS304)。
情報処理装置300の特定部350cは、各ビットマップのシフト演算、AND演算を実行することで、不一致となる変異位置(オフセット)を特定する(ステップS305)。特定部350cは、点突然変異の種別を特定する(ステップS306)。
特定部350cは、点突然変異の種別を基にして、第2配列データ140eを修正した第3配列データ240eを生成する(ステップS307)。特定部350cは、第3配列データの符号化されたコドンと、転置インデックス340aとを比較して、コドンに対応するビットマップを順番に取得する(ステップS308)。
特定部350cは、各ビットマップのシフト演算、AND演算を実行することで、不一致となる変異位置(オフセット)および遺伝子変異を特定する(ステップS309)。特定部350cは、特定した点突然変異の種別および遺伝子変異の情報を、検出結果テーブル240hに登録する(ステップS310)。情報処理装置300は、検出結果テーブル240hを、表示部130に出力して表示させる(ステップS311)。
次に、特定部350cがビットマップを基にして点突然変異のオフセットを特定する処理手順の一例について説明する。図30は、本実施例3に係る特定部が点突然変異のオフセットを特定する処理を示すフローチャートである。図30に示すように、情報処理装置300の特定部350cは、オフセットnを、開始コドンのオフセットに設定する(ステップS401)。情報処理装置100の取得部350bは、第2配列データ140eのオフセットnのコドンに対応する第1ビットマップを転置インデックス340aから取得する(ステップS402)。
特定部350cは、第1ビットマップを左シフトする(ステップS403)。特定部350cは、オフセットnに1をインクリメントする(ステップS404)。取得部350bは、第2配列データのオフセットnのコドンに対応する第2ビットマップを転置インデックス340aから取得する(ステップS405)。
特定部350cは、第1ビットマップと、第2ビットマップとをAND演算し、第3ビットマップを生成する(ステップS406)。特定部350cは、第3ビットマップのオフセットnのビットが「1」であるか否かを判定する(ステップS407)。
特定部350cは、第3ビットマップのオフセットnのビットが「1」でない場合には(ステップS408,No)、第2配列データのオフセットnに点突然変異があると判定する(ステップS409)。
一方、特定部350cは、第3ビットマップのオフセットnのビットが「1」である場合には(ステップS408,Yes)、第3ビットマップを左シフトしたビットマップによって、第1ビットマップを更新し(ステップS410)、ステップS404に移行する。
次に、本実施例3に係る情報処理装置300の効果について説明する。本実施例3に係る情報処理装置300は、第2配列データ140eに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを転置インデックス340aから取得し、取得した複数のビットマップのシフト演算、AND演算に基づいて、不一致となるコドンを特定する。これにより、点突然変異や遺伝子変異を含むコドンの検索を高速に実行することが可能となる。
なお、本実施例3に係る情報処理装置300は、便宜上、第3配列データ240eを生成し、第1配列データ140dと比較する方法を説明したが、これに限定されるものでは無い。情報処理装置200は、第3配列データ240eを生成せず、第2配列データ140eをバイト単位に変換し、第1配列データ140dとバイト単位に比較することも可能である。
続いて、本実施例3に係る情報処理装置300のその他の処理について説明する。情報処理装置300は、検索クエリの入力がアミノ酸配列の場合、塩基記号で記述された基準コドン配列データを符号化し、コドンに対応付けた転置インデックスを生成する。また、情報処理装置300は、コドン配列をアミノ酸配列に変換し、アミノ酸に対応付けた転置インデックスに生成し、生成した転置インデックスを用いて変異位置を特定する。
図31は、本実施例3に係る情報処理装置のその他の処理を説明するための図である。図31に示すように、情報処理装置300は、第1配列データ140dと、図21Aに示したコドン・アミノ酸変換テーブル240iとを基にして、第4配列データ240jを生成し、同時に転置インデックス340bを生成する。転置インデックス340bは、第4配列データ240jの符号化されたコードの種別と、配列位置(オフセット)との関係をビットマップによって示す情報である。
情報処理装置300は、アミノ酸配列に対応した転置インデックス340bを用いて、変異位置を特定する処理を行う。たとえば、情報処理装置300は、アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを転置インデックス340bから取得し、取得した複数のビットマップのフラグの位置を基にして、アミノ酸配列データに含まれるアミノ酸のうち、第4配列データ240jと不一致となる配列位置を特定する。
次に、検索クエリの入力がアミノ酸配列の場合における、本実施例3に係る情報処理装置300の処理手順の一例について説明する。図32は、本実施例3に係る情報処理装置の処理手順を示すフローチャート(2)である。
図32に示すように、情報処理装置300の受付部150aは、基準コドン配列データを受け付ける(ステップS401)。情報処理装置300の符号化部150bは、基準コドン配列データを符号化し、第1配列データ140dを生成すると共に、生成部350aが、転置インデックス350aを生成する(ステップS402)。
受付部150aは、分析対象アミノ酸配列データを受け付ける(ステップS403)。符号化部150bは、分析対象アミノ酸配列データを符号化し、第2配列データ140eを生成する(ステップS404)。
生成部350aは、コドン・アミノ酸変換テーブル240iを基にして、第1配列データ140dから第4配列データ240jを生成し、同時にアミノ酸に対応付けた転置インデックス340bを生成する(ステップS405)。
情報処理装置400の特定部350cは、各ビットマップのシフト演算、AND演算を実行することで、不一致となる変異位置(オフセット)を特定する(ステップS406)。特定部350cは、特定した突然変異の情報を、検出結果テーブル240hに登録する(ステップS407)。情報処理装置300は、検出結果テーブル240hを、表示部130に出力して表示させる(ステップS408)。
上記のように、情報処理装置300は、検索クエリの入力がアミノ酸配列の場合、アミノ酸に対応した転置インデックス340bを生成し、第2配列データ140eと比較する。これにより、検索クエリの入力がアミノ酸配列であっても、突然変異の発生したアミノ酸を、転置インデックスを用いて、特定することができる。
次に、実施例1、2に示した情報処理装置100,200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図33は、本実施例1、2に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図33に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
ハードディスク装置407は、受付プログラム407a、符号化プログラム407b、比較プログラム407c、特定プログラム407dを有する。CPU401は、受付プログラム407a、符号化プログラム407b、比較プログラム407c、特定プログラム407dを読み出してRAM406に展開する。
受付プログラム407aは、受付プロセス406aとして機能する。符号化プログラム407bは、符号化プロセス406bとして機能する。比較プログラム407cは、比較プロセス406cとして機能する。特定プログラム407dは、特定プロセス406dとして機能する。
受付プロセス406aの処理は、受付部150aの処理に対応する。符号化プロセス406bの処理は、符号化部150bの処理に対応する。比較プロセス406cの処理は、比較部150cの処理に対応する。特定プロセス406dの処理は、特定部150d,250dの処理に対応する。
なお、各プログラム407a~407dについては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407dを読み出して実行するようにしてもよい。
次に、実施例3に示した情報処理装置300と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図34は、本実施例3に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図34に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る読み取り装置504と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置505とを有する。コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507とを有する。そして、各装置501~507は、バス508に接続される。
ハードディスク装置507は、受付プログラム507a、符号化プログラム507b、生成プログラム507c、取得プログラム507d、特定プログラム507eを有する。CPU501は、受付プログラム507a、符号化プログラム507b、生成プログラム507c、取得プログラム507d、特定プログラム507eを読み出してRAM406に展開する。
受付プログラム507aは、受付プロセス506aとして機能する。符号化プログラム507bは、符号化プロセス506bとして機能する。生成プログラム507cは、生成プロセス506cとして機能する。取得プログラム507dは、取得プロセス506dとして機能する。特定プログラム507eは、特定プロセス506eとして機能する。
受付プロセス406aの処理は、受付部150aの処理に対応する。符号化プロセス406bの処理は、符号化部150bの処理に対応する。生成プロセス506cの処理は、生成部350aの処理に対応する。取得プロセス506dの処理は、取得部350bの処理に対応する。特定プロセス506eの処理は、特定部350cの処理に対応する。
なお、各プログラム507a~507dについては、必ずしも最初からハードディスク装置507に記憶させておかなくてもよい。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500が各プログラム507a~507eを読み出して実行するようにしてもよい。
100,200,300 情報処理装置
110 通信部
120 入力部
130 表示部
140,240,340 記憶部
140a 基準コドン配列データ
140b 分析対象コドン配列データ
140c コード変換テーブル
140d 第1配列データ
140e 第2配列データ
140f 挿入遷移テーブル
140g 欠失遷移テーブル
140h,240h 検出結果テーブル
150,250,350 制御部
150a 受付部
150b 符号化部
150c 比較部
150d,250d,350c 特定部
240e 第3配列データ
240i コドン・アミノ酸変換テーブル
240j 第4配列データ
350a 生成部
350b 取得部

Claims (17)

  1. 基準コドン配列データと、分析対象コドン配列データとを取得し、
    取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
    前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
    あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
    処理をコンピュータが実行することを特徴とする特定方法。
  2. 前記記憶部は、被変異コドンを、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶し、
    前記記憶部と、特定された突然変異の種別と、特定された前記複数の配列位置にそれぞれ位置するコドンとを比較して、前記被変異コドンを特定する処理を更に実行することを特徴とする請求項1に記載の特定方法。
  3. 前記被変異コドンを基にして、前記分析対象コドン配列データを修正し、修正したコドン配列データと、前記基準コドン配列データとを比較して、不一致となるコドンを特定する処理を更に実行することを特徴とする請求項2に記載の特定方法。
  4. 前記突然変異の種別を特定する処理は、前記被変異コドンと、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも一つ後ろのコドンとが一致する場合に、前記突然変異の種別が塩基挿入であると判定することを特徴とする請求項2に記載の特定方法。
  5. 前記突然変異の種別を特定する処理は、前記被変異コドンが、前記基準コドン配列データにおける、コドンが不一致となる配列位置よりも二つ後ろのコドンと一致する場合に、前記突然変異の種別が塩基欠失であると判定することを特徴とする請求項4に記載の特定方法。
  6. 前記突然変異の種別を特定する処理は、前記突然変異の種別が前記塩基挿入でなく、かつ、前記塩基欠失でないと判定した場合には、前記突然変異の種別が塩基置換であると判定することを特徴とする請求項5に記載の特定方法。
  7. 記基準コドン配列データをコドン単位で符号化した第1配列データと、前記分析対象コドン配列データをコドン単位で符号化した第2配列データとを生成する処理を更に実行し、
    前記比較する処理は、前記第1配列データと、前記第2配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定することを特徴とする請求項1に記載の特定方法。
  8. 分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記第1配列データのコドン単位の符号をアミノ酸単位の符号に変換する処理を更に実行し、前記特定する処理は、符号化された前記アミノ酸配列データと、変換された前記第1配列データとを基にして、不一致となる符号の位置を特定することを特徴とする請求項7に記載の特定方法。
  9. 基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
    分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得する処理を更に実行し、
    前記比較する処理は、取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定することを特徴とする請求項1に記載の特定方法。
  10. 前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項9に記載の特定方法。
  11. コンピュータに、
    基準コドン配列データと、分析対象コドン配列データとを取得し、
    取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較し、
    前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、
    あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する、
    処理を実行させることを特徴とする特定プログラム。
  12. 記基準コドン配列データをコドン単位で符号化した第1配列データと、前記分析対象コドン配列データをコドン単位で符号化した第2配列データとを生成する処理を更に実行し、
    前記比較する処理は、前記第1配列データと、前記第2配列データとを、一つのコドンに相当する符号の単位で比較し、不一致となる符号の位置を特定することを特徴とする請求項11に記載の特定プログラム。
  13. コンピュータに、
    基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成し、
    分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得する処理を更に実行し、
    前記比較する処理は、取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定することを特徴とする請求項11に記載の特定プログラム。
  14. 前記生成する処理は、分析対象の配列データとして、アミノ酸配列データを取得した場合に、前記基準コドン配列データに含まれるコドンの種別をアミノ酸の種別に変換したアミノ酸転置インデックスを生成し、前記取得する処理は、前記アミノ酸配列データに含まれるアミノ酸の先頭から順に、アミノ酸の種別に対応するビットマップを前記アミノ酸転置インデックスから取得し、前記特定する処理は、取得した複数のビットマップのフラグの位置を基にして、前記アミノ酸配列データに含まれるアミノ酸のうち、前記基準コドン配列データと不一致となる配列位置を特定することを特徴とする請求項13に記載の特定プログラム。
  15. 基準コドン配列データと、分析対象コドン配列データとを取得し、取得した前記基準コドン配列データに含まれるコドンと、取得した前記分析対象コドン配列データに含まれるコドンとを、コドンの配列位置毎に比較する比較部と、
    前記比較の結果に基づき、前記分析対象コドン配列データに含まれるコドンのうち、コドンが不一致となる配列位置に後続する複数の配列位置にそれぞれ位置するコドンを特定し、あるコドン配列データに含まれるあるコドンに生じた突然変異の種別を、前記あるコドンに前記突然変異が生じることで前記あるコドンの配列位置に後続する複数の配列位置にそれぞれ位置するコドンに対応付けて記憶する記憶部を参照して、特定した前記複数の配列位置にそれぞれ位置するコドンに対応づけられた突然変異の種別を特定する特定部と
    を有することを特徴とする情報処理装置。
  16. 記基準コドン配列データをコドン単位で符号化した第1配列データと、前記分析対象コドン配列データをコドン単位で符号化した第2配列データとを生成する符号化部を更に有し
    前記比較部は、前記第1配列データと、前記第2配列データとを、一つのコドンに相当する符号の単位で比較し、前記特定部は、前記比較の結果に基づき、不一致となる符号の位置を特定することを特徴とする請求項15に記載の情報処理装置。
  17. 基準コドン配列データを取得し、前記基準コドン配列データに含まれるコドンの種別と、前記コドンの配列位置とをビットマップのフラグによって対応付けた転置インデックスを生成する生成部を更に有し、
    前記特定部は、分析対象コドン配列データを取得した場合に、前記分析対象コドン配列データに含まれるコドンの先頭から順に、コドンの種別に対応するビットマップを前記転置インデックスから取得し、取得した複数のビットマップのフラグの位置を基にして、前記分析対象コドン配列データに含まれるコドンのうち、前記基準コドン配列データのコドンと不一致となる配列位置を特定することを特徴とする請求項15に記載の情報処理装置
JP2020540993A 2018-09-07 2018-09-07 特定方法、特定プログラムおよび情報処理装置 Active JP7124877B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/033329 WO2020049748A1 (ja) 2018-09-07 2018-09-07 特定方法、特定プログラムおよび情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2020049748A1 JPWO2020049748A1 (ja) 2021-08-12
JP7124877B2 true JP7124877B2 (ja) 2022-08-24

Family

ID=69721989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020540993A Active JP7124877B2 (ja) 2018-09-07 2018-09-07 特定方法、特定プログラムおよび情報処理装置

Country Status (5)

Country Link
US (1) US20210183466A1 (ja)
EP (1) EP3848935A4 (ja)
JP (1) JP7124877B2 (ja)
AU (1) AU2018440274B2 (ja)
WO (1) WO2020049748A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113811949A (zh) * 2019-05-13 2021-12-17 富士通株式会社 评价方法、评价程序和评价装置
WO2022009342A1 (ja) * 2020-07-08 2022-01-13 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置
JP7537609B2 (ja) * 2021-05-18 2024-08-21 富士通株式会社 情報処理プログラム、情報処理方法および情報処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256433A (ja) 2002-02-27 2003-09-12 Japan Science & Technology Corp 遺伝子構造解析方法およびその装置
WO2012034030A1 (en) 2010-09-09 2012-03-15 Omicia, Inc. Variant annotation, analysis and selection tool
WO2017201050A1 (en) 2016-05-19 2017-11-23 Minati Ludovico Comparing dna fragments with a reference genome

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3950292B2 (ja) 2000-10-25 2007-07-25 株式会社日立製作所 アミノ酸フレーム表示システム、アミノ酸フレーム表示方法及び記録媒体
JP2004355522A (ja) 2003-05-30 2004-12-16 Keio Gijuku データ処理方法、データ処理システム、mRNA翻訳方法、及びmRNA翻訳システム
US20100205204A1 (en) 2007-03-02 2010-08-12 Research Organization Of Information And Systems Homology retrieval system, homology retrieval apparatus, and homology retrieval method
WO2009013910A1 (ja) 2007-07-24 2009-01-29 Keio University 符号化装置、復号化装置、及び情報記録媒体
CN111254500B (zh) 2012-12-10 2024-01-23 分析生物科学有限公司 靶向基因组分析的方法
US10658068B2 (en) * 2014-06-17 2020-05-19 Ancestry.Com Dna, Llc Evolutionary models of multiple sequence alignments to predict offspring fitness prior to conception

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003256433A (ja) 2002-02-27 2003-09-12 Japan Science & Technology Corp 遺伝子構造解析方法およびその装置
WO2012034030A1 (en) 2010-09-09 2012-03-15 Omicia, Inc. Variant annotation, analysis and selection tool
WO2017201050A1 (en) 2016-05-19 2017-11-23 Minati Ludovico Comparing dna fragments with a reference genome

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
山下 達雄 Tatsuo YAMASHITA,Suffix Arrayを用いたフルテキスト類似用例検索 Full Text Approximate String Search using Suffix Arrays,情報処理学会研究報告 Vol.97 No.85 IPSJ SIG Notes,日本,社団法人情報処理学会 Information Processing Society of Japan,第97巻 No.85,pp.83-90

Also Published As

Publication number Publication date
JPWO2020049748A1 (ja) 2021-08-12
EP3848935A4 (en) 2021-09-01
WO2020049748A1 (ja) 2020-03-12
EP3848935A1 (en) 2021-07-14
US20210183466A1 (en) 2021-06-17
AU2018440274B2 (en) 2023-02-16
AU2018440274A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
JP7552675B2 (ja) 生成方法および情報処理装置
JP7124877B2 (ja) 特定方法、特定プログラムおよび情報処理装置
KR101313087B1 (ko) Ngs를 위한 서열 재조합 방법 및 장치
JP7176233B2 (ja) 検索方法、検索プログラムおよび検索装置
JP5049965B2 (ja) データ処理装置及び方法
JP7287005B2 (ja) 特定方法、特定プログラムおよび特定装置
US20220068435A1 (en) Evaluation method, storage medium, and evaluation device
Zhang et al. A program plagiarism detection model based on information distance and clustering
US10867134B2 (en) Method for generating text string dictionary, method for searching text string dictionary, and system for processing text string dictionary
US20240071568A1 (en) Storage medium, information processing method, and information processing apparatus
AU2021451504B2 (en) Information processing program, information processing method, and information processing apparatus
EP4080379A1 (en) Information processing program, information processing method, and information processing device
Tapinos et al. Alignment by the numbers: sequence assembly using reduced dimensionality numerical representations
Nicola et al. FASTPAT: a fast and efficient algorithm for string searching in DNA sequences
Boža et al. Fishing in Read Collections: Memory Efficient Indexing for Sequence Assembly
Soldo et al. Fast low-level pattern matching algorithm

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210318

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124877

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150