JP4638721B2 - 生物情報の検索装置 - Google Patents

生物情報の検索装置 Download PDF

Info

Publication number
JP4638721B2
JP4638721B2 JP2004353237A JP2004353237A JP4638721B2 JP 4638721 B2 JP4638721 B2 JP 4638721B2 JP 2004353237 A JP2004353237 A JP 2004353237A JP 2004353237 A JP2004353237 A JP 2004353237A JP 4638721 B2 JP4638721 B2 JP 4638721B2
Authority
JP
Japan
Prior art keywords
sequence
sequence data
key
data
search
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.)
Expired - Fee Related
Application number
JP2004353237A
Other languages
English (en)
Other versions
JP2006163734A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2004353237A priority Critical patent/JP4638721B2/ja
Publication of JP2006163734A publication Critical patent/JP2006163734A/ja
Application granted granted Critical
Publication of JP4638721B2 publication Critical patent/JP4638721B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、バイオインフォマティクス、ゲノム創薬、バイオ新素材開発など生物情報データベースの構築、検索、解析を行う分野に関する。
近年、ヒトゲノムプロジェクトなどバイオインフォマティクス(生物情報科学)の急速な進展に伴い、膨大な生物情報データベースが構築されつつある。特に、DNA配列については、完成度が高まっており、現在急ピッチでプロテオーム情報の蓄積が進行している。このように蓄積される大容量のデータベースを活用し、医薬品開発や新規素材開発などに応用するためには、ネットワーク経由の円滑なデータベースの扱いが重要となる。すなわち、蓄積した情報をいかに効率良く検索するかが重要となる。
生物情報の圧縮については、最近では、さまざまな手法が提案されている(例えば、特許文献1、特許文献2参照)。
特開2003−188735号公報 特開2004−240975号公報
しかしながら、効率良く圧縮した場合であっても、その情報を検索する場合には、圧縮した情報を復号してから行うか、別途インデックスを作成してデータベースに登録する必要があり、データベース構築の負荷が生じる。
そこで、本発明は、圧縮した生物情報を復元する必要なく、また、別途インデックスを作成する必要もなく、検索を行うことが可能な生物情報の検索装置を提供することを課題とする。
上記課題を解決するため、発明では、生物情報の検索装置を、A、G、C、Tの4種類の塩基から構成される塩基配列データに対して、隣接する複数の塩基を1つの配列単位に格納した形式である検索配列データを記憶した検索配列データ記憶手段と、検索キーとする塩基配列データであるキー配列データを入力するキー配列入力手段と、前記キー配列入力手段から入力されたキー配列データに対して、隣接する複数の塩基を1つの配列単位に格納してキー統合配列データを作成する配列再配置手段と、前記キー統合配列データにおける塩基を、順序をそのままに1以上移動させたキー参照配列データと、前記キー統合配列データと同一の配列であるキー参照配列データと、前記キー統合配列データの各配列単位内における隣接する塩基の配列順位を逆転させた参照配列データと、塩基Aと塩基Tを相互に、塩基Gと塩基Cを相互に変換した参照配列データと、を含む複数のキー参照配列データを作成する参照配列作成手段と、前記検索配列データを構成する配列単位と、前記各キー参照配列データの配列単位との照合を行い、いずれかのキー参照配列データと一致する配列を探索する配列探索手段と、前記探索の結果、いずれかのキー参照配列データと一致する配列が前記検索配列データに存在した場合に、その存在位置を出力する出力手段を有する構成としたことを特徴とする。
発明の生物情報の検索装置によれば、隣接する複数の塩基を1つの配列単位に格納した形式である検索配列データを検索対象とし、検索キーとしてキー配列データを入力すると、キー配列データに対して、隣接する複数の塩基を1つの配列単位に格納し、さらにキー統合配列データにおける塩基を、順序をそのままに1以上移動させたキー参照配列データと、キー統合配列データと同一の配列であるキー参照配列データと、キー統合配列データの各配列単位内における隣接する塩基の配列順位を逆転させた参照配列データと、塩基Aと塩基Tを相互に、塩基Gと塩基Cを相互に変換した参照配列データと、を含む複数のキー参照配列データを作成し、検索配列データを構成する配列単位と、各キー参照配列データの配列単位との照合を行い、いずれかのキー参照配列データと一致する配列を探索するようにしたので、別途インデックスを作成しておく必要なく、高速に検索を行うことが可能となる。
以下、本発明の実施形態について図面を参照して詳細に説明する。
(生物情報について)
ここで、本発明で検索対象とする生物情報の構造について説明しておく。本発明では、生物情報として、塩基配列、アミノ酸配列等を利用することができる。本実施形態では、塩基配列を検索対象とする場合について説明する。図1(a)は、代表的なデータ形式であるFASTA形式で表現した原塩基配列ファイルを示す図である。図1において、t、c、a、g(大文字T、C、A、Gも同一)は、それぞれチミン、シトニン、アデニン、グアニンの4種類の塩基を示している。なお、ここでは、塩基を示す4文字以外の注釈情報は、<ANNOTATION>として省略して示してあるが、実際には、塩基配列を説明するための注釈情報が記されている。注釈情報を構成する文字、および各塩基は、ASCIIコードで記録されており、1文字の記録に8ビットを要している。
(第1の実施形態)
本発明第1の実施形態について説明する。まず、上記のような原塩基配列ファイルを基に、本発明で検索対象とする検索配列データの準備を行う。まず、原塩基配列ファイル注釈情報を除去して塩基部分だけを抽出する。この時点において、塩基部分は1塩基1バイトで記録されている。この塩基部分の配列データの再配置を行う。具体的には、1塩基1バイトで記録されている塩基配列データの配列構成を、3塩基1バイトで記録される構成に再配置する。すなわち、本実施形態では、配列要素である塩基を3つまとめて1つの配列単位である1バイトに格納することにより再配置を行う。上述のように、塩基は、a、g、c、tの4種類であるため、図2に示した塩基変換テーブルを利用して、それぞれに「00」「01」「10」「11」を割り当てることにすれば、2ビットで表現できる。例えば、agcの連続する3塩基は、図3に示すようなビット構成の1バイトデータとして記録することができる。図3において、各枠内の0、1の数字は各ビットの値を示しており、右端が最下位ビット、左端が最上位ビットである。本実施形態では、再配置後の1バイトの構成において、2ビット単位で塩基を記録している。図3の例では、上位から順に、ダミー、C、G、Aとなっている。最上位2ビットのダミーは「00」であり、これは全てのバイトにおいて同一である。下位6ビットにおいては、最下位から順に3つの塩基が記録されることになる。したがって、agcの連続する3塩基は、図3に示すような記録順で記録されることになる。同様の処理を実行していくことにより、1塩基1バイトで構成された配列データを、3塩基1バイトの検索配列データに変換する。例えば、図4(a)に示したような203塩基203バイトの塩基配列データ(図1(c)に示したものと同一)は、図4(b)に示したような203塩基68バイトの統合配列データに変換されることになる。
(装置構成)
次に、本発明第1の実施形態に係る生物情報の検索装置の構成について説明する。図5は、本発明第1の実施形態に係る生物情報の検索装置の構成図である。図5において、10は検索配列データ記憶手段、20はキー配列入力手段、30は配列再配置手段、40は参照配列作成手段、50は配列探索手段、60は出力手段である。
検索配列データ記憶手段10は、検索対象となる生物情報の塩基配列を記憶した記憶手段である。検索キーとして外部から入力される配列と区別するため、検索対象とされる塩基配列を検索配列データと呼び、検索キーとして外部から入力される配列をキー配列データと呼ぶことにする。検索配列データ記憶手段10には、図4(b)に示したような3塩基1バイトの統合配列データ形式の検索配列データが記録されている。
キー配列入力手段20は、検索キーとする塩基配列を入力するためのものである。配列再配置手段30は、キー配列入力手段20により入力されたキー配列データを再配置してキー統合配列データを作成する機能を有している。具体的には、検索配列データを作成する際に、元の塩基配列に対して行った処理と同様の処理を行う。したがって、キー統合配列データの構成は、検索配列データと同様、図4に示したように3塩基1バイトの構成となる。
参照配列作成手段40は、配列の再配置により得られたキー統合配列データを基に、複数セットのキー参照配列データを作成する機能を有している。配列探索手段50は、複数セットの各キー参照配列データが、検索配列データ内に存在するかどうかを探索する機能を有している。出力手段60は、探索により得られた重複配列のアドレスを出力する機能を有している。具体的には、表示出力するディスプレイ装置や、印字出力するプリンタ等が適用できる。図5に示した装置は、現実には、コンピュータに専用のソフトウェアを搭載することにより実現される。また、処理過程において作成される配列データは、コンピュータが管理するメモリの記憶領域に作成される。
(処理動作)
次に、図5に示した検索装置の処理動作について説明する。まず、目的とする配列であるキー配列データをキー配列入力手段20から入力する。すると、配列再配置手段30が、入力された1塩基1バイト形式のキー配列データを3塩基1バイト形式のキー統合配列データに再配置する処理を行う。
続いて、参照配列作成手段40が、配列の再配置により得られたキー統合配列データを基に、複数セットのキー参照配列データを作成する。このキー参照配列データは、生物情報に特有の反復パターンに対応した配列を検出し易くするために作成されるものである。ここで、ある配列と、対応する反復配列の反復パターンについて説明しておく。図6に3つの反復パターンを示す。図6(a)〜(c)に示す3つのパターンにおいて、左側は対象とする配列(対象配列)であり、矢印の先の右側が対応する配列(対応配列)である。ここでは対象配列は全て共通で「AGCTAA」としている。単純反復とは、そのまま反復する反復パターンであり、図6(a)に示すように、対象配列と対応配列は全く同一の配列である。逆方向反復とは、並び順を全く反対にした反復パターンであり、図6(c)に示すように、対象配列と対応配列は全く反対の配列となっている。図6(c)においては、対象配列における1塩基目から6塩基目までの塩基が、対応配列において6塩基目から1塩基目に配置されている。逆方向相補反復(Palindrome)とは、逆方向反復となっている配列を、さらに相補的に置き換えたものである。ここで、相補的置き換えとは、その化学的性質により、結び付き易い塩基同士を置き換えたものである。具体的には、AとT、CとGがそれぞれ結び付き易い性質を持っている。したがって、図6(c)の右側に示した逆方向反復の関係にある対応配列において、AとT、CとGを相互にそれぞれ置き換えることにより、図6(b)の右側に示すような対応配列が得られることになる。
上述のような、単純反復、逆方向相補反復、逆方向反復の3つの反復パターンに対応した対応配列を検出するため、本実施形態では、参照配列作成手段40は、キー統合配列データと同一のキー参照配列データを含め、9つのキー参照配列データを作成する。図7にキー参照配列データの一例を示す。図7において、1つの枠は1バイトのデータを示す。図7に示したモード0からモード8の9つのキー参照配列データのうち、モード0〜モード2は、単純反復の対応配列を検出するため、モード3〜モード5は、逆方向相補反復の対応配列を検出するため、モード6〜モード8は、逆方向反復の対応配列を検出するために作成される。
単純反復検出用のキー参照配列データのうち、モード0は、キー統合配列データと同一の構成となっている。モード1は、モード0の塩基配列を1塩基分移動させたものである。すなわち、モード0において2塩基目のGから順に配置した構成となっている。モード2は、モード0の塩基配列を2塩基分移動させたものである。すなわち、モード0において3塩基目のCから順に配置した構成となっている。逆方向反復検出用のキー参照配列データのうち、モード6は、キー統合配列データの各バイト内において塩基配列を反転させたものとなっている。モード7は、モード1のキー参照配列データの各バイト内において塩基配列を反転させたものとなっている。モード8は、モード2のキー参照配列データの各バイト内において塩基配列を反転させたものとなっている。逆方向相補反復検出用のキー参照配列データのうち、モード3は、モード6のキー参照配列データの各塩基を相補的に置き換えたものとなっている。モード4は、モード7のキー参照配列データの各塩基を相補的に置き換えたものとなっている。モード5は、モード8のキー参照配列データの各塩基を相補的に置き換えたものとなっている。
参照配列作成手段40により、複数セットのキー参照配列データが作成されたら、次に、配列探索手段50が、作成された複数セットのキー参照配列データと一致する配列を探索する。具体的には、キー参照配列データ内の各バイトと検索配列データ内の各バイトを照合し、各バイトの一致度に基づいて、全体一致度を算出する。そして、全体一致度の高かった検索配列データ内の位置を出力する。
例えば、キー参照配列データが100バイト、検索配列データが10000バイトの場合を考えてみる。キー参照配列データと検索配列データを照合する場合、キー参照配列データの1バイト目(先頭)を検索配列データの1バイト目(先頭)に固定し、各バイトを照合する。すなわち、キー参照配列データの2バイト目と検索配列データの2バイト目、キー参照配列データの3バイト目と検索配列データの3バイト目、というようにして、キー参照配列データの100バイト目(最後尾)目と検索配列データの100バイト目までの照合を行う。
各バイトの一致度については、完全一致の場合に100%、3塩基中2塩基一致の場合に50%とする。例えば、図8(a)に示すようにキー参照配列データの照合対象とするバイトが「AGC」であったとする。この場合、図8(b)に示すように検索配列データの照合対象とするバイトが「AGC」であれば、完全一致であるので、100%と判断する。「AGC」に対して、2塩基の位置はそのままで1塩基だけ他の塩基に置換された「*GC」「A*C」「AG*」の場合、1塩基だけ削除された「GC*」「AC*」「*AC」の場合、1塩基だけ他の塩基が挿入された「*AG」「A*G」「G*C」の場合、はいずれも50%と判断する。なお、図8において、「*」は任意の塩基を示す。
上記のようにして、各バイトごとに一致度を算出する。そして、全バイトの一致度の合計を算出し、それを全体一致度とする。同様にして、キー参照配列データを1バイト移動させて、検索配列データとの照合を行う。すなわち、キー参照配列データの1バイト目と検索配列データの2バイト目、キー参照配列データの2バイト目と検索配列データの3バイト目、というようにして、キー参照配列データの100バイト目(最後尾)と検索配列データの101バイト目までの照合を行って全体一致度を算出する。このようにして、キー参照配列データの位置を1バイトずつ移動させながら、キー参照配列データの最後尾と検索配列データの最後尾を照合するまで行う。したがって、この場合、キー参照配列データの1バイト目が検索配列データの9901バイト目と照合するまで行うことになり、全体一致度は9901個算出されることになる。
検索配列データとの照合は、各モードのキー参照配列データについて行われることになる。したがって、9つのモードのキー参照配列データと照合を行う場合、全部で89109個の全体一致度が算出されることになる。さらに、配列探索手段50は89109通りのうち、全体一致度が上位から所定数のものについて、その全体一致度、モード、キー参照配列データの先頭と照合した検索配列データの先頭のアドレスを抽出する。
出力手段60は、抽出された配列情報を出力する。具体的には、全体一致度、モード、検索配列データ内の先頭のアドレスの組を表示出力することになる。なお、上記の例では、配列探索手段50は、全体一致度が上位から所定数のものを抽出するようにしたが、全体一致度が所定値以上のものを抽出するという設定にしても良いし、完全一致のもののみ抽出するという設定にしても良い。これらの設定にした場合、前述のように、キー参照配列データの最後尾と検索配列データの最後尾までの照合を行う必要が毎回無く、途中で全体一致度が所定値を達成することが不可能と判断できる場合、あるいは完全一致を実現できない不一致な配列が見つかった場合、それ以降の照合処理を省略することができ、検索時間を大幅に短縮することができる。
(第2の実施形態)
続いて、本発明第2の実施形態について説明する。本発明第2の実施形態では、第1の実施形態よりもさらに圧縮したデータを検索する。生物情報の中で、DNA配列については、各種の特徴配列が存在することが知られており、特に個人差があるタンデムリピート(縦方向反復)については、解明が進んでおり、本人鑑定(DNA鑑定)、遺伝子診断などに使われている。このように、反復(繰り返し)配列を解析することは生物学的な知見を得る上で重要であり、かつデータ圧縮にも活用することが期待できる。
第2の実施形態に係る生物情報の検索装置は、このような反復配列を利用して圧縮した圧縮配列データを検索するためのものであり、反復配列のみを利用して検索を実行するため高速な検索を行うことができる。
(圧縮検索配列データの準備)
まず、検索対象とする圧縮検索配列データの準備を行う。これは、第1の実施形態のように、原塩基配列ファイルから注釈データを分離して、さらに1塩基1バイトの形式を3塩基1バイトの形式に再配置した統合配列データ形式から、さらに以下のような処理を行う。まず、このような統合配列データに対して、上記図7に示したような9通りの参照配列データを作成する。続いて、作成された複数セットの参照配列データを利用して、部分配列と一致する重複配列を探索する。なお、部分配列とは、統合配列データ中の一部分の配列を意味し、重複配列とは部分配列の一部もしくは全部と重複する配列を意味する。部分配列と重複配列の対応関係は、上記図6に示した対象配列と対応配列の関係と同様となっている。具体的な探索処理としては、統合配列データ内の対象とする部分配列より2バイト以上前方に位置し、かつ部分配列と一致する参照配列データ内の重複配列を探索する。例えば、図7に示したように統合配列データにおいてアドレスが「3」である「GCT」を対象とする部分配列とした場合、参照配列データモード0内において、アドレスが「0」である「AGC」と、アドレスが「1」である「TAG」までは比較を行うが、アドレスが「2」である「CTA」との比較は行わない。また、参照配列データモード1内において、アドレスが「0」である「GCT」と、アドレスが「1」である「AGC」までは比較を行うが、アドレスが「2」である「TAG」との比較は行わない。また、参照配列データモード2内において、アドレスが「0」である「CTA」と、アドレスが「1」である「GCT」までは比較を行うが、アドレスが「2」である「AGC」との比較は行わない。ここで、1バイト前の配列との比較を行わないのは、1バイト前であると、対象とする部分配列に含まれる塩基と同じものを含むからである。例えば、統合配列データのアドレス「3」の「GCT」における「G」と、参照配列データモード1のアドレス「3」の「TAG」における「G」は共に、元の塩基配列の10番目の「G」であり、同じものである。本発明の目的は、自身と同じ配列をもつ自身以外の配列を探すことであるため、1バイト前との比較は行わないことにしている。
そして、1バイト3塩基単位の比較の結果、対象とする部分配列と一致する重複配列が検出されたら、部分配列に直後の1バイト(3塩基)を加えて新たな部分配列とすると共に、重複配列に隣接する1バイトを加えて新たな重複配列とする。隣接する1バイトとは、参照配列データが単純反復の場合、直後の1バイトであり、参照配列データが逆方向相補反復または逆方向反復の場合、直前の1バイトである。新たな部分配列と新たな重複配列がさらに一致する場合、さらに、隣接する1バイトを加え、新たな部分配列と新たな重複配列を比較していく。このようにして、各参照配列データについて処理を行っていき、部分配列の長さが最大となる重複配列を有するモードを検出する。
部分配列の長さが最大となる重複配列およびモードが検出されたら、次に、検出された部分配列の符号化を行う。具体的には、探索の結果、最大となった部分配列の長さをWt(バイト)、重複配列の長さをWs(バイト)、その重複配列が存在した参照配列データのモードをM、統合配列データにおける部分配列の先頭位置の絶対アドレスをPt、参照配列データにおける重複配列の先頭位置のPtからの相対アドレスをPsとする(このWt、Ws、M、Pt、Psの組を部分配列パラメータと呼ぶ)。そして、この部分配列パラメータを符号化する処理を行う。
ここで、部分配列パラメータの各要素Wt、Ws、Pt、Psの関係を図9、図10に示す。図9は、部分配列Wtと重複配列Wsが等しい場合(これを「単一反復」と呼ぶ)を示している。また、図9の例では、部分配列として「CGAATGCGAGAA」が検出された場合を示している。図9(a)は、順方向単一反復の場合、すなわち、参照配列データがモード0〜モード2である場合を示している。図9(b)は、逆方向単一反復の場合、すなわち、参照配列データがモード3〜モード8である場合を示している。図9に示すように、Wtは統合配列データにおける部分配列の長さ、Wsは参照配列データにおける重複配列の長さ、Ptは統合配列データにおける部分配列の先頭位置の絶対アドレス、Psは参照配列データにおける重複配列の先頭位置のPtからの相対アドレスを示している。なお、図9において、統合配列データ、参照配列データのいずれも左端は絶対アドレス0の位置を示している。なお、Ptは、先頭からの絶対アドレスを示すが、本実施形態では、圧縮時によりデータ量を削減できる余地を残すために、対象としている部分配列の直前に検出された部分配列の絶対アドレスPtとの差分で記録するようにしている。
図10は、重複配列Wsの配列が連続して複数反復されて、部分配列Wtとなる場合(これを「複数反復」と呼ぶ)を示している。本発明においては、このような関係にある重複配列も探索することを可能としている。図10の例では、部分配列として「CGAATGCGAATG」が検出された場合を示している。図10(a)は、順方向複数繰り返しの場合、すなわち、参照配列データがモード0〜モード2である場合を示している。図10(b)は、逆方向単一繰り返しの場合、すなわち、参照配列データがモード3〜モード8である場合を示している。Wtは統合配列データにおける部分配列の長さ、Wsは参照配列データにおける重複配列の長さ、Ptは統合配列データにおける部分配列の先頭位置の絶対アドレス、Psは参照配列データにおける重複配列の先頭位置のPtからの相対アドレスを示す点は、図9と同様である。ただし、図10においては、WtとWsが等しくなく、部分配列においては、重複配列が複数繰り返されている。なお、図10においても、統合配列データ、参照配列データのいずれも左端は絶対アドレス0の位置を示している。
図10においては、WtがWsの2倍となっているが、WtがWsの整数倍とならない場合についても、部分配列Wt、重複配列Wsを算出することができる。そのような場合も含めて、次に、重複配列の探索の詳細な処理について説明する。まず、統合配列データにおいて、先頭からの絶対アドレスPtを順に変化させ、各Ptにおいて、Ptからの相対アドレスPsを変化させて、各Pt、Psについて、図11に示したフローチャートに従って処理を行うことにより、重複配列の探索を行う。以下の処理を行う。なお、本実施形態においては、部分配列より2バイト以上過去のアドレスにおける重複配列の探索を行うものであるため、Ptは「2」から開始され、Psも「2」から開始される。
図11は、Pt、Psを固定した場合の重複配列探索の詳細を示すフローチャートである。最初に、部分配列の長さを示す変数Wt、重複配列の長さを示す変数Wsを初期値「0」に設定する(S1)。続いて、Ws=0であるかどうかの判定を行う(S2)。比較の結果、Ws=0である場合には、W=Wtとし(S3)、Ws=0でない場合には、W=WtmodWsとする(S4)。なお、Wsは0以上の整数であるため、Ws=0でない場合とは、現実にはWs>0を意味する。また、S4における“W=WtmodWs”は、WtをWsで除算した余りをWとすることを示している。S3もしくはS4によりWが決定したら、統合配列要素E(Pt+Wt)と参照配列要素E(Pt−Ps+W)を比較し、両者が一致するかどうかを判定する(S5)。なお、E()は、()内におけるアドレスで特定されるバイトの値を示す。また、参照配列要素については、順方向反復の場合は、そのアドレスはPt−Ps+Wとなるが、逆方向反復の場合は、そのアドレスはPt−Ps−Wとなる。S5において一致する場合は、変数Wtに1を加算した後(S9)、S2に戻る。すなわち、S2、S5、S9を通るループは、統合配列の要素と参照配列の要素が一致する限り続くことになる。
S5において一致しない場合は、Ws=0と、Wt>0の2つの条件を共に満たすかどうかを判定する(S6)。2つの条件のどちらか一方でも満たさない場合は、処理を終了する。Ws=0でない場合には、所定幅の重複配列が検出されたことを示すため、その時点におけるWt、Wsをそれぞれ部分配列の幅、重複配列の幅として出力する。Wt>0でない場合には、統合配列要素と参照配列要素が一つも一致しなかったことを示すため、Wt=Ws=0として出力される。一方、S6において2つの条件を共に満たすと判定された場合には、Ws=Wtとする(S7)。次に、統合配列要素E(Pt+Wt)と参照配列中において、重複配列候補である先頭の要素E(Pt−Ps)を比較し、両者が一致するかどうかを判定する(S8)。一致しない場合は、変数Ws、Wtを出力して処理を終了する。一致する場合は、変数Wtに1を加算した後(S9)、S2に戻る。S2、S8、S9を通るループは、図10に示したような複数反復に対応したものとなる。
図11のフローチャートに示した処理をPsを2から257まで1ずつ変化させて、各モードの参照配列データに対して行う。この結果、各Psについて、Wt、Wsを算出し、Wtが最大となるモードMを出力する。なお、Wtが所定値以下である場合は、意味のある重複配列ではないと判断されるため、出力しない。このときのPt、Ps、Wt、Ws、Mの組み合わせが部分配列を表現した部分配列パラメータとして出力されることになる。
上記のようにして部分配列パラメータが出力されたら、その部分配列パラメータ内のWtをPtに加算して新たなPtとし、そのPtについて、部分配列探索処理を行う。一方、部分配列が検出されなかった場合には、Ptに1を加算して新たなPtとし、そのPtについて、部分配列探索処理を行う。このようにして、統合配列データに対して部分配列の探索処理を行っていき、探索された場合には、部分配列パラメータを出力し、その部分配列パラメータで表現される部分配列を統合配列データから削除する。重複配列の探索前後の統合配列データと、部分配列パラメータの関係を図12に示す。図12(a)は、重複配列探索前の統合配列データ(図4(b)に示したものと同一)、図12(b)は、重複配列探索後の統合配列データ、図12(c)は、統合配列データから検出された部分配列を表現した部分配列パラメータである。図12において、塩基配列に付された一重の下線は重複配列を示し、二重の下線は部分配列を示している。
図12(a)において、最初の一重下線を付した「cgattcagtatc」と最初の二重下線を付した「ctatgacttgac」は、逆方向単一反復(繰り返し)の関係になっているため、モードMは「6」であり、幅Wt、Wsは共に「4」バイトである。また、Ptは先頭からの絶対アドレスを示し、自分より前に部分配列が存在する場合は、そのPtとの相対アドレスを示すが、ここでは、最初に登場した部分配列であるので、先頭からの絶対アドレスとなる。したがって、Ptは「5」となる。また、最初の一重下線を付した重複配列は、部分配列と逆方向反復の関係であるため、重複配列中最後尾の「atc」の位置が相対アドレスPsで表現されることになる。この場合、Ptで特定される部分配列の先頭「cta」より2バイト前に位置するため、Psは「2」となる。以上より、二重下線を付した「ctatgacttgac」の部分配列は、図12(c)1行目に示しすように、[Pt:5,Wt:4,Ps:2,Ws:4,M:6]という部分配列パラメータに変換され、図12(b)に示すように統合配列データからは削除される。
図12(a)において、二つ目の一重下線を付した「ttt」と二つ目の二重下線を付した「ttttttttttttttt」は、順方向複数反復(繰り返し)の関係になっているため、モードMは「0」であり、幅Wtは「5」バイト、幅Wsは「1」バイトである。また、この部分配列の先頭「ttt」の先頭からの絶対アドレスは「45」であるが、2回目に登場した部分配列であるので、直前の部分配列の絶対アドレスPt=「5」からの相対アドレスで記録され、Pt=「40」となる。また、二つ目の一重下線を付した重複配列は、幅Ws=1バイトであり、Ptで特定される部分配列の先頭「cta」より4バイト前に位置するため、Psは「4」となる。以上より、二重下線を付した「ttttttttttttttt」の部分配列は、図12(c)2行目に示しすように、[Pt:40,Wt:5,Ps:4,Ws:1,M:0]という部分配列パラメータに変換され、図12(b)に示すように統合配列データからは削除される。なお、本実施形態においては、部分配列に対して、同一の重複配列が探索された場合、これらを一対にまとめるようにしている。すなわち、部分配列パラメータにおいて、Pt、Ps以外が全て同一である場合は、同一の重複配列に対応したものであるので、隣接して記憶させて、後の部分配列符号化によりデータ量のさらなる削減を行う。
続いて、部分配列パラメータを符号化する。具体的には、Ptを可変長、Ps、Wt、Ws、Mを固定長で符号化する。この結果、部分配列符号化データが得られることになる。Ptについては、Ptの値が128未満の場合は1バイト、Ptの値が128以上で、16384未満の場合は2バイト、Ptの値が16384以上の場合は3バイトで符号化を行う。Ptの値に対応したバイト構成を図13に示す。図13に示すように、1バイトの場合は先頭(最上位)のビット値を0として、他の7ビットで数値を表現する。2バイト以上の場合は最下位のバイトの先頭(最上位)のビット値を0とし、バイトの先頭(最上位)のビット値を1とし、各バイトの先頭以外の7ビットで数値を表現する。一方、Ps、Wt、Ws、Mについては、各1バイトで0〜255の値を表現する。そして、符号化の際には、Ptを先頭として記録する。これにより、復号時の読取の際には、各バイトの先頭のビットを確認し、最初に0が検出された場合に、そこが、Ptの最下位バイトであると認識でき、その後の4要素は固定長であるので、単純に1バイトずつ認識していけば良い。なお、部分配列として探索されなかった配列要素については、3塩基を1バイトとした形式のままとなる。
部分配列として検出された配列については、図13に示したように符号化されてデータ量が大きく削減される。また、部分配列として探索されなかった配列についても、元の配列データでは、1塩基1バイトで記録されていたのが、3塩基1バイトで記録されることになるため、データ量が削減される。このようにして、元の塩基配列データを圧縮した圧縮配列データが得られる。
(装置構成)
図14は、第2の実施形態に係る生物情報の検索装置の構成図である。図14において、100は圧縮検索配列データ記憶手段、110は圧縮キー配列入力手段、120は部分配列照合手段、130は出力手段である。
圧縮検索配列データ記憶手段100は、検索対象となる生物情報の塩基配列データを圧縮した圧縮検索配列データを記憶した記憶手段である。検索キーとして外部から入力される配列と区別するため、検索対象とされる塩基配列を圧縮検索配列データと呼び、検索キーとして外部から入力される圧縮配列データを圧縮キー配列データと呼ぶことにする。圧縮検索配列データ記憶手段110には、上記のように、部分配列符号化データと、3塩基を1バイトに格納した形式の検索配列データにより構成される圧縮データが記録されている。
圧縮キー配列入力手段110は、検索キーとする塩基配列を圧縮した圧縮キー配列データを入力するためのものである。圧縮キー配列データとは、検索キーとする塩基配列を、上記検索配列と同様の処理により圧縮したものであり、部分配列符号化データと、3塩基を1バイトに格納した形式のキー配列データにより構成されている。
部分配列照合手段120は、圧縮検索配列データ内の部分配列符号化データと、圧縮キー配列データ内の部分配列符号化データを照合して、一致する部分配列を検出する機能を有している。出力手段130は、照合により得られた重複する部分配列のアドレスを出力する機能を有している。図14に示した装置は、現実には、コンピュータに専用のソフトウェアを搭載することにより実現される。
(処理動作)
続いて、図14に示した装置の処理動作について説明する。まず、圧縮キー配列入力手段110から圧縮キー配列データを入力する。圧縮キー配列データの入力は、例えば、記録媒体に記録された圧縮キー配列データファイルを指定して、実行指示を与えることにより行うことができる。圧縮キー配列データが入力されたら、部分配列照合手段120が、入力された圧縮キー配列データ内の部分配列符号化データを抽出する。さらに、部分配列照合手段120は、圧縮検索配列データ記憶手段100に記録された各圧縮検索配列データ内の部分配列符号化データを抽出する。続いて、部分配列照合手段120は、圧縮キー配列データ内の部分配列符号化データと、各圧縮検索配列データ内の部分配列符号化データの照合を行う。
部分配列符号化データは、上述のようにPtが1〜3バイトの可変長、Ps、Wt、Ws、Mが1バイトの固定長で記録された形式となっている。部分配列照合手段120は、部分配列符号化データのうち、Wt、Ws、Mを照合し、一致するかどうかを判定する。ただし、Mについては、圧縮キー配列データと圧縮検索配列データとの間で塩基単位のずれを考慮して、M/3の整数値(すなわち0、1、2のいずれか)で一致判断をする。圧縮キー配列データと圧縮検索配列データのWt、Ws、M/3の整数値がいずれも一致する場合には、部分配列の幅、対応する重複配列の幅、方向および相補性が一致するので、配列自体が一致している可能性が高いため、その圧縮ファイル名、Pt、Psの値を出力する。これにより、キー配列に含まれていた部分配列に一致する可能性の高い部分配列を有する圧縮ファイルおよび圧縮ファイル内における存在箇所が発見できる。このように、圧縮ファイルから生物情報を復元することなく検索を行うことが可能となる。
データ分離処理の様子を示す図である。 塩基変換テーブルの一例を示す図である。 統合配列データにおける1バイトのビット構成を示す図である。 配列再配置手段30による処理の概念を示す図である。 本発明第1の実施形態に係る生物情報の検索装置の構成を示す図である。 配列の反復パターンを示す図である。 参照配列データの一例を示す図である。 キー参照配列データと検索配列データの各バイトを照合した際の一致度のルールを示す図である。 WtとWsが等しい場合の部分配列パラメータの各要素の関係を示す図である。 重複配列が連続して複数反復されて部分配列と同一の配列となる場合の部分配列パラメータの各要素の関係を示す図である。 部分配列に対応した重複配列を探索する処理の詳細を示すフローチャートである。 重複配列の探索前後の統合配列データと、部分配列パラメータの関係を示す図である。 部分配列符号化データのPtの値に対応したバイト構成を示す図である。 本発明第2の実施形態に係る生物情報の検索装置の構成を示す図である。
符号の説明
10・・・検索配列データ記憶手段
20・・・キー配列入力手段
30・・・配列再配置手段
40・・・参照配列作成手段
50・・・配列探索手段
60・・・出力手段
100・・・圧縮検索配列データ記憶手段
110・・・圧縮キー配列入力手段
120・・・部分配列照合手段
130・・・出力手段


