JP3370787B2 - 文字配列検索方法 - Google Patents

文字配列検索方法

Info

Publication number
JP3370787B2
JP3370787B2 JP17798994A JP17798994A JP3370787B2 JP 3370787 B2 JP3370787 B2 JP 3370787B2 JP 17798994 A JP17798994 A JP 17798994A JP 17798994 A JP17798994 A JP 17798994A JP 3370787 B2 JP3370787 B2 JP 3370787B2
Authority
JP
Japan
Prior art keywords
character
search
sequence
array
character array
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
JP17798994A
Other languages
English (en)
Other versions
JPH07105224A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP17798994A priority Critical patent/JP3370787B2/ja
Publication of JPH07105224A publication Critical patent/JPH07105224A/ja
Application granted granted Critical
Publication of JP3370787B2 publication Critical patent/JP3370787B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は文字配列、特にDNA、
RNAやアミノ酸の配列自身のデータベースに対する検
索方法に関する。
【0002】
【従来の技術】第1の従来技術として、文字配列、特に
DNA、RNAやアミノ酸の配列自身のデータベースに
対する誤りを許容した検索を行う場合、ダイナミックプ
ログラミング(DP)法に基づいたスミス−ウォータマ
ン(Smith−Waterman)の方法による比較
がデータベース内の全ての配列に対して行われていた。
(蛋白質核酸酵素、1983年、第28巻、第10号、
1165頁−1186頁)。Smith−Waterm
anの方法は、二つの文字配列を比較する際に、文字の
一致にプラスのスコアを、不一致、欠失、挿入にマイナ
スのスコアを与えた上で、二つの文字配列の並置を行
い、スコアの総計が最大になるような並置を求める方法
である。DNAの公共データベースであるジェンバンク
(GenBank)への塩基配列の登録件数は年々増大
しており、現在では全体の塩基数が1×108に達して
いる。GenBankのデータベース全体をSmith
−Watermanの方法で検索する時間は大型計算機
数を用いても数時間以上かかることが知られている。
【0003】そこで、第2の従来技術として、検索時間
を短縮するために、ファストエー(FASTA)と呼ば
れる方法が一般に用いられるようになってきた(プロシ
ーディング オブ ナショナル アカデミィー サイエ
ンス ユーエスエー (Proc.Natl.Aca
d.Sci.USA)、1988、Vol.85、pp
2444−2448)。この方法は2段階の検索からな
る。第1段階の検索では、データベース内の全ての配列
と簡略化した比較を行う。二つの配列間で一定文字長
(1〜6)の部分文字列の一致部分を抽出し、それらの
一致文字列間に重なりがあれば延長していき、得られた
最大の一致部分の長さに応じてスコア値を与える。この
スコア値が設定された閾値を越えた配列のみに対して第
2段階の検索を行う。第2段階の検索では、前述したS
mith−Watermanの方法を用いてスコア値を
厳密に計算する。このスコア値に基づいて塩基配列間の
相同性や類似性の判定を行う。ここで用いられるSmi
th−Watermanの方法では、第1段階の検索で
得られた最大一致部分を中心にした限られた範囲での比
較を行うことによって、検索時間の短縮を行っている。
【0004】一方、第3の従来技術として、一般的な文
書データベースの検索においては、登録されたキーワー
ドの検索に代わるフルテキストサーチが近年行われるよ
うになっている。フルテキストサーチは検索時間が膨大
になるので、高速化の試みがなされており、有効な方法
としてプリサーチ式の多段階の検索方式がある(特開平
04−274557号公報)。この方法においては、あ
らかじめデータベース中の各文書にどういう文字が含ま
れるかを記述した文字成分表、及び各文書から助詞を除
いた凝縮本文を作成しておき、検索時には、最初に文字
成分表による絞り込み、次に凝縮本文に対する検索によ
って絞り込みを行い、最後に絞り込んだ文書に対してオ
ートマトンを用いて厳密検索を行う。
【0005】
【発明が解決しようとする課題】上記第1の従来技術で
あるSmith−Watermanの方法による検索の
特徴は、閾値として設けたスコアの値を変化させること
によって、誤り許容の範囲を変化させることができる点
である。閾値のスコア値を小さめにとれば、例えば全く
異なる種類のDNA間の類似度に基づいた検索が可能で
ある。逆に閾値のスコア値を大きめにとれば、DNA配
列の精度程度の誤りを許容した検索、すなわち同一性検
索が可能になる。本方法においては、文字の一致や不一
致、欠失、挿入を考慮した類似度検索が可能である。欠
点としては、一回の配列どうしの比較において、配列長
の二乗に比例した回数の文字の比較が行われ、大規模な
データベースに対しては検索時間が膨大になるという問
題があることである。
【0006】上記第2の従来技術であるFASTA法に
おいても、第1段階の検索におけるスコア閾値の大小を
調整することによって、類似度検索と相同性検索の両方
に使用が可能である。FASTAでは、第1段階の検索
で部分的な一致も存在しない無関係な配列をふるい落と
して、厳密に検索する配列数を絞り込むことによって高
速化を達成している。FASTAによるGenBank
全体の検索速度は大型計算機数を用いた場合数分程度で
ある。このようにFASTAでは、かなり実用的に高速
な検索が達成されているが、不十分な点として第1段階
の検索においてある程度の検索もれがあることが知られ
ている。FASTAでは、部分的な一致度が平均的に悪
くても全体的には一致度が高いような配列を落とす可能
性がある。もれをなくすためにスコア閾値を下げると、
絞り込みの効率が悪くなり全体の検索速度が遅くなると
いう問題があった。
【0007】上記第3の従来技術の方法の特徴の一つ
は、各段階の絞り込みにおいて検索もれがないというこ
とである。また、各段階の絞り込みによって関係のない
多くの文書を振り落とし、時間のかかる厳密な検索を行
う回数を削減することによって、高速な検索を可能にし
ている。しかし、この方法は一般的な文書に対して、検
索文あるいは検索文から一定の規則で派生させた文が完
全一致するものしか検索が行えないという問題があっ
た。従って、DNA塩基配列等の実験誤差に基づく確率
的な誤りを含む文字列からなるデータベースに対して
は、それらの誤りを許容した上での検索を行うことがで
きなかった。
【0008】本発明の目的は、上記で説明した問題を解
決し、実用規模の文字配列データベース、特にDNA塩
基配列やアミノ酸配列の公共データベースを対象とした
場合でも、実用上許容し得る充分短い検索時間で、検索
もれのない検索結果が得られ、配列の全文字列を検索対
象とする、誤りを許容する文字配列検索方法を提供する
ことにある。
【0009】
【課題を解決するための手段】本発明の特徴は、以下の
(1)から(6)の各処理ステップを含む第1の文字配
列検索方法にある。
【0010】(1) 文字配列データを格納するステッ
プ。
【0011】(2) 前記登録文字配列中に含まれる所
定の長さ(kとする)の連続する部分文字配列を重複な
く含み、これら部分文字配列に関する情報を表す文字配
列成分表を作成するステップ。
【0012】(3) 登録文字配列と文字配列成分表を
合わせて文字配列データベースへ登録するステップ。
【0013】(4) 検索者が指定した検索文字配列中
に含まれる所定の長さ(k)の文字配列から、所定の方
法により検索文字配列の部分集合を抽出するステップ。
【0014】(5) 所定の誤り許容率によって定めら
れる一定数よりも多く部分集合の中の文字配列を含む登
録文字配列を、文字配列成分表を参照して、誤り許容率
の以内の文字配列を抽出するための文字配列成分表をサ
ーチするステップ。
【0015】(6) 文字配列成分表をサーチするステ
ップにより得られた登録文字配列を参照して、誤り許容
率の以内の登録文字配列を抽出するための文字配列をサ
ーチするステップ。
【0016】また、本発明の特徴は、以下の(1)から
(6)の各処理ステップを含む第2の文字配列検索方法
にある。
【0017】(1) 文字配列データを格納するステッ
プ。
【0018】(2) 登録文字配列中に含まれる所定の
長さ(kとする)の連続する部分文字配列を重複なく含
み、これら部分文字配列に関する情報を表す文字配列成
分表を作成するステップ。
【0019】(3) 登録文字配列と文字配列成分表を
合わせて文字配列データベースへ登録するステップ。
【0020】(4) 検索者が指定した検索文字配列か
ら、所定の長さ(k)の部分文字配列を所定の方法に基
づいて抽出し、要素の異なる複数の部分集合を作成する
ステップ。
【0021】(5) 所定の誤り許容率によって定めら
れる一定数よりも多く各部分集合中の部分文字配列を含
む登録文字配列を、文字配列データベースから抽出する
ために、複数の部分集合の全てにおいて予め作成された
文字配列成分表をサーチするステップ。
【0022】(6) 文字配列成分表をサーチするステ
ップにより得られた登録文字配列を参照して、誤り許容
率の以内の登録文字配列を抽出するための文字配列をサ
ーチするステップ。
【0023】さらに、本発明の特徴は、以下の(1)か
ら(6)の各処理ステップを含む第3の文字配列検索方
法にある。
【0024】(1) 文字配列データを格納するステッ
プ。
【0025】(2) 登録文字配列から抽出した所定の
長さ(kとする)の連続する部分文字配列毎の出現情報
を表す、長さkの異なる複数の文字配列成分表を作成す
るステップ。
【0026】(3) 登録文字配列と文字配列成分表を
合わせて文字配列データベースへ登録するステップ。
【0027】(4) 検索者が指定した検索文字配列か
ら、複数の所定の長さ(k)の部分文字配列を所定の方
法に基づいて抽出し、要素の異なる複数個の部分集合を
作成するステップ。
【0028】(5) 所定の誤り許容率によって定めら
れる一定数よりも多く各部分集合中の部分文字配列を含
む登録文字配列を、文字配列データベースから抽出する
ために、複数の部分集合の全てにおいて予め作成された
文字配列成分表をサーチするステップ。
【0029】(6) 文字配列成分表をサーチするステ
ップにより得られた登録文字配列を参照して、誤り許容
率の以内の登録文字配列を抽出するための文字配列をサ
ーチするステップ。
【0030】以上の、第1から第3の文字配列検索方法
において、上記ステップ中の(1)、(2)において文
字配列の両末端を接続した環状の文字配列に対して同様
の処理を行い、(3)から(6)のステップを同様に行
うことにも特徴がある。
【0031】
【作用】所定の長さの文字配列が登録された文字配列成
分表の検索によって絞り込みを行い、その後文字配列検
索を行う階層型プリサーチ手段を設けること、また、文
字配列成分表の検索による絞り込みのさい、検索文字配
列中の文字配列の中から部分集合を抽出し、部分集合を
用いて文字配列成分表をサーチする際のヒット配列成分
数の基準として、検索者が予め与える誤り許容率を基に
決定される数を用いることによって、与えられた検索文
字配列から誤り許容率を超えて異なった文字配列を、文
字配列を参照する以前に切り捨てて、検索対象の文字配
列を検索する量を少なくすることができる。すなわち、
検索処理時間に占める割合が高い文字配列の検索に要す
る処理時間を減らすことによって、全体の検索に要する
処理時間を短縮し、与えられた検索文字配列から誤り許
容率以内の文字配列をもれなく検索することが可能であ
る。また、検索文字配列の両末端を接続した環状の文字
配列を、文字配列の両末端を接続した環状の文字配列に
対して作成した文字成分表に対してサーチすることによ
って、絞り込み率をさらに向上させ、検索時間を短縮す
ることが可能である。
【0032】また、文字配列成分表を参照した検索を行
う際に、所定の方法によって要素の異なる部分集合を複
数個作成して、それぞれの部分集合を用いて検索を行な
い、その全ての部分集合に対して検索条件を満たす登録
文字配列を選びだす方法を用いることにより、文字配列
成分表検索において文字配列をより絞り込むことがで
き、文字配列自体を参照する検索を行う文字配列数を減
少できる。従って、複数個の部分集合を作成して検索に
用いる方法では、検索処理時間をより短縮できる。ま
た、検索文字配列の両末端を接続した環状の文字配列か
ら作成した要素の異なる複数の部分文字配列からなる部
分集合を、文字配列の両末端を接続した文字配列から作
成した文字配列成分表に対して検索を行うことによっ
て、さらに絞り込み率を改善させ、検索時間を短縮でき
る。
【0033】
【実施例】以下、本発明の文字配列検索方法が適用され
る文字配列検索装置と実施例について説明する。 (実施例1)以下、本発明の第1の実施例について図1
を用いて説明する。本装置は、ディスプレイ100、キ
ーボード101、中央制御装置CPU102、文字配列
成分表104と文字配列103の格納用ファイル10
6、フロッピーディスクドライバ105、主メモリ20
0から構成される。
【0034】主メモリ200には、文字配列登録プログ
ラム201、文字配列成分表作成登録プログラム20
2、誤り許容文字配列成分表サーチプログラム203、
誤り許容文字配列サーチプログラム204、階層検索制
御プログラム206が格納されると共に、データエリア
205が確保されている。これらのプログラムはCPU
102で実行される。
【0035】文字配列の登録の際には、キーボード10
1から入力されるコマンドにより、CPU102がフロ
ッピーディスクドライバ105に挿入されるフロッピー
ディスク107から文字配列を読み込み、文字配列登録
プログラム201を実行して読み込んだ文字配列データ
を文字配列103としてファイル106へ格納する。次
にCPU102は、文字配列成分表作成登録プログラム
202を実行して、文字配列103中で用いられている
所定の長さの文字成分を重複なく集めた文字配列成分表
を作成し、これを文字配列成分表104としてファイル
106へ格納する。
【0036】検索の際には、キーボード101から入力
された検索文字配列、及び検索誤りの許容率が、CPU
102に送られる。CPU102では、まず階層検索制
御プログラム206を実行し、その制御に基づいて文字
配列成分表サーチプログラム203、文字配列サーチプ
ログラム204を順次実行する。文字配列成分表サーチ
では、検索誤りの許容率に基づいて検索文字配列中の文
字配列成分が所定の数以上含まれる文字配列のみを抽出
する。そして、文字配列成分表サーチで抽出された文字
配列に対する文字配列サーチを行い、検索誤りの許容率
を満たすもののみを抽出し、検索結果として出力する。
以上が本発明の文字配列検索方法を実行する文字配列検
索装置の概略である。
【0037】以下、本発明の特徴である誤りを許容した
文字配列成分表サーチと文字配列サーチ及びそれらの階
層型プリサーチ方式の登録及び検索方法について、誤り
許容検索が重要になる典型的な例として、DNA塩基配
列の検索を例にとって説明する。図2にDNA塩基配列
の登録、及び文字配列成分表の作成登録の処理内容を示
す。まず、DNA塩基配列1、2、…NのDNA塩基配
列自体の登録300を行う。DNAの塩基配列は、図2
に示したようにアデニンA、シトシンC、グアニンG、
チミンTの4種類の塩基文字の並びで表わせられる。次
に、登録したDNA塩基配列からの文字配列成分の抽出
301を行う。DNA塩基配列からの文字配列成分の抽
出は、図2中に示したように、所定の一定の長さ(この
場合6塩基長とする)の塩基配列成分を、DNA塩基配
列の一方の末端からもう一方の末端に達するまで、1塩
基ずつずらして抽出していくことによって行われる。次
に、このように抽出した塩基配列成分を用いてDNA塩
基配列文字成分表作成302を行う。DNA塩基配列文
字成分表は、可能な全ての塩基配列成分種(この場合は
6塩基長文字配列成分であるから、成分種の数は4の6
乗=4096)に対する1ビットの情報で表現される。
すなわち、DNA塩基配列文字成分表中で抽出された塩
基配列成分に対応する項に’1’を設定し、それ以外の
項に’0’を設定する。図2中の例では、DNA塩基配
列iには塩基配列成分AAAAAAは存在しないので、
塩基配列文字成分表中のAAAAAAの項には’0’が
設定される。また、塩基配列成分AAAAAC、AAA
ACC、TTTTTTは存在するので、DNA塩基配列
文字成分表中のAAAAAC、AAAACC、TTTT
TTの項には’1’が設定される。最後に、このように
して作成されたDNA塩基配列文字成分表のデータベー
スへの登録304を行う。
【0038】検索時には、図3に示したように作成した
DNA塩基配列文字成分表を参照して検索を行う。ま
ず、検索塩基配列と検索時の誤り許容率mの入力400
を行う。検索時の誤り許容率mは、入力された検索塩基
配列、及びデータベース中の塩基配列の精度に応じて設
定する。塩基配列決定時の実験データの読み取り誤差に
よって、実際の塩基配列と決定された塩基配列の間に相
違が存在することが知られている。塩基配列の精度は、
この相違の度合いによって決定される。従って、予め塩
基配列の精度情報を実験によって得ておき、それを用い
て検索時の誤り許容率を決定すればよい。塩基配列の精
度は塩基配列決定実験の方法等に依存するが、同一性の
判定を行うには、誤り許容率として5〜10%以下の値
を設定すればよい。次に、検索配列からの配列成分の抽
出401を行う。配列長がNkの検索配列に対して、k
塩基長(図中では6塩基長)の配列成分を一方の末端を
出発点としてk塩基長ずつずらしながら、すなわち重複
や間隙を許さずに、もう一方の末端までk塩基長の文字
配列成分が得られる限り抽出を行う。抽出配列成分に
は、抽出の順に番号(i=1からi=Neまで)を付与
する。次に抽出された配列成分を用いて、すでに登録さ
れているDNA塩基配列成分表に対する検索402を行
う。この検索は次のようにして行う。まず図3に示すよ
うに、DNA塩基配列成分表において、検索配列から抽
出された配列成分種に対応する項の値fiを、抽出配列
成分の全てについて(すなわちi=1からi=Ne
で)和をとったものをSとする。検索ヒット条件は、S
の値がNe−m・Nkと等しいか大きい場合と表現され
る。検索誤りの個数が一定として、検索配列から抽出さ
れた配列成分種の内fiが0の文字成分の個数が最大に
なるのは、各文字成分上に誤りが一個ずつ分布した場合
である。これから、誤り許容率以下の分だけすなわちm
・Nk個以下の誤りがある場合には、fiが0の配列成分
個数の最大値は、m・Nk個になる。従って、配列成分
種の個数Neからm・Nkを引いた値を検索ヒットの閾値
に設定しておけば、誤り許容率以下の誤りがある場合は
全て検索ヒット条件を満たし、もれなく検索できること
になる。
【0039】このようにしてDNA塩基配列成分表によ
って検索された塩基配列は、次にその配列自身による検
索403が行われ、検索結果404が出力される。ここ
では、ダイナミックプログラミングに基づいたSmit
h−Watermanの方法による配列間のスコア計算
を用いるのが適当である。Smith−Waterma
nの方法は、配列文字の欠失、挿入、置換、マッチに対
して適当なスコア値を与えて配列間の並置を行い、スコ
ア値の総計が最大になるような並置を求める方法であ
る。そのような並置におけるスコア値を二つの配列間の
類似度の指標に用いることによって、誤り許容率以下の
塩基配列を正しく検索することができる。このように本
実施例においては、検索塩基配列とデータベース中塩基
配列の配列成分間の一致度を基準にした塩基配列成分表
による検索がまず行われ、一定の誤りを許容した上で関
係のない多くの塩基配列がふるいにかけられる。こうし
て絞り込まれた塩基配列のみを、時間はかかるが正確な
検索が可能なSmith−Watermanの方法によ
って検索を行う。こうすることによって、高速で、かつ
誤りを許容したもれのない検索が実現可能である。以下
では、どの程度の高速化が可能かを見積るために、検索
速度を決定する大きな因子であるDNA塩基配列成分表
検索による絞り込み率の評価を行う。同一の塩基配列が
多数含まれているようなデータベースを検索する場合
は、絞り込み率はデータベース中の同一塩基配列の個数
に依存する。そこでここでは、データベースが互いに無
関係な塩基配列で構成されており、検索塩基配列とヒッ
トする塩基配列はデータベース中に存在しない場合を考
える。こうすることによって、無関係な塩基配列が塩基
配列成分表による検索で偶然ヒットする、すなわち検索
ノイズが生じる確率を評価することが可能となる。この
ような系のモデルとして次のような系を考える。
【0040】(1) データベース中の塩基配列は長さ
が一定長Ndでランダムな配列を考える。
【0041】(2) 検索配列は長さが一定長Nkでラ
ンダムな配列を考える。
【0042】この場合の絞り込み率RSは、以下のよう
に計算される。塩基配列成分表中の各配列における’
1’が設定されている配列成分種の数が最大になるの
は、各配列中の配列成分間に重複が全くない場合であ
り、この最大値は塩基配列から抽出される配列成分数N
pで与えられる。Np=Nd−k+1であるから、Nd=2
50(通常塩基配列決定で得られる塩基配列長は250
以上の場合が多い)、k=6の場合は、Np=245に
なる。一方、塩基配列成分表中の配列成分種の総数、N
aは4のk乗であり、k=6の場合はNa=4096であ
る。従って、ランダムな検索塩基配列から抽出された1
個の配列成分が配列成分表中の’1’に偶然ヒットする
確率Pは、高々Np/Naであり、この場合はP≦Np
a=245/4096≒0.06となる。Np≪Na
場合は塩基配列中の配列成分間の重複がほとんどないと
考えられるから、P≒Np/Na=0.06とみなしてよ
い。絞り込み率RSは、検索塩基配列から抽出される配
列成分(個数Ne)の内、検索閾値であるNe−m・Nk
個以上の配列成分が配列成分表中の’1’に偶然ヒット
する確率として与えられる。これは、確率Pの事象がN
e回の試行の内Ne−m・Nk回以上生じる確率であるか
ら、次のようなポアソン分布の和で表すことができる。
【0043】
【数1】
【0044】検索塩基配列から抽出される配列成分数N
eは、Nkをkで割った商で与えられるので、Nk=25
0、k=6の場合は、Ne=250/6=41となる。
誤り許容率mを10%として、P=0.06、Ne=4
1、Nk=250、k=6を(数1)に代入するとRS
6.5×10-10となる。この場合の検索時間を見積る
と、以下のようになる。Smith−Waterman
の方法による検索時間tdpは、(数2)に示すように、
dp0を比例定数としてNkとNd、及びデータベース中
の塩基配列数Nの積に比例する。
【0045】
【数2】
【0046】一方、本方法における検索時間tは、配列
成分表による検索時間ttbと、絞り込まれた配列に対す
る、Smith−Watermanの方法による検索時
間、tdp’の和で表すことができる。ここで、ttbはt
0を比例定数としてNk/kとNに比例すること、及びt
dp’がtdpと絞り込み率RSの積であることを考慮すれ
ば、tは(数3)で表すことができる。
【0047】
【数3】
【0048】ここで、tdp0≒t0と仮定すれば、RS
1/k・Ndより小さい場合は、t≒t0・N・Nk/k
と近似することが可能である。今考えている状況では1
/k・Nd≒1/6・250≒0.001で、RS≒6.
5×10-10であるからこの近似が成立し、tとtdp
比は(数4)で表すことができる。
【0049】
【数4】
【0050】このように、本方法を用いれば、Smit
h−Watermanの方法に比べて1000分の1程
度の検索時間でデータベースの検索が可能である。この
高速化は、主に配列成分表検索による絞り込みに依存し
ている。絞り込み率が1/k・Ndより大きくなると、
t/tdp≒RSとなり、検索時間は絞り込み率に比例し
て増大する。
【0051】次に、Nk=Nd=Nkd、m=10%とし
て、Nkd=100〜1000に対して、k=4〜8と変
化させた場合のRSの計算結果を図4に示した。このよ
うに塩基長Nkdのそれぞれに対して絞り込み率を最小に
するkの値kmが存在することがわかる。Nkd=10
0、Nkd=250、Nkd=500、Nkd=1000に対
するkmは、それぞれk=6、7、7、8である。Nkd
=100、Nkd=250に対してはk=5、6、7、8
でRSが0.001以下になることがわかる。一方、N
kd=500、Nkd=1000に対してはk=6、7、8
でRSが0.001以下になることがわかる。kの値を
大きくすると、配列成分表検索時間がそれに比例して短
くなるが、必要なメモリ量が増大する。従って、データ
ベースの規模に応じて上記の範囲内でkを設定すればよ
い。
【0052】FASTA法を用いた場合も、Smith
−Watermanの方法による検索の前に部分配列の
比較によって、絞り込みを行っている。この時のスコア
閾値を大きく選べば絞り込みを充分行うことが可能であ
るが、この場合は絞り込みによる検索もれが生じること
が知られている。本方法によれば、こうした検索もれが
生じることなしに、Smith−Watermanの方
法と比べて1000倍程度の高速な検索を実行すること
が可能になる。
【0053】(実施例2)以下、本発明の第2の実施例
について図5を用いて説明する。本実施例においては、
検索塩基配列が持つ配列情報をより活用するために検索
塩基配列から配列成分を抽出する方法を一般化する。検
索配列からの配列成分の抽出500は図5中に示したよ
うに、(1)検索配列の一方の末端から、k塩基長の配
列成分を抽出し、(2)検索配列中で、開始点をks塩
基長ずらして、k塩基長の配列成分を抽出する操作を、
(3)配列成分の末端が検索配列中に収まる間繰り返
す。次に配列成分表検索における検索501が行われ
る。検索条件は以下のように設定する。検索ヒット条件
は、Sの値がNe−f(k、ks)・m・Nkと等しいか
大きい場合と表現される。ここでS、Ne、Nk、mの定
義は第1の実施例における定義と同一である。f(k、
ks)は、隣り合ったk塩基長配列成分間の重なりの部
分を考慮した因子であり、kとksの関数として(数
5)で表現される。
【0054】
【数5】
【0055】関数f(k、ks)をこのように設定する
ことによって、隣り合ったk塩基長配列成分間の重なり
の部分に配列誤りが存在した場合にも、もれなく誤り許
容率m以下の塩基配列を検索することが可能になる。図
6にkがksよりも小さい場合に第1の実施例と同様な
方法で絞り込み率RSを計算した結果を示す。k=6で
ks=1〜6の各場合のRSについて誤り許容率依存性を
示した。ks=6の場合、すなわち第1の実施例と同様
の場合、誤り許容率が10%ではRS〜10-9である
が、誤り許容率が大きくなっていくとRSは急速に増大
し、誤り許容率が13%以上ではRSは0.001より
も大きくなり、検索速度が減少する。図6に示すように
ks=1、5の場合は、絞り込み率は非常に増大しksを
kよりも小さくした効果は得られない。しかし、ks=
2、3の場合は、絞り込み率は各誤り許容率において減
少している。ks=2では、m=14%でも0.001
以下の絞り込み率が得られている。ただしksが小さく
なると判定すべき配列成分数が増大し検索速度はその分
だけ減少するので、これと絞り込み率の増大率との兼ね
合いでksの値は決定すればよい。またkよりも大きな
ksを用いれば、検索ヒット条件におけるNeの値が小さ
くなり絞り込み率が大きくなるが、成分表検索速度は速
くなる。従ってこの場合、小さな誤り許容率(5%程度
以下)が使用可能であれば、絞り込み率の増大の割合も
小さいので全体としての検索速度を向上させることが可
能である。このように、本実施例においては、誤り許容
率の値に応じてksの値を適当な値に選ぶことにより、
絞り込み率を第1の実施例の場合よりも向上させるか、
あるいは成分表検索速度を向上させることによって全体
の検索速度を向上させることが可能である。
【0056】(実施例3)以下、本発明の第3の実施例
について図7を用いて説明する。本実施例においては、
データベース中の塩基配列の重複を許した分割600を
行い、分割された配列に対して、DNA塩基配列成分表
を作成している。図7に示すように、配列長Ndのデー
タベース中の塩基配列に対して、所定の一定の長さNf
の配列を配列長Nsの重複を許しながら一方の末端から
抽出していき、もう一方の末端まで(最後は配列長
fe)繰り返す。ここでNsは使用する検索塩基配列の
配列長よりも大きい値に設定する。次に分割抽出した各
塩基配列に対する塩基配列成分表の作成601を行い、
分割抽出した各塩基配列にそれぞれの塩基配列中での通
し番号を付加して、データベースへの登録602を行
う。以下、本実施例の効果について説明する。本発明に
よってGenBank等の公共のDNAデータベースを
検索する場合、一般にデータベース中の塩基配列の配列
長の平均値は1000塩基長程度である。一方、検索に
用いる塩基配列は、DNAシーケンサーによって一度に
配列決定可能な配列の長さ程度であり、これは、200
〜400塩基長である。このように、データベース中の
塩基配列長が検索塩基配列長よりもかなり大きい場合
は、塩基配列成分表中の”1”の数が多くなり、絞り込
み率が増大することが考えられる。第1の実施例と同様
の計算方法で、絞り込み率のデータベース中塩基配列長
依存性を計算した結果を図8に示す。検索塩基配列とし
て250塩基長の場合を考え、データベース中の塩基配
列長Ndを250から1500まで変化させた。図に示
されるようにNdが750以下では絞り込み率は0.0
01程度以下であるが、Ndが1000以上では絞り込
み率は0.01以上の値になり検索時間が増大する。そ
こで本実施例に示したように、データベース中の塩基配
列をあらかじめ分割して短くしたものに対して塩基配列
成分表を作成しておけば、分割された塩基配列に対する
絞り込み率を小さく維持することが可能である。分割数
に比例して検索時間は増大するが、分割しないことによ
る絞り込み率の増大が引き起こす検索時間の増大に比べ
ると、それは非常に小さい。図8から、検索配列長が2
50以下の場合には、データベース中塩基配列の分割配
列長Nfとして例えば500〜750を設定し、重複配
列長として250〜375を設定すればよい。このよう
に設定することによって、検索配列の全体を分割された
配列の中に含ませることが可能であり、かつその際に絞
り込み率を0.001以下にすることが可能である。ヒ
ットする場合は、必ず隣り合った配列がヒットしてくる
ので、それらの元の塩基配列中の通し番号を出力すれば
よい。
【0057】(実施例4)以下、本発明の第4の実施例
について図9を用いて説明する。本実施例においては、
検索塩基配列、及びデータベース中の塩基配列から配列
成分を抽出する際に、配列末端の情報を有効に利用して
いる。検索塩基配列からの抽出の場合は図9(a)に示
すように、検索塩基配列の一方の末端から出発して配列
成分を抽出していく際に、もう一方の末端に検索塩基配
列の最初の末端を接続した塩基配列を考え、この接続点
を含む全ての成分を含めて配列成分の抽出を行う。デー
タベース中の塩基配列からの抽出の場合も図9(b)に
示すように、塩基配列の一方の末端から出発して1塩基
ずつずらしながら配列成分を抽出していく際に、もう一
方の末端に検索塩基配列の最初の末端を接続した塩基配
列を考え、この接続点を含む全ての成分を含めて配列成
分の抽出を行う。
【0058】本実施例の方法を用いることによって、検
索塩基配列としてデータベース中の塩基配列と同一のも
のだけを考えてよい場合、すなわち、検索塩基配列がデ
ータベース中の塩基配列に部分的に含まれることがない
場合において、第1、第2の実施例の方法では用いられ
ていなかった塩基配列の末端の情報を有効に活用するこ
とが可能である。例えば、Nk=250、Nd=250、
k=6、ks=6、m=10%の場合、実施例1の方法
における絞り込み率は第1の実施例で示したようにRS
≒6.5×10-10となる。一方、本実施例を用いる
と、一個の成分がヒットする確率PはP=250/40
96=0.061であり、検索塩基配列からの抽出成分
数は42、ヒット判定成分数は17であることから、
(数1)を用いて計算するとRS≒1.4×10-10とな
る。このように、第1の実施例の方法と比べると絞り込
み率が約5分の1に改善していることがわかる。
【0059】(実施例5)以下、本発明の第5の実施例
について図10を用いて説明する。本実施例において
は、配列成分表の容量を頻度情報を用いたハッシング手
法によって削減している。頻度情報を利用するハッシン
グ型の配列成分表を作成するには、データベースに登録
してある塩基配列内の配列成分の使用頻度を調べ、頻度
情報によりハッシュ関数を決定する。頻度の大きい成分
については同一エントリに対応する成分数を少なくし、
頻度の小さい成分については同一エントリに対応する成
分数を多くする。具体的には、図10に示すように、各
配列成分種のデータベース中での頻度分布700を調
べ、その頻度の順に配列成分種を並べ換えた頻度分布7
01を作成する。そして、ハッシング法702に示すよ
うに、頻度の小さい成分種を例えば図中の矢印で示すよ
うに頻度の高い成分種に対応させ、同じエントリー番号
を持たせる。こうすることによって、各エントリーの頻
度がほぼ一定になり常に一定の絞り込み率が得られる結
果、安定な検索時間が保証される。また、配列成分表の
容量がハッシングによって削減されることによって次の
二つの効果がある。まず、同じkの値を用いている場合
は、より多い塩基配列を配列成分表で扱えるようになる
ことである。また、同じ数の塩基配列を配列成分表で扱
う場合は、より大きなkの値を用いることが可能にな
る。より大きなkは、配列成分表検索における検索時間
を短縮しより高速な検索を実現可能にする。
【0060】ハッシングの一つの例は次のような場合で
ある。塩基配列データベース中の塩基文字にはA、C、
G、T以外にも11種類の塩基文字が使用されている。
これは、塩基配列決定時に塩基文字がA、C、G、Tの
どれかに確定できない場合に使用され、不確定さの度合
いに応じて区別されている。通常の塩基配列決定におい
ては、これらの塩基文字の出現頻度は非常に小さく、
A、C、G、Tの出現頻度に比べると100分の一程度
である。そこで、A、C、G、T以外の塩基文字が配列
成分中に出現した場合、それらをA、C、G、Tのいず
れかに変換した配列成分を作成し配列成分表を作成すれ
ば、絞り込み率をほとんど増大させることなく配列成分
表の容量を格段に小さくすることが可能である。検索時
には、検索塩基配列中から抽出した配列成分をこの変換
によって変換した後、配列成分表によって検索を行う。
【0061】(実施例6)本発明の第6の実施例につい
て、図11を用いて説明する。ここでは、検索配列から
所定の長さkの配列成分からなる複数の部分集合を作成
する方法を、一般化する。本実施例では、検索配列から
の配列成分の抽出801は、図12に示すように行な
う。即ち、長さkの配列成分からなる要素の異なる複数
(nとする)の部分集合の作成は次の手順に従う。
【0062】(1)検索配列の一方の末端から、k塩基
長の配列成分を抽出する。
【0063】(2)検索配列中のk塩基長の配列成分の
抽出を開始した位置をks塩基長ずらして、k塩基長の
配列成分を抽出する。
【0064】(3)(2)の手順操作を配列成分の末端
が検索配列中に含まれる間繰り返して、一つの部分集合
を作成する。
【0065】(4)検索配列中のk塩基長の配列成分を
抽出を開始した位置から、kn塩基長ずらして、(1)
から(3)までの手順操作を繰り返して、新たな部分集
合を作成する。
【0066】(5)3つ目以降の部分集合を作成すると
きには、直前に作成した部分集合におけるk塩基長の配
列成分の抽出を開始した検索配列中の位置から、kn塩
基長ずらして(1)から(3)までの一連の手順操作を
繰り返す。
【0067】この手順操作を指定された回数n回だけ行
ない、異なる配列成分からなるn個の部分集合が作成さ
れる。更に作成された部分集合を使用する検索方法を一
般化する。このn(部分集合の数)の値の上限は次のよ
うに設定する。部分集合の要素である塩基長kの配列成
分が、既に作成されている部分集合の要素に全て含まれ
るようになった時点で、部分集合の作成を停止する。即
ち、塩基長kの配列成分からなるn番目の部分集合の配
列成分の抽出開始位置は、検索配列の一方の端からkn
×(n−1)文字ずれた個所の位置が、k×d−kn
(dは正数)文字目であるならば、n番目の部分集合は
最初の部分集合中に含まれるので、この時点で部分集合
の作成を停止する。言い換えると、kn×n文字目がk
の倍数となるような最小のnの数だけ、部分集合を作成
する。例えば、kが6文字、knが4文字の場合には、
部分集合は3個作られる。またknが1文字なら、部分
集合はk個作られ、kが6文字ならば6個作成される。
このように、配列成分の抽出801は、n回行われる。
【0068】次に、作成されたn個の異なる部分集合を
用いる検索802について説明する。各部分集合に対し
て検索を行なう方法は、実施例2に記載の方法を用い
る。n個の部分集合を作成し、検索する際の検索ヒット
条件は以下の(数6)で示される。
【0069】
【数6】
【0070】ここで、n番目の部分集合における検索配
列から抽出される配列成分数Ne(n)と、同部分集合
における検索配列長Nk(n)を、Nk(n)=Nk−k
n×(n−1)、Ne(n)=Nk(n)/kで定義す
る。以上の検索ヒット条件において、部分集合ごとに判
定803を行ない、全ての部分集合に対してヒット条件
を満たす配列のみを、配列成分表検索において抽出し、
抽出された配列に対して次段階の検索である配列検索8
04を行ない、検索結果805を得る。
【0071】本実施例によるn個の部分集合を用いた検
索処理時間t(n)は、以下に示す式(数7)で表わさ
れる。ここで、Rs(n)は本実施例を用いたときの絞
り込み率を表し、(数7)中の他の変数は実施例1の中
で定義されたものと同じである。
【0072】
【数7】
【0073】本実施例では、作成されたn個の部分集合
ごとに配列成分表を検索するため、配列成分表検索の時
間ttbは実施例2に記載の方法と比べてn倍になる。本
実施例における検索時間が、実施例1における検索時間
よりも短縮される、即ち、t(n)がtよりも小さくな
る時には、本実施例における検索の絞り込み率が以下の
(数8)で与えられる条件を満たしている。(数8)で
示される絞り込み率の条件を満たしていれば、検索処理
時間は短縮される。
【0074】
【数8】
【0075】次に本実施例における絞り込み率を示す。
本実施例において、絞り込み率は以下のように表され
る。即ち、単純に考えると、それぞれn個の部分集合に
おいて検索した結果得られた絞り込み率Rs(n)は、
(数1)で表される値と同様であり、各部分集合におい
て求められた絞り込み率Rs(n)の積が、n個の部分
集合を用いて検索した場合の絞り込み率となる。図13
に本実施例の検索方法である、複数の異なる部分集合を
用いた検索における絞り込み率と、実施例2に記載の検
索方法における絞り込み率とを比較した結果を示す。図
13では、以下に示す条件で検索を行った結果を表して
いる。
【0076】使用した文字配列は実際のデ−タベ−ス中
の配列データを利用した。デ−タベ−スは、公共デ−タ
ベ−スであるGenBank(release 74.
0)の中の霊長類の遺伝子配列を集めたGBPRI.S
EQを利用した。GBPRI.SEQには、全体で20
×106塩基数が登録されており、配列数にして約2万
配列が登録されている。このデ−タベ−スの配列に対し
て配列の長さが1000塩基に満たないものは省き、1
000塩基よりも長い配列に関しては、1000塩基に
長さをそろえ、500個の配列を検索の対象とした。こ
の様な配列デ−タベ−スに対し、3文字から10文字ま
での長さの塩基成分に対して配列成分表を作成した。こ
の配列成分表作成の方法は、実施例1に記載の方法に基
づく。
【0077】また、検索を行なう配列として同じGBP
RI.SEQのデ−タベ−スから前述のデ−タベ−ス中
の配列とは重複しない配列を400個使用した。各配列
について計算されたしぼり込み率の平均値を求めた。
【0078】検索時には、以下の条件のもとに検索配列
から配列成分を抽出した。デ−タベ−スの配列長Nd
1000塩基とし、検索配列長は100塩基とした。ま
た、検索配列から一定長の配列成分を抽出する際の変数
を以下のように設定する。実施例2に記載の方法も本実
施例のいずれも、一定長kの配列成分を切り取る際にk
s文字だけずらす。実際の検索時には、これらの値をk
=ksとした。また、本実施例においてのみ、使用され
るknの値は1文字とした。これは、knが他の一般的
な値をとる場合に比べて、作成する部分集合の数が最大
であり、もっとも細かな検索が出来ると考えたためであ
る。knの値を1文字と設定すると、k文字の配列成分
に関する部分集合の数は、k個となる。従って、本実施
例においては3〜10個の部分集合のすべてにおいて検
索ヒット条件を満たした配列の割合を計算する。また検
索ヒット条件を決定する誤り許容率mは5%とした。
【0079】以上の変数を使用して、検索した結果を図
13に示す。絞り込み率は実施例2に記載の方法よりも
改善されている。配列成分長kが5、6、7、8、9文
字の時に絞り込み率が非常に改善され、実施例2に記載
の方法よりも検索時間が短縮する。従って、本実施例は
配列成分表検索においての絞り込み率を改善し、検索時
間を短縮するのに有効である。図13の結果では、予測
されたほど本実施例による絞り込み率の改善が見られな
かったが、これは検索に実デ−タを用いたために、繰返
し配列が多いなどの理由で、デ−タベ−スがランダムで
はなかったためと考えられる。
【0080】(実施例7)次に、本発明における第4の
実施例について図11及び図14を用いて説明する。本
実施例においては、図11中の検索配列からの配列成分
の抽出801を図14に示された方法によって行なう。
即ち、i個の異なる長さのkiについて配列成分の抽出
801を行い、長さの異なる配列成分からなる部分集合
を作成する方法である。つまり、まず指定された長さk
1に対して、 (1)検索配列の一方の末端から、k1塩基長の配列成
分を抽出する。
【0081】(2)検索配列中で、配列成分抽出開始点
をks1塩基長ずらして、k1塩基長の配列成分を抽出す
る。
【0082】(3)(2)の手順操作を配列成分の末端
が検索配列中に収まる間中繰り返す。以上の手順操作に
より、塩基長k1の配列成分に対する部分集合を作成す
る。次に、予め指定されていたk1とは異なる塩基長k2
に対して、(1)〜(3)までの手順操作を行ない、塩
基長k2に対する配列成分からなる部分集合を作成す
る。このように指定されたそれぞれの長さに対応する配
列成分からなる部分集合を作成する。
【0083】作成された部分集合に対する検索方法は、
実施例2で既に説明した手順に従うが、各部分集合によ
ってその要素である配列成分の塩基長が異なるので、予
め配列成分表も各塩基長ごとに複数作成しておく必要が
ある。つまり、部分集合の配列成分の長さがそれぞれk
1、k2、k3塩基長とするとき、配列成分表もそれぞれ
1、k2、k3塩基長の配列成分に対して予め作成する
必要がある。それぞれの塩基長に対する配列成分表の作
成方法については、実施例1に記載したとおりである。
また、配列成分表検索を行なう場合には、各部分集合の
要素の配列成分の長さに対応する配列成分表を検索す
る。即ち、塩基長k1の配列成分からなる部分集合を参
照して配列成分表検索を行なうときには、やはり塩基長
1の配列成分表を用いて検索する。
【0084】i個の部分集合を作成した後、配列成分表
検索802を行い、全ての場合において検索ヒット条件
を満たす配列の選択803を行い、配列検索804を行
なう。ここで、各部分集合における検索ヒット条件は以
下に示すように、配列成分長kiに対応して変化した変
数の値を、(数6)のそれぞれに対応する値に代入した
ものとして表わせる。また、検索時間も実施例6と同様
に(数7)の各変数に対応する値を代入してもとめられ
る。
【0085】以下、本実施例の検索結果を図15に表
す。ここでは、検索時には以下の条件を用いた。まず、
デ−タベ−スは実施例6と同じ、公共デ−タベ−スであ
るGenBankの中の霊長類の塩基配列を集めたGB
PRI.SEQであり、配列長Ndは1000文字にそ
ろえた。検索配列長Nkは100文字とし、デ−タベ−
ス中の配列とは重複しないように選んだ。配列成分の長
さとして、3文字から10文字までのそれぞれ連続する
3つの値を用いた。つまり、配列成分長として3、4、
5文字の組、4、5、6文字の組、…、8、9、10文
字の組を用いた。また、配列成分の抽出を行なう際のず
らし文字数ksはそれぞれ配列成分の長さと一致する
値、k=ksを用いた。また、誤り許容率は10%とし
た。以上の条件のもとで検索を行った結果を、同条件で
検索を行った実施例2に記載の方法の結果と比較して図
15に示す。
【0086】図15に示す結果より、配列成分の組が
5、6、7文字、6、7、8文字、7、8、9文字、
8、9、10文字の組では、絞り込み率が非常に改善さ
れている。本実施例の検索では部分集合は指定した配列
成分長の数だけ作成され、3つ部分集合が作成される。
これら数値から、本実施例の絞り込み率で検索時間が短
縮されるかを(数8)を用いて計算する。上記4つの組
の場合では、本実施例の絞り込み率は(数8)に表され
た条件を満たすので検索時間が短縮される。従って、本
実施例は絞り込み率を改善し、検索時間を短縮するのに
効果的である。
【0087】(実施例8)以下、本発明の第8の実施例
について図11及び図16を用いて説明する。本実施例
では、図11中の検索配列からの配列成分の抽出801
において、実施例6及び実施例7で説明した方法を組み
合わせて検索する。即ち、長さの違う複数のkに対し
て、それぞれ実施例6の方法に基づき複数の異なる部分
集合を作成する。本実施例の配列成分の抽出801で
は、図16に示すように以下の手順を指定された複数の
異なる長さkに対して行なう。まず、一つの長さk1
配列成分について、 (1)検索文字配列の一方の末端から長さk1の配列成
分を切り出す。
【0088】(2)配列成分を切りだした位置からks
1文字ずらして長さk1の配列成分を切り出す。
【0089】(3)配列成分の末端が検索文字配列中に
含まれている間中、(1)(2)の手順操作を繰り返
す。
【0090】(4)更に検索文字配列中の配列成分の切
り出し開始位置からkn文字ずらしてから、(1)〜
(3)の手順操作を繰り返す。
【0091】(5)新たに抽出した配列成分が、既に作
成されていた部分集合の配列成分と一致するようになる
まで、(1)〜(4)の手順操作を繰り返す。
【0092】以上の手順に従い、k1塩基長の配列成分
の複数の部分集合を作成する。本実施例では、更に指定
されていた異なる長さk2の配列成分に対しても、
(1)〜(5)の手順操作を繰り返して複数の部分集合
を作成する。この手順操作を指定されたi個の塩基長に
対して行なう。このようにして、複数の異なる配列成分
からなる部分集合を作成する。この時部分集合の数は以
下のように設定される。まず、指定された異なった塩基
長がi個とし、それぞれの塩基長をk1、…、kiと表
す。それぞれの塩基長に対応した配列成分の部分集合を
作成する際に、部分集合ごとに配列成分の抽出開始位置
をkni文字ずらす。各塩基長における部分集合の数N
(ki、kni)は、kni×N(ki、kni)がkiの倍
数になるような最小の値として定義される。例えば、k
iが6文字、kniが2文字の場合には、N(ki、k
i)は3となる。全体として部分集合の個数Gnは以下
の(数9)で与えられる。
【0093】
【数9】
【0094】こうして作成されたGn個の部分集合に対
してそれぞれの塩基長kiに対応する配列成分表を参照
した検索803を行なう。検索時には、それぞれの塩基
長kiにおけるN(ki、kni)個の部分集合に対して
それぞれに対応する検索ヒット条件に基づいて検索を行
なう。検索ヒット条件はそれぞれの塩基長kiについて
求められたスコアSが、各部分集合の全ての場合におい
て(数6)で表わされる値よりも大きいかもしくは等し
いならば、文字配列を参照する検索804を行ない、検
索結果805を得る。
【0095】本実施例における絞り込み率を図17に表
す。本実施例においても検索時には、実施例6及び、実
施例7において検索に用いられたものと同様のデ−タベ
−スを用いる。また、配列成分抽出時の変数はks=k
とし、各部分集合作成時の変数kn=1とした。さら
に、複数の配列成分の長さは、実施例7と同様に3文字
から10文字までのそれぞれ3つの連続する長さを用い
た。また、配列の長さに関しては実施例6、7と同様に
デ−タベ−ス中の配列長Ndを1000塩基、検索配列
長Nkを100塩基とした。
【0096】以上の条件のもとで、検索を行った結果を
図17に表す。本実施例における絞り込み率は、実施例
6及び実施例7に表された検索方法における絞り込み率
の積になる。図17より、本実施例における絞り込み率
の方が、実施例7に記載の方法よりも改善されている。
本実施例における検索時間は、(数9)と(数7)によ
り、表わすことができ、(数9)によって求められた部
分集合数Gnを(数7)に代入し、検索時間を計算でき
る。また、検索時間を短縮するための絞り込み率の条件
は同様に部分集合の数Gnを(数8)に代入すればよ
い。このようにして調べた結果では、検索を行った配列
成分の組の全ての場合において、検索時間が実施例2に
記載の方法よりも短縮している。また、図17に示しさ
れるように、実施例7に記載の方法と比較しても、配列
成分の組3、4、5文字、4、5、6文字の組について
は絞り込み率の著しい改善が見られ、本実施例は絞り込
み率を改善し、検索時間を短縮するのに効果的である。
【0097】(実施例9)以下、本発明の第9の実施例
について図11を用いて説明する。本実施例では、図1
1中の各部分集合における検索条件の判定803を一般
化する。即ち、検索配列からの配列成分の抽出801に
よって作成された複数の部分集合に対して、配列成分表
を用いた検索802を行い、それぞれの部分集合に対し
て得られた検索結果を用いて判定803を行い、選ばれ
た配列に対して配列検索804を行なう。
【0098】複数の部分集合を用いて検索を行なう場合
には、それぞれの部分集合に対する検索ヒット条件を考
慮し、すべての部分集合において、算出されたスコアが
検索ヒット条件を満たす配列を抽出する。この検索方法
を以下のように一般化する。まず、実施例6、7、8で
説明したように、一つの検索配列からは複数の要素の異
なる部分集合が作成される。この部分集合の要素は、各
々部分集合の作成方法に従って要素である配列成分数が
異なりうる。そこで、各部分集合に対して、検索ヒット
条件がそれぞれ設定される。検索では、全ての部分集合
において検索ヒット条件を満たしている配列を抽出す
る。ここでは、各部分集合において、スコアがその部分
集合の(数6)で表される検索ヒット条件を満たすなら
ば1、満たさないならば0のビットフラグを与える。こ
のフラグの数は部分集合の数だけ存在する。このフラグ
の論理積を計算し、この計算結果が1になる配列を配列
成分表検索において抽出する。
【0099】以上の各実施例ではDNA塩基配列の検索
を例にとり、本発明の文字配列検索方法を説明したが、
本発明はこれに限らずRNA塩基配列の検索、アミノ酸
配列の検索、さらには一般の文書の検索にも適用できる
ことは言うまでもない。また文書検索では記号文字、絵
文字等を含む場合にも適用可能である。
【0100】
【発明の効果】本発明によれば、所定の長さの文字配列
が登録された文字配列成分表の検索によって絞り込みを
行い、その後、文字配列検索を行う階層型プリサーチ手
段を設けること、また、文字配列成分表の検索による絞
り込みのさい、検索文字配列中の所定の長さの文字配列
の中から部分集合を選び出し、部分集合を用いて文字配
列成分表をサーチする際のヒット成分数の基準として、
検索者が予め与える誤り許容率を基に決定される数を用
いることによって、与えられた検索文字配列から誤り許
容率を超えて異なった文字配列を、文字配列を参照する
以前に切り捨てて、検索対象の文字配列を検索する量を
少なくできる。これによって、与えられた検索文字配列
から誤り許容率以内の文字配列をもれなく検索し、かつ
大規模な文字配列データベースでも実用的な応答速度で
検索することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施例であり文字配列検索方法
が適用される文字配列検索装置の構成を示す図。
【図2】本発明の第1の実施例における階層型プリサー
チでの文字配列(DNA塩基配列の例)及び文字配列成
分表の作成登録の処理内容を示す図。
【図3】本発明の第1の実施例における階層型プリサー
チでの文字配列(DNA塩基配列の例)の検索方法を示
す図。
【図4】本発明の第1の実施例における絞り込み率(R
S)(計算値)の各塩基配列長に対する文字配列長
(k)値依存性を示す図。
【図5】本発明の第2の実施例である、重複分割法への
一般化を行なった、検索配列からの配列成分の抽出方法
及び検索方法を示す図。
【図6】本発明の第2の実施例において、文字配列長、
k=6とするときの絞り込み率(RS)(計算値)の誤り
許容率(m)依存性を示す図。
【図7】本発明の第3の実施例であり、データベース中
の塩基配列の重複を許した分割を行い、分割された配列
に対して塩基配列成分表を作成する、重複分割塩基配列
成分表の作成登録方法を示す図。
【図8】絞り込み率(RS)(計算値)のデータベース
中の塩基配列長(Nd)依存性を示す図。
【図9】本発明の第4の実施例である配列末端の情報を
利用する塩基配列成分の抽出方法を示す図。
【図10】本発明の第5の実施例である頻度情報を利用
するハッシング型の配列成分表の作成方法を示す図。
【図11】本発明の第6の実施例である検索文字配列か
ら複数の部分集合を使用する検索方法を示す図。
【図12】本発明の第6の実施例である検索文字配列か
らの複数の部分集合の作成方法を示す図。
【図13】本発明の第6の実施例における絞り込み率
(RS)の各文字配列長(k)値依存性を示す図。
【図14】本発明の第7の実施例である検索文字配列か
らの複数の部分集合の作成方法を示す図。
【図15】本発明の第7の実施例における絞り込み率
(RS)の各文字配列長(k)値依存性を示す図。
【図16】本発明の第8の実施例である検索文字配列か
らの複数の部分集合の作成方法を示す図。
【図17】本発明の第8の実施例における絞り込み率
(RS)の各文字配列長(k)値依存性を示す図。
【符号の説明】
100…ディスプレイ、101…キーボード、102…
中央制御装置CPU、103…文字配列、104…文字
配列成分表、105…フロッピーディスクドライバ、1
06…文字配列の格納用ファイル、107…フロッピー
ディスク、200…主メモリ、201…文字配列登録プ
ログラム、202…文字配列成分表作成登録プログラ
ム、203…誤り許容文字配列成分表サーチプログラ
ム、204…誤り許容文字配列サーチプログラム、20
5…データエリア、206…階層検索制御プログラム、
300…DNA塩基配列登録プロセス、301…DNA
塩基配列からの文字配列成分の抽出プロセス、302…
DNA塩基配列成分表作成プロセス、303…DNA塩
基配列成分表登録プロセス、400…誤り許容率m、及
び検索DNA塩基配列の入力プロセス、401…検索D
NA塩基配列からの配列成分の抽出プロセス、402…
DNA塩基配列成分表による検索プロセス、403…D
NA塩基配列の検索プロセス、404…検索結果出力プ
ロセス、500…検索DNA塩基配列からの重複分割法
による配列成分の抽出プロセス、501…DNA塩基配
列成分表による検索プロセス、600…データベース塩
基配列の重複分割プロセス、601…重複分割塩基配列
成分表の作成プロセス、602…重複分割塩基配列成分
表の登録プロセス、700…各配列成分種のデータベー
ス中での頻度分布、701…頻度の順に配列成分種を並
べ換えた頻度分布、702…ハッシング法、800…誤
り許容率m、及び検索DNA塩基配列の入力プロセス、
801…検索DNA塩基配列からの配列成分の抽出、及
び内容の異なる複数個の部分集合の作成プロセス、80
2…各部分集合を用いたDNA塩基配列成分表による検
索プロセス、803…DNA塩基配列成分表検索の結果
を用いた検索条件の判定プロセス、804…DNA塩基
配列の検索プロセス、805…検索結果出力プロセス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永井 啓一 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 川口 久光 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 多田 勝己 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 加藤 寛次 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 神原 秀記 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 村川 克二 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 相坂 一夫 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長坂 充 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 平3−174652(JP,A) 三宅輝久、宮本定明、中山和彦,核酸 配列分析へのファジィマッチング関数の 応用,ファジィシステムシンポジウム講 演論文集,日本,日本ファジィ学会, 1990年 9月 6日,第6回,p.307 −310 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の文字配列が登録された文字配列デー
    タベースの中から指定された検索文字配列を検索する文
    字配列検索方法において、(1)前記登録文字配列中に
    含まれる所定の長さ(kとする)の連続する部分文字配
    列を重複なく含み、これら部分文字配列について、全て
    の塩基配列成分種に対して1ビットの情報で表現された
    文字配列成分表を作成するステップと、(2)前記登録
    文字配列と前記文字配列成分表を合わせて文字配列デー
    タベースへ登録するステップと、(3)前記検索文字配
    列中に含まれる前記所定の長さ(k)の文字配列から、
    所定の方法により検索文字配列の部分集合を抽出するス
    テップと、(4)所定の誤り許容率によって定められる
    一定数よりも多く前記部分集合の中の文字配列を含む前
    記登録文字配列について、前記誤り許容率の以内の文字
    配列を抽出するために前記文字配列成分表をサーチする
    ステップと、(5)前記文字配列成分表をサーチするス
    テップによりえられた前記登録文字配列を参照して、前
    記誤り許容率の以内の前記登録文字配列を抽出するため
    の文字配列をサーチするステップとを有することを特徴
    とする文字配列検索方法。
  2. 【請求項2】複数の文字配列が登録された文字配列デー
    タベースの中から指定された検索文字配列を検索する文
    字配列検索方法において、(1)前記登録文字配列の両
    末端を接続した環状の登録環状文字配列を想定し、前記
    登録環状文字配列中に含まれる所定の長さ(kとする)
    の部分文字配列を重複なく含む文字配列成分表を作成す
    るステップと、(2)前記登録文字配列と前記文字配列
    成分表を合わせて文字配列データベースへ登録するステ
    ップと、(3)前記検索文字配列の両末端を接続した環
    状の検索環状文字配列を想定し、前記検索環状検索文字
    配列に含まれる前記所定の長さ(k)の文字配列から、
    所定の方法により検索文字配列の部分集合を抽出するス
    テップと、(4)所定の誤り許容率によって定められる
    一定数よりも多く前記部分集合の中の文字配列を含む前
    記登録文字配列を、前記文字配列成分表を参照して、前
    記誤り許容率の以内の文字配列を抽出するための文字配
    列成分表をサーチするステップと、(5)前記文字配列
    成分表をサーチするステップによりえられた前記登録文
    字配列を参照して、前記誤り許容率の以内の前記登録文
    字配列を抽出するための文字配列をサーチするステップ
    とを有することを特徴とする文字配列検索方法。
  3. 【請求項3】前記文字配列が、DNAまたはRNAの塩
    基配列を表わすことを特徴とする請求項1または2に記
    載の文字配列検索方法。
  4. 【請求項4】前記文字配列が、アミノ酸配列を表わすこ
    とを特徴とする請求項1または2に記載の文字配列検索
    方法。
