JP2006163546A - 生物情報の解析装置および圧縮装置 - Google Patents

生物情報の解析装置および圧縮装置 Download PDF

Info

Publication number
JP2006163546A
JP2006163546A JP2004350575A JP2004350575A JP2006163546A JP 2006163546 A JP2006163546 A JP 2006163546A JP 2004350575 A JP2004350575 A JP 2004350575A JP 2004350575 A JP2004350575 A JP 2004350575A JP 2006163546 A JP2006163546 A JP 2006163546A
Authority
JP
Japan
Prior art keywords
sequence
data
array
partial
sequence data
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.)
Granted
Application number
JP2004350575A
Other languages
English (en)
Other versions
JP4770163B2 (ja
Inventor
Toshio Motegi
敏雄 茂出木
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 JP2004350575A priority Critical patent/JP4770163B2/ja
Publication of JP2006163546A publication Critical patent/JP2006163546A/ja
Application granted granted Critical
Publication of JP4770163B2 publication Critical patent/JP4770163B2/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)

Abstract

【課題】 生物情報配列の特徴である反復配列を容易に抽出することが可能な生物情報の解析装置、および抽出した反復配列を利用して効率的に圧縮を行うことが可能な生物情報の圧縮装置を提供する。
【解決手段】 1塩基1バイトで記録された塩基配列データに対して、再配置を行い、3塩基1バイトで記録された統合配列データ(a)を作成した後、複数の反復パターンに応じて、統合配列データの配列を若干変化させた参照配列データを作成し、統合配列データと各参照配列データを比較することにより、重複する部分配列を探索する。統合配列データ中の一部分の配列である部分配列と重複する配列である重複配列が見つかると、部分配列のアドレスPt、幅Wt、重複配列のアドレスPs、幅Ws等を抽出する。
【選択図】 図11

Description