Claims (3)

  1. A、G、C、Tの4種類の塩基から構成される塩基配列データに対して、隣接する複数の塩基を1つの配列単位に格納した形式である検索配列データを記憶した検索配列データ記憶手段と、
    検索キーとする塩基配列データであるキー配列データを入力するキー配列入力手段と、
    前記キー配列入力手段から入力されたキー配列データに対して、隣接する複数の塩基を1つの配列単位に格納してキー統合配列データを作成する配列再配置手段と、
    前記キー統合配列データにおける塩基を、順序をそのままに1以上移動させたキー参照配列データと、前記キー統合配列データと同一の配列であるキー参照配列データと、前記キー統合配列データの各配列単位内における隣接する塩基の配列順位を逆転させた参照配列データと、塩基Aと塩基Tを相互に、塩基Gと塩基Cを相互に変換した参照配列データと、を含む複数のキー参照配列データを作成する参照配列作成手段と、
    前記検索配列データを構成する配列単位と、前記各キー参照配列データの配列単位との照合を行い、いずれかのキー参照配列データと一致する配列を探索する配列探索手段と、
    前記探索の結果、いずれかのキー参照配列データと一致する配列が前記検索配列データに存在した場合に、その存在位置を出力する出力手段と、
    を有することを特徴とする生物情報の検索装置。
  2. 請求項1において、
    前記配列探索手段は、前記検索配列データを構成する配列単位と、前記各キー参照配列データの配列単位との照合を行う際、各配列単位に含まれる複数の塩基同士の一致する数に基づいて一致度を求め、全配列単位について前記一致度を合計した全体一致度を算出するものであり、
    前記出力手段は、完全一致する配列が存在しない場合は、前記全体一致度の高い配列の存在位置、およびその全体一致度を出力するものであることを特徴とする生物情報の検索装置。
  3. 請求項2において、
    前記複数の塩基は3つの塩基であり、前記1つの配列単位は1バイトであり、
    前記参照配列作成手段は、前記塩基を、順序をそのままに1以上移動させた参照配列データを、1塩基もしくは2塩基分移動させた位置から3つの隣接する塩基を1バイトに格納して作成し、さらに、前記統合配列データの各バイト内における3つの隣接する塩基の配列順位を逆転させた参照配列データと、塩基Aと塩基Tを相互に、塩基Gと塩基Cを相互に変換した参照配列データを作成するものであり、
    前記配列探索手段は、前記配列単位として1バイト単位で照合を行い、1バイト内における3つの塩基が全て一致する場合は100%、1バイト内における2つの塩基が一致する場合は50%を基準として前記一致度を求めることを特徴とする生物情報の検索装置。