JP17798994A 1993-08-10 1994-07-29 文字配列検索方法 Expired - Fee Related JP3370787B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17798994A JP3370787B2 (ja) 1993-08-10 1994-07-29 文字配列検索方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP19815693 1993-08-10
JP5-198156 1993-08-10
JP17798994A JP3370787B2 (ja) 1993-08-10 1994-07-29 文字配列検索方法

Publications (2)

Publication Number Publication Date
JPH07105224A JPH07105224A (ja) 1995-04-21
JP3370787B2 true JP3370787B2 (ja) 2003-01-27

Family

ID=26498327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17798994A Expired - Fee Related JP3370787B2 (ja) 1993-08-10 1994-07-29 文字配列検索方法

Country Status (1)

Country Link
JP (1) JP3370787B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991305A (ja) * 1995-09-27 1997-04-04 Canon Inc 情報処理方法及び装置
JPH105000A (ja) * 1996-06-27 1998-01-13 Hitachi Ltd Dnaアミノ酸配列比較方法
JP3476310B2 (ja) * 1996-08-01 2003-12-10 富士通株式会社 蛋白質データベース・システム並びに蛋白質の名前および機能の表示方法
JP3283193B2 (ja) * 1996-09-27 2002-05-20 日立ソフトウエアエンジニアリング株式会社 配列データ類似度演算装置
JP3881224B2 (ja) * 2001-11-30 2007-02-14 セレスター・レキシコ・サイエンシズ株式会社 配列情報処理装置、配列情報処理方法、プログラム、および、記録媒体
US20050071089A1 (en) * 2001-12-27 2005-03-31 Shinichi Morishita Method of calculating occurrence frequency of sequence, method of calulating degree of isolation and method of estimating degree of adequacy for primer
JP2003223452A (ja) * 2001-12-27 2003-08-08 Center For Advanced Science & Technology Incubation Ltd Est配列の写像方法、および、写像プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三宅輝久、宮本定明、中山和彦,核酸配列分析へのファジィマッチング関数の応用,ファジィシステムシンポジウム講演論文集,日本,日本ファジィ学会,1990年 9月 6日,第6回,p.307−310