本発明は、バイオインフォマティクス、ゲノム創薬、バイオ新素材開発など生物情報データベースの構築、検索、解析を行う分野に関する。
近年、ヒトゲノムプロジェクトなどバイオインフォマティクス(生物情報科学)の急速な進展に伴い、膨大な生物情報データベースが構築されつつある。特に、DNA配列については、完成度が高まっており、現在急ピッチでプロテオーム情報の蓄積が進行している。このように蓄積される大容量のデータベースを活用し、医薬品開発や新規素材開発などに応用するためには、ネットワーク経由の円滑なデータベースの扱いが重要となる。すなわち、いかに効率良く圧縮し、効率良く検索するかが重要となる。
このような生物情報を効率よく圧縮するため、最近では、さまざまな手法が提案されている(例えば、特許文献1、特許文献2参照)。
特開2003−188735号公報 特開2004−240975号公報
しかしながら、上記特許文献1、特許文献2に記載の手法では、いずれも辞書等の配列パターンとの差分を利用して圧縮するものであるため、基礎とする配列パターンが存在しないと効率的な圧縮を行うことができない。
一方、生物情報の中で、DNA配列については、各種のものが存在することが知られており、特に個人差があるタンデムリピート(縦方向反復)については、解明が進んでおり、本人鑑定(DNA鑑定)、遺伝子診断などに使われている。このように、反復(繰り返し)配列を解析することは生物学的な知見を得る上で重要であり、かつデータ圧縮にも活用することが期待できる。
そこで、本発明は、生物情報配列の特徴である反復配列を容易に抽出することが可能な生物情報の解析装置、および抽出した反復配列を利用して効率的に圧縮を行うことが可能な生物情報の圧縮装置を提供することを課題とする。
上記課題を解決するため、本発明では、生物情報の解析装置を、生物情報を表現した配列データに対して、隣接する複数の配列要素を1つの配列単位に格納して統合配列データを作成する配列再配置手段と、前記統合配列データに対して、所定の方法により変化を加え、1セットは前記統合配列データと同一の配列データである、複数セットの参照配列データを作成する参照配列作成手段と、前記複数セットの参照配列データに対して、前記統合配列データ内の部分配列よりアドレス上前方に位置し、かつ前記部分配列と一致する重複配列を複数対探索する重複配列探索手段と、前記探索した複数対の部分配列および重複配列の中で、データ幅が所定の条件を満足するものに対して、前記部分配列および重複配列のアドレスおよびデータ幅を所定の規則で符号化する部分配列符号化手段を有する構成としたことを特徴とする。
また、本発明では、生物情報の圧縮装置を、所定の範囲内で定義された文字の配列情報と前記配列情報の特定の範囲の情報を注釈する注釈情報で構成される生物情報ファイルに対して、前記注釈情報と配列情報を分離して、注釈データ、配列データ本体とするとともに、前記生物情報ファイルを復元できるように、前記注釈データに前記配列データ本体へのリンク情報を追加するためのデータ分離手段と、所定の範囲内で定義された文字または数値の配列情報で構成される生物情報に対して、前記各配列情報に対して、隣接する複数の配列要素を1つの配列単位に格納して統合配列データを作成する配列再配置手段と、前記統合配列データに対して、所定の方法により変化を加え、1セットは前記統合配列データと同一の配列データである、複数セットの参照配列データを作成する参照配列作成手段と、前記複数セットの参照配列データに対して、前記統合配列データ内の部分配列よりアドレス上前方に位置し、かつ前記部分配列と一致する重複配列を複数対探索する重複配列探索手段と、前記探索した複数対の部分配列および重複配列の中で、データ幅が所定の条件を満足するものに対して、前記部分配列および重複配列のアドレスおよびデータ幅を所定の規則で符号化する部分配列符号化手段を有する構成としたことを特徴とする。
本発明の生物情報の解析装置によれば、複数の配列要素を1つの配列単位に格納することにより再配置し、再配置した統合配列データに対して、複数の参照用の配列データを作成し、複数セットの参照配列データに対して、前記統合配列データ内の部分配列と重複する配列を探索し、重複配列が探索された部分配列を所定の規則で符号化するようにしたので、生物情報配列の特徴である反復配列を容易に抽出することが可能となるという効果を奏する。
また、本発明の生物情報の圧縮装置によれば、注釈情報と配列情報が混在した生物情報ファイルについて、注釈情報と配列情報を分離して、それぞれ注釈データ、配列データ本体とするとともに、注釈データに、配列データ本体へのリンク情報を追加した後、それぞれを符号化するようにしたので、注釈情報が混在しても生物情報を最適な符号長で圧縮することが可能となり、さらに、配列データ本体については、繰り返し出現する部分配列について効率良く符号化することが可能となるという効果を奏する。
以下、本発明の実施形態について図面を参照して詳細に説明する。
(生物情報の分離)
ここで、本発明で解析・圧縮の対象とする生物情報の構造について説明しておく。本発明では、生物情報として、塩基配列、アミノ酸配列等を利用することができる。本実施形態では、塩基配列について説明する。図1(a)は、代表的なデータ形式であるFASTA形式で表現した原塩基配列ファイルを示す図である。図1において、t、c、a、g(大文字T、C、A、Gも同一)は、それぞれチミン、シトニン、アデニン、グアニンの4種類の塩基を示している。なお、ここでは、塩基を示す4文字以外の注釈情報は、<ANNOTATION>として省略して示してあるが、実際には、塩基配列を説明するための注釈情報が記されている。注釈情報を構成する文字、および各塩基は、ASCIIコードで記録されており、1文字の記録に8ビットを要している。
(生物情報の解析装置)
図2は、本発明に係る生物情報の解析装置の構成を示す機能ブロック図である。図2において、10は配列再配置手段、20は参照配列作成手段、30は重複配列探索手段、40は部分配列符号化手段である。配列再配置手段10は、1塩基1バイトで記録されている塩基配列データの配列構成を、3塩基1バイトで記録される構成に、再配置する機能を有している。参照配列作成手段20は、配列の再配置により得られた統合配列データを基に、複数セットの参照配列データを作成する機能を有している。重複配列探索手段30は、複数セットの参照配列データに対して、統合配列データ内の部分配列よりアドレス上前方に位置し、かつ部分配列と一致する重複配列を探索する機能を有している。なお、部分配列とは、統合配列データ中の一部分の配列を意味し、重複配列とは部分配列の一部もしくは全部と重複する配列を意味する。部分配列符号化手段40は、探索により得られた部分配列および重複配列を、部分配列および重複配列のアドレスおよびデータ幅を所定の形式に符号化して出力する機能を有している。図2に示した装置は、現実には、コンピュータに専用のソフトウェアを搭載することにより実現される。また、処理過程において作成される配列データは、コンピュータが管理するメモリの記憶領域に作成される。
続いて、図2に示した装置の処理動作について説明する。まず、図1(c)に示したような塩基配列データ(配列データ本体)を読み込むと、配列再配置手段10は、1塩基1バイトで記録されている塩基配列データの配列構成を、3塩基1バイトで記録される構成に再配置する。すなわち、本実施形態では、配列要素である塩基を3つまとめて1つの配列単位である1バイトに格納することにより再配置を行う。上述のように、塩基は、a、g、c、tの4種類であるため、図3に示した塩基変換テーブルを利用して、それぞれに「00」「01」「10」「11」を割り当てることにすれば、2ビットで表現できる。例えば、agcの連続する3塩基は、図4に示すようなビット構成の1バイトデータとして記録することができる。図4において、各枠内の0、1の数字は各ビットの値を示しており、右端が最下位ビット、左端が最上位ビットである。本実施形態では、再配置後の1バイトの構成において、2ビット単位で塩基を記録している。図4の例では、上位から順に、ダミー、C、G、Aとなっている。最上位2ビットのダミーは「00」であり、これは全てのバイトにおいて同一である。下位6ビットにおいては、最下位から順に3つの塩基が記録されることになる。したがって、agcの連続する3塩基は、図4に示すような記録順で記録されることになる。同様の処理を実行していくことにより、1塩基1バイトで構成された配列データを、3塩基1バイトの統合配列データに変換する。例えば、図5(a)に示したような203塩基203バイトの塩基配列データ(図1(c)に示したものと同一)は、図5(b)に示したような203塩基68バイトの統合配列データに変換されることになる。
続いて、参照配列作成手段20が、配列の再配置により得られた統合配列データを基に、複数セットの参照配列データを作成する。この参照配列データは、統合配列データに含まれる部分配列に対応する重複配列を検出し易くするために作成されるものである。ここで、探索対象とする部分配列と、対応する重複配列の対応パターンについて説明しておく。図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つの反復パターンに対応した重複配列を検出するため、本実施形態では、参照配列作成手段20は、統合配列データと同一の参照配列データを含め、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の参照配列データの各塩基を相補的に置き換えたものとなっている。
参照配列作成手段20により、複数セットの参照配列データが作成されたら、次に、重複配列探索手段30が、作成された複数セットの参照配列データを利用して、部分配列と一致する重複配列を探索する。具体的には、統合配列データ内の対象とする部分配列より2バイト以上前方に位置し、かつ部分配列と一致する参照配列データ内の重複配列を探索する。例えば、統合配列データにおいてアドレスが「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バイトを加え、新たな部分配列と新たな重複配列を比較していく。このようにして、各参照配列データについて処理を行っていき、部分配列の長さが最大となる重複配列を有するモードを検出する。
部分配列の長さが最大となる重複配列およびモードが検出されたら、次に、部分配列符号化手段40が、検出された部分配列の符号化を行う。具体的には、探索の結果、最大となった部分配列の長さをWt(バイト)、重複配列の長さをWs(バイト)、その重複配列が存在した参照配列データのモードをM、統合配列データにおける部分配列の先頭位置の絶対アドレスをPt、参照配列データにおける重複配列の先頭位置のPtからの相対アドレスをPsとする(このWt、Ws、M、Pt、Psの組を部分配列パラメータと呼ぶ)。そして、この部分配列パラメータを符号化する処理を行う。
ここで、部分配列パラメータの各要素Wt、Ws、Pt、Psの関係を図8、図9に示す。図8は、部分配列Wtと重複配列Wsが等しい場合(これを「単一反復」と呼ぶ)を示している。また、図8の例では、部分配列として「CGAATGCGAGAA」が検出された場合を示している。図8(a)は、順方向単一反復の場合、すなわち、参照配列データがモード0〜モード2である場合を示している。図8(b)は、逆方向単一反復の場合、すなわち、参照配列データがモード3〜モード8である場合を示している。図8に示すように、Wtは統合配列データにおける部分配列の長さ、Wsは参照配列データにおける重複配列の長さ、Ptは統合配列データにおける部分配列の先頭位置の絶対アドレス、Psは参照配列データにおける重複配列の先頭位置のPtからの相対アドレスを示している。なお、図8において、統合配列データ、参照配列データのいずれも左端は絶対アドレス0の位置を示している。なお、Ptは、先頭からの絶対アドレスを示すが、本実施形態では、圧縮時によりデータ量を削減できる余地を残すために、対象としている部分配列の直前に検出された部分配列の絶対アドレスPtとの差分で記録するようにしている。
図9は、重複配列Wsの配列が連続して複数反復されて、部分配列Wtとなる場合(これを「複数反復」と呼ぶ)を示している。本発明においては、このような関係にある重複配列も探索することを可能としている。図9の例では、部分配列として「CGAATGCGAATG」が検出された場合を示している。図9(a)は、順方向複数繰り返しの場合、すなわち、参照配列データがモード0〜モード2である場合を示している。図9(b)は、逆方向単一繰り返しの場合、すなわち、参照配列データがモード3〜モード8である場合を示している。Wtは統合配列データにおける部分配列の長さ、Wsは参照配列データにおける重複配列の長さ、Ptは統合配列データにおける部分配列の先頭位置の絶対アドレス、Psは参照配列データにおける重複配列の先頭位置のPtからの相対アドレスを示す点は、図8と同様である。ただし、図9においては、WtとWsが等しくなく、部分配列においては、重複配列が複数繰り返されている。なお、図9においても、統合配列データ、参照配列データのいずれも左端は絶対アドレス0の位置を示している。
図9においては、WtがWsの2倍となっているが、WtがWsの整数倍とならない場合についても、部分配列Wt、重複配列Wsを算出することができる。そのような場合も含めて、次に、重複配列の探索の詳細な処理について説明する。まず、統合配列データにおいて、先頭からの絶対アドレスPtを順に変化させ、各Ptにおいて、Ptからの相対アドレスPsを変化させて、各Pt、Psについて、図10に示したフローチャートに従って処理を行うことにより、重複配列の探索を行う。以下の処理を行う。なお、本実施形態においては、部分配列より2バイト以上過去のアドレスにおける重複配列の探索を行うものであるため、Ptは「2」から開始され、Psも「2」から開始される。
図10は、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を通るループは、図9に示したような複数反復に対応したものとなる。
図10のフローチャートに示した処理をPsを2から257まで1ずつ変化させて、各モードの参照配列データに対して行う。この結果、各Psについて、Wt、Wsを算出し、Wtが最大となるモードMを出力する。なお、Wtが所定値以下である場合は、意味のある重複配列ではないと判断されるため、出力しない。このときのPt、Ps、Wt、Ws、Mの組み合わせが部分配列を表現した部分配列パラメータとして出力されることになる。
上記のようにして部分配列パラメータが出力されたら、その部分配列パラメータ内のWtをPtに加算して新たなPtとし、そのPtについて、部分配列探索処理を行う。一方、部分配列が検出されなかった場合には、Ptに1を加算して新たなPtとし、そのPtについて、部分配列探索処理を行う。このようにして、統合配列データに対して部分配列の探索処理を行っていき、探索された場合には、部分配列パラメータを出力し、その部分配列パラメータで表現される部分配列を統合配列データから削除する。重複配列の探索前後の統合配列データと、部分配列パラメータの関係を図11に示す。図11(a)は、重複配列探索前の統合配列データ(図5(b)に示したものと同一)、図11(b)は、重複配列探索後の統合配列データ、図11(c)は、統合配列データから検出された部分配列を表現した部分配列パラメータである。図11において、塩基配列に付された一重の下線は重複配列を示し、二重の下線は部分配列を示している。
図11(a)において、最初の一重下線を付した「cgattcagtatc」と最初の二重下線を付した「ctatgacttgac」は、逆方向単一反復(繰り返し)の関係になっているため、モードMは「6」であり、幅Wt、Wsは共に「4」バイトである。また、Ptは先頭からの絶対アドレスを示し、自分より前に部分配列が存在する場合は、そのPtとの相対アドレスを示すが、ここでは、最初に登場した部分配列であるので、先頭からの絶対アドレスとなる。したがって、Ptは「5」となる。また、最初の一重下線を付した重複配列は、部分配列と逆方向反復の関係であるため、重複配列中最後尾の「atc」の位置が相対アドレスPsで表現されることになる。この場合、Ptで特定される部分配列の先頭「cta」より2バイト前に位置するため、Psは「2」となる。以上より、二重下線を付した「ctatgacttgac」の部分配列は、図11(c)1行目に示しすように、[Pt:5,Wt:4,Ps:2,Ws:4,M:6]という部分配列パラメータに変換され、図11(b)に示すように統合配列データからは削除される。
図11(a)において、二つ目の一重下線を付した「ttt」と二つ目の二重下線を付した「ttttttttttttttt」は、順方向複数反復(繰り返し)の関係になっているため、モードMは「0」であり、幅Wtは「5」バイト、幅Wsは「1」バイトである。また、この部分配列の先頭「ttt」の先頭からの絶対アドレスは「45」であるが、2回目に登場した部分配列であるので、直前の部分配列の絶対アドレスPt=「5」からの相対アドレスで記録され、Pt=「40」となる。また、二つ目の一重下線を付した重複配列は、幅Ws=1バイトであり、Ptで特定される部分配列の先頭「cta」より4バイト前に位置するため、Psは「4」となる。以上より、二重下線を付した「ttttttttttttttt」の部分配列は、図11(c)2行目に示しすように、[Pt:40,Wt:5,Ps:4,Ws:1,M:0]という部分配列パラメータに変換され、図11(b)に示すように統合配列データからは削除される。なお、本実施形態においては、部分配列に対して、同一の重複配列が探索された場合、これらを一対にまとめるようにしている。すなわち、部分配列パラメータにおいて、Pt、Ps以外が全て同一である場合は、同一の重複配列に対応したものであるので、隣接して記憶させ、後の部分配列符号化手段40によりデータ量のさらなる削減を行う。
部分配列符号化手段40は、部分配列パラメータを符号化する。具体的には、Ptを可変長、Ps、Wt、Ws、Mを固定長で符号化する。この結果、部分配列符号化データが得られることになる。Ptについては、Ptの値が128未満の場合は1バイト、Ptの値が128以上で、16384未満の場合は2バイト、Ptの値が16384以上の場合は3バイトで符号化を行う。Ptの値に対応したバイト構成を図12に示す。図12に示すように、1バイトの場合は先頭(最上位)のビット値を0として、他の7ビットで数値を表現する。2バイト以上の場合は最下位のバイトの先頭(最上位)のビット値を0とし、バイトの先頭(最上位)のビット値を1とし、各バイトの先頭以外の7ビットで数値を表現する。一方、Ps、Wt、Ws、Mについては、各1バイトで0〜255の値を表現する。そして、符号化の際には、Ptを先頭として記録する。これにより、復号時の読取の際には、各バイトの先頭のビットを確認し、最初に0が検出された場合に、そこが、Ptの最下位バイトであると認識でき、その後の4要素は固定長であるので、単純に1バイトずつ認識していけば良い。なお、部分配列として探索されなかった配列要素については、3塩基を1バイトとした形式のままとなる。
図2に示した解析装置により、部分配列として検出された配列については、図12に示したように符号化されてデータ量が大きく削減される。また、部分配列として探索されなかった配列についても、元の配列データでは、1塩基1バイトで記録されていたのが、3塩基1バイトで記録されることになるため、データ量が削減される。
しかし、本発明においては、周知の手法を組み合わせて、さらにデータ量を削減することも可能である。すなわち、部分配列符号化データ、統合配列データ(部分配列として検出されたものを除いたもの)それぞれに対して、可変長で符号化を行う。ここで、可変長符号化処理の概要を図13のフローチャートに示す。まず、読み込んだデータをバイト単位でランレングス圧縮する(S11)。次に、バイトデータの頻度テーブルを作成する(S12)。具体的には、出現頻度の高いバイトデータの順に、少ないビット長のビット配列を対応させた頻度テーブルを作成することになる。作成された頻度テーブルは、後で利用するために保存される。次に、ランレングス圧縮したデータを、作成した頻度テーブルで変換する(S13)。これにより、頻度が高いデータほど、小さい値になる。続いて、頻度テーブルで変換されたデータを可変長符号化する(S14)。このS14における可変長符号化処理は、Golomb−Rice等の周知の手法を用いることができる。この結果、上記統合配列データ、部分配列符号化データをさらに圧縮することができることになる。
図2に示した解析装置では、塩基配列データのみを符号化するようにしたが、通常は、塩基配列データに注釈データが付加されて生物情報ファイルとして記録されているのが一般的である。上述のように、生物情報ファイルとしては、FASTA形式が知られている。そこで、生物情報ファイルの状態から符号化処理を行う装置について、次に説明する。
上記の可変長符号化処理、注釈データの分離処理を含めた生物情報の圧縮装置の構成を図14に示す。図14において、50はデータ分離手段、60は可変長符号化手段、100は配列本体符号化手段である。データ分離手段50は、上述のように、生物情報ファイル内のデータから注釈データと、塩基配列本体を分離する機能を有している。可変長符号化手段60は、分離された注釈データ、配列本体符号化手段100から出力される符号化データを図13のフローチャートに従った処理により可変長で符号化する機能を有している。配列本体符号化手段100は、図2に示した配列再配置手段10、参照配列作成手段20、重複配列探索手段30、部分配列符号化手段40により構成される。すなわち、配列本体符号化手段100は、分離された生物情報ファイルから分離された塩基配列データを受け取ると、統合配列データに再配置し、参照配列データを作成し、重複配列の探索を行った後、符号化データを可変長符号化手段60に出力する処理を行う。図14に示した装置は、現実には、コンピュータに専用のソフトウェアを搭載することにより実現される。また、処理過程において作成される配列データは、コンピュータが管理するメモリの記憶領域に作成される。
続いて、図14に示した装置の処理動作について説明する。まず、図1(a)に示したような原塩基配列ファイルを入力すると、まず、データ分離手段1が、原塩基配列ファイル内の注釈情報と配列情報を分離して、注釈データ、配列データ本体とする。具体的には、図1(a)に示したような原塩基配列ファイルを先頭から順に解読していき、データがt、c、a、gのASCII文字データだけから構成されるテキスト形式である場合には、配列データ本体であると判断し、t、c、a、g以外のASCII文字データを含むテキスト形式である場合には、注釈データであると判断して分離する。この際、配列データ本体として分離される塩基の数をカウントしておき、各注釈情報の後に、記録されていた塩基の数を記録する。例えば、図1(a)の例では、<ANNOTATION2>の後に67の塩基が記録されていたので、注釈データ内に、67の塩基を挿入すべき旨の情報を記録することになる。ただし、本実施形態では、注釈情報がASCIIコードで記録されており、0〜127の値は、文字情報として認識されることになる。そのため、文字情報として使用される最大値127に塩基数67を加算して記録されることになる。このため、図1(b)に示すように、<ANNOTATION2>の後には、「194」が記録されることになる。
1バイトで記録できる情報は、0〜255までであり、上述のように、0〜127は文字情報として使用されているので、1バイトで記録できる塩基数は、128までとなる。そのため、塩基数が129以上となった場合は、2バイトで記録することになる。例えば、図1(a)の例では、<ANNOTATION1>の後に136の塩基が記録されていたので、注釈データ内に、136の塩基を挿入すべき旨の情報を記録することになる。この場合、136を128と8に分け、1バイト目、2バイト目にそれぞれ127を加算して記録する。このため、図1(b)に示すように、<ANNOTATION1>の後には、「255」「135」が記録されることになる。このように、注釈データに、挿入すべき塩基の数が記録されることにより、復号時に配列データ本体とのリンクをとることが可能となる。
配列データ本体は、原塩基配列ファイルから注釈情報を外して、塩基を連続して配列させたものとなる。そのため、図1(a)のように、136の塩基と67の塩基が記録されていた場合は、図1(c)に示すように、203の塩基が連続して記録されることになる。
原塩基配列ファイルから配列データ本体が分離されたら、配列本体符号化手段100は、配列データ本体(塩基配列データ)を、統合配列データに再配置し、参照配列データを作成し、重複配列の探索を行った後、符号化データ、および部分配列を削除した統合配列データを可変長符号化手段60に出力する処理を行う。
可変長符号化手段60は、配列本体符号化手段100から出力された符号化データおよび統合配列データと、データ分離手段50から出力された注釈データを図13のフローチャートに従った処理により可変長で符号化する。
以上の処理により、圧縮ファイル(圧縮注釈データ、圧縮配列データ、圧縮部分配列符号化データ、注釈頻度テーブル、配列頻度テーブル、塩基変換テーブルを含む)が得られることになる。この圧縮ファイルを所定の記憶装置に記憶させておくことにより、圧縮ファイルの流通が可能となる。例えば、これらを、インターネットに公開されたコンピュータの所定のディレクトリに保存しておけば、利用者は、データ量の小さいデータ量をダウンロードすれば良いため、データの取得を迅速に行うことが可能となる。
(検索する場合)
上記のようにして圧縮した生物情報を検索に用いる場合、生物情報を復元した後、検索するようにしても良いが、圧縮ファイルの構造を利用して検索することも可能である。その場合、上記のような圧縮ファイルをデータベースとして蓄積しておく。そして、検索キーとする塩基配列も、上記圧縮装置で実行したのと同様の処理により、圧縮配列データと圧縮部分配列符号化データに符号化しておく。そして、検索する際には、圧縮部分配列符号化データを可変長符号化に対応する処理のみ復号して部分配列符号化データを得ると共に、データベースに記録された各圧縮ファイルの圧縮部分配列符号化データからも部分配列符号化データを復元する。そして、検索キーとする側の部分配列符号化データと、データベースに記録された各圧縮ファイルから得られた部分配列符号化データの照合を行う。
部分配列符号化データは、上述のようにPtが1〜3バイトの可変長、Ps、Wt、Ws、Mが1バイトの固定長で記録された形式となっている。そのため、部分配列符号化データのうち、Wt、Ws、Mを照合し、一致するかどうかを判定する。検索キー側と圧縮ファイル側のWt、Ws、Mがいずれも一致する場合には、部分配列の幅、対応する重複配列の幅、方向および相補性が一致するので、配列自体が一致している可能性が高いため、その圧縮ファイル名、Pt、Psの値を出力する。これにより、検索キー側に含まれていた部分配列に一致する可能性の高い配列の存在箇所が発見できる。このように圧縮ファイルの構造を利用して検索を行うことにより、圧縮ファイルから生物情報を復元することなく検索することが可能となる。
注釈データの分離の様子を示す図である。 本発明に係る生物情報の解析装置の構成を示す機能ブロック図である。 塩基変換テーブルの一例を示す図である。 統合配列データにおける1バイトのビット構成を示す図である。 配列再配置手段10による処理の概念を示す図である。 配列の反復パターンを示す図である。 参照配列データの一例を示す図である。 WtとWsが等しい場合の部分配列パラメータの各要素の関係を示す図である。 重複配列が連続して複数反復されて部分配列と同一の配列となる場合の部分配列パラメータの各要素の関係を示す図である。 重複配列探索手段30による処理の詳細を示すフローチャートである。 重複配列の探索前後の統合配列データと、部分配列パラメータの関係を示す図である。 部分配列符号化手段40により符号化された部分配列符号化データのPtの値に対応したバイト構成を示す図である。 可変長符号化手段40による処理の詳細を示すフローチャートである。 本発明に係る生物情報の圧縮装置の構成を示す図である。
符号の説明
10・・・配列再配置手段
20・・・参照配列作成手段
30・・・重複配列探索手段
40・・・部分配列符号化手段
50・・・データ分離手段
60・・・可変長符号化手段
100・・・配列本体符号化手段

Claims (8)

  1. 生物情報を表現した配列データに対して、隣接する複数の配列要素を1つの配列単位に格納して統合配列データを作成する配列再配置手段と、
    前記統合配列データに対して、所定の方法により変化を加え、1セットは前記統合配列データと同一の配列データである、複数セットの参照配列データを作成する参照配列作成手段と、
    前記複数セットの参照配列データに対して、前記統合配列データ内の部分配列よりアドレス上前方に位置し、かつ前記部分配列と一致する重複配列を複数対探索する重複配列探索手段と、
    前記探索した複数対の部分配列および重複配列の中で、データ幅が所定の条件を満足するものに対して、前記部分配列および重複配列のアドレスおよびデータ幅を所定の規則で符号化する部分配列符号化手段と、
    を有することを特徴とする生物情報の解析装置。
  2. 請求項1において、
    前記部分配列符号化手段は、アドレス上連続する複数の同一データ幅の部分配列に対して、同一の重複配列が探索された場合、これらを一対にまとめて符号化するものであることを特徴とする生物情報の解析装置。
  3. 請求項1において、
    前記配列データは、A、G、C、Tの4種類の文字から構成される塩基配列データであり、前記配列再配置手段は、3つの隣接する塩基を前記隣接する複数の配列要素とし、1バイトを前記1つの配列単位として、前記統合配列データを作成するものであり、前記参照配列作成手段は、前記統合配列データに対して所定の方法により変化を加え、1セットは前記統合配列データと同一の配列データである、複数セットの参照配列データを作成するものであることを特徴とする生物情報の解析装置。
  4. 請求項3において、
    前記参照配列作成手段は、前記統合配列データに対して、1塩基もしくは2塩基分移動させた位置から3つの隣接する塩基を1バイトに格納して、参照配列データを作成するものであることを特徴とする生物情報の解析装置。
  5. 請求項3において、
    前記参照配列作成手段は、前記参照配列データを作成する際に、前記統合配列データの各バイト内における3つの隣接する塩基の配列順位を逆転させるものであることを特徴とする生物情報の解析装置。
  6. 請求項3において、
    前記参照配列作成手段は、前記参照配列データを作成する際に、塩基Aと塩基Tを相互に、塩基Gと塩基Cを相互に変換するものであることを特徴とする生物情報の解析装置。
  7. 所定の範囲内で定義された文字の配列情報と前記配列情報の特定の範囲の情報を注釈する注釈情報で構成される生物情報ファイルに対して、
    前記注釈情報と配列情報を分離して、注釈データ、配列データ本体とするとともに、前記生物情報ファイルを復元できるように、前記注釈データに前記配列データ本体へのリンク情報を追加するためのデータ分離手段と、
    所定の範囲内で定義された文字または数値の配列情報で構成される生物情報に対して、前記各配列情報に対して、隣接する複数の配列要素を1つの配列単位に格納して統合配列データを作成する配列再配置手段と、
    前記統合配列データに対して、所定の方法により変化を加え、1セットは前記統合配列データと同一の配列データである、複数セットの参照配列データを作成する参照配列作成手段と、
    前記複数セットの参照配列データに対して、前記統合配列データ内の部分配列よりアドレス上前方に位置し、かつ前記部分配列と一致する重複配列を複数対探索する重複配列探索手段と、
    前記探索した複数対の部分配列および重複配列の中で、データ幅が所定の条件を満足するものに対して、前記部分配列および重複配列のアドレスおよびデータ幅を所定の規則で符号化する部分配列符号化手段と、
    を有することを特徴とする生物情報の圧縮装置。
  8. 請求項7において、
    前記部分配列符号化手段より出力される部分配列符号化データ、および前記注釈データそれぞれに対して、可変ビット長でデータ圧縮を行う可変長符号化手段をさらに有することを特徴とする生物情報の圧縮装置。


JP2004350575A 2004-12-03 2004-12-03 生物情報の解析装置および圧縮装置 Expired - Fee Related JP4770163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004350575A JP4770163B2 (ja) 2004-12-03 2004-12-03 生物情報の解析装置および圧縮装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004350575A JP4770163B2 (ja) 2004-12-03 2004-12-03 生物情報の解析装置および圧縮装置

Publications (2)

Publication Number Publication Date
JP2006163546A true JP2006163546A (ja) 2006-06-22
JP4770163B2 JP4770163B2 (ja) 2011-09-14

Family

ID=36665525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004350575A Expired - Fee Related JP4770163B2 (ja) 2004-12-03 2004-12-03 生物情報の解析装置および圧縮装置

Country Status (1)

Country Link
JP (1) JP4770163B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047646A1 (en) * 2012-09-24 2014-03-27 Cb Biotechnologies, Inc. Multiplex pyrosequencing using non-interfering noise cancelling polynucleotide identification tags

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110390A (ja) * 1997-09-29 1999-04-23 Hitachi Ltd アミノ酸配列比較方法
JP2002041528A (ja) * 2000-04-19 2002-02-08 Satoshi Omori ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法
JP2003188735A (ja) * 2001-12-13 2003-07-04 Ntt Data Corp データ圧縮装置及び方法並びにプログラム
JP2003242153A (ja) * 2002-02-14 2003-08-29 International Medical Center Of Japan 塩基配列からrnaの機能性部位を同定する方法
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
JPH11110390A (ja) * 1997-09-29 1999-04-23 Hitachi Ltd アミノ酸配列比較方法
JP2002041528A (ja) * 2000-04-19 2002-02-08 Satoshi Omori ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法
JP2003188735A (ja) * 2001-12-13 2003-07-04 Ntt Data Corp データ圧縮装置及び方法並びにプログラム
JP2003242153A (ja) * 2002-02-14 2003-08-29 International Medical Center Of Japan 塩基配列からrnaの機能性部位を同定する方法
JP2004240975A (ja) * 2003-02-03 2004-08-26 Samsung Electronics Co Ltd Dna配列符号化装置及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047646A1 (en) * 2012-09-24 2014-03-27 Cb Biotechnologies, Inc. Multiplex pyrosequencing using non-interfering noise cancelling polynucleotide identification tags
CN104685062A (zh) * 2012-09-24 2015-06-03 Cb生物技术公司 使用非干扰性噪音消除性多核苷酸鉴定标签的多重焦磷酸测序
GB2521570A (en) * 2012-09-24 2015-06-24 Cb Biotechnologies Inc Multiplex pyrosequencing using non-interfering noise-canceling polynucleotide identification tags
US9938578B2 (en) 2012-09-24 2018-04-10 iRepertoire, Inc. Multiplex pyrosequencing using non-interfering noise cancelling polynucleotide identification tags
GB2521570B (en) * 2012-09-24 2021-01-06 Irepertoire Inc Multiplex pyrosequencing using non-interfering noise cancelling polynucleotide identification tags