JP2004353237A 2004-12-06 2004-12-06 生物情報の検索装置 Expired - Fee Related JP4638721B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004353237A JP4638721B2 (ja) 2004-12-06 2004-12-06 生物情報の検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004353237A JP4638721B2 (ja) 2004-12-06 2004-12-06 生物情報の検索装置

Publications (2)

Publication Number Publication Date
JP2006163734A JP2006163734A (ja) 2006-06-22
JP4638721B2 true JP4638721B2 (ja) 2011-02-23

Family

ID=36665694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004353237A Expired - Fee Related JP4638721B2 (ja) 2004-12-06 2004-12-06 生物情報の検索装置

Country Status (1)

Country Link
JP (1) JP4638721B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5187670B2 (ja) * 2007-03-02 2013-04-24 大学共同利用機関法人情報・システム研究機構 相同性検索システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH105000A (ja) * 1996-06-27 1998-01-13 Hitachi Ltd Dnaアミノ酸配列比較方法
JP2002041528A (ja) * 2000-04-19 2002-02-08 Satoshi Omori ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法
JP2003188735A (ja) * 2001-12-13 2003-07-04 Ntt Data Corp データ圧縮装置及び方法並びにプログラム
JP2003256433A (ja) * 2002-02-27 2003-09-12 Japan Science & Technology Corp 遺伝子構造解析方法およびその装置
JP2004240975A (ja) * 2003-02-03 2004-08-26 Samsung Electronics Co Ltd Dna配列符号化装置及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH105000A (ja) * 1996-06-27 1998-01-13 Hitachi Ltd Dnaアミノ酸配列比較方法
JP2002041528A (ja) * 2000-04-19 2002-02-08 Satoshi Omori ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法
JP2003188735A (ja) * 2001-12-13 2003-07-04 Ntt Data Corp データ圧縮装置及び方法並びにプログラム
JP2003256433A (ja) * 2002-02-27 2003-09-12 Japan Science & Technology Corp 遺伝子構造解析方法およびその装置
JP2004240975A (ja) * 2003-02-03 2004-08-26 Samsung Electronics Co Ltd Dna配列符号化装置及び方法

Also Published As

Publication number Publication date
JP2006163734A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4538449B2 (ja) 文字列検索の方法および設備
US8554492B2 (en) Method and apparatus for searching nucleic acid sequence
Rizzi et al. Overlap graphs and de Bruijn graphs: data structures for de novo genome assembly in the big data era
JP3871301B2 (ja) データベース検索装置、及びプログラム
CN109712674B (zh) 注释数据库索引结构、快速注释遗传变异的方法及系统
KR20070083641A (ko) 전사 맵핑을 위한 유전자 식별 기호 분석방법
JP2008533619A (ja) 非バイナリ配列比較のためのシステム、方法及びコンピュータプログラム
US8965935B2 (en) Sequence matching algorithm
JP4638721B2 (ja) 生物情報の検索装置
Vaddadi et al. Read mapping on genome variation graphs
JP4770163B2 (ja) 生物情報の解析装置および圧縮装置
WO2005093632A1 (ja) Rna配列情報処理方法、プログラムおよび装置
Gagie et al. Compressing and indexing aligned readsets
Ferragina et al. Computational biology
JP4334955B2 (ja) 生物情報のロスレス符号化装置
Pizzi et al. Efficient algorithms for sequence analysis with entropic profiles
Wan et al. Rnall: an efficient algorithm for predicting RNA local secondary structural landscape in genomes
Alatabbi et al. On the repetitive collection indexing problem
Kosters Bioinformatics: Fragment Assembly
Mounsef et al. A low-complexity probabilistic genome assembly based on hashing functions with SNP detection
Abdilla The Malta Human Genome Project
Matroud et al. An algorithm to solve the motif alignment Problem for approximate nested tandem repeats
Whiteford String Matching in DNA Sequences: Implications for Short Read Sequencing and Repeat Visualisation
Kaniwa et al. Repeat finding techniques, data structures and algorithms in DNA sequences: a survey
Mallavarapu et al. Context based compression of FASTQ data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

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: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4638721

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees