(57)【特許請求の範囲】
【請求項１】
ゲノム配列にて塩基対を形成する塩基各々に数字をあてがい、ゲノム配列における回文構造を検出する回文構造検出システムであり、
入力されるゲノム配列における各塩基に対し、前記ゲノム配列において前記塩基対を形成する相補的な関係にある塩基に対し、同一の数字をあてがい、かついずれか一方の塩基に＋の符号を付し、他方の塩基に対して−の符号を付して、前記塩基の各々を数字に置き換える塩基／数字変換部と、
ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からｎ個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたｎ個の塩基対を生成する塩基対生成部と、
該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するｎ個の第１の加算部と、該第１の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第２の加算部と  を有する回文演算部と
を有し、
前記第２の加算部が０を出力した場合、前記ｎ個の塩基対による回文構造があることを検出した検出信号である
ことを特徴とするゲノム配列における回文構造検出システム。
【請求項２】
前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする請求項１に記載のゲノム配列における回文構造検出システム。
【請求項３】
前記ゲノム配列における前記解析範囲を１塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする請求項１または請求項２に記載のゲノム配列における回文構造検出システム。
【請求項４】
前記回文演算部が
前記解析範囲内において両端からｎ個の塩基にて挟まれる非加算塩基数を偶数として回文構造を検出する、前記第１の加算部と第２の加算部とを有する偶数回文演算部と、
前記解析範囲内において両端からｎ個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第１の加算部と第２の加算部とを有する奇数回文演算部と
を有していることを特徴とする請求項１から請求項３のいずれか一項に記載のゲノム配列における回文構造検出システム。
【請求項５】
両端からｎ個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする請求項３から請求項４のいずれか一項に記載のゲノム配列における回文構造検出システム。
【請求項６】
両端からｎ個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を１塩基ずつシフトした検出結果を記憶する記憶部を有し、
ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする請求項２から請求項４のいずれか一項に記載のゲノム配列における回文構造検出システム。
【請求項７】
前記偶数回文演算部及び奇数回文演算部各々が２入力のｎ個の第１の加算部と、該加算部毎に設けられた絶対値部と、ｎ入力の第２の加算部から構成されていることを特徴とする請求項４に記載のゲノム配列における回文構造検出システム。
【請求項８】
回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、
前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部と
をさらに有することを特徴とする請求項１から請求項７のいずれか一項に記載のゲノム配列における回文構造検出システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲノム配列に含まれる回文構造を高速に検出するゲノム配列における回文構造検出システムに関する。
【背景技術】
【０００２】
ＤＮＡ（Deoxyribonucleic acid）のゲノム配列データは、Ａ（アデニン）、Ｔ（チミン）、Ｇ（グアニン）、Ｃ（シトシン）の４種類の塩基の配列が直列に億単位で並ぶ膨大なデータ群である。
近年、ヒトの遺伝子やその他重要な生物の遺伝子におけるゲノム配列のデータが急速に解析されつつある。
ゲノム配列の公開データにおいては、上記Ａ，Ｔ，Ｃ，Ｇ４種類の塩基が延々と続くデータを羅列しているだけであり、配列のいずれの箇所が重要なデータを含んでいるかを知るどころか、何れの領域に遺伝子が存在するかが殆ど判明していないというのが実情である。
【０００３】
特に、１本鎖のＤＮＡ及びＲＮＡ（Ribonucleic acid）においては、ステムループ構造という回文（“たけやぶやけた”、“しんぶんし”等の前後から読んでも同一の読みとなる）構造（パリンドローム構造）をとり、リプレッサタンパクを結合させないことによってｍ（messenger）ＲＮＡの構造などを変化させている。
例えば、図２０に示す例において、図２０（ａ）の配列のｍＲＮＡ（トリプトファンの生成に対応する）は、リボソームのようなリプレッサタンパクが結合していない場合、図２０（ｂ）のようなステムループ構造を有する。
ただし、図２０（ａ）の配列のｍＲＮＡは、トリブトファンが多く供給されて高濃度に存在する場合、図２１（ａ）のステムループ構造を有し、一方、トリプトファンの需要が多く低濃度に存在する場合、図２１（ｂ）の構造を有する。
【０００４】
上述したように、回文構造が異なる状態、すなわち特定の状態におけるステムループ構造は現状において各種見つかっている。
このステムループ構造となると、実際のゲノム配列が読めない状態となり、その部位の解析を行うことができない。
ｍＲＮＡやＤＮＡのゲノム配列内に潜んでいるステムループ構造が起こる可能性のある部位を探ることは、ゲノム配列に対応したリボソームにおけるアミノ酸の産生状況を探るなどの重要な意味を有している。
特に、ＰＣＲ（Polymerase Chain Reaction）によって生成されたｍＲＮＡ等は、ステムループ構造を構成しやすく、どのようなステムループ構造になっているかを知るためには、そのｍＲＮＡのステムループ構造が起こる可能性のある部位を予め知っておく必要がある。
【０００５】
このため、塩基Ａと塩基Ｔと、また塩基Ｃと塩基Ｇとが相補的な関係にあり塩基対を形成するため、ゲノム配列における塩基の並びを解析することにより、ゲノム配列のいずれの箇所が回文構造であり、ステムループ構造を起こす可能性がある部位であるか否かの検出が行われている（特許文献１）。
【特許文献１】特開２００５−３１６９２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来例においては、コンピュータ処理にて行うアルゴリズムについて記載されているが、塩基Ａ，Ｔ，Ｇ，Ｃの配列の関係が示されているのみであり、直感的にいずれの箇所が回文構造であるかの判定が行えない欠点がある。
従来からもコンピュータ処理にて、いずれの箇所に回文構造が含まれているかを検出するため、塩基Ａ，Ｔ，Ｇ，Ｃ各々に対して、それぞれ１，２，３，４のような数字を付与して（２ビットにて示す場合、例えば、Ａ＝００，Ｔ＝０１，Ｇ＝１０，Ｃ＝１１のように付与して）、回文構造を検出するための演算を行っている。
【０００７】
回文構造を検出する演算に際し、上述したように各塩基の定義を行うと、塩基Ａ，Ｔ，Ｇ，Ｃの羅列として出力される検出結果において、それぞれの相補的関係が視覚的に分かりにくく、塩基の羅列が何を意味しているのかが直感的に判断できない。
本発明は、このような事情に鑑みてなされたものであり、ゲノム配列における大量のデータの解析が簡単に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られるゲノム配列における回文構造検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のゲノム配列における回文構造検出システムは、ゲノム配列にて塩基対を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、ゲノム配列における回文構造を検出する回文構造検出システムであり、入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基／数字変換部と、ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からｎ個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたｎ個の塩基対を生成する塩基対生成部と、該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するｎ個の第１の加算部と、該第１の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第２の加算部とを有する回文演算部とを有する。
【０００９】
本発明のゲノム配列における回文構造検出システムは、前記第２の加算部が０を出力した場合、前記ｎ個の塩基対による回文構造があることを検出した検出信号であることを特徴とする。
【００１０】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする。
【００１１】
本発明のゲノム配列における回文構造検出システムは、前記ゲノム配列における前記解析範囲を１塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする。
【００１２】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が前記解析範囲内において両端からｎ個の塩基にて挟まれる非加算塩基（回文構造に含まれるが回文塩基を構成しない非回文塩基）数を偶数として回文構造を検出する、前記第１の加算部と第２の加算部とを有する偶数回文演算部と、前記解析範囲内において両端からｎ個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第１の加算部と第２の加算部とを有する奇数回文演算部とを有していることを特徴とする。
【００１３】
本発明のゲノム配列における回文構造検出システムは、両端からｎ個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする。
【００１４】
本発明のゲノム配列における回文構造検出システムは、両端からｎ個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を１塩基ずつシフトした検出結果を記憶する記憶部を有し、ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする。
【００１５】
本発明のゲノム配列における回文構造検出システムは、前記偶数回文演算部及び奇数回文演算部各々が２入力のｎ個の第１の加算部と、該加算部毎に設けられた絶対値部と、ｎ入力の第２の加算部から構成されていることを特徴とする。
本発明のゲノム配列における回文構造検出システムは、回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部とをさらに有することを特徴とする。
【発明の効果】
【００１６】
以上説明したように、本発明によれば、ステムループ構造を形成する可能性のある回文構造の有無を検出する際、ステムループ構造を形成する際に、各塩基対を形成する相補的な関係にある塩基に対して同一の数字で異なる符号（＋／−）を付して回文構造の検出処理を行うため、塩基ゲノム配列における大量の塩基データの解析が簡単にかつ高速に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られる。
【発明を実施するための最良の形態】
【００１７】
本発明のゲノム配列における回文構造検出システムは、ＤＮＡやＲＮＡ等におけるゲノム配列にて塩基対（塩基Ｇ及び塩基Ｃ、または塩基Ａ及び塩基Ｔ（ＲＮＡにては塩基Ｕ））を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、例えば、本実施形態において、塩基Ｇに「＋１」を塩基Ｃに「−１」を付し、また塩基Ａに「＋２」を、塩基Ｔに「−２」を付して、ゲノム配列における回文構造を検出する回文構造検出システムである。
【００１８】
すなわち、本発明においては、各塩基に符号付きの数字をあてがい、塩基対を形成する塩基間に相補的な特徴を持たせることにより、塩基Ａ、Ｔ（Ｕ）、Ｃ、Ｇの単なる文字の羅列を視覚的に理解しやすくしている。
上述した特徴として、塩基対としては塩基Ａに対しては必ず塩基Ｔ（Ｕ）が組み合わされ、塩基Ｇに対しては必ず塩基Ｃが組み合わされる相補の関係にある。
本願実施形態においては、上述したように、この塩基対（相補的塩基対）における相補間の関係を＋（プラス）と−（マイナス）との符号関係（極性の異なる符号関係）で表している。
また、プリン塩基である塩基Ａと塩基Ｇとにおいては、塩基Ｇの方の分子量が大きいため、塩基Ｇを「＋２」、塩基Ａを「＋１」と表現する。またピリミジン塩基は塩基Ｃを「−２」、塩基Ｔを「−１」と表現する。
【００１９】
これにて相補の関係と、塩基対Ａ−Ｔ系、塩基対Ｃ−Ｇ系の分類、及び分子量の大きさをこれで表している。
塩基Ｇ  分子量１５１    →  ＋２    ２進では符号つき“０１０”
塩基Ａ  分子量１３５    →  ＋１    ２進では符号つき“００１”
塩基Ｔ  分子量１２６    →  −１    ２進では符号つき“１０１”
塩基Ｃ  分子量１１１    →  −２    ２進では符号つき“１１０”
上述したように、各塩を基符号ビットとＡ−Ｔ及びＧ−Ｃの分類ビットにより表している。
これを、後述する第１の加算部において、Ａ（＋１）＋Ｔ（−１）＝０、  Ｇ（＋２）＋Ｃ（−２）＝０の関係を用いた計算をすることによってステムループの構造を抽出する。
【００２０】
そして、本発明のゲノム配列における回文構造検出システムは、入力されるゲノム配列における順次各塩基を、上述した対応する数字及び符号の付された数字に置き換える塩基／数字変換部と、この置き換えられた符号付きの数字から回文構造を検出する回文演算部が、上述したゲノム配列において、予め設定された塩基数からなる解析範囲内の両端から、この解析範囲内の中央方向に塩基を一つずつずらして、解析範囲内の各両端からｎ個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたｎ個の塩基対を生成する塩基対生成部とを有し、塩基対生成部から出力される塩基対それぞれの塩基に対応する数字をそれぞれ独立して加算するｎ個の第１の加算部と、該第１の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、解析範囲内の各加算結果の絶対値を加算する第２の加算部とを有している。
【００２１】
ｔ−ＲＮＡやｍ−ＲＮＡの末端には、一般的に、図１に示すように、ステムループ構造が顕著に表れる。
図１（ａ）の塩基を示すＡ，Ｔ，Ｃ，Ｇの文字のランダムな羅列にては、ステムループ構造を形成する可能性のある回文構造を検出することが困難である。
しかしながら、
”Ａ，Ｃ，Ｇ，Ｃ，Ｇ，Ｔ”
となっている回文構造を、上述した符号付きの数字に変換することにより、
”＋１（１番目），−２，＋２，−２，＋２，−１（６番目）”
と符号付きの数字の配列として記述することができる。
【００２２】
この配列において、
１番目の「＋１」と６番目の「−１」
２番目の「−２」と５番目の「＋２」
３番目の「＋２」と４番目の「−２」
とを塩基対として、それぞれの塩基対ごとの塩基に対応する符号付き数字を足した場合、いずれの塩基対の塩基に対応した符号付き数字の加算結果が「０」となることがわかる。
つまりＤＮＡ配列を順々に読んでいき、現在の位置Ａｎとその手前のＡｎ−ｍをターゲットとしたときに、
Ａｎ＋Ａｎ−ｍ＝０
Ａｎ−１＋Ａｎ−ｍ＋１＝０
Ａｎ−２＋Ａｎ−ｍ＋２＝０
が多く成り立つところに回文構造があることがわかる。ここで、ｍ（整数）は中央部に非回文塩基を含んだ解析範囲内の塩基の数であり、非回文塩基を挟んで対向する位置の塩基を塩基対として、この塩基に対応する符号付き数字を塩基対毎に加算していく。
【００２３】
例えば、
ｍ＝５のとき
Ａｎ＋Ａｎ−５＝０  Ａｎ−１＋Ａｎ−４＝０  Ａｎ−２＋Ａｎ−３＝０
ｍ＝６のとき
Ａｎ＋Ａｎ−６＝０  Ａｎ−１＋Ａｎ−５＝０  Ａｎ−２＋Ａｎ−４＝０
ｍ＝７のとき
Ａｎ＋Ａｎ−７＝０  Ａｎ−１＋Ａｎ−６＝０  Ａｎ−２＋Ａｎ−５＝０    
Ａｎ−３＋Ａｎ−４＝０
ｍ＝８のとき
Ａｎ＋Ａｎ−８＝０  Ａｎ−１＋Ａｎ−７＝０  Ａｎ−２＋Ａｎ−６＝０    
Ａｎ−３＋Ａｎ−５＝０となる。
【００２４】
＜第１の実施形態＞
以下に、図２を参照して本第１の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図２は、本第１の実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、回文３（＝ｒ）塩基、非回文ｑ塩基、回文３（＝ｒ）塩基からなる図２（ａ）の構造として、塩基配列に対して解析範囲を順次１塩基ずつシフトさせつつ回文構造の検出を行う。
塩基／数字変換部１は、時系列に１塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Ｇを「＋２」、塩基Ａを「＋１」、塩基Ｃを「−２」、塩基Ｔを「−１」へ変換して出力する。
例えば、シフトレジスタ１５０は、上記塩基／数字変換部１から時系列に入力される符号の付された数字を、記塩基／数字変換部１が数字を出力するタイミングに応じて、１つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ１５０は、後述する塩基対生成部２における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。後述するＡｎ…Ａｎ−ｊ…は、シフトレジスタ１５０のパラレル出力（時系列にシフトされる塩基配列）、すなわちシフトレジスタ１５０を構成する各レジスタが出力する塩基の核酸分類数（符号付き数字）を示している。
【００２５】
塩基対生成部２は、シフトレジスタ１５０からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からｒ個ずつの塩基を両端からの位置に対応して（非回文塩基を挟んで対称位置にある塩基を）組み合わせて、予め設定された塩基対を生成して出力する。
すなわち、塩基対生成部２は、図２（ａ）における非回文塩基（非加算塩基）を挟んで、それぞれ対向する位置（非回文塩基を挟んで対称位置）にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
以下に、図２（ｂ）のブロック図を用いて、本願実施形態におけるゲノム配列における回文構造検出システムの構成例を説明する。
【００２６】
回文演算部６１は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝に対応する構成であり、３つの第１の加算部３６１と、３つの絶対値部４６１と１つの第２の加算部５６１から構成されている。
第１の加算部３６１各々は、Ａｎ−５＋Ａｎと、Ａｎ−４＋Ａｎ−１と、Ａｎ−３＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４６１へ各々出力する。
絶対値部４６１各々は、対応する第１の加算部３６１から出力される演算結果の絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎを出力する。
第２の加算部５６１は、絶対値部４６１各々からの絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎを加算し、加算結果Ｐ１ｎを出力する。この加算結果Ｐ１ｎが「０」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【００２７】
回文演算部６２は、奇数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，１，３｝に対応する構成であり、３つの第１の加算部３６２と、３つの絶対値部４６２と１つの第２の加算部５６２から構成されている。以下この非回文塩基の数が奇数の回文演算部は奇数回文演算部とし、非回文塩基の数が偶数の回文演算部は偶数回文演算部とする。
第１の加算部３６２各々は、Ａｎ−６＋Ａｎと、Ａｎ−５＋Ａｎ−１と、Ａｎ−４＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４６２へ各々出力する。
絶対値部４６２各々は、対応する第１の加算部３６２から出力される演算結果の絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を出力する。
第２の加算部５６２は、絶対値部４６２各々からの絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を加算し、加算結果Ｐ１ｎ−１を出力する。この加算結果Ｐ１ｎ−１が「０」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【００２８】
回文演算部６３は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝に対応する構成であり、４つの第１の加算部３６３と、４つの絶対値部４６３と、２つの第２の加算部５６３から構成されている。
第１の加算部３６３各々は、Ａｎ−７＋Ａｎと、Ａｎ−６＋Ａｎ−１と、Ａｎ−５＋Ａｎ−２と、Ａｎ−４＋Ａｎ−３とのそれぞれの加算を行い、対応する絶対値部４６３へ出力する。
絶対値部４６３各々は、対応する第１の加算部３６３から出力される演算結果の絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２，Ｓ４ｎ−２を出力する。
第２の加算部５６３各々は、絶対値部４６３各々からの絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２を、絶対値Ｓ２ｎ−２，Ｓ３ｎ−２，Ｓ４ｎ−２をそれぞれ加算し、それぞれ加算結果Ｐ１ｎ−２、加算結果Ｐ２ｎ−２を出力する。
【００２９】
この加算結果Ｐ１ｎ−２が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ２ｎ−２が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果Ｐ１ｎ−２及びＰ２ｎ−２双方が「０」である場合、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝における解析を行わなかった非回文塩基もＡｎ−４＋Ａｎ−３の加算結果として「０」となることが検出されるため、最終的に解析範囲を８塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部６３は、偶数にて最小の非回文塩基数０に対応する第２の加算部と、偶数にて最小の非回文塩基数０に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数２の解析範囲とに対応する第２の加算部とを有している。
【００３０】
回文演算部６４は、奇数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，３，３｝に対応する構成であり、４つの第１の加算部３６４と、４つの絶対値部４６４と、２つの第２の加算部５６４から構成されている。
第１の加算部３６４各々は、Ａｎ−８＋Ａｎと、Ａｎ−７＋Ａｎ−１と、Ａｎ−６＋Ａｎ−２と、Ａｎ−５＋Ａｎ−３とのそれぞれの加算を行い、対応する絶対値部４６４へ出力する。
絶対値部４６４各々は、対応する第１の加算部３６４から出力される演算結果の絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３，Ｓ４ｎ−３を出力する。
第２の加算部５６４各々は、絶対値部４６４各々からの絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３を、絶対値Ｓ２ｎ−３，Ｓ３ｎ−３，Ｓ４ｎ−３をそれぞれ加算し、それぞれ加算結果Ｐ１ｎ−３、加算結果Ｐ２ｎ−３を出力する。
【００３１】
この加算結果Ｐ１ｎ−３が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，３，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ２ｎ−３が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，１，３｝における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果Ｐ１ｎ−３及びＰ２ｎ−３双方が「０」である場合、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，３，３｝における解析を行わなかった非回文塩基もＡｎ−５＋Ａｎ−３の加算結果として「０」となることが検出されるため、最終的に解析範囲を９塩基として、中央の塩基Ａｎ−４を除く８つの塩基が回文塩基構造であることが検出される。
上述したように、回文演算部６４は、奇数にて最小の非回文塩基数１に対応する第２の加算部と、奇数にて最小の非回文塩基数１に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数３の解析範囲とに対応する第２の加算部とを有している。
また、上述した奇数回文演算部と偶数回文演算部との結果を組み合わせることにより、ゲノム配列における回文構造を解析することが可能となる。
【００３２】
また、図３には、図２（ｂ）における構成にて、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，４，３｝、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，５，３｝、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，６，３｝、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，７，３｝を解析するものであり、実質的に解析範囲として塩基数１０、１１，１２，１３の回文構造を解析する。
【００３３】
すなわち、回文演算部６５は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，４，３｝に対応する構成であり、５つの第１の加算部３６５と、５つの絶対値部４６５と、３つの第２の加算部５６５から構成されている。
第１の加算部３６５各々は、Ａｎ−９＋Ａｎと、Ａｎ−８＋Ａｎ−１と、Ａｎ−７＋Ａｎ−２と、Ａｎ−６＋Ａｎ−３、Ａｎ−５＋Ａｎ−４とのそれぞれの加算を行い、対応する絶対値部４６５へ出力する。
絶対値部４６５各々は、対応する第１の加算部３６５から出力される演算結果の絶対値Ｓ１ｎ−４，Ｓ２ｎ−４，Ｓ３ｎ−４，Ｓ４ｎ−４，Ｓ５ｎ−４を出力する。
第２の加算部５６５各々は、絶対値４６５各々からの絶対値Ｓ１ｎ−４，Ｓ２ｎ−４，Ｓ３ｎ−４を、絶対値Ｓ２ｎ−４，Ｓ３ｎ−４，Ｓ４ｎ−４を、絶対値Ｓ３ｎ−４，Ｓ４ｎ−４，Ｓ５ｎ−４をそれぞれ加算し、それぞれ加算結果Ｐ１ｎ−４、加算結果Ｐ２ｎ−４、加算結果Ｐ３ｎ−４を出力する。
【００３４】
この加算結果Ｐ１ｎ−４が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，４，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ２ｎ−４が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ３ｎ−４が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果Ｐ１ｎ−４、Ｐ２ｎ−４及びＰ３ｎ−４の全てが「０」である場合、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，４，３｝における解析を行わなかった非回文塩基も、Ａｎ−５＋Ａｎ−４、Ａｎ−６＋Ａｎ−３各々の加算結果が「０」となることが検出されるため、最終的に解析範囲を１０塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部６５は、偶数にて最小の非回文塩基数０に対応する第２の加算部と、偶数にて最小の非回文塩基数０に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数２の解析範囲と、さらに塩基数にて増加させた非回文塩基数４の解析範囲とに対応する第２の加算部とを有している。
【００３５】
回文演算部６６は、奇数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，５，３｝に対応する構成であり、５つの第１の加算部３６６と、５つの絶対値部４６６と、３つの第２の加算部５６６から構成されている。
第１の加算部３６６各々は、Ａｎ−１０＋Ａｎと、Ａｎ−９＋Ａｎ−１と、Ａｎ−８＋Ａｎ−２と、Ａｎ−７＋Ａｎ−３と、Ａｎ−６＋Ａｎ−４とのそれぞれの加算を行い、対応する絶対値部４６６へ出力する。
絶対値部４６６各々は、対応する第１の加算部３６６から出力される演算結果の絶対値Ｓ１ｎ−５，Ｓ２ｎ−５，Ｓ３ｎ−５，Ｓ４ｎ−５，Ｓ５ｎ−５を出力する。
第２の加算部５６６各々は、絶対値４６６各々からの絶対値Ｓ１ｎ−５，Ｓ２ｎ−５，Ｓ３ｎ−５を、絶対値Ｓ２ｎ−５，Ｓ３ｎ−５，Ｓ４ｎ−５を、絶対値Ｓ３ｎ−５，Ｓ４ｎ−５，Ｓ５ｎ−５をそれぞれ加算し、それぞれ加算結果Ｐ１ｎ−５、加算結果Ｐ２ｎ−５、加算結果Ｐ３ｎ−５を出力する。
【００３６】
この加算結果Ｐ１ｎ−５が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，５，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ２ｎ−５が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，３，３｝における回文塩基同士が回文構造をしていることが検出される。また、加算結果Ｐ３ｎ−５が「０」となれば、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，１，３｝における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果Ｐ１ｎ−５、Ｐ２ｎ−５及びＰ３ｎ−５の全てが「０」である場合、解析範囲｛回文塩基、非回文塩基、回文塩基｝＝｛３，５，３｝における解析を行わなかった非回文塩基もＡｎ−６＋Ａｎ−４及びＡｎ−７＋Ａｎ−３の双方の加算結果が「０」となることが検出されるため、最終的に解析範囲を１１塩基として、中央の塩基Ａｎ−５を除く１０個の塩基が回文塩基構造であることが検出される。
さらに、偶数回文演算部である回文演算部６７及び、奇数回分演算部である回数演算部６８等を増加させてゆくことにより、どのような塩基数を有する長さの回文構造でも検出を行うことができる。
【００３７】
＜第２の実施形態＞
次に、図４を用いて本発明の第２の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図４は、本第２の実施形態によるゲノム配列における塩基数が偶数の解析範囲における回文構造を検出する動作を示すブロック図である。図４の第２の実施形態において、図２の第１の実施形態と同様の構成については同一の符号を付してその説明を省略する。
第１の実施形態においては、解析範囲が小さい場合は高速に回文構造の解析が行えるが、解析範囲が広くなるほど、図３に示すように加算器の数が大きくなり計算量が増加していくことが予想される。
しかしながら、図５に示すように、ゲノム配列において塩基Ａｎまで読み終わった時点にて、ｔ＝ｎとして図２における結果を見たとき、ｔ＝ｎ−１においても同様の解析範囲（同一の塩基数の解析範囲）に対する検出処理を行っていることが判る。
【００３８】
すなわち、ゲノム配列において回文を検出する位置が１塩基ずれているのみであり、ゲノム配列における塩基を読み込む時間がずれているだけで、加算処理としては同様の処理を行っている。
したがって、ゲノム配列の時間推移を考慮すると、図２の第１の実施形態における加算構造を、図４に示す第２の実施形態による加算構造にて構成することができる（第１の実施形態と同様に、回文構造が３塩基以上のものについて）。また、当然さらに大きな塩基数の回文構造も同じ加算の構造で表すことができる。
【００３９】
図４の構成において、回文演算部７０は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝に対応する構成であり、３つの第１の加算部３７０と、３つの絶対値部４７０と、１つの第２の加算部５７０から構成されている。
第１の加算部３７０各々は、Ａｎ−５＋Ａｎと、Ａｎ−４＋Ａｎ−１と、Ａｎ−３＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４７０へ出力する。
絶対値部４７０各々は、対応する第１の加算部３７０から出力される演算結果の絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎを出力する。
第２の加算部５７０各々は、絶対値部４７０各々からの絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎを加算し、それぞれ加算結果Ｐ１ｎを出力する。
【００４０】
回文演算部７１は、奇数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，１，３｝に対応する構成であり、３つの第１の加算部３７１と、３つの絶対値部４７１と、１つの第２の加算部５７１から構成されている。
第１の加算部３７１各々は、Ａｎ−６＋Ａｎと、Ａｎ−５＋Ａｎ−１と、Ａｎ−４＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４７１へ出力する。
絶対値部４７１各々は、対応する第１の加算部３７１から出力される演算結果の絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を出力する。
第２の加算部５７１各々は、絶対値部４７１各々からの絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を加算し、それぞれ加算結果Ｐ１ｎ−１を出力する。
【００４１】
回文演算部７２は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝に対応する構成であり、３つの第１の加算部３７２と、３つの絶対値部４７２と、１つの第２の加算部５７２から構成されている。
第１の加算部３７２各々は、Ａｎ−７＋Ａｎと、Ａｎ−６＋Ａｎ−１と、Ａｎ−５＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４７２へ出力する。
絶対値部４７２各々は、対応する第１の加算部３７２から出力される演算結果の絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２を出力する。
第２の加算部５７２各々は、絶対値部４７２各々からの絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２を加算し、それぞれ加算結果Ｐ１ｎ−２を出力する。
【００４２】
回文演算部７３は、奇数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，３，３｝に対応する構成であり、３つの第１の加算部３７３と、３つの絶対値部４７３と、１つの第２の加算部５７３から構成されている。
第１の加算部３７３各々は、Ａｎ−８＋Ａｎと、Ａｎ−７＋Ａｎ−１と、Ａｎ−６＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４７３へ出力する。
絶対値部４７３各々は、対応する第１の加算部３７３から出力される演算結果の絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３を出力する。
第２の加算部５７３各々は、絶対値部４７３各々からの絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３を加算し、それぞれ加算結果Ｐ１ｎ−３を出力する。
【００４３】
また、本願発明においては、図６に示すように、さらに大きな解析範囲である各回文演算部７４（偶数回文演算部）、７５（奇数回文演算部）、７６（偶数回文演算部）及び７７（奇数回文演算部）においても、図７に示す３つの第１の加算部３、３つの絶対値部４及び１つの第２の加算部５にて構成することができる。
上述した図７において、第１の加算器３個と、各第１の加算器の計算結果の絶対値を取る絶対値部と、この絶対値部の出力する第２の加算部からなるユニットを回文計算ユニットとすると、例えば解析範囲（塩基数ｍ）が６塩基や７塩基における回文構造は、３塩基づつの対構造を取り出すことになり、回文演算ユニットは１つ、順に８塩基や９塩基では回文演算ユニット２つとなり、ｎ塩基ではｒ＝Ｆ（（ｎ−４）／２）となるｒ個の回文演算ユニットにて演算することができる。ここで、上記Ｆ（ ）は、（ ）内の計算結果を小数点切り捨てた整数値を出力する関数である。
【００４４】
ただし、上記回文演算ユニットだけでは３塩基づつの回文構造を表しているだけであり、４塩基づつ以上の回文構造を検出することはできない。
この４塩基づつ以上の回文構造を検出するためには、ｔ＝ｎ，ｔ＝ｎ−１，ｔ＝ｎ−２，…のときのもので、同時に回文演算ユニットの値が「０」になっていることが必要となる。
すなわち、回文演算部７０の｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝と、回文演算部７２の｛回文塩基、非回文塩基、回文塩基｝＝｛３，２，３｝とにおいて、図８に示すように、ｔ＝ｎの時点において回文演算部７２が「０」であり、かつその直前、すなわち１塩基前のｔ＝ｎ−１の時点において回文演算部７０が「０」である場合、回文演算部７０の出力する回文構造｛３，０，３｝と、回文演算部７２の回文構造｛３，２，３｝との双方を組み合わせることにより、第１の実施形態と同様に、｛回文塩基、非回文塩基、回文塩基｝＝｛４，０，４｝の４塩基対を構成する回文構造が存在することが検出される。
【００４５】
次に、図９，図１０及び図１１を参照して第２の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図９は回文構造システムの動作を示す回文構造パターン生成の全体を示す概念図である。図１０は図９における領域Ａの拡大図であり、図１１は図９における領域Ｂの拡大図である。この図９は奇数回文演算部により演算された塩基数が奇数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
以下の説明における回文構造パターン生成を説明する図９及び図１４は、図示しない表示部が回文構造検出システムの検出結果を解析結果図として表示するものである。
最も左の列の欄がゲノム（ＤＮＡ）配列における塩基の配列の先頭からの順番を示す位置番号（塩基／数字変換部１から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号）が記載され、次の２つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数（符号付き数字）の列の欄は、４列存在しており、いずれの列の欄も同様であり、塩基／数字変換部１により左の欄の各塩基が変換された符号付き数字（核酸分類数）が記載されている。ここで、各核酸分類数（符号付き数字）の列は、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
すなわち、図９の左すみの列から、Ａ、Ｔ、Ｇ、Ｃの塩基名と、この塩基名Ａ、Ｔ、Ｇ、Ｃに対応した＋１、−１、＋２、−２の符号付き数字が示されている。
【００４６】
次の回文構造｛３，１，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７１における各第１の加算部３７１各々が加算し、絶対値部４７１がこの加算結果を絶対値化した絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１各々の出力が示されている。
また、回文構造｛３，１，３｝の下部にあるＰ１の欄には、第２の加算部５７１が絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１各々を加算したＰ１ｎ−１の結果が記載されている。
同様に、次の回文構造｛３，３，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７３における各第１の加算部３７３各々が加算し、絶対値部４７３がこの加算結果を絶対値化した絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３各々の出力が示されている。
また、回文構造｛３，３，３｝の下部にあるＰ１の欄には、第２の加算部５７３が絶対値Ｓ１ｎ−３，Ｓ２ｎ−３，Ｓ３ｎ−３各々を加算したＰ１ｎ−３の結果が記載されている。
【００４７】
そして、次の回文構造｛３，５，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７５における各第１の加算部３７５各々が加算し、絶対値部４７５がこの加算結果を絶対値化した絶対値Ｓ１ｎ−５，Ｓ２ｎ−５，Ｓ３ｎ−５各々の出力が示されている。
また、回文構造｛３，５，３｝の下部にあるＰ１の欄には、第２の加算部５７５が絶対値Ｓ１ｎ−５，Ｓ２ｎ−５，Ｓ３ｎ−５各々を加算したＰ１ｎ−５の結果が記載されている。
同様に、次の回文構造｛３，７，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７７における各第１の加算部３７７各々が加算し、絶対値部４７７がこの加算結果を絶対値化した絶対値Ｓ１ｎ−７，Ｓ２ｎ−７，Ｓ３ｎ−７各々の出力が示されている。
また、回文構造｛３，７，３｝の下部にあるＰ１の欄には、第２の加算部５７７が絶対値Ｓ１ｎ−７，Ｓ２ｎ−７，Ｓ３ｎ−７各々を加算したＰ１ｎ−７の結果が記載されている。
【００４８】
以降同様に、回文構造｛３，９，３｝の解析を行う回文演算部７９、回文構造｛３，１１，３｝の解析を行う回文演算部７１１、回文構造｛３，１３，３｝の解析を行う回文演算部７１３、回文構造｛３，１５，３｝の解析を行う回文演算部７１５の計算結果が記載されている。
また、右端の各解析範囲のｑの値が記載されて解析範囲毎に対応した列は、塩基配列を１つずつずらして各解析結果Ｐ１が揃うように、配列し直したものである。
ｑ（表においてはｑ＝１５）を左から
ｑ０＝ｑｍａｘ−２・０＝１５−２・０＝１５
ｑ１＝ｑｍａｘ−２・１＝１５−２・１＝１３
ｑ２＝ｑｍａｘ−２・２＝１５−２・２＝１１
ｑ３＝ｑｍａｘ−２・３＝１５−２・３＝９
ｑ４＝ｑｍａｘ−２・４＝１５−２・４＝７
：  
：
ｑｎ＝ｑｍａｘ−２・ｎ＝１５−２・ｎ
と定義して、「斜め線より回文構造把握」という文字列の下部の領域に、ｎ＝０及びｎ＝４に「０」が存在するため、
ｎ＝０：現在の場所を中心に回文構造｛３，１５，３｝
ｎ＝４：現在の場所の４個前を中心に回文構造｛３，７，３｝
という構造であることが分かる。
また、ｎ＝４：回文構造｛３，７，３｝、ｎ＝５：回文構造｛３，５，３｝のように、連続した奇数あるいは偶数に「０」が存在する場合、手前４個目の中心に回文構造｛４，５，４｝の回文構造が検出される。
この結果から、ＤＮＡがどのような回文構造を有するかを容易に検出することができる。
図９の例においては、４２番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，１５，３｝に対応する回文演算部７１５の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−１５＝０となっている。また、これより４塩基前の３８番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，７，３｝に対応する回文演算部７７の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−７＝０となっている。
図視しない回文パターン合成部は、１塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図９の例において、３８番目のパターンにてＰ１ｎ−７＝０であり、４２番目のパターンにてＰ１ｎ−１５＝０であることから、上記回文パターン合成部は、解析範囲が２１塩基にて図１２（ａ）に示すような３塩基対が２つある回文構造を検出する。
【００４９】
また、図９の例においては、５０番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，７，３｝に対応する回文演算部７７の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−７＝０となっている。また、これより１塩基前の４９番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，５，３｝に対応する回文演算部７５の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−５＝０となっている。
図視しない回文パターン合成部は、上述したように、１塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図９の例において、４９番目のパターンにてＰ１ｎ−５＝０であり、５０番目のパターンにてＰ１ｎ−７＝０であることから、上記回文パターン合成部は、解析範囲が１３塩基にて図１２（ｂ）に示すような４塩基対が１つある回文構造を検出する。
【００５０】
図９における斜め線Ｚは１塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてＰ１＝０であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Ｚを走査する検出処理において、各回文演算部の演算結果にて、各々２つ解析範囲の少ない回文演算部の１塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
上述したように、図９，１０，１１において、塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、利用者が符号付きの数字のパターンを見ることにより、塩基名とその相補的な関係が判らなくとも、ビジュアル（視覚）的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
【００５１】
図９は、奇数回文演算部による奇数の塩基数の解析範囲における解析について述べたが、偶数の塩基数の解析範囲における解析も同様に行うことができる。
次に、図１４，図１５及び図１６を参照して第２の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図１４は回文構造システムの塩基数が偶数の解析範囲における回文構造を検出する動作を示す回文構造パターン生成の全体を示す概念図である。図１５は図１４における領域Ａの拡大図であり、図１６は図１４における領域Ｂの拡大図である。この図１４は偶数回文演算部により演算された偶数の塩基数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
上記図１４は、図９と同様に、最も左の欄がゲノム配列における塩基の順番を示し、次の２つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数（符号付き数字）の欄は、いずれの列も同様であり、塩基／数字変換部１により左の欄の各塩基が変換された符号付き数字（核酸分類数）が記載されている。すなわち、図１４の左すみから、ＡＴＧＣの塩基名と、この塩基名ＡＴＧＣに対応した＋１、−１、＋２、−２の符号付き数字が示されている。
【００５２】
次の回文構造｛３，０，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７０における各第１の加算部３７０各々が加算し、絶対値部４７０がこの加算結果を絶対値化した絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎ各々の出力が示されている。
また、回文構造｛３，０，３｝の下部にあるＰ１の欄には、第２の加算部５７０が絶対値Ｓ１ｎ，Ｓ２ｎ，Ｓ３ｎ各々を加算したＰ１ｎの結果が記載されている。
同様に、次の回文構造｛３，２，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７２における各第１の加算部３７２各々が加算し、絶対値部４７２がこの加算結果を絶対値化した絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２各々の出力が示されている。
また、回文構造｛３，２，３｝の下部にあるＰ１の欄には、第２の加算部５７２が絶対値Ｓ１ｎ−２，Ｓ２ｎ−２，Ｓ３ｎ−２各々を加算したＰ１ｎ−２の結果が記載されている。
【００５３】
そして、次の回文構造｛３，４，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７４における各第１の加算部３７４各々が加算し、絶対値部４７４がこの加算結果を絶対値化した絶対値Ｓ１ｎ−４，Ｓ２ｎ−４，Ｓ３ｎ−４各々の出力が示されている。
また、回文構造｛３，４，３｝の下部にあるＰ１の欄には、第２の加算部５７４が絶対値Ｓ１ｎ−４，Ｓ２ｎ−４，Ｓ３ｎ−４各々を加算したＰ１ｎ−４の結果が記載されている。
同様に、次の回文構造｛３，６，３｝の下部にあるＳ１，Ｓ２及びＳ３の欄には、回文演算部７６における各第１の加算部３７６各々が加算し、絶対値部４７６がこの加算結果を絶対値化した絶対値Ｓ１ｎ−６，Ｓ２ｎ−６，Ｓ３ｎ−６各々の出力が示されている。
また、回文構造｛３，６，３｝の下部にあるＰ１の欄には、第２の加算部５７６が絶対値Ｓ１ｎ−６，Ｓ２ｎ−６，Ｓ３ｎ−６各々を加算したＰ１ｎ−６の結果が記載されている。
【００５４】
以降同様に、回文構造｛３，８，３｝の解析を行う回文演算部７８、回文構造｛３，１０，３｝の解析を行う回文演算部７１０、回文構造｛３，１２，３｝の解析を行う回文演算部７１２、回文構造｛３，１４，３｝の解析を行う回文演算部７１４の計算結果が記載されている。
図１４の例においては、３９番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，４，３｝に対応する回文演算部７４の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−４＝０となっている。
【００５５】
また、５０番目のパターンにて、｛回文塩基、非回文塩基、回文塩基｝＝｛３，８，３｝に対応する回文演算部７８の解析範囲が回文構造を有する検出結果、すなわちＰ１ｎ−８＝０となっている。
図視しない回文パターン合成部は、すでに述べた解析範囲が奇数の塩基数である場合と同様に、１塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図１４の例において、３９番目のパターンにてＰ１ｎ−４＝０であることから、上記回文パターン合成部は、解析範囲が１０塩基にて図１３（ａ）に示すような３塩基対が１つある回文構造を検出する。
また、５０番目のパターンにて、Ｐ１ｎ−８＝０であることから、上記回文パターン合成部は、解析範囲が１４塩基にて図１３（ｂ）に示すような３塩基対が１つある回文構造を検出する。
【００５６】
上述したように、図９，１０，１１と同様に、図１４，１５，１６において塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、ビジュアル的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
また、図１４における斜め線Ｚは、図９と同様に、１塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてＰ１＝０であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Ｚを走査する検出処理において、各回文演算部の演算結果にて、各々２つ解析範囲の少ない回文演算部の１塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
【００５７】
そして、回文パターン合成部は、上述した偶数及び奇数の解析範囲における組み合わせにより、ゲノム配列における回文構造を検出して出力する。
なお、回文パターン合成部は、ゲノム配列における塩基の順番を示す番号により、回文構造が検出された解析範囲の存在する位置を検出することができるため、回文構造の位置を容易に出力することができる。
すなわち、回文パターン合成部は、ゲノム配列における回文構造の解析が進行する方向において、解析範囲の最後の塩基に対応する番号にて、その解析範囲に回文構造の有無を検出して、その番号に第２の加算回路の結果Ｐ１を順次記入していくことにより、各解析範囲に対応してその回文構造の有無の結果を記入することとなるため、いずれの非回文塩基の塩基数を有する解析範囲が、ゲノム配列のどの位置に存在するかを容易に確認することができる。
【００５８】
＜回文構造検出システムのハードウェア化＞
上述したような構成は、パーソナルコンピュータにおける表計算ソフトが有する演算機能を上述した各機能として実現することができるが、ＤＮＡのゲノム配列が巨大な塩基配列であるため、大量の塩基配列のデータを高速に解析するためには、簡易な回路を用いてハードウェアにて解析することが考えられる。
このため、２つの塩基に対応する符号付き数字を加算する第１の加算回路と、その加算結果を絶対値化する絶対値部とを１つの演算ユニットとして図１７に示す回路（１６塩基の塩基配列単位にＤＮＡの配列における回文構造を検出、例えば、第１の実施形態に対応して、３つの塩基対を有する回文構造｛３，０，３｝〜回文構造｛３，１０，３｝の回文構造を検出する構成の回路）により構成する。
【００５９】
ここで、符号付き数字は２進数のビット単位の演算となるため、塩基Ａ，Ｇ，Ｃ，Ｔ（Ｕ）それぞれを、２進数で示すデータとして［符号，最上位ビット，最下位ビット］で表す。ここで、例えば、符号は、「＋」の場合「０」とし、「−」の場合「１」とする。
したがって、塩基Ａは「＋１」であるため、［符号，最上位ビット（２１），最下位ビット（２０）］＝［０，０，１］と表され、塩基Ｔ（Ｕ）は「−１」であるため、［符号，最上位ビット，最下位ビット］＝［１，０，１］と表され、塩基Ｇは「＋２」であるため、［符号ビット，最上位ビット，最下位ビット］＝［０，１，０］と表され、塩基Ｔ（Ｕ）は「−２」であるため、［符号ビット，最上位ビット，最下位ビット］＝［１，１，０］と表される。
この塩基毎の２進数へのデータ変換は、上述した塩基／数字変換部１が行う。
【００６０】
したがって、図１７の回路図に示すように、上記演算ユニットは、２つの塩基各々に対応する符号付き数字を示すビット列である［符号ビット，最上位ビット，最下位ビット］におけるそれぞれのビットの演算を行うため、符号の演算を行うＥＸＮＯＲ１０１と、最上位ビット（２ビット目）の演算を行うＥＸＯＲ１０２と、最下位ビット（１ビット目）の演算を行うＥＸＯＲ１０３と、ＥＸＮＯＲ１０１，ＥＸＯＲ１０２及びＥＸＯＲ１０３の演算結果で、演算した塩基同士が相補的であるか否かを演算するＯＲ１０４とから構成されている。
【００６１】
これにより、例えば、図１７において、塩基Ａｎ−５に対応する符号付き数字と、塩基Ａｎに対応する符号付き数字とを加算した結果の絶対値Ｓが「０」か「１」として得られる。
例として、塩基Ａｎ−５が「−２（塩基Ｃ）」であり、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［１，１，０］とし、塩基Ａｎが「＋２（塩基Ｇ）」であると、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［０，１，０］とされる。
この場合、最下位ビットが「０」と「０」とで同一のため、ＥＸＯＲ１０３は「０」を出力し、最上位ビットが「１」と「１」とで同一のため、ＥＸＯＲ１０２は「０」を出力し、符号ビットが「１」と「０」とで異なるため、ＥＸＮＯＲ１０１は「０」を出力する。
そして、ＯＲ１０４は、入力されるデータが全て「０」であるため、結果としての絶対値Ｓを「０」として出力する。これにより、塩基Ａｎ−５と塩基Ａｎとがステムループ構造にて塩基対を形成する相補的な関係にある塩基同士であることが検出されることとなる。
【００６２】
また、塩基Ａｎ−５が「＋２（塩基Ｇ）」であり、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［０，１，０］とし、塩基Ａｎが同様に「＋２（塩基Ｇ）」であると、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［０，１，０］とされる。
この場合、最下位ビットが「０」と「０」とで同一のため、ＥＸＯＲ１０３は「０」を出力し、最上位ビットが「１」と「１」とで同一のため、ＥＸＯＲ１０２は「０」を出力し、符号ビットが「０」と「０」とで同一のため、ＥＸＮＯＲ１０１は「１」を出力する。
そして、ＯＲ１０４は、入力されるデータに「１」が含まれるため、結果としての絶対値Ｓを「１」として出力する。これにより、塩基Ａｎ−５と塩基Ａｎとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【００６３】
また、塩基Ａｎ−５が「＋１（塩基Ａ）」であり、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［０，０，１］とし、塩基Ａｎが「−２（塩基Ｃ）」であると、２進数で示した符号付き数値が［符号ビット，最上位ビット，最下位ビット］＝［１，１，０］とされる。
この場合、最下位ビットが「１」と「０」とで異なるため、ＥＸＯＲ１０３は「１」を出力し、最上位ビットが「０」と「１」とで異なるため、ＥＸＯＲ１０２は「１」を出力し、符号ビットが「０」と「１」とで異なるため、ＥＸＮＯＲ１０１は「０」を出力する。
そして、ＯＲ１０４は、入力されるデータに「１」が含まれるため、結果としての絶対値Ｓを「１」として出力する。これにより、塩基Ａｎ−５と塩基Ａｎとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【００６４】
そして、図４における回文計算ユニットを、上記演算ユニットを３個と、第２の加算部に対応するＯＲ２００により、図１８に示すように構成する。これは３塩基以上並んだ回文構造を把握する回文計算ユニットである。
図１８は図４における偶数回文演算部である回文演算部７０，７２，７４，７６に対応する構成を示すものである。
回文演算部７０，７２，７４，７６各々には、それぞれの解析範囲に対応する回文構造｛３，０，３｝、回文構造｛３，２，３｝、回文構造｛３，４，３｝、回文構造｛３，６，３｝のゲノム配列における塩基に対応した符号付き数字のデータが入力されている。
【００６５】
これにより、各回文演算部（７０，７２，７４，７６）においては、解析範囲における解析対象の塩基対同士が全て相補的である場合に「０」を出力し、いずれかが相補的でない場合に「１」を出力することとなる。
すなわち、上記回文演算部を構成する３つの演算ユニット１００の全てが「０」を出力している場合、ＯＲ２００は「０」を出力し、上記回文演算部を構成する３つの演算ユニット１００のいずれかが「１」を出力している場合、ＯＲ２００は「１」を出力する。
上述においては、回文計算ユニットを偶数回文演算部として説明したが、奇数回文演算部においても同様の構成である。
【００６６】
そして、第２の実施形態において説明したように、この回文計算ユニットを使って計算させた結果の時間、すなわちゲノム配列における塩基の順番番号をずらしてレジスタに書き込むことにより、各解析範囲における回文構造を把握することができる。
図１９の回路ブロックの構成例を用いて、ハードウェアにて実現した第２の実施形態の回文構造検出システムの説明を行う。この図１９の回路ブロックは非回文の塩基数が偶数の場合の回文構造検出の部分を示している。図１９の回路ブロックと同様の構成にて非回文の塩基数が奇数の場合の回文構造検出の部分を構成し、非回文の塩基数が偶数の場合の回文構造検出の部分と合わせることにより、本実施形態による回文構造検出システムが構成されることとなる。
【００６７】
図１９において、データ入力シフトレジスタは、塩基／数字変換部１がゲノム配列が塩基毎に対応する符号付き数字のデータ［符号ビット，最上位ビット，最下位ビット］を３ビット単位にて、設定された周期Ｔにより、順次方向Ｑへ転送する。このとき、データ入力シフトレジスタの各レジスタは、それぞれ転送する符号付きデータを回文計算ユニットへ出力する。
回文計算ユニット（加算結果Ｐ１を計算する単位）群は塩基対生成部２と各解析範囲に対応する回文演算部とから構成されており、上記周期Ｔ毎に入力される上記符号付きデータを基に、解析範囲に対応した回文演算部毎にその解析結果である加算結果Ｐ１をシフトレジスタ群を介して回文レジスタに対して出力する。
シフトレジスタ群は、各解析範囲に対応した回文演算部毎の出力と回文レジスタの入力との間に設けられたシフトレジスタから構成されている。
上記シフトレジスタ群における各シフトレジスタは、１ビットの加算結果Ｐ１を上記周期Ｔ毎にデータ入力シフトレジスタのデータ転送のタイミングに同期させ、解析範囲の塩基数が２つ少なくなる毎に、回文レジスタにおける解析タイミングを合わせるため、段数が１つずつ増加して（タイミングを遅延させるため）構成されている。
図１９の例としては、解析範囲の塩基数が１６，１４，１２，１０，８，６となるに従い、回文計算ユニット群から回文レジスタへの間のシフトレジスタにおけるレジスタ数が０，１，２，３，４，５と増加している。
【００６８】
上述したシフトレジスタ群の構成により、各回文演算部の演算結果にて、各々２つ解析範囲の少ない回文演算部の１塩基前の演算結果各々を合成処理するために必要な、各解析範囲の加算結果Ｐ１を回文レジスタに同時に出力することができ、図示しない回文パターン合成部がこの回文レジスタを参照することにより、出力中央部分の塩基の番号が一致する解析範囲を順次合成することができ、すでに第２の実施形態の説明にて述べたように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
例えば、１００塩基を解析範囲とすると、すでに述べたように、１００塩基回文構造を検出することができる。
この場合、回文構造｛回文，非回文，回文｝＝｛３，９４，３｝の解析範囲を用いて回文構造を検出することとなるため、データ入力シフトレジスタとしては、３ビット単位（符号ビット、最上位ビット及び最下位ビット）にて並列にビット転送を行う１００段のシフトレジスタが必要である。
また、シフトレジスタ群として、以下の（１）式にて求められる数のレジスタが必要となる。
【００６９】
【数１】
0005422934.tif 000002
【００７０】
解析範囲として最大の値を有する回文演算部、すなわち｛回文，非回文，回文｝＝｛３，９４，３｝には、回文レジスタに対して加算結果Ｐ１ｎ−９４を転送する（ゲノム配列における塩基の順番をずらす）シフトレジスタが必要なく、回文演算部が４８個であるため、図１７における方向Ｑにおけるレジスタ数は４８（＝（９４／２）＋１）となり、｛回文，非回文，回文｝＝｛３，０，３｝の解析範囲に対応して、回文レジスタと回文演算部との間に介挿されたシフトレジスタ群における最長の段数のシフトレジタが４７段のため、上記（１）式からシフトレジスタ群におけるレジスタ数を計算することができる。
したがって、１００個の塩基における回文構造を検出する回路においては、１１２８個（＝４８×４７）のレジスタが必要となる。
また、回文レジスタは、４８個の回文演算部に対応しているため、すなわち４８個の加算結果（Ｐ１ｎ，Ｐ１ｎ−２，…）を記憶する必要があるため、４８個のレジスタが必要となる。
【００７１】
そして、偶数回文演算部と奇数回文演算部とに対応させるため、上述したレジスタ数及び回文演算部の数の２倍を必要とするが、現在のＬＳＩの集積度を考慮すると、容易に１チップ化することができる。
また、回文計算ユニットの計算が、上記周期Ｔの間にて、すなわち１クロック周期内にて計算できるとすると、回文計算ユニット下のデータ入力シフトレジスタにおいてデータをシフトさせるために必要な１００クロックと、シフトレジスタ群における最大長のシフトレジスタ（４７段）に対する４７クロックの１４７クロック分で回文構造を把握することができる。
そして、ヒトのゲノム配列における塩基数を３０億とすると、１００塩基までの回文構造を知るためには、３０億＋１４７クロックにて処理できる。
ここで、３０億に比し１４７がほぼ「０」に等しい小さい数と判断して、１００ＭＨｚで動作させるとすると、
３．０×１０９／（１００×１０６）＝３０（ｓ）
にて処理できることがわかる。
【００７２】
＜第３の実施形態＞
また、近年に開発された組み替えＤＮＡ実験技術または遺伝子工学という技術において多用される極めて注目すべき物質として、制限酵素というものが天然に存在することが見いだされている。この制限酵素は、自身以外の生物のＤＮＡを認識し、特定の塩基配列における任意の場所あるいは特定の場所にて切断して分解する性質を有している（例えば、特開平１０−２６２６９９号公報参照）。また、この制限酵素の多くは細菌中に存在し、この細菌に侵入する外来のＤＮＡを排除するための機能として存在する。これらの制限酵素それぞれは、ＤＮＡにおける一種類の短い塩基配列を認識する。この認識される塩基配列の長さは通常４から６塩基対であり、切断部位の塩基配列は回文構造（パリンドローム構造）を示している。この制限酵素を用いることにより、分子生物学者は外来のＤＮＡを、目的とするＤＮＡ、例えばプラスミドに挿入できる形とするため、プラスミドを開環させる。
また、制限酵素は、ＤＮＡ分子から必要とする断片を切り取るための手段として用いられている。
プラスミドと制限酵素の発見により、ＤＮＡをクローン化し、望みのＤＮＡ断片の正確なコピーを得ることが容易となった。そのため、制限酵素を用いてその断片をＤＮＡから単離し、それをプラスミドに挿入して、混成プラスミドを宿主細菌に導入することにより、ＤＮＡ断片のコピーが容易に生成できる。
【００７３】
ここで、ＤＮＡ分子において、各制限酵素の切断部位の配置を示す図を制限酵素切断地図と言う。
また、従来から行われている上記制限酵素切断地図の作成手順を以下に示す。
まず、制限酵素切断地図を作成するＤＮＡを、対象生物の組織から全ゲノムＤＮＡとして抽出し、物理的な手法により細かく断片化し、ＢＡＣ（bacterial artificial chromosome）やＹＡＣ（yeast artificial chromosome）などのベクターにクローニングしてゲノムＤＮＡライブラリを作成する。
次に、上記ゲノムＤＮＡライブラリに含まれるクローンの何種類かを制限酵素によって切断し、切断部位のクローン上の位置を決定して、クローンにおける制限酵素切断地図を作成する。そして、各クローン間の制限酵素切断地図を比較し、その切断パターンの解析を行い、隣接するクローンを抽出する（フィンガープリント法）。
複数のクローンについて隣接関係を特定し、ある程度の長さの領域をカバーするクローンのグループをコンティグと呼ぶ。この作業と平行して、遺伝子地図を参照して、得られた上述のコンティグを、遺伝子地図の染色体上に位置づける。
【００７４】
この位置づけを行う際、位置づけするマーカーのうち、塩基配列の配列情報を有するものを利用し、その塩基配列を基にＰＣＲ（Polymerase Chain Reaction）プライマーまたはハイブリダイゼーションプローブを作成して、ゲノムＤＮＡライブラリの中のクローンから、そのマーカーが塩基配列を有するクローンを特定する。あるコンティグに含まれるクローンの一つがこのようにして染色体上に位置づけられれば、そのコンティグそのものの染色体上の位置も明らかとなる。以上の作業を繰り返すことにより、染色体のほぼ全域にコンティグとしてのクローンを位置づけることができれば、物理地図としての制限酵素切断地図を完成させることができる。
【００７５】
しかしながら、現在、高速にゲノム情報がサンガー法などにより、ＤＮＡから読み出されることから、上述した実験を繰り返して制限酵素切断地図を生成することは非常に手間がかかることになる。
ここで、ＤＮＡにおける切断部位のほとんどが４、５、６または８塩基対の回文構造であることから、第１の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができることになる。以下、制限酵素切断地図を生成するための回文構造検出システムの説明を行う。
【００７６】
以下に、図２２を参照して本発明の第３の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図２２は、本実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、非回文ｑ（＝０）塩基、すなわち回文構造中に非回文塩基がなく、回文２（＝ｒ）塩基、回文３（＝ｒ）塩基からなる構造として、解析範囲の中央に対して対照な位置の塩基配列を塩基対として、解析範囲の塩基配列に対して１塩基ずつシフトさせつつ回文構造の検出を行う。
【００７７】
塩基／数字変換部１は、第１の実施形態と同様に、時系列に１塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Ｇを「＋２」、塩基Ａを「＋１」、塩基Ｃを「−２」、塩基Ｔを「−１」へ変換して出力する。
例えば、シフトレジスタ１５０は、上記塩基／数字変換部１から時系列に入力される符号の付された数字を、記塩基／数字変換部１が数字を出力するタイミングに応じて、１つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ１５０は、後述する塩基対生成部２における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。
【００７８】
塩基対生成部２は、シフトレジスタ１５０からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からｒ個ずつの塩基を両端からの位置に対応して（非回文塩基を挟んで対称位置にある塩基を）組み合わせて、予め設定された塩基対を生成する。
すなわち、塩基対生成部２は、解析範囲の中央部を挟んで、それぞれ対向する位置（非回文塩基を挟んで対称位置）にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
【００７９】
回文演算部２０１は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛２，０，２｝に対応する構成であり、２つの第１の加算部３６１と、３つの絶対値部４６１と１つの第２の加算部５６１から構成されている。
第１の加算部３６１各々は、Ａｎ−３＋Ａｎと、Ａｎ−２＋Ａｎ−１とのそれぞれの加算を行い、それぞれの加算結果を対応する絶対値部４６１へ各々出力する。
絶対値部４６１各々は、対応する第１の加算部３６１から出力される演算結果の絶対値Ｓ１ｎ，Ｓ２ｎを出力する。
第２の加算部５６１は、絶対値４６１各々からの絶対値Ｓ１ｎ，Ｓ２ｎを加算し、加算結果Ｐ１ｎを出力する。この加算結果Ｐ１ｎが「０」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【００８０】
回文演算部２０２は、偶数回文演算部であり、解析範囲として、｛回文塩基、非回文塩基、回文塩基｝＝｛３，０，３｝に対応する構成であり、３つの第１の加算部３６２と、３つの絶対値部４６２と１つの第２の加算部５６２から構成されている。
第１の加算部３６２各々は、Ａｎ−５＋Ａｎと、Ａｎ−４＋Ａｎ−１と、Ａｎ−３＋Ａｎ−２とのそれぞれの加算を行い、対応する絶対値部４６２へ各々出力する。
絶対値部４６２各々は、対応する第１の加算部３６２から出力される演算結果の絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を出力する。
第２の加算部５６２は、絶対値４６２各々からの絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１を加算し、加算結果Ｐ１ｎ−１を出力する。この加算結果Ｐ１ｎ−１が「０」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【００８１】
データベース５００には、回文構造の塩基配列における塩基の種類及び塩基の並び順とに対応して、その回文構造を切断部位とする制限酵素を表す情報が記憶されている。
検索部５０１は、塩基／数字変換部１が塩基を番号に変換して出力する周期単位に、Ｐ１ｎが「０」で出力された場合、シフトレジスタ１５０が出力している回文構造｛２，０，２｝のＡｎ，Ａｎ−１，Ａｎ−２，Ａｎ−３の塩基配列に対応する制限酵素をデータベース５００から検索し、Ｐ１ｎ−１が「０」で出力された場合、シフトレジスタ１５０が出力している回文構造｛３，０，３｝のＡｎ，Ａｎ−１，Ａｎ−２，Ａｎ−３，Ａｎ−４，Ａｎ−５の塩基配列に対応する制限酵素をデータベース５００から検索し、検索されるとＤＮＡの塩基配列の番号とともに出力する。
ここで、検索部５０１には、シフトレジスタ１５０のＡｎ〜Ａｎ−５各々から出力される塩基の情報（回文構造の塩基配列における塩基の種類及び塩基の並び順）と、加算結果Ｐ１ｎ及びＰ１ｎ−１と、シフトレジスタ１５０のＡｎから出力される塩基のＤＮＡにおける配列位置を示す位置番号（塩基／数字変換部１から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号）とが入力される。
【００８２】
次に、図２３を参照して第３の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図２３は回文構造システムの動作を示す回文構造パターン生成、及び検出された回文構造の塩基配列により、その塩基配列を切断部位とする制限酵素の検索及びその回文構造のＤＮＡにおける位置を特定し、制限酵素切断地図の生成を説明する概念図である。
以下の説明における回文構造パターン生成を説明する図２３は、図示しない表示部が制限酵素切断地図生成機能を有する回文構造検出システムの検出結果を解析結果図として表示するものである。
【００８３】
この図２３において、最も左の列の欄がゲノム配列における塩基配列の先頭からの順番を示し、次の列の欄にそれぞれの番号に対応した核酸塩基名が記載されている。ここで、核酸分類数（符号付き数字）の欄の列は２列あって、いずれの列も同様の記載であり（この列は１列としても良い）、塩基／数字変換部１により隣接する左の列の欄の各塩基が変換された符号付き数字（核酸分類数）が記載されている。すなわち、図９と同様に、左すみの列の欄から、Ａ、Ｔ、Ｇ、Ｃ各々の塩基名と、この塩基名Ａ、Ｔ、Ｇ、Ｃに対応した＋１、−１、＋２、−２の符号付き数字（核酸分類数）が示されている。ここで、各核酸分類数（符号付き数字）の列は、第１の実施形態と同様に、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
【００８４】
次の回文構造｛３，０，３｝の下部には、絶対値Ｓ１ｎ−１，Ｓｎ−１及びＳ３ｎ−１の欄があり、回文演算部２０１における各第１の加算部３５１各々がシフトレジスタ１５０から出力される上記符号付き数字を加算し、絶対値部４６１がこの加算結果を絶対値化した絶対値Ｓ１ｎ−１，Ｓ２ｎ−１，Ｓ３ｎ−１各々の出力が示され、また、加算結果Ｐ１ｎ−１の欄があり、絶対値Ｓ１ｎ−１（｜Ａｎ＋Ａｎ−５｜），Ｓ２ｎ−１（｜Ａｎ−１＋Ａｎ−４｜），Ｓ３ｎ−１（｜Ａｎ−２＋Ａｎ−３｜）が加算された加算結果Ｐ１ｎ−１の数値が示されている。
次の回文構造｛２，０，２｝の下部には、絶対値Ｓ１ｎ及びＳｎの欄があり、回文演算部２０２における各第１の加算部３６２各々がシフトレジスタ１５０から出力される上記符号付き数字を加算し、絶対値部４６２がこの加算結果を絶対値化した絶対値Ｓ１ｎ，Ｓ２ｎ各々の出力が示され、また、加算結果Ｐ１ｎの欄があり、絶対値Ｓ１ｎ（｜Ａｎ＋Ａｎ−３｜），Ｓ２ｎ（｜Ａｎ−１＋Ａｎ−２｜）が加算された加算結果Ｐ１ｎの数値が示されている。
【００８５】
そして、検索部５０１は、回文演算部２０１から出力される加算結果Ｐ１ｎ、あるいは回文演算部２０２から出力される加算結果Ｐ１ｎ−１が「０」であることを検出すると、いずれの回文構造が検出されたかをいずれが「０」であることを検出することにより判定し、対応する構成（回文構造｛２，０，２｝あるいは回文構造｛３，０，３｝）の回文構造として検出された塩基配列に対応する制限酵素を、それぞれの回文構造の塩基配列における塩基の種類及び塩基の並び順によりデータベース５００から検索する。
例えば、位置番号１４から始まる塩基配列｛−１，−１，１，１｝＝｛Ｔ，Ｔ，Ａ，Ａ｝が回文構造であるため、回文演算部２０１は、加算結果Ｐ１ｎを「０」として出力する。
ここで、
Ｓ１ｎ＝｜Ａｎ＋Ａｎ−３｜＝０、Ｓ２ｎ＝｜Ａｎ−１＋Ａｎ−２｜＝０
であり、
Ｐ１ｎ＝Ｓ１ｎ＋Ｓ２ｎ＝０＋０＝０
となる。
【００８６】
加算結果Ｐ１ｎが入力されることにより、検索部５０１は、回文演算部２０１から入力された加算結果Ｐ１ｎが「０」であるため、回文構造｛２，０，２｝である塩基配列｛−１，−１，１，１｝に対応する制限酵素を、データベース５００において検索する。
このとき、検索部５０１は、塩基配列｛−１，−１，１，１｝に対応する制限酵素がデータベース５００に記憶されていないことを検出し、図２３に示すように、回文構造｛２，０，２｝に対応する核酸分類数（符号付き数字）の欄の列において、塩基配列｛−１，−１，１，１｝の領域部分をマークし、図示しない表示部に対して「特になし」を表示して、この塩基配列｛−１，−１，１，１｝に対応する制限酵素が無いことを通知する。
【００８７】
一方、位置番号１５から始まる塩基配列｛−２，−１，−１，１，１，２｝＝｛Ｃ，Ｔ，Ｔ，Ａ，Ａ，Ｇ｝が回文構造であるため、回文演算部２０２は、加算結果Ｐ１ｎ−１を「０」として出力する。
ここで、
Ｓ１ｎ−１＝｜Ａｎ＋Ａｎ−５｜＝０、Ｓ２ｎ−１＝｜Ａｎ−１＋Ａｎ−４｜＝０、Ｓ３ｎ−１＝｜Ａｎ−２＋Ａｎ−３｜＝０
であり、
Ｐ１ｎ−１＝Ｓ１ｎ−１＋Ｓ２ｎ−１＋Ｓ３ｎ−１＝０＋０＋０＝０
となる。
【００８８】
加算結果Ｐ１ｎ−１が入力されることにより、検索部５０１は、回文演算部２０１から入力される加算結果Ｐ１ｎ−１が「０」であるため、回文構造｛３，０，３｝である塩基配列｛−２，−１，−１，１，１，２｝に対応する制限酵素を、データベース５００において検索する。
このとき、検索部５０１は、塩基配列｛−２，−１，−１，１，１，２｝に対応する制限酵素ＥcoRIがデータベース５００に記憶されていることを検出し、図２３に示すように、図示しない表示部に対して、回文構造｛３，０，３｝に対応する核酸分類数（符号付き数字）の欄の列において、塩基配列｛−２，−１，−１，１，１，２｝の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置（例えば、Ｐ１ｎ−１が「０」と表示された右隣の欄）に、検出された制限酵素名「ＥcoRI」を表示し、この塩基配列｛−２，−１，−１，１，１，２｝に対応する制限酵素が「ＥcoRI」であること、および制限酵素の切断部位のＤＮＡの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【００８９】
また、回文演算部２０１は位置番号２４において、加算結果Ｐ１ｎを「０」として出力する。
そして、検索部５０１は、回文演算部２０１から入力された加算結果Ｐ１ｎが「０」であるため、回文構造｛２，０，２｝である塩基配列｛−２，−２，２，２｝＝｛Ｃ，Ｃ，Ｇ，Ｇ｝に対応する制限酵素を、データベース５００において検索する。
このとき、検索部５０１は、塩基配列｛−２，−２，２，２｝に対応する制限酵素ＰalIがデータベース５００に記憶されていることを検出し、図２３に示すように、図示しない表示部に対して、回文構造｛２，０，２｝に対応する核酸分類数（符号付き数字）の欄の列において、塩基配列｛−２，−２，２，２｝の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置（例えば、Ｐ１ｎが「０」と表示された右隣の欄）に、検出された制限酵素名「ＰalI」を表示し、この塩基配列｛−２，−２，２，２｝に対応する制限酵素が「ＰalI」であること、および制限酵素の切断部位のＤＮＡの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【００９０】
上述したように、本実施形態の回文構造検出システムにおいては、第１の実施形態と同様にＤＮＡの塩基配列から回文構造を有する塩基配列の領域を検出し、かつ検出された回文構造の塩基配列における塩基の種類及び塩基の並び順に対応した制限酵素を、データベース５００から検出し、ＤＮＡの塩基配列における先頭からの位置を示す位置番号とともに出力することにより、解析対象のＤＮＡの塩基配列に対する制限酵素切断地図を生成する機能を有している。
本実施形態においては、回文構造｛２，０，２｝及び回文構造｛３，０，３｝の２種類の回文構造の型の検出を行う構成として説明した。
制限酵素の切断部位の塩基配列としての回文構造において、回文構造｛３，０，３｝の型の塩基配列が全体の約７割を占めており、回文構造｛２，０，２｝の型の塩基配列が全体の約１．５割以上であることから、本実施形態の回文構造検出システムで全体の８．５割以上の制限酵素の切断部位に対応した制限酵素切断地図を生成することができる。
【００９１】
また、制限酵素切断地図において、より切断部位を詳細とする場合、第１の実施形態の各回文演算部を用いて、より多種類の回文構造を検出する構成を加えることにより、より詳細な制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
本実施形態の回文構造検出システムによれば、ＤＮＡにおける制限酵素による切断部位のほとんどが４塩基対（回文構造｛２，０，２｝）、５塩基対（回文構造｛２，１，２｝）、６塩基対（回文構造｛３，０，３｝）または８塩基対（回文構造｛４，０，４｝）の配列を有する回文構造であることから、第１の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
【００９２】
なお、図２、図４及び図２２における回文構造検出システムの機能を実現するための各部それぞれの動作を記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより回文構造検出の各処理（制限酵素切断地図の作成を含む）を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００９３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００９４】
【図１】ステムループ構造及び相補的な塩基対の説明に用いる概念図である。
【図２】本発明の第１の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図３】第１の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図４】本発明の第２の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図５】回文構造検出処理における、解析範囲とゲノム配列での塩基の順番との対応関係を説明する概念図である。
【図６】第２の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図７】図４における回文構造部（回文計算ユニット）の構成例を示すブロック図である。
【図８】２つの解析範囲を合成して、各回文構造部による回文の塩基数より数の多い塩基数の回文構造を検出する処理を説明する概念図である。
【図９】第２の実施形態における回文構造システムにおける奇数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図１０】図９における領域Ａの拡大図である。
【図１１】図９における領域Ｂの拡大図である。
【図１２】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図１３】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図１４】第２の実施形態における回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図１５】図１４における領域Ａの拡大図である。
【図１６】図１４における領域Ｂの拡大図である。
【図１７】第１の加算部とこの第１の加算部に対応して設けられる絶対値部との機能を有する演算ユニットの構成例を示すブロック図である。
【図１８】図１５の演算ユニットを用いて、偶数回文演算部の構成例を示すブロック図である。
【図１９】本発明の第２の実施形態による回文構造検出システムにおける偶数回文構造検出部に対応する部分の構成例を示すブロック図である。
【図２０】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図２１】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図２２】第３の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図２３】第３の実施形態の制限酵素切断地図作成機能が付加された回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【符号の説明】
【００９５】
１…塩基／数字変換部  ２…塩基対生成部  ３６１，３６２，３６３，３６４，３６５，３６６，３６７，３６８…第１の加算部  ４６１，４６２，４６３，４６４，４６５，４６６，４６７，４６８…絶対値部  ５６１，５６２，５６３，５６４，５６５，５６６，５６７，５６８…第２の加算部  ６１，６２，６３，６４，６５，６６，６７，６８…回文演算部  ３７０，３７１，３７２，３７３，３７４，３７５，３７６，３７７…第１の加算部  ４７０，４７１，４７２，４７３，４７４，４７５，４７６，４７７…絶対値部  ５００…データベース  ５０１…検索部  ５７０，５７１，５７２，５７３，５７４，５７５，５７６，５７７…第２の加算部  ７０，７１，７２，７３，７４，７５，７６，７７，２０１，２０２…回文演算部  １００…演算ユニット  １５０…シフトレジスタ  １０１…ＥＸＮＯＲ（排他的論理和の否定）  １０２，１０３…ＥＸＯＲ（排他的論理和）  １０４，２００…ＯＲ（論理和）
【図１】
0005422934.tif 000003
【図２】
0005422934.tif 000004
【図３】
0005422934.tif 000005
【図４】
0005422934.tif 000006
【図５】
0005422934.tif 000007
【図６】
0005422934.tif 000008
【図７】
0005422934.tif 000009
【図８】
0005422934.tif 000010
【図９】
0005422934.tif 000011
【図１０】
0005422934.tif 000012
【図１１】
0005422934.tif 000013
【図１２】
0005422934.tif 000014
【図１３】
0005422934.tif 000015
【図１４】
0005422934.tif 000016
【図１５】
0005422934.tif 000017
【図１６】
0005422934.tif 000018
【図１７】
0005422934.tif 000019
【図１８】
0005422934.tif 000020
【図１９】
0005422934.tif 000021
【図２０】
0005422934.tif 000022
【図２１】
0005422934.tif 000023
【図２２】
0005422934.tif 000024
【図２３】
0005422934.tif 000025