Also Published As

Publication number Publication date
JP4770163B2 (ja) 2011-09-14

Similar Documents

Publication Publication Date Title
US11404143B2 (en) Method and systems for the indexing of bioinformatics data
Chikhi et al. On the representation of de Bruijn graphs
Korodi et al. An efficient normalized maximum likelihood algorithm for DNA sequence compression
Do et al. Fast relative Lempel–Ziv self-index for similar sequences
Apostolico et al. Compression of biological sequences by greedy off-line textual substitution
Rizzi et al. Overlap graphs and de Bruijn graphs: data structures for de novo genome assembly in the big data era
KR20110129628A (ko) Dna 서열 검색 방법 및 장치
US7467047B2 (en) Method of discovering patterns in symbol sequences
Kumar et al. Fast and memory efficient approach for mapping NGS reads to a reference genome
JP2005165598A (ja) 可変長文字列検索装置及び可変長文字列検索方法並びにプログラム
Navarro Indexing highly repetitive string collections
Haubold et al. Exact matching
JP4770163B2 (ja) 生物情報の解析装置および圧縮装置
JP4334955B2 (ja) 生物情報のロスレス符号化装置
JP4638721B2 (ja) 生物情報の検索装置
US11250064B2 (en) System and method for generating filters for K-mismatch search
Ferragina et al. Computational biology
Huo et al. CIndex: compressed indexes for fast retrieval of FASTQ files
Pathak et al. RETRACTED: LFQC: a lossless compression algorithm for FASTQ files
Petri et al. Efficient indexing algorithms for approximate pattern matching in text
US7479905B2 (en) Apparatus, system and method for data compression using irredundant patterns
Mridula et al. Lossless segment based DNA compression
Delgrange et al. Location of repetitive regions in sequences by optimizing a compression method
CN115691683A (zh) 一种基因型信息压缩方法、装置及计算机可读存储介质
Jammula et al. ParRefCom: Parallel Reference-based Compression of Paired-end Genomics Read Datasets

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

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

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4770163

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