Also Published As

Publication number Publication date
JPH07105224A (ja) 1995-04-21

Similar Documents

Publication Publication Date Title
JP4538449B2 (ja) 文字列検索の方法および設備
Drew et al. Polymorphic malware detection using sequence classification methods
US7640256B2 (en) Data collection cataloguing and searching method and system
Giegerich et al. Efficient implementation of lazy suffix trees
JPH09134363A (ja) データベース検索方法及び装置
JP5183155B2 (ja) 大量配列の一括検索方法及び検索システム
Marçais et al. Sketching and sublinear data structures in genomics
JP2003044267A (ja) データソート方法、データソート装置およびデータソートプログラム
AU2582701A (en) Sequence database search with sequence search trees
JP2000163442A (ja) 記号辞書作成方法及び記号辞書検索方法
Lin Binary search algorithm
Bhukya et al. Exact multiple pattern matching algorithm using DNA sequence and pattern pair
JP3370787B2 (ja) 文字配列検索方法
EP3955256A1 (en) Non-redundant gene clustering method and system, and electronic device
US20030126138A1 (en) Computer-implemented column mapping system and method
WO2011073680A1 (en) Improvements relating to hash tables
Wong et al. Predicting approximate protein-DNA binding cores using association rule mining
KR100538451B1 (ko) 분산 컴퓨팅 환경에서의 유전자 및 단백질 유사서열 검색시스템 및 그 방법
Cui et al. High accuracy short reads alignment using multiple hash index tables on FPGA platform
JP3534471B2 (ja) マージソート方法及びマージソート装置
Esmat et al. A parallel hash‐based method for local sequence alignment
JP4181723B2 (ja) 索引作成装置、索引作成方法および記録媒体
JP2786380B2 (ja) キーワード照合検索処理方法
Jaber et al. A framework for decision tree-based method to index data from large protein sequence databases
Kleffe et al. ClustDB: A high-performance tool for large scale sequence matching

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees