ゲノム配列における回文構造検出システム
【課題】ゲノム配列における大量のデータの解析が簡単に行え、回文構造の解析結果が、視覚的に部位が判別可能に得られるゲノム配列における回文構造検出装置を提供する。
【解決手段】本発明の回文構造検出システムは、ゲノム配列にて塩基対を形成する塩基各々に同一の数字を宛がい、それぞれに極性の異なる符号を付し、回文構造を検出するものであり、ゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、解析範囲内の両端から中央方向に塩基を一つずつずらし、解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組合せて、設定された数の塩基対を生成する塩基対生成部と、この塩基対各々の塩基に対応する数字を独立して加算するn個の第1の加算部と、第1の加算部毎に設けられ、加算結果の絶対値を算出する絶対値部と、解析範囲内の上記絶対値を加算する第2の加算部とを有する回文演算部とからなる。
【解決手段】本発明の回文構造検出システムは、ゲノム配列にて塩基対を形成する塩基各々に同一の数字を宛がい、それぞれに極性の異なる符号を付し、回文構造を検出するものであり、ゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、解析範囲内の両端から中央方向に塩基を一つずつずらし、解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組合せて、設定された数の塩基対を生成する塩基対生成部と、この塩基対各々の塩基に対応する数字を独立して加算するn個の第1の加算部と、第1の加算部毎に設けられ、加算結果の絶対値を算出する絶対値部と、解析範囲内の上記絶対値を加算する第2の加算部とを有する回文演算部とからなる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲノム配列に含まれる回文構造を高速に検出するゲノム配列における回文構造検出システムに関する。
【背景技術】
【0002】
DNA(Deoxyribonucleic acid)のゲノム配列データは、A(アデニン)、T(チミン)、G(グアニン)、C(シトシン)の4種類の塩基の配列が直列に億単位で並ぶ膨大なデータ群である。
近年、ヒトの遺伝子やその他重要な生物の遺伝子におけるゲノム配列のデータが急速に解析されつつある。
ゲノム配列の公開データにおいては、上記A,T,C,G4種類の塩基が延々と続くデータを羅列しているだけであり、配列のいずれの箇所が重要なデータを含んでいるかを知るどころか、何れの領域に遺伝子が存在するかが殆ど判明していないというのが実情である。
【0003】
特に、1本鎖のDNA及びRNA(Ribonucleic acid)においては、ステムループ構造という回文(“たけやぶやけた”、“しんぶんし”等の前後から読んでも同一の読みとなる)構造(パリンドローム構造)をとり、リプレッサタンパクを結合させないことによってm(messenger)RNAの構造などを変化させている。
例えば、図20に示す例において、図20(a)の配列のmRNA(トリプトファンの生成に対応する)は、リボソームのようなリプレッサタンパクが結合していない場合、図20(b)のようなステムループ構造を有する。
ただし、図20(a)の配列のmRNAは、トリブトファンが多く供給されて高濃度に存在する場合、図21(a)のステムループ構造を有し、一方、トリプトファンの需要が多く低濃度に存在する場合、図21(b)の構造を有する。
【0004】
上述したように、回文構造が異なる状態、すなわち特定の状態におけるステムループ構造は現状において各種見つかっている。
このステムループ構造となると、実際のゲノム配列が読めない状態となり、その部位の解析を行うことができない。
mRNAやDNAのゲノム配列内に潜んでいるステムループ構造が起こる可能性のある部位を探ることは、ゲノム配列に対応したリボソームにおけるアミノ酸の産生状況を探るなどの重要な意味を有している。
特に、PCR(Polymerase Chain Reaction)によって生成されたmRNA等は、ステムループ構造を構成しやすく、どのようなステムループ構造になっているかを知るためには、そのmRNAのステムループ構造が起こる可能性のある部位を予め知っておく必要がある。
【0005】
このため、塩基Aと塩基Tと、また塩基Cと塩基Gとが相補的な関係にあり塩基対を形成するため、ゲノム配列における塩基の並びを解析することにより、ゲノム配列のいずれの箇所が回文構造であり、ステムループ構造を起こす可能性がある部位であるか否かの検出が行われている(特許文献1)。
【特許文献1】特開2005−316924号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来例においては、コンピュータ処理にて行うアルゴリズムについて記載されているが、塩基A,T,G,Cの配列の関係が示されているのみであり、直感的にいずれの箇所が回文構造であるかの判定が行えない欠点がある。
従来からもコンピュータ処理にて、いずれの箇所に回文構造が含まれているかを検出するため、塩基A,T,G,C各々に対して、それぞれ1,2,3,4のような数字を付与して(2ビットにて示す場合、例えば、A=00,T=01,G=10,C=11のように付与して)、回文構造を検出するための演算を行っている。
【0007】
回文構造を検出する演算に際し、上述したように各塩基の定義を行うと、塩基A,T,G,Cの羅列として出力される検出結果において、それぞれの相補的関係が視覚的に分かりにくく、塩基の羅列が何を意味しているのかが直感的に判断できない。
本発明は、このような事情に鑑みてなされたものであり、ゲノム配列における大量のデータの解析が簡単に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られるゲノム配列における回文構造検出装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のゲノム配列における回文構造検出システムは、ゲノム配列にて塩基対を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、ゲノム配列における回文構造を検出する回文構造検出システムであり、入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部と、該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有する回文演算部とを有する。
【0009】
本発明のゲノム配列における回文構造検出システムは、前記第2の加算部が0を出力した場合、前記n個の塩基対による回文構造があることを検出した検出信号であることを特徴とする。
【0010】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする。
【0011】
本発明のゲノム配列における回文構造検出システムは、前記ゲノム配列における前記解析範囲を1塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする。
【0012】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基(回文構造に含まれるが回文塩基を構成しない非回文塩基)数を偶数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する偶数回文演算部と、前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する奇数回文演算部とを有していることを特徴とする。
【0013】
本発明のゲノム配列における回文構造検出システムは、両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする。
【0014】
本発明のゲノム配列における回文構造検出システムは、両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を1塩基ずつシフトした検出結果を記憶する記憶部を有し、ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする。
【0015】
本発明のゲノム配列における回文構造検出システムは、前記偶数回文演算部及び奇数回文演算部各々が2入力のn個の第1の加算部と、該加算部毎に設けられた絶対値部と、n入力の第2の加算部から構成されていることを特徴とする。
本発明のゲノム配列における回文構造検出システムは、回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部とをさらに有することを特徴とする。
【発明の効果】
【0016】
以上説明したように、本発明によれば、ステムループ構造を形成する可能性のある回文構造の有無を検出する際、ステムループ構造を形成する際に、各塩基対を形成する相補的な関係にある塩基に対して同一の数字で異なる符号(+/−)を付して回文構造の検出処理を行うため、塩基ゲノム配列における大量の塩基データの解析が簡単にかつ高速に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られる。
【発明を実施するための最良の形態】
【0017】
本発明のゲノム配列における回文構造検出システムは、DNAやRNA等におけるゲノム配列にて塩基対(塩基G及び塩基C、または塩基A及び塩基T(RNAにては塩基U))を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、例えば、本実施形態において、塩基Gに「+1」を塩基Cに「−1」を付し、また塩基Aに「+2」を、塩基Tに「−2」を付して、ゲノム配列における回文構造を検出する回文構造検出システムである。
【0018】
すなわち、本発明においては、各塩基に符号付きの数字をあてがい、塩基対を形成する塩基間に相補的な特徴を持たせることにより、塩基A、T(U)、C、Gの単なる文字の羅列を視覚的に理解しやすくしている。
上述した特徴として、塩基対としては塩基Aに対しては必ず塩基T(U)が組み合わされ、塩基Gに対しては必ず塩基Cが組み合わされる相補の関係にある。
本願実施形態においては、上述したように、この塩基対(相補的塩基対)における相補間の関係を+(プラス)と−(マイナス)との符号関係(極性の異なる符号関係)で表している。
また、プリン塩基である塩基Aと塩基Gとにおいては、塩基Gの方の分子量が大きいため、塩基Gを「+2」、塩基Aを「+1」と表現する。またピリミジン塩基は塩基Cを「−2」、塩基Tを「−1」と表現する。
【0019】
これにて相補の関係と、塩基対A−T系、塩基対C−G系の分類、及び分子量の大きさをこれで表している。
塩基G 分子量151 → +2 2進では符号つき“010”
塩基A 分子量135 → +1 2進では符号つき“001”
塩基T 分子量126 → −1 2進では符号つき“101”
塩基C 分子量111 → −2 2進では符号つき“110”
上述したように、各塩を基符号ビットとA−T及びG−Cの分類ビットにより表している。
これを、後述する第1の加算部において、A(+1)+T(−1)=0、 G(+2)+C(−2)=0の関係を用いた計算をすることによってステムループの構造を抽出する。
【0020】
そして、本発明のゲノム配列における回文構造検出システムは、入力されるゲノム配列における順次各塩基を、上述した対応する数字及び符号の付された数字に置き換える塩基/数字変換部と、この置き換えられた符号付きの数字から回文構造を検出する回文演算部が、上述したゲノム配列において、予め設定された塩基数からなる解析範囲内の両端から、この解析範囲内の中央方向に塩基を一つずつずらして、解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部とを有し、塩基対生成部から出力される塩基対それぞれの塩基に対応する数字をそれぞれ独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有している。
【0021】
t−RNAやm−RNAの末端には、一般的に、図1に示すように、ステムループ構造が顕著に表れる。
図1(a)の塩基を示すA,T,C,Gの文字のランダムな羅列にては、ステムループ構造を形成する可能性のある回文構造を検出することが困難である。
しかしながら、
”A,C,G,C,G,T”
となっている回文構造を、上述した符号付きの数字に変換することにより、
”+1(1番目),−2,+2,−2,+2,−1(6番目)”
と符号付きの数字の配列として記述することができる。
【0022】
この配列において、
1番目の「+1」と6番目の「−1」
2番目の「−2」と5番目の「+2」
3番目の「+2」と4番目の「−2」
とを塩基対として、それぞれの塩基対ごとの塩基に対応する符号付き数字を足した場合、いずれの塩基対の塩基に対応した符号付き数字の加算結果が「0」となることがわかる。
つまりDNA配列を順々に読んでいき、現在の位置Anとその手前のAn−mをターゲットとしたときに、
An+An−m=0
An−1+An−m+1=0
An−2+An−m+2=0
が多く成り立つところに回文構造があることがわかる。ここで、m(整数)は中央部に非回文塩基を含んだ解析範囲内の塩基の数であり、非回文塩基を挟んで対向する位置の塩基を塩基対として、この塩基に対応する符号付き数字を塩基対毎に加算していく。
【0023】
例えば、
m=5のとき
An+An−5=0 An−1+An−4=0 An−2+An−3=0
m=6のとき
An+An−6=0 An−1+An−5=0 An−2+An−4=0
m=7のとき
An+An−7=0 An−1+An−6=0 An−2+An−5=0
An−3+An−4=0
m=8のとき
An+An−8=0 An−1+An−7=0 An−2+An−6=0
An−3+An−5=0となる。
【0024】
<第1の実施形態>
以下に、図2を参照して本第1の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図2は、本第1の実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、回文3(=r)塩基、非回文q塩基、回文3(=r)塩基からなる図2(a)の構造として、塩基配列に対して解析範囲を順次1塩基ずつシフトさせつつ回文構造の検出を行う。
塩基/数字変換部1は、時系列に1塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Gを「+2」、塩基Aを「+1」、塩基Cを「−2」、塩基Tを「−1」へ変換して出力する。
例えば、シフトレジスタ150は、上記塩基/数字変換部1から時系列に入力される符号の付された数字を、記塩基/数字変換部1が数字を出力するタイミングに応じて、1つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ150は、後述する塩基対生成部2における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。後述するAn…An−j…は、シフトレジスタ150のパラレル出力(時系列にシフトされる塩基配列)、すなわちシフトレジスタ150を構成する各レジスタが出力する塩基の核酸分類数(符号付き数字)を示している。
【0025】
塩基対生成部2は、シフトレジスタ150からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からr個ずつの塩基を両端からの位置に対応して(非回文塩基を挟んで対称位置にある塩基を)組み合わせて、予め設定された塩基対を生成して出力する。
すなわち、塩基対生成部2は、図2(a)における非回文塩基(非加算塩基)を挟んで、それぞれ対向する位置(非回文塩基を挟んで対称位置)にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
以下に、図2(b)のブロック図を用いて、本願実施形態におけるゲノム配列における回文構造検出システムの構成例を説明する。
【0026】
回文演算部61は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部361と、3つの絶対値部461と1つの第2の加算部561から構成されている。
第1の加算部361各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部461へ各々出力する。
絶対値部461各々は、対応する第1の加算部361から出力される演算結果の絶対値S1n,S2n,S3nを出力する。
第2の加算部561は、絶対値部461各々からの絶対値S1n,S2n,S3nを加算し、加算結果P1nを出力する。この加算結果P1nが「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0027】
回文演算部62は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,1,3}に対応する構成であり、3つの第1の加算部362と、3つの絶対値部462と1つの第2の加算部562から構成されている。以下この非回文塩基の数が奇数の回文演算部は奇数回文演算部とし、非回文塩基の数が偶数の回文演算部は偶数回文演算部とする。
第1の加算部362各々は、An−6+Anと、An−5+An−1と、An−4+An−2とのそれぞれの加算を行い、対応する絶対値部462へ各々出力する。
絶対値部462各々は、対応する第1の加算部362から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部562は、絶対値部462各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、加算結果P1n−1を出力する。この加算結果P1n−1が「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0028】
回文演算部63は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,2,3}に対応する構成であり、4つの第1の加算部363と、4つの絶対値部463と、2つの第2の加算部563から構成されている。
第1の加算部363各々は、An−7+Anと、An−6+An−1と、An−5+An−2と、An−4+An−3とのそれぞれの加算を行い、対応する絶対値部463へ出力する。
絶対値部463各々は、対応する第1の加算部363から出力される演算結果の絶対値S1n−2,S2n−2,S3n−2,S4n−2を出力する。
第2の加算部563各々は、絶対値部463各々からの絶対値S1n−2,S2n−2,S3n−2を、絶対値S2n−2,S3n−2,S4n−2をそれぞれ加算し、それぞれ加算結果P1n−2、加算結果P2n−2を出力する。
【0029】
この加算結果P1n−2が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−2が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,0,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−2及びP2n−2双方が「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における解析を行わなかった非回文塩基もAn−4+An−3の加算結果として「0」となることが検出されるため、最終的に解析範囲を8塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部63は、偶数にて最小の非回文塩基数0に対応する第2の加算部と、偶数にて最小の非回文塩基数0に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数2の解析範囲とに対応する第2の加算部とを有している。
【0030】
回文演算部64は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,3,3}に対応する構成であり、4つの第1の加算部364と、4つの絶対値部464と、2つの第2の加算部564から構成されている。
第1の加算部364各々は、An−8+Anと、An−7+An−1と、An−6+An−2と、An−5+An−3とのそれぞれの加算を行い、対応する絶対値部464へ出力する。
絶対値部464各々は、対応する第1の加算部364から出力される演算結果の絶対値S1n−3,S2n−3,S3n−3,S4n−3を出力する。
第2の加算部564各々は、絶対値部464各々からの絶対値S1n−3,S2n−3,S3n−3を、絶対値S2n−3,S3n−3,S4n−3をそれぞれ加算し、それぞれ加算結果P1n−3、加算結果P2n−3を出力する。
【0031】
この加算結果P1n−3が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−3が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,1,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−3及びP2n−3双方が「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における解析を行わなかった非回文塩基もAn−5+An−3の加算結果として「0」となることが検出されるため、最終的に解析範囲を9塩基として、中央の塩基An−4を除く8つの塩基が回文塩基構造であることが検出される。
上述したように、回文演算部64は、奇数にて最小の非回文塩基数1に対応する第2の加算部と、奇数にて最小の非回文塩基数1に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数3の解析範囲とに対応する第2の加算部とを有している。
また、上述した奇数回文演算部と偶数回文演算部との結果を組み合わせることにより、ゲノム配列における回文構造を解析することが可能となる。
【0032】
また、図3には、図2(b)における構成にて、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,6,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,7,3}を解析するものであり、実質的に解析範囲として塩基数10、11,12,13の回文構造を解析する。
【0033】
すなわち、回文演算部65は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,4,3}に対応する構成であり、5つの第1の加算部365と、5つの絶対値部465と、3つの第2の加算部565から構成されている。
第1の加算部365各々は、An−9+Anと、An−8+An−1と、An−7+An−2と、An−6+An−3、An−5+An−4とのそれぞれの加算を行い、対応する絶対値部465へ出力する。
絶対値部465各々は、対応する第1の加算部365から出力される演算結果の絶対値S1n−4,S2n−4,S3n−4,S4n−4,S5n−4を出力する。
第2の加算部565各々は、絶対値465各々からの絶対値S1n−4,S2n−4,S3n−4を、絶対値S2n−4,S3n−4,S4n−4を、絶対値S3n−4,S4n−4,S5n−4をそれぞれ加算し、それぞれ加算結果P1n−4、加算結果P2n−4、加算結果P3n−4を出力する。
【0034】
この加算結果P1n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P3n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,0,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−4、P2n−4及びP3n−4の全てが「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}における解析を行わなかった非回文塩基も、An−5+An−4、An−6+An−3各々の加算結果が「0」となることが検出されるため、最終的に解析範囲を10塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部65は、偶数にて最小の非回文塩基数0に対応する第2の加算部と、偶数にて最小の非回文塩基数0に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数2の解析範囲と、さらに塩基数にて増加させた非回文塩基数4の解析範囲とに対応する第2の加算部とを有している。
【0035】
回文演算部66は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,5,3}に対応する構成であり、5つの第1の加算部366と、5つの絶対値部466と、3つの第2の加算部566から構成されている。
第1の加算部366各々は、An−10+Anと、An−9+An−1と、An−8+An−2と、An−7+An−3と、An−6+An−4とのそれぞれの加算を行い、対応する絶対値部466へ出力する。
絶対値部466各々は、対応する第1の加算部366から出力される演算結果の絶対値S1n−5,S2n−5,S3n−5,S4n−5,S5n−5を出力する。
第2の加算部566各々は、絶対値466各々からの絶対値S1n−5,S2n−5,S3n−5を、絶対値S2n−5,S3n−5,S4n−5を、絶対値S3n−5,S4n−5,S5n−5をそれぞれ加算し、それぞれ加算結果P1n−5、加算結果P2n−5、加算結果P3n−5を出力する。
【0036】
この加算結果P1n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P3n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,1,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−5、P2n−5及びP3n−5の全てが「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}における解析を行わなかった非回文塩基もAn−6+An−4及びAn−7+An−3の双方の加算結果が「0」となることが検出されるため、最終的に解析範囲を11塩基として、中央の塩基An−5を除く10個の塩基が回文塩基構造であることが検出される。
さらに、偶数回文演算部である回文演算部67及び、奇数回分演算部である回数演算部68等を増加させてゆくことにより、どのような塩基数を有する長さの回文構造でも検出を行うことができる。
【0037】
<第2の実施形態>
次に、図4を用いて本発明の第2の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図4は、本第2の実施形態によるゲノム配列における塩基数が偶数の解析範囲における回文構造を検出する動作を示すブロック図である。図4の第2の実施形態において、図2の第1の実施形態と同様の構成については同一の符号を付してその説明を省略する。
第1の実施形態においては、解析範囲が小さい場合は高速に回文構造の解析が行えるが、解析範囲が広くなるほど、図3に示すように加算器の数が大きくなり計算量が増加していくことが予想される。
しかしながら、図5に示すように、ゲノム配列において塩基Anまで読み終わった時点にて、t=nとして図2における結果を見たとき、t=n−1においても同様の解析範囲(同一の塩基数の解析範囲)に対する検出処理を行っていることが判る。
【0038】
すなわち、ゲノム配列において回文を検出する位置が1塩基ずれているのみであり、ゲノム配列における塩基を読み込む時間がずれているだけで、加算処理としては同様の処理を行っている。
したがって、ゲノム配列の時間推移を考慮すると、図2の第1の実施形態における加算構造を、図4に示す第2の実施形態による加算構造にて構成することができる(第1の実施形態と同様に、回文構造が3塩基以上のものについて)。また、当然さらに大きな塩基数の回文構造も同じ加算の構造で表すことができる。
【0039】
図4の構成において、回文演算部70は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部370と、3つの絶対値部470と、1つの第2の加算部570から構成されている。
第1の加算部370各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部470へ出力する。
絶対値部470各々は、対応する第1の加算部370から出力される演算結果の絶対値S1n,S2n,S3nを出力する。
第2の加算部570各々は、絶対値部470各々からの絶対値S1n,S2n,S3nを加算し、それぞれ加算結果P1nを出力する。
【0040】
回文演算部71は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,1,3}に対応する構成であり、3つの第1の加算部371と、3つの絶対値部471と、1つの第2の加算部571から構成されている。
第1の加算部371各々は、An−6+Anと、An−5+An−1と、An−4+An−2とのそれぞれの加算を行い、対応する絶対値部471へ出力する。
絶対値部471各々は、対応する第1の加算部371から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部571各々は、絶対値部471各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、それぞれ加算結果P1n−1を出力する。
【0041】
回文演算部72は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,2,3}に対応する構成であり、3つの第1の加算部372と、3つの絶対値部472と、1つの第2の加算部572から構成されている。
第1の加算部372各々は、An−7+Anと、An−6+An−1と、An−5+An−2とのそれぞれの加算を行い、対応する絶対値部472へ出力する。
絶対値部472各々は、対応する第1の加算部372から出力される演算結果の絶対値S1n−2,S2n−2,S3n−2を出力する。
第2の加算部572各々は、絶対値部472各々からの絶対値S1n−2,S2n−2,S3n−2を加算し、それぞれ加算結果P1n−2を出力する。
【0042】
回文演算部73は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,3,3}に対応する構成であり、3つの第1の加算部373と、3つの絶対値部473と、1つの第2の加算部573から構成されている。
第1の加算部373各々は、An−8+Anと、An−7+An−1と、An−6+An−2とのそれぞれの加算を行い、対応する絶対値部473へ出力する。
絶対値部473各々は、対応する第1の加算部373から出力される演算結果の絶対値S1n−3,S2n−3,S3n−3を出力する。
第2の加算部573各々は、絶対値部473各々からの絶対値S1n−3,S2n−3,S3n−3を加算し、それぞれ加算結果P1n−3を出力する。
【0043】
また、本願発明においては、図6に示すように、さらに大きな解析範囲である各回文演算部74(偶数回文演算部)、75(奇数回文演算部)、76(偶数回文演算部)及び77(奇数回文演算部)においても、図7に示す3つの第1の加算部3、3つの絶対値部4及び1つの第2の加算部5にて構成することができる。
上述した図7において、第1の加算器3個と、各第1の加算器の計算結果の絶対値を取る絶対値部と、この絶対値部の出力する第2の加算部からなるユニットを回文計算ユニットとすると、例えば解析範囲(塩基数m)が6塩基や7塩基における回文構造は、3塩基づつの対構造を取り出すことになり、回文演算ユニットは1つ、順に8塩基や9塩基では回文演算ユニット2つとなり、n塩基ではr=F((n−4)/2)となるr個の回文演算ユニットにて演算することができる。ここで、上記F( )は、( )内の計算結果を小数点切り捨てた整数値を出力する関数である。
【0044】
ただし、上記回文演算ユニットだけでは3塩基づつの回文構造を表しているだけであり、4塩基づつ以上の回文構造を検出することはできない。
この4塩基づつ以上の回文構造を検出するためには、t=n,t=n−1,t=n−2,…のときのもので、同時に回文演算ユニットの値が「0」になっていることが必要となる。
すなわち、回文演算部70の{回文塩基、非回文塩基、回文塩基}={3,0,3}と、回文演算部72の{回文塩基、非回文塩基、回文塩基}={3,2,3}とにおいて、図8に示すように、t=nの時点において回文演算部72が「0」であり、かつその直前、すなわち1塩基前のt=n−1の時点において回文演算部70が「0」である場合、回文演算部70の出力する回文構造{3,0,3}と、回文演算部72の回文構造{3,2,3}との双方を組み合わせることにより、第1の実施形態と同様に、{回文塩基、非回文塩基、回文塩基}={4,0,4}の4塩基対を構成する回文構造が存在することが検出される。
【0045】
次に、図9,図10及び図11を参照して第2の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図9は回文構造システムの動作を示す回文構造パターン生成の全体を示す概念図である。図10は図9における領域Aの拡大図であり、図11は図9における領域Bの拡大図である。この図9は奇数回文演算部により演算された塩基数が奇数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
以下の説明における回文構造パターン生成を説明する図9及び図14は、図示しない表示部が回文構造検出システムの検出結果を解析結果図として表示するものである。
最も左の列の欄がゲノム(DNA)配列における塩基の配列の先頭からの順番を示す位置番号(塩基/数字変換部1から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号)が記載され、次の2つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数(符号付き数字)の列の欄は、4列存在しており、いずれの列の欄も同様であり、塩基/数字変換部1により左の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。ここで、各核酸分類数(符号付き数字)の列は、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
すなわち、図9の左すみの列から、A、T、G、Cの塩基名と、この塩基名A、T、G、Cに対応した+1、−1、+2、−2の符号付き数字が示されている。
【0046】
次の回文構造{3,1,3}の下部にあるS1,S2及びS3の欄には、回文演算部71における各第1の加算部371各々が加算し、絶対値部471がこの加算結果を絶対値化した絶対値S1n−1,S2n−1,S3n−1各々の出力が示されている。
また、回文構造{3,1,3}の下部にあるP1の欄には、第2の加算部571が絶対値S1n−1,S2n−1,S3n−1各々を加算したP1n−1の結果が記載されている。
同様に、次の回文構造{3,3,3}の下部にあるS1,S2及びS3の欄には、回文演算部73における各第1の加算部373各々が加算し、絶対値部473がこの加算結果を絶対値化した絶対値S1n−3,S2n−3,S3n−3各々の出力が示されている。
また、回文構造{3,3,3}の下部にあるP1の欄には、第2の加算部573が絶対値S1n−3,S2n−3,S3n−3各々を加算したP1n−3の結果が記載されている。
【0047】
そして、次の回文構造{3,5,3}の下部にあるS1,S2及びS3の欄には、回文演算部75における各第1の加算部375各々が加算し、絶対値部475がこの加算結果を絶対値化した絶対値S1n−5,S2n−5,S3n−5各々の出力が示されている。
また、回文構造{3,5,3}の下部にあるP1の欄には、第2の加算部575が絶対値S1n−5,S2n−5,S3n−5各々を加算したP1n−5の結果が記載されている。
同様に、次の回文構造{3,7,3}の下部にあるS1,S2及びS3の欄には、回文演算部77における各第1の加算部377各々が加算し、絶対値部477がこの加算結果を絶対値化した絶対値S1n−7,S2n−7,S3n−7各々の出力が示されている。
また、回文構造{3,7,3}の下部にあるP1の欄には、第2の加算部577が絶対値S1n−7,S2n−7,S3n−7各々を加算したP1n−7の結果が記載されている。
【0048】
以降同様に、回文構造{3,9,3}の解析を行う回文演算部79、回文構造{3,11,3}の解析を行う回文演算部711、回文構造{3,13,3}の解析を行う回文演算部713、回文構造{3,15,3}の解析を行う回文演算部715の計算結果が記載されている。
また、右端の各解析範囲のqの値が記載されて解析範囲毎に対応した列は、塩基配列を1つずつずらして各解析結果P1が揃うように、配列し直したものである。
q(表においてはq=15)を左から
q0=qmax−2・0=15−2・0=15
q1=qmax−2・1=15−2・1=13
q2=qmax−2・2=15−2・2=11
q3=qmax−2・3=15−2・3=9
q4=qmax−2・4=15−2・4=7
:
:
qn=qmax−2・n=15−2・n
と定義して、「斜め線より回文構造把握」という文字列の下部の領域に、n=0及びn=4に「0」が存在するため、
n=0:現在の場所を中心に回文構造{3,15,3}
n=4:現在の場所の4個前を中心に回文構造{3,7,3}
という構造であることが分かる。
また、n=4:回文構造{3,7,3}、n=5:回文構造{3,5,3}のように、連続した奇数あるいは偶数に「0」が存在する場合、手前4個目の中心に回文構造{4,5,4}の回文構造が検出される。
この結果から、DNAがどのような回文構造を有するかを容易に検出することができる。
図9の例においては、42番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,15,3}に対応する回文演算部715の解析範囲が回文構造を有する検出結果、すなわちP1n−15=0となっている。また、これより4塩基前の38番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,7,3}に対応する回文演算部77の解析範囲が回文構造を有する検出結果、すなわちP1n−7=0となっている。
図視しない回文パターン合成部は、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図9の例において、38番目のパターンにてP1n−7=0であり、42番目のパターンにてP1n−15=0であることから、上記回文パターン合成部は、解析範囲が21塩基にて図12(a)に示すような3塩基対が2つある回文構造を検出する。
【0049】
また、図9の例においては、50番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,7,3}に対応する回文演算部77の解析範囲が回文構造を有する検出結果、すなわちP1n−7=0となっている。また、これより1塩基前の49番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,5,3}に対応する回文演算部75の解析範囲が回文構造を有する検出結果、すなわちP1n−5=0となっている。
図視しない回文パターン合成部は、上述したように、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図9の例において、49番目のパターンにてP1n−5=0であり、50番目のパターンにてP1n−7=0であることから、上記回文パターン合成部は、解析範囲が13塩基にて図12(b)に示すような4塩基対が1つある回文構造を検出する。
【0050】
図9における斜め線Zは1塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてP1=0であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Zを走査する検出処理において、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
上述したように、図9,10,11において、塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、利用者が符号付きの数字のパターンを見ることにより、塩基名とその相補的な関係が判らなくとも、ビジュアル(視覚)的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
【0051】
図9は、奇数回文演算部による奇数の塩基数の解析範囲における解析について述べたが、偶数の塩基数の解析範囲における解析も同様に行うことができる。
次に、図14,図15及び図16を参照して第2の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図14は回文構造システムの塩基数が偶数の解析範囲における回文構造を検出する動作を示す回文構造パターン生成の全体を示す概念図である。図15は図14における領域Aの拡大図であり、図16は図14における領域Bの拡大図である。この図14は偶数回文演算部により演算された偶数の塩基数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
上記図14は、図9と同様に、最も左の欄がゲノム配列における塩基の順番を示し、次の2つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数(符号付き数字)の欄は、いずれの列も同様であり、塩基/数字変換部1により左の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。すなわち、図14の左すみから、ATGCの塩基名と、この塩基名ATGCに対応した+1、−1、+2、−2の符号付き数字が示されている。
【0052】
次の回文構造{3,0,3}の下部にあるS1,S2及びS3の欄には、回文演算部70における各第1の加算部370各々が加算し、絶対値部470がこの加算結果を絶対値化した絶対値S1n,S2n,S3n各々の出力が示されている。
また、回文構造{3,0,3}の下部にあるP1の欄には、第2の加算部570が絶対値S1n,S2n,S3n各々を加算したP1nの結果が記載されている。
同様に、次の回文構造{3,2,3}の下部にあるS1,S2及びS3の欄には、回文演算部72における各第1の加算部372各々が加算し、絶対値部472がこの加算結果を絶対値化した絶対値S1n−2,S2n−2,S3n−2各々の出力が示されている。
また、回文構造{3,2,3}の下部にあるP1の欄には、第2の加算部572が絶対値S1n−2,S2n−2,S3n−2各々を加算したP1n−2の結果が記載されている。
【0053】
そして、次の回文構造{3,4,3}の下部にあるS1,S2及びS3の欄には、回文演算部74における各第1の加算部374各々が加算し、絶対値部474がこの加算結果を絶対値化した絶対値S1n−4,S2n−4,S3n−4各々の出力が示されている。
また、回文構造{3,4,3}の下部にあるP1の欄には、第2の加算部574が絶対値S1n−4,S2n−4,S3n−4各々を加算したP1n−4の結果が記載されている。
同様に、次の回文構造{3,6,3}の下部にあるS1,S2及びS3の欄には、回文演算部76における各第1の加算部376各々が加算し、絶対値部476がこの加算結果を絶対値化した絶対値S1n−6,S2n−6,S3n−6各々の出力が示されている。
また、回文構造{3,6,3}の下部にあるP1の欄には、第2の加算部576が絶対値S1n−6,S2n−6,S3n−6各々を加算したP1n−6の結果が記載されている。
【0054】
以降同様に、回文構造{3,8,3}の解析を行う回文演算部78、回文構造{3,10,3}の解析を行う回文演算部710、回文構造{3,12,3}の解析を行う回文演算部712、回文構造{3,14,3}の解析を行う回文演算部714の計算結果が記載されている。
図14の例においては、39番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,4,3}に対応する回文演算部74の解析範囲が回文構造を有する検出結果、すなわちP1n−4=0となっている。
【0055】
また、50番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,8,3}に対応する回文演算部78の解析範囲が回文構造を有する検出結果、すなわちP1n−8=0となっている。
図視しない回文パターン合成部は、すでに述べた解析範囲が奇数の塩基数である場合と同様に、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図14の例において、39番目のパターンにてP1n−4=0であることから、上記回文パターン合成部は、解析範囲が10塩基にて図13(a)に示すような3塩基対が1つある回文構造を検出する。
また、50番目のパターンにて、P1n−8=0であることから、上記回文パターン合成部は、解析範囲が14塩基にて図13(b)に示すような3塩基対が1つある回文構造を検出する。
【0056】
上述したように、図9,10,11と同様に、図14,15,16において塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、ビジュアル的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
また、図14における斜め線Zは、図9と同様に、1塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてP1=0であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Zを走査する検出処理において、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
【0057】
そして、回文パターン合成部は、上述した偶数及び奇数の解析範囲における組み合わせにより、ゲノム配列における回文構造を検出して出力する。
なお、回文パターン合成部は、ゲノム配列における塩基の順番を示す番号により、回文構造が検出された解析範囲の存在する位置を検出することができるため、回文構造の位置を容易に出力することができる。
すなわち、回文パターン合成部は、ゲノム配列における回文構造の解析が進行する方向において、解析範囲の最後の塩基に対応する番号にて、その解析範囲に回文構造の有無を検出して、その番号に第2の加算回路の結果P1を順次記入していくことにより、各解析範囲に対応してその回文構造の有無の結果を記入することとなるため、いずれの非回文塩基の塩基数を有する解析範囲が、ゲノム配列のどの位置に存在するかを容易に確認することができる。
【0058】
<回文構造検出システムのハードウェア化>
上述したような構成は、パーソナルコンピュータにおける表計算ソフトが有する演算機能を上述した各機能として実現することができるが、DNAのゲノム配列が巨大な塩基配列であるため、大量の塩基配列のデータを高速に解析するためには、簡易な回路を用いてハードウェアにて解析することが考えられる。
このため、2つの塩基に対応する符号付き数字を加算する第1の加算回路と、その加算結果を絶対値化する絶対値部とを1つの演算ユニットとして図17に示す回路(16塩基の塩基配列単位にDNAの配列における回文構造を検出、例えば、第1の実施形態に対応して、3つの塩基対を有する回文構造{3,0,3}〜回文構造{3,10,3}の回文構造を検出する構成の回路)により構成する。
【0059】
ここで、符号付き数字は2進数のビット単位の演算となるため、塩基A,G,C,T(U)それぞれを、2進数で示すデータとして[符号,最上位ビット,最下位ビット]で表す。ここで、例えば、符号は、「+」の場合「0」とし、「−」の場合「1」とする。
したがって、塩基Aは「+1」であるため、[符号,最上位ビット(21),最下位ビット(20)]=[0,0,1]と表され、塩基T(U)は「−1」であるため、[符号,最上位ビット,最下位ビット]=[1,0,1]と表され、塩基Gは「+2」であるため、[符号ビット,最上位ビット,最下位ビット]=[0,1,0]と表され、塩基T(U)は「−2」であるため、[符号ビット,最上位ビット,最下位ビット]=[1,1,0]と表される。
この塩基毎の2進数へのデータ変換は、上述した塩基/数字変換部1が行う。
【0060】
したがって、図17の回路図に示すように、上記演算ユニットは、2つの塩基各々に対応する符号付き数字を示すビット列である[符号ビット,最上位ビット,最下位ビット]におけるそれぞれのビットの演算を行うため、符号の演算を行うEXNOR101と、最上位ビット(2ビット目)の演算を行うEXOR102と、最下位ビット(1ビット目)の演算を行うEXOR103と、EXNOR101,EXOR102及びEXOR103の演算結果で、演算した塩基同士が相補的であるか否かを演算するOR104とから構成されている。
【0061】
これにより、例えば、図17において、塩基An−5に対応する符号付き数字と、塩基Anに対応する符号付き数字とを加算した結果の絶対値Sが「0」か「1」として得られる。
例として、塩基An−5が「−2(塩基C)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[1,1,0]とし、塩基Anが「+2(塩基G)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とされる。
この場合、最下位ビットが「0」と「0」とで同一のため、EXOR103は「0」を出力し、最上位ビットが「1」と「1」とで同一のため、EXOR102は「0」を出力し、符号ビットが「1」と「0」とで異なるため、EXNOR101は「0」を出力する。
そして、OR104は、入力されるデータが全て「0」であるため、結果としての絶対値Sを「0」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成する相補的な関係にある塩基同士であることが検出されることとなる。
【0062】
また、塩基An−5が「+2(塩基G)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とし、塩基Anが同様に「+2(塩基G)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とされる。
この場合、最下位ビットが「0」と「0」とで同一のため、EXOR103は「0」を出力し、最上位ビットが「1」と「1」とで同一のため、EXOR102は「0」を出力し、符号ビットが「0」と「0」とで同一のため、EXNOR101は「1」を出力する。
そして、OR104は、入力されるデータに「1」が含まれるため、結果としての絶対値Sを「1」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【0063】
また、塩基An−5が「+1(塩基A)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,0,1]とし、塩基Anが「−2(塩基C)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[1,1,0]とされる。
この場合、最下位ビットが「1」と「0」とで異なるため、EXOR103は「1」を出力し、最上位ビットが「0」と「1」とで異なるため、EXOR102は「1」を出力し、符号ビットが「0」と「1」とで異なるため、EXNOR101は「0」を出力する。
そして、OR104は、入力されるデータに「1」が含まれるため、結果としての絶対値Sを「1」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【0064】
そして、図4における回文計算ユニットを、上記演算ユニットを3個と、第2の加算部に対応するOR200により、図18に示すように構成する。これは3塩基以上並んだ回文構造を把握する回文計算ユニットである。
図18は図4における偶数回文演算部である回文演算部70,72,74,76に対応する構成を示すものである。
回文演算部70,72,74,76各々には、それぞれの解析範囲に対応する回文構造{3,0,3}、回文構造{3,2,3}、回文構造{3,4,3}、回文構造{3,6,3}のゲノム配列における塩基に対応した符号付き数字のデータが入力されている。
【0065】
これにより、各回文演算部(70,72,74,76)においては、解析範囲における解析対象の塩基対同士が全て相補的である場合に「0」を出力し、いずれかが相補的でない場合に「1」を出力することとなる。
すなわち、上記回文演算部を構成する3つの演算ユニット100の全てが「0」を出力している場合、OR200は「0」を出力し、上記回文演算部を構成する3つの演算ユニット100のいずれかが「1」を出力している場合、OR200は「1」を出力する。
上述においては、回文計算ユニットを偶数回文演算部として説明したが、奇数回文演算部においても同様の構成である。
【0066】
そして、第2の実施形態において説明したように、この回文計算ユニットを使って計算させた結果の時間、すなわちゲノム配列における塩基の順番番号をずらしてレジスタに書き込むことにより、各解析範囲における回文構造を把握することができる。
図19の回路ブロックの構成例を用いて、ハードウェアにて実現した第2の実施形態の回文構造検出システムの説明を行う。この図19の回路ブロックは非回文の塩基数が偶数の場合の回文構造検出の部分を示している。図19の回路ブロックと同様の構成にて非回文の塩基数が奇数の場合の回文構造検出の部分を構成し、非回文の塩基数が偶数の場合の回文構造検出の部分と合わせることにより、本実施形態による回文構造検出システムが構成されることとなる。
【0067】
図19において、データ入力シフトレジスタは、塩基/数字変換部1がゲノム配列が塩基毎に対応する符号付き数字のデータ[符号ビット,最上位ビット,最下位ビット]を3ビット単位にて、設定された周期Tにより、順次方向Qへ転送する。このとき、データ入力シフトレジスタの各レジスタは、それぞれ転送する符号付きデータを回文計算ユニットへ出力する。
回文計算ユニット(加算結果P1を計算する単位)群は塩基対生成部2と各解析範囲に対応する回文演算部とから構成されており、上記周期T毎に入力される上記符号付きデータを基に、解析範囲に対応した回文演算部毎にその解析結果である加算結果P1をシフトレジスタ群を介して回文レジスタに対して出力する。
シフトレジスタ群は、各解析範囲に対応した回文演算部毎の出力と回文レジスタの入力との間に設けられたシフトレジスタから構成されている。
上記シフトレジスタ群における各シフトレジスタは、1ビットの加算結果P1を上記周期T毎にデータ入力シフトレジスタのデータ転送のタイミングに同期させ、解析範囲の塩基数が2つ少なくなる毎に、回文レジスタにおける解析タイミングを合わせるため、段数が1つずつ増加して(タイミングを遅延させるため)構成されている。
図19の例としては、解析範囲の塩基数が16,14,12,10,8,6となるに従い、回文計算ユニット群から回文レジスタへの間のシフトレジスタにおけるレジスタ数が0,1,2,3,4,5と増加している。
【0068】
上述したシフトレジスタ群の構成により、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果各々を合成処理するために必要な、各解析範囲の加算結果P1を回文レジスタに同時に出力することができ、図示しない回文パターン合成部がこの回文レジスタを参照することにより、出力中央部分の塩基の番号が一致する解析範囲を順次合成することができ、すでに第2の実施形態の説明にて述べたように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
例えば、100塩基を解析範囲とすると、すでに述べたように、100塩基回文構造を検出することができる。
この場合、回文構造{回文,非回文,回文}={3,94,3}の解析範囲を用いて回文構造を検出することとなるため、データ入力シフトレジスタとしては、3ビット単位(符号ビット、最上位ビット及び最下位ビット)にて並列にビット転送を行う100段のシフトレジスタが必要である。
また、シフトレジスタ群として、以下の(1)式にて求められる数のレジスタが必要となる。
【0069】
【数1】
【0070】
解析範囲として最大の値を有する回文演算部、すなわち{回文,非回文,回文}={3,94,3}には、回文レジスタに対して加算結果P1n−94を転送する(ゲノム配列における塩基の順番をずらす)シフトレジスタが必要なく、回文演算部が48個であるため、図17における方向Qにおけるレジスタ数は48(=(94/2)+1)となり、{回文,非回文,回文}={3,0,3}の解析範囲に対応して、回文レジスタと回文演算部との間に介挿されたシフトレジスタ群における最長の段数のシフトレジタが47段のため、上記(1)式からシフトレジスタ群におけるレジスタ数を計算することができる。
したがって、100個の塩基における回文構造を検出する回路においては、1128個(=48×47)のレジスタが必要となる。
また、回文レジスタは、48個の回文演算部に対応しているため、すなわち48個の加算結果(P1n,P1n−2,…)を記憶する必要があるため、48個のレジスタが必要となる。
【0071】
そして、偶数回文演算部と奇数回文演算部とに対応させるため、上述したレジスタ数及び回文演算部の数の2倍を必要とするが、現在のLSIの集積度を考慮すると、容易に1チップ化することができる。
また、回文計算ユニットの計算が、上記周期Tの間にて、すなわち1クロック周期内にて計算できるとすると、回文計算ユニット下のデータ入力シフトレジスタにおいてデータをシフトさせるために必要な100クロックと、シフトレジスタ群における最大長のシフトレジスタ(47段)に対する47クロックの147クロック分で回文構造を把握することができる。
そして、ヒトのゲノム配列における塩基数を30億とすると、100塩基までの回文構造を知るためには、30億+147クロックにて処理できる。
ここで、30億に比し147がほぼ「0」に等しい小さい数と判断して、100MHzで動作させるとすると、
3.0×109/(100×106)=30(s)
にて処理できることがわかる。
【0072】
<第3の実施形態>
また、近年に開発された組み替えDNA実験技術または遺伝子工学という技術において多用される極めて注目すべき物質として、制限酵素というものが天然に存在することが見いだされている。この制限酵素は、自身以外の生物のDNAを認識し、特定の塩基配列における任意の場所あるいは特定の場所にて切断して分解する性質を有している(例えば、特開平10−262699号公報参照)。また、この制限酵素の多くは細菌中に存在し、この細菌に侵入する外来のDNAを排除するための機能として存在する。これらの制限酵素それぞれは、DNAにおける一種類の短い塩基配列を認識する。この認識される塩基配列の長さは通常4から6塩基対であり、切断部位の塩基配列は回文構造(パリンドローム構造)を示している。この制限酵素を用いることにより、分子生物学者は外来のDNAを、目的とするDNA、例えばプラスミドに挿入できる形とするため、プラスミドを開環させる。
また、制限酵素は、DNA分子から必要とする断片を切り取るための手段として用いられている。
プラスミドと制限酵素の発見により、DNAをクローン化し、望みのDNA断片の正確なコピーを得ることが容易となった。そのため、制限酵素を用いてその断片をDNAから単離し、それをプラスミドに挿入して、混成プラスミドを宿主細菌に導入することにより、DNA断片のコピーが容易に生成できる。
【0073】
ここで、DNA分子において、各制限酵素の切断部位の配置を示す図を制限酵素切断地図と言う。
また、従来から行われている上記制限酵素切断地図の作成手順を以下に示す。
まず、制限酵素切断地図を作成するDNAを、対象生物の組織から全ゲノムDNAとして抽出し、物理的な手法により細かく断片化し、BAC(bacterial artificial chromosome)やYAC(yeast artificial chromosome)などのベクターにクローニングしてゲノムDNAライブラリを作成する。
次に、上記ゲノムDNAライブラリに含まれるクローンの何種類かを制限酵素によって切断し、切断部位のクローン上の位置を決定して、クローンにおける制限酵素切断地図を作成する。そして、各クローン間の制限酵素切断地図を比較し、その切断パターンの解析を行い、隣接するクローンを抽出する(フィンガープリント法)。
複数のクローンについて隣接関係を特定し、ある程度の長さの領域をカバーするクローンのグループをコンティグと呼ぶ。この作業と平行して、遺伝子地図を参照して、得られた上述のコンティグを、遺伝子地図の染色体上に位置づける。
【0074】
この位置づけを行う際、位置づけするマーカーのうち、塩基配列の配列情報を有するものを利用し、その塩基配列を基にPCR(Polymerase Chain Reaction)プライマーまたはハイブリダイゼーションプローブを作成して、ゲノムDNAライブラリの中のクローンから、そのマーカーが塩基配列を有するクローンを特定する。あるコンティグに含まれるクローンの一つがこのようにして染色体上に位置づけられれば、そのコンティグそのものの染色体上の位置も明らかとなる。以上の作業を繰り返すことにより、染色体のほぼ全域にコンティグとしてのクローンを位置づけることができれば、物理地図としての制限酵素切断地図を完成させることができる。
【0075】
しかしながら、現在、高速にゲノム情報がサンガー法などにより、DNAから読み出されることから、上述した実験を繰り返して制限酵素切断地図を生成することは非常に手間がかかることになる。
ここで、DNAにおける切断部位のほとんどが4、5、6または8塩基対の回文構造であることから、第1の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができることになる。以下、制限酵素切断地図を生成するための回文構造検出システムの説明を行う。
【0076】
以下に、図22を参照して本発明の第3の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図22は、本実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、非回文q(=0)塩基、すなわち回文構造中に非回文塩基がなく、回文2(=r)塩基、回文3(=r)塩基からなる構造として、解析範囲の中央に対して対照な位置の塩基配列を塩基対として、解析範囲の塩基配列に対して1塩基ずつシフトさせつつ回文構造の検出を行う。
【0077】
塩基/数字変換部1は、第1の実施形態と同様に、時系列に1塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Gを「+2」、塩基Aを「+1」、塩基Cを「−2」、塩基Tを「−1」へ変換して出力する。
例えば、シフトレジスタ150は、上記塩基/数字変換部1から時系列に入力される符号の付された数字を、記塩基/数字変換部1が数字を出力するタイミングに応じて、1つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ150は、後述する塩基対生成部2における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。
【0078】
塩基対生成部2は、シフトレジスタ150からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からr個ずつの塩基を両端からの位置に対応して(非回文塩基を挟んで対称位置にある塩基を)組み合わせて、予め設定された塩基対を生成する。
すなわち、塩基対生成部2は、解析範囲の中央部を挟んで、それぞれ対向する位置(非回文塩基を挟んで対称位置)にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
【0079】
回文演算部201は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={2,0,2}に対応する構成であり、2つの第1の加算部361と、3つの絶対値部461と1つの第2の加算部561から構成されている。
第1の加算部361各々は、An−3+Anと、An−2+An−1とのそれぞれの加算を行い、それぞれの加算結果を対応する絶対値部461へ各々出力する。
絶対値部461各々は、対応する第1の加算部361から出力される演算結果の絶対値S1n,S2nを出力する。
第2の加算部561は、絶対値461各々からの絶対値S1n,S2nを加算し、加算結果P1nを出力する。この加算結果P1nが「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0080】
回文演算部202は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部362と、3つの絶対値部462と1つの第2の加算部562から構成されている。
第1の加算部362各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部462へ各々出力する。
絶対値部462各々は、対応する第1の加算部362から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部562は、絶対値462各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、加算結果P1n−1を出力する。この加算結果P1n−1が「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0081】
データベース500には、回文構造の塩基配列における塩基の種類及び塩基の並び順とに対応して、その回文構造を切断部位とする制限酵素を表す情報が記憶されている。
検索部501は、塩基/数字変換部1が塩基を番号に変換して出力する周期単位に、P1nが「0」で出力された場合、シフトレジスタ150が出力している回文構造{2,0,2}のAn,An−1,An−2,An−3の塩基配列に対応する制限酵素をデータベース500から検索し、P1n−1が「0」で出力された場合、シフトレジスタ150が出力している回文構造{3,0,3}のAn,An−1,An−2,An−3,An−4,An−5の塩基配列に対応する制限酵素をデータベース500から検索し、検索されるとDNAの塩基配列の番号とともに出力する。
ここで、検索部501には、シフトレジスタ150のAn〜An−5各々から出力される塩基の情報(回文構造の塩基配列における塩基の種類及び塩基の並び順)と、加算結果P1n及びP1n−1と、シフトレジスタ150のAnから出力される塩基のDNAにおける配列位置を示す位置番号(塩基/数字変換部1から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号)とが入力される。
【0082】
次に、図23を参照して第3の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図23は回文構造システムの動作を示す回文構造パターン生成、及び検出された回文構造の塩基配列により、その塩基配列を切断部位とする制限酵素の検索及びその回文構造のDNAにおける位置を特定し、制限酵素切断地図の生成を説明する概念図である。
以下の説明における回文構造パターン生成を説明する図23は、図示しない表示部が制限酵素切断地図生成機能を有する回文構造検出システムの検出結果を解析結果図として表示するものである。
【0083】
この図23において、最も左の列の欄がゲノム配列における塩基配列の先頭からの順番を示し、次の列の欄にそれぞれの番号に対応した核酸塩基名が記載されている。ここで、核酸分類数(符号付き数字)の欄の列は2列あって、いずれの列も同様の記載であり(この列は1列としても良い)、塩基/数字変換部1により隣接する左の列の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。すなわち、図9と同様に、左すみの列の欄から、A、T、G、C各々の塩基名と、この塩基名A、T、G、Cに対応した+1、−1、+2、−2の符号付き数字(核酸分類数)が示されている。ここで、各核酸分類数(符号付き数字)の列は、第1の実施形態と同様に、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
【0084】
次の回文構造{3,0,3}の下部には、絶対値S1n−1,Sn−1及びS3n−1の欄があり、回文演算部201における各第1の加算部351各々がシフトレジスタ150から出力される上記符号付き数字を加算し、絶対値部461がこの加算結果を絶対値化した絶対値S1n−1,S2n−1,S3n−1各々の出力が示され、また、加算結果P1n−1の欄があり、絶対値S1n−1(|An+An−5|),S2n−1(|An−1+An−4|),S3n−1(|An−2+An−3|)が加算された加算結果P1n−1の数値が示されている。
次の回文構造{2,0,2}の下部には、絶対値S1n及びSnの欄があり、回文演算部202における各第1の加算部362各々がシフトレジスタ150から出力される上記符号付き数字を加算し、絶対値部462がこの加算結果を絶対値化した絶対値S1n,S2n各々の出力が示され、また、加算結果P1nの欄があり、絶対値S1n(|An+An−3|),S2n(|An−1+An−2|)が加算された加算結果P1nの数値が示されている。
【0085】
そして、検索部501は、回文演算部201から出力される加算結果P1n、あるいは回文演算部202から出力される加算結果P1n−1が「0」であることを検出すると、いずれの回文構造が検出されたかをいずれが「0」であることを検出することにより判定し、対応する構成(回文構造{2,0,2}あるいは回文構造{3,0,3})の回文構造として検出された塩基配列に対応する制限酵素を、それぞれの回文構造の塩基配列における塩基の種類及び塩基の並び順によりデータベース500から検索する。
例えば、位置番号14から始まる塩基配列{−1,−1,1,1}={T,T,A,A}が回文構造であるため、回文演算部201は、加算結果P1nを「0」として出力する。
ここで、
S1n=|An+An−3|=0、S2n=|An−1+An−2|=0
であり、
P1n=S1n+S2n=0+0=0
となる。
【0086】
加算結果P1nが入力されることにより、検索部501は、回文演算部201から入力された加算結果P1nが「0」であるため、回文構造{2,0,2}である塩基配列{−1,−1,1,1}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−1,−1,1,1}に対応する制限酵素がデータベース500に記憶されていないことを検出し、図23に示すように、回文構造{2,0,2}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−1,−1,1,1}の領域部分をマークし、図示しない表示部に対して「特になし」を表示して、この塩基配列{−1,−1,1,1}に対応する制限酵素が無いことを通知する。
【0087】
一方、位置番号15から始まる塩基配列{−2,−1,−1,1,1,2}={C,T,T,A,A,G}が回文構造であるため、回文演算部202は、加算結果P1n−1を「0」として出力する。
ここで、
S1n−1=|An+An−5|=0、S2n−1=|An−1+An−4|=0、S3n−1=|An−2+An−3|=0
であり、
P1n−1=S1n−1+S2n−1+S3n−1=0+0+0=0
となる。
【0088】
加算結果P1n−1が入力されることにより、検索部501は、回文演算部201から入力される加算結果P1n−1が「0」であるため、回文構造{3,0,3}である塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素EcoRIがデータベース500に記憶されていることを検出し、図23に示すように、図示しない表示部に対して、回文構造{3,0,3}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−2,−1,−1,1,1,2}の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置(例えば、P1n−1が「0」と表示された右隣の欄)に、検出された制限酵素名「EcoRI」を表示し、この塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素が「EcoRI」であること、および制限酵素の切断部位のDNAの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【0089】
また、回文演算部201は位置番号24において、加算結果P1nを「0」として出力する。
そして、検索部501は、回文演算部201から入力された加算結果P1nが「0」であるため、回文構造{2,0,2}である塩基配列{−2,−2,2,2}={C,C,G,G}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−2,−2,2,2}に対応する制限酵素PalIがデータベース500に記憶されていることを検出し、図23に示すように、図示しない表示部に対して、回文構造{2,0,2}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−2,−2,2,2}の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置(例えば、P1nが「0」と表示された右隣の欄)に、検出された制限酵素名「PalI」を表示し、この塩基配列{−2,−2,2,2}に対応する制限酵素が「PalI」であること、および制限酵素の切断部位のDNAの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【0090】
上述したように、本実施形態の回文構造検出システムにおいては、第1の実施形態と同様にDNAの塩基配列から回文構造を有する塩基配列の領域を検出し、かつ検出された回文構造の塩基配列における塩基の種類及び塩基の並び順に対応した制限酵素を、データベース500から検出し、DNAの塩基配列における先頭からの位置を示す位置番号とともに出力することにより、解析対象のDNAの塩基配列に対する制限酵素切断地図を生成する機能を有している。
本実施形態においては、回文構造{2,0,2}及び回文構造{3,0,3}の2種類の回文構造の型の検出を行う構成として説明した。
制限酵素の切断部位の塩基配列としての回文構造において、回文構造{3,0,3}の型の塩基配列が全体の約7割を占めており、回文構造{2,0,2}の型の塩基配列が全体の約1.5割以上であることから、本実施形態の回文構造検出システムで全体の8.5割以上の制限酵素の切断部位に対応した制限酵素切断地図を生成することができる。
【0091】
また、制限酵素切断地図において、より切断部位を詳細とする場合、第1の実施形態の各回文演算部を用いて、より多種類の回文構造を検出する構成を加えることにより、より詳細な制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
本実施形態の回文構造検出システムによれば、DNAにおける制限酵素による切断部位のほとんどが4塩基対(回文構造{2,0,2})、5塩基対(回文構造{2,1,2})、6塩基対(回文構造{3,0,3})または8塩基対(回文構造{4,0,4})の配列を有する回文構造であることから、第1の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
【0092】
なお、図2、図4及び図22における回文構造検出システムの機能を実現するための各部それぞれの動作を記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより回文構造検出の各処理(制限酵素切断地図の作成を含む)を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0093】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【図面の簡単な説明】
【0094】
【図1】ステムループ構造及び相補的な塩基対の説明に用いる概念図である。
【図2】本発明の第1の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図3】第1の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図4】本発明の第2の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図5】回文構造検出処理における、解析範囲とゲノム配列での塩基の順番との対応関係を説明する概念図である。
【図6】第2の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図7】図4における回文構造部(回文計算ユニット)の構成例を示すブロック図である。
【図8】2つの解析範囲を合成して、各回文構造部による回文の塩基数より数の多い塩基数の回文構造を検出する処理を説明する概念図である。
【図9】第2の実施形態における回文構造システムにおける奇数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図10】図9における領域Aの拡大図である。
【図11】図9における領域Bの拡大図である。
【図12】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図13】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図14】第2の実施形態における回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図15】図14における領域Aの拡大図である。
【図16】図14における領域Bの拡大図である。
【図17】第1の加算部とこの第1の加算部に対応して設けられる絶対値部との機能を有する演算ユニットの構成例を示すブロック図である。
【図18】図15の演算ユニットを用いて、偶数回文演算部の構成例を示すブロック図である。
【図19】本発明の第2の実施形態による回文構造検出システムにおける偶数回文構造検出部に対応する部分の構成例を示すブロック図である。
【図20】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図21】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図22】第3の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図23】第3の実施形態の制限酵素切断地図作成機能が付加された回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【符号の説明】
【0095】
1…塩基/数字変換部 2…塩基対生成部 361,362,363,364,365,366,367,368…第1の加算部 461,462,463,464,465,466,467,468…絶対値部 561,562,563,564,565,566,567,568…第2の加算部 61,62,63,64,65,66,67,68…回文演算部 370,371,372,373,374,375,376,377…第1の加算部 470,471,472,473,474,475,476,477…絶対値部 500…データベース 501…検索部 570,571,572,573,574,575,576,577…第2の加算部 70,71,72,73,74,75,76,77,201,202…回文演算部 100…演算ユニット 150…シフトレジスタ 101…EXNOR(排他的論理和の否定) 102,103…EXOR(排他的論理和) 104,200…OR(論理和)
【技術分野】
【0001】
本発明は、ゲノム配列に含まれる回文構造を高速に検出するゲノム配列における回文構造検出システムに関する。
【背景技術】
【0002】
DNA(Deoxyribonucleic acid)のゲノム配列データは、A(アデニン)、T(チミン)、G(グアニン)、C(シトシン)の4種類の塩基の配列が直列に億単位で並ぶ膨大なデータ群である。
近年、ヒトの遺伝子やその他重要な生物の遺伝子におけるゲノム配列のデータが急速に解析されつつある。
ゲノム配列の公開データにおいては、上記A,T,C,G4種類の塩基が延々と続くデータを羅列しているだけであり、配列のいずれの箇所が重要なデータを含んでいるかを知るどころか、何れの領域に遺伝子が存在するかが殆ど判明していないというのが実情である。
【0003】
特に、1本鎖のDNA及びRNA(Ribonucleic acid)においては、ステムループ構造という回文(“たけやぶやけた”、“しんぶんし”等の前後から読んでも同一の読みとなる)構造(パリンドローム構造)をとり、リプレッサタンパクを結合させないことによってm(messenger)RNAの構造などを変化させている。
例えば、図20に示す例において、図20(a)の配列のmRNA(トリプトファンの生成に対応する)は、リボソームのようなリプレッサタンパクが結合していない場合、図20(b)のようなステムループ構造を有する。
ただし、図20(a)の配列のmRNAは、トリブトファンが多く供給されて高濃度に存在する場合、図21(a)のステムループ構造を有し、一方、トリプトファンの需要が多く低濃度に存在する場合、図21(b)の構造を有する。
【0004】
上述したように、回文構造が異なる状態、すなわち特定の状態におけるステムループ構造は現状において各種見つかっている。
このステムループ構造となると、実際のゲノム配列が読めない状態となり、その部位の解析を行うことができない。
mRNAやDNAのゲノム配列内に潜んでいるステムループ構造が起こる可能性のある部位を探ることは、ゲノム配列に対応したリボソームにおけるアミノ酸の産生状況を探るなどの重要な意味を有している。
特に、PCR(Polymerase Chain Reaction)によって生成されたmRNA等は、ステムループ構造を構成しやすく、どのようなステムループ構造になっているかを知るためには、そのmRNAのステムループ構造が起こる可能性のある部位を予め知っておく必要がある。
【0005】
このため、塩基Aと塩基Tと、また塩基Cと塩基Gとが相補的な関係にあり塩基対を形成するため、ゲノム配列における塩基の並びを解析することにより、ゲノム配列のいずれの箇所が回文構造であり、ステムループ構造を起こす可能性がある部位であるか否かの検出が行われている(特許文献1)。
【特許文献1】特開2005−316924号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来例においては、コンピュータ処理にて行うアルゴリズムについて記載されているが、塩基A,T,G,Cの配列の関係が示されているのみであり、直感的にいずれの箇所が回文構造であるかの判定が行えない欠点がある。
従来からもコンピュータ処理にて、いずれの箇所に回文構造が含まれているかを検出するため、塩基A,T,G,C各々に対して、それぞれ1,2,3,4のような数字を付与して(2ビットにて示す場合、例えば、A=00,T=01,G=10,C=11のように付与して)、回文構造を検出するための演算を行っている。
【0007】
回文構造を検出する演算に際し、上述したように各塩基の定義を行うと、塩基A,T,G,Cの羅列として出力される検出結果において、それぞれの相補的関係が視覚的に分かりにくく、塩基の羅列が何を意味しているのかが直感的に判断できない。
本発明は、このような事情に鑑みてなされたものであり、ゲノム配列における大量のデータの解析が簡単に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られるゲノム配列における回文構造検出装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明のゲノム配列における回文構造検出システムは、ゲノム配列にて塩基対を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、ゲノム配列における回文構造を検出する回文構造検出システムであり、入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部と、該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有する回文演算部とを有する。
【0009】
本発明のゲノム配列における回文構造検出システムは、前記第2の加算部が0を出力した場合、前記n個の塩基対による回文構造があることを検出した検出信号であることを特徴とする。
【0010】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする。
【0011】
本発明のゲノム配列における回文構造検出システムは、前記ゲノム配列における前記解析範囲を1塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする。
【0012】
本発明のゲノム配列における回文構造検出システムは、前記回文演算部が前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基(回文構造に含まれるが回文塩基を構成しない非回文塩基)数を偶数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する偶数回文演算部と、前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する奇数回文演算部とを有していることを特徴とする。
【0013】
本発明のゲノム配列における回文構造検出システムは、両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする。
【0014】
本発明のゲノム配列における回文構造検出システムは、両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を1塩基ずつシフトした検出結果を記憶する記憶部を有し、ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする。
【0015】
本発明のゲノム配列における回文構造検出システムは、前記偶数回文演算部及び奇数回文演算部各々が2入力のn個の第1の加算部と、該加算部毎に設けられた絶対値部と、n入力の第2の加算部から構成されていることを特徴とする。
本発明のゲノム配列における回文構造検出システムは、回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部とをさらに有することを特徴とする。
【発明の効果】
【0016】
以上説明したように、本発明によれば、ステムループ構造を形成する可能性のある回文構造の有無を検出する際、ステムループ構造を形成する際に、各塩基対を形成する相補的な関係にある塩基に対して同一の数字で異なる符号(+/−)を付して回文構造の検出処理を行うため、塩基ゲノム配列における大量の塩基データの解析が簡単にかつ高速に行え、またゲノム配列における回文構造の解析結果が、視覚的にも重要な部位がすぐに判別可能な結果として得られる。
【発明を実施するための最良の形態】
【0017】
本発明のゲノム配列における回文構造検出システムは、DNAやRNA等におけるゲノム配列にて塩基対(塩基G及び塩基C、または塩基A及び塩基T(RNAにては塩基U))を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、例えば、本実施形態において、塩基Gに「+1」を塩基Cに「−1」を付し、また塩基Aに「+2」を、塩基Tに「−2」を付して、ゲノム配列における回文構造を検出する回文構造検出システムである。
【0018】
すなわち、本発明においては、各塩基に符号付きの数字をあてがい、塩基対を形成する塩基間に相補的な特徴を持たせることにより、塩基A、T(U)、C、Gの単なる文字の羅列を視覚的に理解しやすくしている。
上述した特徴として、塩基対としては塩基Aに対しては必ず塩基T(U)が組み合わされ、塩基Gに対しては必ず塩基Cが組み合わされる相補の関係にある。
本願実施形態においては、上述したように、この塩基対(相補的塩基対)における相補間の関係を+(プラス)と−(マイナス)との符号関係(極性の異なる符号関係)で表している。
また、プリン塩基である塩基Aと塩基Gとにおいては、塩基Gの方の分子量が大きいため、塩基Gを「+2」、塩基Aを「+1」と表現する。またピリミジン塩基は塩基Cを「−2」、塩基Tを「−1」と表現する。
【0019】
これにて相補の関係と、塩基対A−T系、塩基対C−G系の分類、及び分子量の大きさをこれで表している。
塩基G 分子量151 → +2 2進では符号つき“010”
塩基A 分子量135 → +1 2進では符号つき“001”
塩基T 分子量126 → −1 2進では符号つき“101”
塩基C 分子量111 → −2 2進では符号つき“110”
上述したように、各塩を基符号ビットとA−T及びG−Cの分類ビットにより表している。
これを、後述する第1の加算部において、A(+1)+T(−1)=0、 G(+2)+C(−2)=0の関係を用いた計算をすることによってステムループの構造を抽出する。
【0020】
そして、本発明のゲノム配列における回文構造検出システムは、入力されるゲノム配列における順次各塩基を、上述した対応する数字及び符号の付された数字に置き換える塩基/数字変換部と、この置き換えられた符号付きの数字から回文構造を検出する回文演算部が、上述したゲノム配列において、予め設定された塩基数からなる解析範囲内の両端から、この解析範囲内の中央方向に塩基を一つずつずらして、解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部とを有し、塩基対生成部から出力される塩基対それぞれの塩基に対応する数字をそれぞれ独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有している。
【0021】
t−RNAやm−RNAの末端には、一般的に、図1に示すように、ステムループ構造が顕著に表れる。
図1(a)の塩基を示すA,T,C,Gの文字のランダムな羅列にては、ステムループ構造を形成する可能性のある回文構造を検出することが困難である。
しかしながら、
”A,C,G,C,G,T”
となっている回文構造を、上述した符号付きの数字に変換することにより、
”+1(1番目),−2,+2,−2,+2,−1(6番目)”
と符号付きの数字の配列として記述することができる。
【0022】
この配列において、
1番目の「+1」と6番目の「−1」
2番目の「−2」と5番目の「+2」
3番目の「+2」と4番目の「−2」
とを塩基対として、それぞれの塩基対ごとの塩基に対応する符号付き数字を足した場合、いずれの塩基対の塩基に対応した符号付き数字の加算結果が「0」となることがわかる。
つまりDNA配列を順々に読んでいき、現在の位置Anとその手前のAn−mをターゲットとしたときに、
An+An−m=0
An−1+An−m+1=0
An−2+An−m+2=0
が多く成り立つところに回文構造があることがわかる。ここで、m(整数)は中央部に非回文塩基を含んだ解析範囲内の塩基の数であり、非回文塩基を挟んで対向する位置の塩基を塩基対として、この塩基に対応する符号付き数字を塩基対毎に加算していく。
【0023】
例えば、
m=5のとき
An+An−5=0 An−1+An−4=0 An−2+An−3=0
m=6のとき
An+An−6=0 An−1+An−5=0 An−2+An−4=0
m=7のとき
An+An−7=0 An−1+An−6=0 An−2+An−5=0
An−3+An−4=0
m=8のとき
An+An−8=0 An−1+An−7=0 An−2+An−6=0
An−3+An−5=0となる。
【0024】
<第1の実施形態>
以下に、図2を参照して本第1の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図2は、本第1の実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、回文3(=r)塩基、非回文q塩基、回文3(=r)塩基からなる図2(a)の構造として、塩基配列に対して解析範囲を順次1塩基ずつシフトさせつつ回文構造の検出を行う。
塩基/数字変換部1は、時系列に1塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Gを「+2」、塩基Aを「+1」、塩基Cを「−2」、塩基Tを「−1」へ変換して出力する。
例えば、シフトレジスタ150は、上記塩基/数字変換部1から時系列に入力される符号の付された数字を、記塩基/数字変換部1が数字を出力するタイミングに応じて、1つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ150は、後述する塩基対生成部2における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。後述するAn…An−j…は、シフトレジスタ150のパラレル出力(時系列にシフトされる塩基配列)、すなわちシフトレジスタ150を構成する各レジスタが出力する塩基の核酸分類数(符号付き数字)を示している。
【0025】
塩基対生成部2は、シフトレジスタ150からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からr個ずつの塩基を両端からの位置に対応して(非回文塩基を挟んで対称位置にある塩基を)組み合わせて、予め設定された塩基対を生成して出力する。
すなわち、塩基対生成部2は、図2(a)における非回文塩基(非加算塩基)を挟んで、それぞれ対向する位置(非回文塩基を挟んで対称位置)にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
以下に、図2(b)のブロック図を用いて、本願実施形態におけるゲノム配列における回文構造検出システムの構成例を説明する。
【0026】
回文演算部61は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部361と、3つの絶対値部461と1つの第2の加算部561から構成されている。
第1の加算部361各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部461へ各々出力する。
絶対値部461各々は、対応する第1の加算部361から出力される演算結果の絶対値S1n,S2n,S3nを出力する。
第2の加算部561は、絶対値部461各々からの絶対値S1n,S2n,S3nを加算し、加算結果P1nを出力する。この加算結果P1nが「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0027】
回文演算部62は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,1,3}に対応する構成であり、3つの第1の加算部362と、3つの絶対値部462と1つの第2の加算部562から構成されている。以下この非回文塩基の数が奇数の回文演算部は奇数回文演算部とし、非回文塩基の数が偶数の回文演算部は偶数回文演算部とする。
第1の加算部362各々は、An−6+Anと、An−5+An−1と、An−4+An−2とのそれぞれの加算を行い、対応する絶対値部462へ各々出力する。
絶対値部462各々は、対応する第1の加算部362から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部562は、絶対値部462各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、加算結果P1n−1を出力する。この加算結果P1n−1が「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0028】
回文演算部63は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,2,3}に対応する構成であり、4つの第1の加算部363と、4つの絶対値部463と、2つの第2の加算部563から構成されている。
第1の加算部363各々は、An−7+Anと、An−6+An−1と、An−5+An−2と、An−4+An−3とのそれぞれの加算を行い、対応する絶対値部463へ出力する。
絶対値部463各々は、対応する第1の加算部363から出力される演算結果の絶対値S1n−2,S2n−2,S3n−2,S4n−2を出力する。
第2の加算部563各々は、絶対値部463各々からの絶対値S1n−2,S2n−2,S3n−2を、絶対値S2n−2,S3n−2,S4n−2をそれぞれ加算し、それぞれ加算結果P1n−2、加算結果P2n−2を出力する。
【0029】
この加算結果P1n−2が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−2が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,0,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−2及びP2n−2双方が「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における解析を行わなかった非回文塩基もAn−4+An−3の加算結果として「0」となることが検出されるため、最終的に解析範囲を8塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部63は、偶数にて最小の非回文塩基数0に対応する第2の加算部と、偶数にて最小の非回文塩基数0に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数2の解析範囲とに対応する第2の加算部とを有している。
【0030】
回文演算部64は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,3,3}に対応する構成であり、4つの第1の加算部364と、4つの絶対値部464と、2つの第2の加算部564から構成されている。
第1の加算部364各々は、An−8+Anと、An−7+An−1と、An−6+An−2と、An−5+An−3とのそれぞれの加算を行い、対応する絶対値部464へ出力する。
絶対値部464各々は、対応する第1の加算部364から出力される演算結果の絶対値S1n−3,S2n−3,S3n−3,S4n−3を出力する。
第2の加算部564各々は、絶対値部464各々からの絶対値S1n−3,S2n−3,S3n−3を、絶対値S2n−3,S3n−3,S4n−3をそれぞれ加算し、それぞれ加算結果P1n−3、加算結果P2n−3を出力する。
【0031】
この加算結果P1n−3が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−3が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,1,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−3及びP2n−3双方が「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における解析を行わなかった非回文塩基もAn−5+An−3の加算結果として「0」となることが検出されるため、最終的に解析範囲を9塩基として、中央の塩基An−4を除く8つの塩基が回文塩基構造であることが検出される。
上述したように、回文演算部64は、奇数にて最小の非回文塩基数1に対応する第2の加算部と、奇数にて最小の非回文塩基数1に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数3の解析範囲とに対応する第2の加算部とを有している。
また、上述した奇数回文演算部と偶数回文演算部との結果を組み合わせることにより、ゲノム配列における回文構造を解析することが可能となる。
【0032】
また、図3には、図2(b)における構成にて、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,6,3}、解析範囲{回文塩基、非回文塩基、回文塩基}={3,7,3}を解析するものであり、実質的に解析範囲として塩基数10、11,12,13の回文構造を解析する。
【0033】
すなわち、回文演算部65は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,4,3}に対応する構成であり、5つの第1の加算部365と、5つの絶対値部465と、3つの第2の加算部565から構成されている。
第1の加算部365各々は、An−9+Anと、An−8+An−1と、An−7+An−2と、An−6+An−3、An−5+An−4とのそれぞれの加算を行い、対応する絶対値部465へ出力する。
絶対値部465各々は、対応する第1の加算部365から出力される演算結果の絶対値S1n−4,S2n−4,S3n−4,S4n−4,S5n−4を出力する。
第2の加算部565各々は、絶対値465各々からの絶対値S1n−4,S2n−4,S3n−4を、絶対値S2n−4,S3n−4,S4n−4を、絶対値S3n−4,S4n−4,S5n−4をそれぞれ加算し、それぞれ加算結果P1n−4、加算結果P2n−4、加算結果P3n−4を出力する。
【0034】
この加算結果P1n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,2,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P3n−4が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,0,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−4、P2n−4及びP3n−4の全てが「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,4,3}における解析を行わなかった非回文塩基も、An−5+An−4、An−6+An−3各々の加算結果が「0」となることが検出されるため、最終的に解析範囲を10塩基として、解析範囲内全ての塩基が回文塩基構造であることが検出される。
上述したように、回文演算部65は、偶数にて最小の非回文塩基数0に対応する第2の加算部と、偶数にて最小の非回文塩基数0に対して、塩基対単位、すなわち塩基数にて増加させた非回文塩基数2の解析範囲と、さらに塩基数にて増加させた非回文塩基数4の解析範囲とに対応する第2の加算部とを有している。
【0035】
回文演算部66は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,5,3}に対応する構成であり、5つの第1の加算部366と、5つの絶対値部466と、3つの第2の加算部566から構成されている。
第1の加算部366各々は、An−10+Anと、An−9+An−1と、An−8+An−2と、An−7+An−3と、An−6+An−4とのそれぞれの加算を行い、対応する絶対値部466へ出力する。
絶対値部466各々は、対応する第1の加算部366から出力される演算結果の絶対値S1n−5,S2n−5,S3n−5,S4n−5,S5n−5を出力する。
第2の加算部566各々は、絶対値466各々からの絶対値S1n−5,S2n−5,S3n−5を、絶対値S2n−5,S3n−5,S4n−5を、絶対値S3n−5,S4n−5,S5n−5をそれぞれ加算し、それぞれ加算結果P1n−5、加算結果P2n−5、加算結果P3n−5を出力する。
【0036】
この加算結果P1n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P2n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,3,3}における回文塩基同士が回文構造をしていることが検出される。また、加算結果P3n−5が「0」となれば、解析範囲{回文塩基、非回文塩基、回文塩基}={3,1,3}における回文塩基同士が回文構造をしていることが検出される。
したがって、加算結果P1n−5、P2n−5及びP3n−5の全てが「0」である場合、解析範囲{回文塩基、非回文塩基、回文塩基}={3,5,3}における解析を行わなかった非回文塩基もAn−6+An−4及びAn−7+An−3の双方の加算結果が「0」となることが検出されるため、最終的に解析範囲を11塩基として、中央の塩基An−5を除く10個の塩基が回文塩基構造であることが検出される。
さらに、偶数回文演算部である回文演算部67及び、奇数回分演算部である回数演算部68等を増加させてゆくことにより、どのような塩基数を有する長さの回文構造でも検出を行うことができる。
【0037】
<第2の実施形態>
次に、図4を用いて本発明の第2の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図4は、本第2の実施形態によるゲノム配列における塩基数が偶数の解析範囲における回文構造を検出する動作を示すブロック図である。図4の第2の実施形態において、図2の第1の実施形態と同様の構成については同一の符号を付してその説明を省略する。
第1の実施形態においては、解析範囲が小さい場合は高速に回文構造の解析が行えるが、解析範囲が広くなるほど、図3に示すように加算器の数が大きくなり計算量が増加していくことが予想される。
しかしながら、図5に示すように、ゲノム配列において塩基Anまで読み終わった時点にて、t=nとして図2における結果を見たとき、t=n−1においても同様の解析範囲(同一の塩基数の解析範囲)に対する検出処理を行っていることが判る。
【0038】
すなわち、ゲノム配列において回文を検出する位置が1塩基ずれているのみであり、ゲノム配列における塩基を読み込む時間がずれているだけで、加算処理としては同様の処理を行っている。
したがって、ゲノム配列の時間推移を考慮すると、図2の第1の実施形態における加算構造を、図4に示す第2の実施形態による加算構造にて構成することができる(第1の実施形態と同様に、回文構造が3塩基以上のものについて)。また、当然さらに大きな塩基数の回文構造も同じ加算の構造で表すことができる。
【0039】
図4の構成において、回文演算部70は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部370と、3つの絶対値部470と、1つの第2の加算部570から構成されている。
第1の加算部370各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部470へ出力する。
絶対値部470各々は、対応する第1の加算部370から出力される演算結果の絶対値S1n,S2n,S3nを出力する。
第2の加算部570各々は、絶対値部470各々からの絶対値S1n,S2n,S3nを加算し、それぞれ加算結果P1nを出力する。
【0040】
回文演算部71は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,1,3}に対応する構成であり、3つの第1の加算部371と、3つの絶対値部471と、1つの第2の加算部571から構成されている。
第1の加算部371各々は、An−6+Anと、An−5+An−1と、An−4+An−2とのそれぞれの加算を行い、対応する絶対値部471へ出力する。
絶対値部471各々は、対応する第1の加算部371から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部571各々は、絶対値部471各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、それぞれ加算結果P1n−1を出力する。
【0041】
回文演算部72は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,2,3}に対応する構成であり、3つの第1の加算部372と、3つの絶対値部472と、1つの第2の加算部572から構成されている。
第1の加算部372各々は、An−7+Anと、An−6+An−1と、An−5+An−2とのそれぞれの加算を行い、対応する絶対値部472へ出力する。
絶対値部472各々は、対応する第1の加算部372から出力される演算結果の絶対値S1n−2,S2n−2,S3n−2を出力する。
第2の加算部572各々は、絶対値部472各々からの絶対値S1n−2,S2n−2,S3n−2を加算し、それぞれ加算結果P1n−2を出力する。
【0042】
回文演算部73は、奇数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,3,3}に対応する構成であり、3つの第1の加算部373と、3つの絶対値部473と、1つの第2の加算部573から構成されている。
第1の加算部373各々は、An−8+Anと、An−7+An−1と、An−6+An−2とのそれぞれの加算を行い、対応する絶対値部473へ出力する。
絶対値部473各々は、対応する第1の加算部373から出力される演算結果の絶対値S1n−3,S2n−3,S3n−3を出力する。
第2の加算部573各々は、絶対値部473各々からの絶対値S1n−3,S2n−3,S3n−3を加算し、それぞれ加算結果P1n−3を出力する。
【0043】
また、本願発明においては、図6に示すように、さらに大きな解析範囲である各回文演算部74(偶数回文演算部)、75(奇数回文演算部)、76(偶数回文演算部)及び77(奇数回文演算部)においても、図7に示す3つの第1の加算部3、3つの絶対値部4及び1つの第2の加算部5にて構成することができる。
上述した図7において、第1の加算器3個と、各第1の加算器の計算結果の絶対値を取る絶対値部と、この絶対値部の出力する第2の加算部からなるユニットを回文計算ユニットとすると、例えば解析範囲(塩基数m)が6塩基や7塩基における回文構造は、3塩基づつの対構造を取り出すことになり、回文演算ユニットは1つ、順に8塩基や9塩基では回文演算ユニット2つとなり、n塩基ではr=F((n−4)/2)となるr個の回文演算ユニットにて演算することができる。ここで、上記F( )は、( )内の計算結果を小数点切り捨てた整数値を出力する関数である。
【0044】
ただし、上記回文演算ユニットだけでは3塩基づつの回文構造を表しているだけであり、4塩基づつ以上の回文構造を検出することはできない。
この4塩基づつ以上の回文構造を検出するためには、t=n,t=n−1,t=n−2,…のときのもので、同時に回文演算ユニットの値が「0」になっていることが必要となる。
すなわち、回文演算部70の{回文塩基、非回文塩基、回文塩基}={3,0,3}と、回文演算部72の{回文塩基、非回文塩基、回文塩基}={3,2,3}とにおいて、図8に示すように、t=nの時点において回文演算部72が「0」であり、かつその直前、すなわち1塩基前のt=n−1の時点において回文演算部70が「0」である場合、回文演算部70の出力する回文構造{3,0,3}と、回文演算部72の回文構造{3,2,3}との双方を組み合わせることにより、第1の実施形態と同様に、{回文塩基、非回文塩基、回文塩基}={4,0,4}の4塩基対を構成する回文構造が存在することが検出される。
【0045】
次に、図9,図10及び図11を参照して第2の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図9は回文構造システムの動作を示す回文構造パターン生成の全体を示す概念図である。図10は図9における領域Aの拡大図であり、図11は図9における領域Bの拡大図である。この図9は奇数回文演算部により演算された塩基数が奇数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
以下の説明における回文構造パターン生成を説明する図9及び図14は、図示しない表示部が回文構造検出システムの検出結果を解析結果図として表示するものである。
最も左の列の欄がゲノム(DNA)配列における塩基の配列の先頭からの順番を示す位置番号(塩基/数字変換部1から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号)が記載され、次の2つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数(符号付き数字)の列の欄は、4列存在しており、いずれの列の欄も同様であり、塩基/数字変換部1により左の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。ここで、各核酸分類数(符号付き数字)の列は、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
すなわち、図9の左すみの列から、A、T、G、Cの塩基名と、この塩基名A、T、G、Cに対応した+1、−1、+2、−2の符号付き数字が示されている。
【0046】
次の回文構造{3,1,3}の下部にあるS1,S2及びS3の欄には、回文演算部71における各第1の加算部371各々が加算し、絶対値部471がこの加算結果を絶対値化した絶対値S1n−1,S2n−1,S3n−1各々の出力が示されている。
また、回文構造{3,1,3}の下部にあるP1の欄には、第2の加算部571が絶対値S1n−1,S2n−1,S3n−1各々を加算したP1n−1の結果が記載されている。
同様に、次の回文構造{3,3,3}の下部にあるS1,S2及びS3の欄には、回文演算部73における各第1の加算部373各々が加算し、絶対値部473がこの加算結果を絶対値化した絶対値S1n−3,S2n−3,S3n−3各々の出力が示されている。
また、回文構造{3,3,3}の下部にあるP1の欄には、第2の加算部573が絶対値S1n−3,S2n−3,S3n−3各々を加算したP1n−3の結果が記載されている。
【0047】
そして、次の回文構造{3,5,3}の下部にあるS1,S2及びS3の欄には、回文演算部75における各第1の加算部375各々が加算し、絶対値部475がこの加算結果を絶対値化した絶対値S1n−5,S2n−5,S3n−5各々の出力が示されている。
また、回文構造{3,5,3}の下部にあるP1の欄には、第2の加算部575が絶対値S1n−5,S2n−5,S3n−5各々を加算したP1n−5の結果が記載されている。
同様に、次の回文構造{3,7,3}の下部にあるS1,S2及びS3の欄には、回文演算部77における各第1の加算部377各々が加算し、絶対値部477がこの加算結果を絶対値化した絶対値S1n−7,S2n−7,S3n−7各々の出力が示されている。
また、回文構造{3,7,3}の下部にあるP1の欄には、第2の加算部577が絶対値S1n−7,S2n−7,S3n−7各々を加算したP1n−7の結果が記載されている。
【0048】
以降同様に、回文構造{3,9,3}の解析を行う回文演算部79、回文構造{3,11,3}の解析を行う回文演算部711、回文構造{3,13,3}の解析を行う回文演算部713、回文構造{3,15,3}の解析を行う回文演算部715の計算結果が記載されている。
また、右端の各解析範囲のqの値が記載されて解析範囲毎に対応した列は、塩基配列を1つずつずらして各解析結果P1が揃うように、配列し直したものである。
q(表においてはq=15)を左から
q0=qmax−2・0=15−2・0=15
q1=qmax−2・1=15−2・1=13
q2=qmax−2・2=15−2・2=11
q3=qmax−2・3=15−2・3=9
q4=qmax−2・4=15−2・4=7
:
:
qn=qmax−2・n=15−2・n
と定義して、「斜め線より回文構造把握」という文字列の下部の領域に、n=0及びn=4に「0」が存在するため、
n=0:現在の場所を中心に回文構造{3,15,3}
n=4:現在の場所の4個前を中心に回文構造{3,7,3}
という構造であることが分かる。
また、n=4:回文構造{3,7,3}、n=5:回文構造{3,5,3}のように、連続した奇数あるいは偶数に「0」が存在する場合、手前4個目の中心に回文構造{4,5,4}の回文構造が検出される。
この結果から、DNAがどのような回文構造を有するかを容易に検出することができる。
図9の例においては、42番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,15,3}に対応する回文演算部715の解析範囲が回文構造を有する検出結果、すなわちP1n−15=0となっている。また、これより4塩基前の38番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,7,3}に対応する回文演算部77の解析範囲が回文構造を有する検出結果、すなわちP1n−7=0となっている。
図視しない回文パターン合成部は、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図9の例において、38番目のパターンにてP1n−7=0であり、42番目のパターンにてP1n−15=0であることから、上記回文パターン合成部は、解析範囲が21塩基にて図12(a)に示すような3塩基対が2つある回文構造を検出する。
【0049】
また、図9の例においては、50番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,7,3}に対応する回文演算部77の解析範囲が回文構造を有する検出結果、すなわちP1n−7=0となっている。また、これより1塩基前の49番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,5,3}に対応する回文演算部75の解析範囲が回文構造を有する検出結果、すなわちP1n−5=0となっている。
図視しない回文パターン合成部は、上述したように、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図9の例において、49番目のパターンにてP1n−5=0であり、50番目のパターンにてP1n−7=0であることから、上記回文パターン合成部は、解析範囲が13塩基にて図12(b)に示すような4塩基対が1つある回文構造を検出する。
【0050】
図9における斜め線Zは1塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてP1=0であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Zを走査する検出処理において、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
上述したように、図9,10,11において、塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、利用者が符号付きの数字のパターンを見ることにより、塩基名とその相補的な関係が判らなくとも、ビジュアル(視覚)的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
【0051】
図9は、奇数回文演算部による奇数の塩基数の解析範囲における解析について述べたが、偶数の塩基数の解析範囲における解析も同様に行うことができる。
次に、図14,図15及び図16を参照して第2の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図14は回文構造システムの塩基数が偶数の解析範囲における回文構造を検出する動作を示す回文構造パターン生成の全体を示す概念図である。図15は図14における領域Aの拡大図であり、図16は図14における領域Bの拡大図である。この図14は偶数回文演算部により演算された偶数の塩基数の解析範囲における回文構造を検出した結果を示す回文構造パターン生成に関する概念図である。
上記図14は、図9と同様に、最も左の欄がゲノム配列における塩基の順番を示し、次の2つの欄にそれぞれの番号に対応した核酸塩基名および部分的に有意なコドン名が記載されている。核酸分類数(符号付き数字)の欄は、いずれの列も同様であり、塩基/数字変換部1により左の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。すなわち、図14の左すみから、ATGCの塩基名と、この塩基名ATGCに対応した+1、−1、+2、−2の符号付き数字が示されている。
【0052】
次の回文構造{3,0,3}の下部にあるS1,S2及びS3の欄には、回文演算部70における各第1の加算部370各々が加算し、絶対値部470がこの加算結果を絶対値化した絶対値S1n,S2n,S3n各々の出力が示されている。
また、回文構造{3,0,3}の下部にあるP1の欄には、第2の加算部570が絶対値S1n,S2n,S3n各々を加算したP1nの結果が記載されている。
同様に、次の回文構造{3,2,3}の下部にあるS1,S2及びS3の欄には、回文演算部72における各第1の加算部372各々が加算し、絶対値部472がこの加算結果を絶対値化した絶対値S1n−2,S2n−2,S3n−2各々の出力が示されている。
また、回文構造{3,2,3}の下部にあるP1の欄には、第2の加算部572が絶対値S1n−2,S2n−2,S3n−2各々を加算したP1n−2の結果が記載されている。
【0053】
そして、次の回文構造{3,4,3}の下部にあるS1,S2及びS3の欄には、回文演算部74における各第1の加算部374各々が加算し、絶対値部474がこの加算結果を絶対値化した絶対値S1n−4,S2n−4,S3n−4各々の出力が示されている。
また、回文構造{3,4,3}の下部にあるP1の欄には、第2の加算部574が絶対値S1n−4,S2n−4,S3n−4各々を加算したP1n−4の結果が記載されている。
同様に、次の回文構造{3,6,3}の下部にあるS1,S2及びS3の欄には、回文演算部76における各第1の加算部376各々が加算し、絶対値部476がこの加算結果を絶対値化した絶対値S1n−6,S2n−6,S3n−6各々の出力が示されている。
また、回文構造{3,6,3}の下部にあるP1の欄には、第2の加算部576が絶対値S1n−6,S2n−6,S3n−6各々を加算したP1n−6の結果が記載されている。
【0054】
以降同様に、回文構造{3,8,3}の解析を行う回文演算部78、回文構造{3,10,3}の解析を行う回文演算部710、回文構造{3,12,3}の解析を行う回文演算部712、回文構造{3,14,3}の解析を行う回文演算部714の計算結果が記載されている。
図14の例においては、39番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,4,3}に対応する回文演算部74の解析範囲が回文構造を有する検出結果、すなわちP1n−4=0となっている。
【0055】
また、50番目のパターンにて、{回文塩基、非回文塩基、回文塩基}={3,8,3}に対応する回文演算部78の解析範囲が回文構造を有する検出結果、すなわちP1n−8=0となっている。
図視しない回文パターン合成部は、すでに述べた解析範囲が奇数の塩基数である場合と同様に、1塩基ずつシフトして演算される結果において、回文構造が検出された解析範囲の検出結果を合わせることにより、回文構造が検出された最も塩基数の多い解析範囲の回文構造を検出することができる。
例えば、図14の例において、39番目のパターンにてP1n−4=0であることから、上記回文パターン合成部は、解析範囲が10塩基にて図13(a)に示すような3塩基対が1つある回文構造を検出する。
また、50番目のパターンにて、P1n−8=0であることから、上記回文パターン合成部は、解析範囲が14塩基にて図13(b)に示すような3塩基対が1つある回文構造を検出する。
【0056】
上述したように、図9,10,11と同様に、図14,15,16において塩基名を、ステムループ構造にて塩基対を形成する塩基対に同一の数字を付し、相補的な関係にある塩基同士にて極性の異なる符号を付すことにより、ビジュアル的に回文パターンが確認でき、回文構造を検出する演算が容易となることが判る。
また、図14における斜め線Zは、図9と同様に、1塩基前と合成できるか否かを検出するため、上記回文パターン合成部が各解析範囲において、ゲノム配列における塩基の番号の位置にてP1=0であるか否かを検出する走査順を示したものである。そして、回文パターン合成部は、この斜め線Zを走査する検出処理において、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果を合成処理することにより、中央部分の塩基の番号が一致する解析範囲を合成することができ、上述したように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
【0057】
そして、回文パターン合成部は、上述した偶数及び奇数の解析範囲における組み合わせにより、ゲノム配列における回文構造を検出して出力する。
なお、回文パターン合成部は、ゲノム配列における塩基の順番を示す番号により、回文構造が検出された解析範囲の存在する位置を検出することができるため、回文構造の位置を容易に出力することができる。
すなわち、回文パターン合成部は、ゲノム配列における回文構造の解析が進行する方向において、解析範囲の最後の塩基に対応する番号にて、その解析範囲に回文構造の有無を検出して、その番号に第2の加算回路の結果P1を順次記入していくことにより、各解析範囲に対応してその回文構造の有無の結果を記入することとなるため、いずれの非回文塩基の塩基数を有する解析範囲が、ゲノム配列のどの位置に存在するかを容易に確認することができる。
【0058】
<回文構造検出システムのハードウェア化>
上述したような構成は、パーソナルコンピュータにおける表計算ソフトが有する演算機能を上述した各機能として実現することができるが、DNAのゲノム配列が巨大な塩基配列であるため、大量の塩基配列のデータを高速に解析するためには、簡易な回路を用いてハードウェアにて解析することが考えられる。
このため、2つの塩基に対応する符号付き数字を加算する第1の加算回路と、その加算結果を絶対値化する絶対値部とを1つの演算ユニットとして図17に示す回路(16塩基の塩基配列単位にDNAの配列における回文構造を検出、例えば、第1の実施形態に対応して、3つの塩基対を有する回文構造{3,0,3}〜回文構造{3,10,3}の回文構造を検出する構成の回路)により構成する。
【0059】
ここで、符号付き数字は2進数のビット単位の演算となるため、塩基A,G,C,T(U)それぞれを、2進数で示すデータとして[符号,最上位ビット,最下位ビット]で表す。ここで、例えば、符号は、「+」の場合「0」とし、「−」の場合「1」とする。
したがって、塩基Aは「+1」であるため、[符号,最上位ビット(21),最下位ビット(20)]=[0,0,1]と表され、塩基T(U)は「−1」であるため、[符号,最上位ビット,最下位ビット]=[1,0,1]と表され、塩基Gは「+2」であるため、[符号ビット,最上位ビット,最下位ビット]=[0,1,0]と表され、塩基T(U)は「−2」であるため、[符号ビット,最上位ビット,最下位ビット]=[1,1,0]と表される。
この塩基毎の2進数へのデータ変換は、上述した塩基/数字変換部1が行う。
【0060】
したがって、図17の回路図に示すように、上記演算ユニットは、2つの塩基各々に対応する符号付き数字を示すビット列である[符号ビット,最上位ビット,最下位ビット]におけるそれぞれのビットの演算を行うため、符号の演算を行うEXNOR101と、最上位ビット(2ビット目)の演算を行うEXOR102と、最下位ビット(1ビット目)の演算を行うEXOR103と、EXNOR101,EXOR102及びEXOR103の演算結果で、演算した塩基同士が相補的であるか否かを演算するOR104とから構成されている。
【0061】
これにより、例えば、図17において、塩基An−5に対応する符号付き数字と、塩基Anに対応する符号付き数字とを加算した結果の絶対値Sが「0」か「1」として得られる。
例として、塩基An−5が「−2(塩基C)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[1,1,0]とし、塩基Anが「+2(塩基G)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とされる。
この場合、最下位ビットが「0」と「0」とで同一のため、EXOR103は「0」を出力し、最上位ビットが「1」と「1」とで同一のため、EXOR102は「0」を出力し、符号ビットが「1」と「0」とで異なるため、EXNOR101は「0」を出力する。
そして、OR104は、入力されるデータが全て「0」であるため、結果としての絶対値Sを「0」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成する相補的な関係にある塩基同士であることが検出されることとなる。
【0062】
また、塩基An−5が「+2(塩基G)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とし、塩基Anが同様に「+2(塩基G)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,1,0]とされる。
この場合、最下位ビットが「0」と「0」とで同一のため、EXOR103は「0」を出力し、最上位ビットが「1」と「1」とで同一のため、EXOR102は「0」を出力し、符号ビットが「0」と「0」とで同一のため、EXNOR101は「1」を出力する。
そして、OR104は、入力されるデータに「1」が含まれるため、結果としての絶対値Sを「1」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【0063】
また、塩基An−5が「+1(塩基A)」であり、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[0,0,1]とし、塩基Anが「−2(塩基C)」であると、2進数で示した符号付き数値が[符号ビット,最上位ビット,最下位ビット]=[1,1,0]とされる。
この場合、最下位ビットが「1」と「0」とで異なるため、EXOR103は「1」を出力し、最上位ビットが「0」と「1」とで異なるため、EXOR102は「1」を出力し、符号ビットが「0」と「1」とで異なるため、EXNOR101は「0」を出力する。
そして、OR104は、入力されるデータに「1」が含まれるため、結果としての絶対値Sを「1」として出力する。これにより、塩基An−5と塩基Anとがステムループ構造にて塩基対を形成しない相補的な関係に無い塩基同士であることが検出されることとなる。
【0064】
そして、図4における回文計算ユニットを、上記演算ユニットを3個と、第2の加算部に対応するOR200により、図18に示すように構成する。これは3塩基以上並んだ回文構造を把握する回文計算ユニットである。
図18は図4における偶数回文演算部である回文演算部70,72,74,76に対応する構成を示すものである。
回文演算部70,72,74,76各々には、それぞれの解析範囲に対応する回文構造{3,0,3}、回文構造{3,2,3}、回文構造{3,4,3}、回文構造{3,6,3}のゲノム配列における塩基に対応した符号付き数字のデータが入力されている。
【0065】
これにより、各回文演算部(70,72,74,76)においては、解析範囲における解析対象の塩基対同士が全て相補的である場合に「0」を出力し、いずれかが相補的でない場合に「1」を出力することとなる。
すなわち、上記回文演算部を構成する3つの演算ユニット100の全てが「0」を出力している場合、OR200は「0」を出力し、上記回文演算部を構成する3つの演算ユニット100のいずれかが「1」を出力している場合、OR200は「1」を出力する。
上述においては、回文計算ユニットを偶数回文演算部として説明したが、奇数回文演算部においても同様の構成である。
【0066】
そして、第2の実施形態において説明したように、この回文計算ユニットを使って計算させた結果の時間、すなわちゲノム配列における塩基の順番番号をずらしてレジスタに書き込むことにより、各解析範囲における回文構造を把握することができる。
図19の回路ブロックの構成例を用いて、ハードウェアにて実現した第2の実施形態の回文構造検出システムの説明を行う。この図19の回路ブロックは非回文の塩基数が偶数の場合の回文構造検出の部分を示している。図19の回路ブロックと同様の構成にて非回文の塩基数が奇数の場合の回文構造検出の部分を構成し、非回文の塩基数が偶数の場合の回文構造検出の部分と合わせることにより、本実施形態による回文構造検出システムが構成されることとなる。
【0067】
図19において、データ入力シフトレジスタは、塩基/数字変換部1がゲノム配列が塩基毎に対応する符号付き数字のデータ[符号ビット,最上位ビット,最下位ビット]を3ビット単位にて、設定された周期Tにより、順次方向Qへ転送する。このとき、データ入力シフトレジスタの各レジスタは、それぞれ転送する符号付きデータを回文計算ユニットへ出力する。
回文計算ユニット(加算結果P1を計算する単位)群は塩基対生成部2と各解析範囲に対応する回文演算部とから構成されており、上記周期T毎に入力される上記符号付きデータを基に、解析範囲に対応した回文演算部毎にその解析結果である加算結果P1をシフトレジスタ群を介して回文レジスタに対して出力する。
シフトレジスタ群は、各解析範囲に対応した回文演算部毎の出力と回文レジスタの入力との間に設けられたシフトレジスタから構成されている。
上記シフトレジスタ群における各シフトレジスタは、1ビットの加算結果P1を上記周期T毎にデータ入力シフトレジスタのデータ転送のタイミングに同期させ、解析範囲の塩基数が2つ少なくなる毎に、回文レジスタにおける解析タイミングを合わせるため、段数が1つずつ増加して(タイミングを遅延させるため)構成されている。
図19の例としては、解析範囲の塩基数が16,14,12,10,8,6となるに従い、回文計算ユニット群から回文レジスタへの間のシフトレジスタにおけるレジスタ数が0,1,2,3,4,5と増加している。
【0068】
上述したシフトレジスタ群の構成により、各回文演算部の演算結果にて、各々2つ解析範囲の少ない回文演算部の1塩基前の演算結果各々を合成処理するために必要な、各解析範囲の加算結果P1を回文レジスタに同時に出力することができ、図示しない回文パターン合成部がこの回文レジスタを参照することにより、出力中央部分の塩基の番号が一致する解析範囲を順次合成することができ、すでに第2の実施形態の説明にて述べたように、回文構造の検出された最も大きな解析範囲における塩基の回文構造を検出して出力する。
例えば、100塩基を解析範囲とすると、すでに述べたように、100塩基回文構造を検出することができる。
この場合、回文構造{回文,非回文,回文}={3,94,3}の解析範囲を用いて回文構造を検出することとなるため、データ入力シフトレジスタとしては、3ビット単位(符号ビット、最上位ビット及び最下位ビット)にて並列にビット転送を行う100段のシフトレジスタが必要である。
また、シフトレジスタ群として、以下の(1)式にて求められる数のレジスタが必要となる。
【0069】
【数1】
【0070】
解析範囲として最大の値を有する回文演算部、すなわち{回文,非回文,回文}={3,94,3}には、回文レジスタに対して加算結果P1n−94を転送する(ゲノム配列における塩基の順番をずらす)シフトレジスタが必要なく、回文演算部が48個であるため、図17における方向Qにおけるレジスタ数は48(=(94/2)+1)となり、{回文,非回文,回文}={3,0,3}の解析範囲に対応して、回文レジスタと回文演算部との間に介挿されたシフトレジスタ群における最長の段数のシフトレジタが47段のため、上記(1)式からシフトレジスタ群におけるレジスタ数を計算することができる。
したがって、100個の塩基における回文構造を検出する回路においては、1128個(=48×47)のレジスタが必要となる。
また、回文レジスタは、48個の回文演算部に対応しているため、すなわち48個の加算結果(P1n,P1n−2,…)を記憶する必要があるため、48個のレジスタが必要となる。
【0071】
そして、偶数回文演算部と奇数回文演算部とに対応させるため、上述したレジスタ数及び回文演算部の数の2倍を必要とするが、現在のLSIの集積度を考慮すると、容易に1チップ化することができる。
また、回文計算ユニットの計算が、上記周期Tの間にて、すなわち1クロック周期内にて計算できるとすると、回文計算ユニット下のデータ入力シフトレジスタにおいてデータをシフトさせるために必要な100クロックと、シフトレジスタ群における最大長のシフトレジスタ(47段)に対する47クロックの147クロック分で回文構造を把握することができる。
そして、ヒトのゲノム配列における塩基数を30億とすると、100塩基までの回文構造を知るためには、30億+147クロックにて処理できる。
ここで、30億に比し147がほぼ「0」に等しい小さい数と判断して、100MHzで動作させるとすると、
3.0×109/(100×106)=30(s)
にて処理できることがわかる。
【0072】
<第3の実施形態>
また、近年に開発された組み替えDNA実験技術または遺伝子工学という技術において多用される極めて注目すべき物質として、制限酵素というものが天然に存在することが見いだされている。この制限酵素は、自身以外の生物のDNAを認識し、特定の塩基配列における任意の場所あるいは特定の場所にて切断して分解する性質を有している(例えば、特開平10−262699号公報参照)。また、この制限酵素の多くは細菌中に存在し、この細菌に侵入する外来のDNAを排除するための機能として存在する。これらの制限酵素それぞれは、DNAにおける一種類の短い塩基配列を認識する。この認識される塩基配列の長さは通常4から6塩基対であり、切断部位の塩基配列は回文構造(パリンドローム構造)を示している。この制限酵素を用いることにより、分子生物学者は外来のDNAを、目的とするDNA、例えばプラスミドに挿入できる形とするため、プラスミドを開環させる。
また、制限酵素は、DNA分子から必要とする断片を切り取るための手段として用いられている。
プラスミドと制限酵素の発見により、DNAをクローン化し、望みのDNA断片の正確なコピーを得ることが容易となった。そのため、制限酵素を用いてその断片をDNAから単離し、それをプラスミドに挿入して、混成プラスミドを宿主細菌に導入することにより、DNA断片のコピーが容易に生成できる。
【0073】
ここで、DNA分子において、各制限酵素の切断部位の配置を示す図を制限酵素切断地図と言う。
また、従来から行われている上記制限酵素切断地図の作成手順を以下に示す。
まず、制限酵素切断地図を作成するDNAを、対象生物の組織から全ゲノムDNAとして抽出し、物理的な手法により細かく断片化し、BAC(bacterial artificial chromosome)やYAC(yeast artificial chromosome)などのベクターにクローニングしてゲノムDNAライブラリを作成する。
次に、上記ゲノムDNAライブラリに含まれるクローンの何種類かを制限酵素によって切断し、切断部位のクローン上の位置を決定して、クローンにおける制限酵素切断地図を作成する。そして、各クローン間の制限酵素切断地図を比較し、その切断パターンの解析を行い、隣接するクローンを抽出する(フィンガープリント法)。
複数のクローンについて隣接関係を特定し、ある程度の長さの領域をカバーするクローンのグループをコンティグと呼ぶ。この作業と平行して、遺伝子地図を参照して、得られた上述のコンティグを、遺伝子地図の染色体上に位置づける。
【0074】
この位置づけを行う際、位置づけするマーカーのうち、塩基配列の配列情報を有するものを利用し、その塩基配列を基にPCR(Polymerase Chain Reaction)プライマーまたはハイブリダイゼーションプローブを作成して、ゲノムDNAライブラリの中のクローンから、そのマーカーが塩基配列を有するクローンを特定する。あるコンティグに含まれるクローンの一つがこのようにして染色体上に位置づけられれば、そのコンティグそのものの染色体上の位置も明らかとなる。以上の作業を繰り返すことにより、染色体のほぼ全域にコンティグとしてのクローンを位置づけることができれば、物理地図としての制限酵素切断地図を完成させることができる。
【0075】
しかしながら、現在、高速にゲノム情報がサンガー法などにより、DNAから読み出されることから、上述した実験を繰り返して制限酵素切断地図を生成することは非常に手間がかかることになる。
ここで、DNAにおける切断部位のほとんどが4、5、6または8塩基対の回文構造であることから、第1の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができることになる。以下、制限酵素切断地図を生成するための回文構造検出システムの説明を行う。
【0076】
以下に、図22を参照して本発明の第3の実施形態によるゲノム配列における回文構造検出システムの説明を行う。図22は、本実施形態によるゲノム配列における回文構造検出システムの構成例を示すブロック図である。
本実施形態については、回文構造の解析範囲を、非回文q(=0)塩基、すなわち回文構造中に非回文塩基がなく、回文2(=r)塩基、回文3(=r)塩基からなる構造として、解析範囲の中央に対して対照な位置の塩基配列を塩基対として、解析範囲の塩基配列に対して1塩基ずつシフトさせつつ回文構造の検出を行う。
【0077】
塩基/数字変換部1は、第1の実施形態と同様に、時系列に1塩基ずつシフトして入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換え、すなわち塩基Gを「+2」、塩基Aを「+1」、塩基Cを「−2」、塩基Tを「−1」へ変換して出力する。
例えば、シフトレジスタ150は、上記塩基/数字変換部1から時系列に入力される符号の付された数字を、記塩基/数字変換部1が数字を出力するタイミングに応じて、1つずつ順次シフトさせ、シリアルに入力された数字をパラレルに出力する。このシフトレジスタ150は、後述する塩基対生成部2における解析範囲内の塩基配列数に対応する数字分だけシフトできる構成とする。
【0078】
塩基対生成部2は、シフトレジスタ150からパラレルに入力されるゲノム配列において、解析範囲内の塩基配列の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からr個ずつの塩基を両端からの位置に対応して(非回文塩基を挟んで対称位置にある塩基を)組み合わせて、予め設定された塩基対を生成する。
すなわち、塩基対生成部2は、解析範囲の中央部を挟んで、それぞれ対向する位置(非回文塩基を挟んで対称位置)にある塩基の組み合わせを塩基対として、対応する後述の回文演算部へ出力する。
【0079】
回文演算部201は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={2,0,2}に対応する構成であり、2つの第1の加算部361と、3つの絶対値部461と1つの第2の加算部561から構成されている。
第1の加算部361各々は、An−3+Anと、An−2+An−1とのそれぞれの加算を行い、それぞれの加算結果を対応する絶対値部461へ各々出力する。
絶対値部461各々は、対応する第1の加算部361から出力される演算結果の絶対値S1n,S2nを出力する。
第2の加算部561は、絶対値461各々からの絶対値S1n,S2nを加算し、加算結果P1nを出力する。この加算結果P1nが「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0080】
回文演算部202は、偶数回文演算部であり、解析範囲として、{回文塩基、非回文塩基、回文塩基}={3,0,3}に対応する構成であり、3つの第1の加算部362と、3つの絶対値部462と1つの第2の加算部562から構成されている。
第1の加算部362各々は、An−5+Anと、An−4+An−1と、An−3+An−2とのそれぞれの加算を行い、対応する絶対値部462へ各々出力する。
絶対値部462各々は、対応する第1の加算部362から出力される演算結果の絶対値S1n−1,S2n−1,S3n−1を出力する。
第2の加算部562は、絶対値462各々からの絶対値S1n−1,S2n−1,S3n−1を加算し、加算結果P1n−1を出力する。この加算結果P1n−1が「0」となれば、解析範囲における回文塩基同士が回文構造をしていることが検出される。
【0081】
データベース500には、回文構造の塩基配列における塩基の種類及び塩基の並び順とに対応して、その回文構造を切断部位とする制限酵素を表す情報が記憶されている。
検索部501は、塩基/数字変換部1が塩基を番号に変換して出力する周期単位に、P1nが「0」で出力された場合、シフトレジスタ150が出力している回文構造{2,0,2}のAn,An−1,An−2,An−3の塩基配列に対応する制限酵素をデータベース500から検索し、P1n−1が「0」で出力された場合、シフトレジスタ150が出力している回文構造{3,0,3}のAn,An−1,An−2,An−3,An−4,An−5の塩基配列に対応する制限酵素をデータベース500から検索し、検索されるとDNAの塩基配列の番号とともに出力する。
ここで、検索部501には、シフトレジスタ150のAn〜An−5各々から出力される塩基の情報(回文構造の塩基配列における塩基の種類及び塩基の並び順)と、加算結果P1n及びP1n−1と、シフトレジスタ150のAnから出力される塩基のDNAにおける配列位置を示す位置番号(塩基/数字変換部1から出力される塩基配列の先頭から何番目の塩基から塩基配列が開始されているかを示す番号)とが入力される。
【0082】
次に、図23を参照して第3の実施形態によるゲノム配列における回文構造検出システムの動作を説明する。図23は回文構造システムの動作を示す回文構造パターン生成、及び検出された回文構造の塩基配列により、その塩基配列を切断部位とする制限酵素の検索及びその回文構造のDNAにおける位置を特定し、制限酵素切断地図の生成を説明する概念図である。
以下の説明における回文構造パターン生成を説明する図23は、図示しない表示部が制限酵素切断地図生成機能を有する回文構造検出システムの検出結果を解析結果図として表示するものである。
【0083】
この図23において、最も左の列の欄がゲノム配列における塩基配列の先頭からの順番を示し、次の列の欄にそれぞれの番号に対応した核酸塩基名が記載されている。ここで、核酸分類数(符号付き数字)の欄の列は2列あって、いずれの列も同様の記載であり(この列は1列としても良い)、塩基/数字変換部1により隣接する左の列の欄の各塩基が変換された符号付き数字(核酸分類数)が記載されている。すなわち、図9と同様に、左すみの列の欄から、A、T、G、C各々の塩基名と、この塩基名A、T、G、Cに対応した+1、−1、+2、−2の符号付き数字(核酸分類数)が示されている。ここで、各核酸分類数(符号付き数字)の列は、第1の実施形態と同様に、それぞれ検出する回文構造の種類に対応しており、回文構造と検出された塩基配列の領域の核酸分類数を囲む、あるいは色を変えるなどのマーキングを行い視覚的にいずれの領域が回文構造であるかを示すために用いられる。
【0084】
次の回文構造{3,0,3}の下部には、絶対値S1n−1,Sn−1及びS3n−1の欄があり、回文演算部201における各第1の加算部351各々がシフトレジスタ150から出力される上記符号付き数字を加算し、絶対値部461がこの加算結果を絶対値化した絶対値S1n−1,S2n−1,S3n−1各々の出力が示され、また、加算結果P1n−1の欄があり、絶対値S1n−1(|An+An−5|),S2n−1(|An−1+An−4|),S3n−1(|An−2+An−3|)が加算された加算結果P1n−1の数値が示されている。
次の回文構造{2,0,2}の下部には、絶対値S1n及びSnの欄があり、回文演算部202における各第1の加算部362各々がシフトレジスタ150から出力される上記符号付き数字を加算し、絶対値部462がこの加算結果を絶対値化した絶対値S1n,S2n各々の出力が示され、また、加算結果P1nの欄があり、絶対値S1n(|An+An−3|),S2n(|An−1+An−2|)が加算された加算結果P1nの数値が示されている。
【0085】
そして、検索部501は、回文演算部201から出力される加算結果P1n、あるいは回文演算部202から出力される加算結果P1n−1が「0」であることを検出すると、いずれの回文構造が検出されたかをいずれが「0」であることを検出することにより判定し、対応する構成(回文構造{2,0,2}あるいは回文構造{3,0,3})の回文構造として検出された塩基配列に対応する制限酵素を、それぞれの回文構造の塩基配列における塩基の種類及び塩基の並び順によりデータベース500から検索する。
例えば、位置番号14から始まる塩基配列{−1,−1,1,1}={T,T,A,A}が回文構造であるため、回文演算部201は、加算結果P1nを「0」として出力する。
ここで、
S1n=|An+An−3|=0、S2n=|An−1+An−2|=0
であり、
P1n=S1n+S2n=0+0=0
となる。
【0086】
加算結果P1nが入力されることにより、検索部501は、回文演算部201から入力された加算結果P1nが「0」であるため、回文構造{2,0,2}である塩基配列{−1,−1,1,1}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−1,−1,1,1}に対応する制限酵素がデータベース500に記憶されていないことを検出し、図23に示すように、回文構造{2,0,2}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−1,−1,1,1}の領域部分をマークし、図示しない表示部に対して「特になし」を表示して、この塩基配列{−1,−1,1,1}に対応する制限酵素が無いことを通知する。
【0087】
一方、位置番号15から始まる塩基配列{−2,−1,−1,1,1,2}={C,T,T,A,A,G}が回文構造であるため、回文演算部202は、加算結果P1n−1を「0」として出力する。
ここで、
S1n−1=|An+An−5|=0、S2n−1=|An−1+An−4|=0、S3n−1=|An−2+An−3|=0
であり、
P1n−1=S1n−1+S2n−1+S3n−1=0+0+0=0
となる。
【0088】
加算結果P1n−1が入力されることにより、検索部501は、回文演算部201から入力される加算結果P1n−1が「0」であるため、回文構造{3,0,3}である塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素EcoRIがデータベース500に記憶されていることを検出し、図23に示すように、図示しない表示部に対して、回文構造{3,0,3}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−2,−1,−1,1,1,2}の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置(例えば、P1n−1が「0」と表示された右隣の欄)に、検出された制限酵素名「EcoRI」を表示し、この塩基配列{−2,−1,−1,1,1,2}に対応する制限酵素が「EcoRI」であること、および制限酵素の切断部位のDNAの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【0089】
また、回文演算部201は位置番号24において、加算結果P1nを「0」として出力する。
そして、検索部501は、回文演算部201から入力された加算結果P1nが「0」であるため、回文構造{2,0,2}である塩基配列{−2,−2,2,2}={C,C,G,G}に対応する制限酵素を、データベース500において検索する。
このとき、検索部501は、塩基配列{−2,−2,2,2}に対応する制限酵素PalIがデータベース500に記憶されていることを検出し、図23に示すように、図示しない表示部に対して、回文構造{2,0,2}に対応する核酸分類数(符号付き数字)の欄の列において、塩基配列{−2,−2,2,2}の領域部分をマークするとともに、回文構造の塩基配列の先頭の位置番号の行に対応した位置(例えば、P1nが「0」と表示された右隣の欄)に、検出された制限酵素名「PalI」を表示し、この塩基配列{−2,−2,2,2}に対応する制限酵素が「PalI」であること、および制限酵素の切断部位のDNAの塩基配列における回文構造の位置を通知する。また、上記位置番号を制限酵素名とともに表示部に表示させるようにしても良い。
【0090】
上述したように、本実施形態の回文構造検出システムにおいては、第1の実施形態と同様にDNAの塩基配列から回文構造を有する塩基配列の領域を検出し、かつ検出された回文構造の塩基配列における塩基の種類及び塩基の並び順に対応した制限酵素を、データベース500から検出し、DNAの塩基配列における先頭からの位置を示す位置番号とともに出力することにより、解析対象のDNAの塩基配列に対する制限酵素切断地図を生成する機能を有している。
本実施形態においては、回文構造{2,0,2}及び回文構造{3,0,3}の2種類の回文構造の型の検出を行う構成として説明した。
制限酵素の切断部位の塩基配列としての回文構造において、回文構造{3,0,3}の型の塩基配列が全体の約7割を占めており、回文構造{2,0,2}の型の塩基配列が全体の約1.5割以上であることから、本実施形態の回文構造検出システムで全体の8.5割以上の制限酵素の切断部位に対応した制限酵素切断地図を生成することができる。
【0091】
また、制限酵素切断地図において、より切断部位を詳細とする場合、第1の実施形態の各回文演算部を用いて、より多種類の回文構造を検出する構成を加えることにより、より詳細な制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
本実施形態の回文構造検出システムによれば、DNAにおける制限酵素による切断部位のほとんどが4塩基対(回文構造{2,0,2})、5塩基対(回文構造{2,1,2})、6塩基対(回文構造{3,0,3})または8塩基対(回文構造{4,0,4})の配列を有する回文構造であることから、第1の実施形態におけるゲノム配列における回文構造検出システムを用いることより、高速に回文構造の塩基対を検索し、容易に制限酵素の切断部位を示す制限酵素切断地図を生成することができる。
【0092】
なお、図2、図4及び図22における回文構造検出システムの機能を実現するための各部それぞれの動作を記述したプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより回文構造検出の各処理(制限酵素切断地図の作成を含む)を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0093】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【図面の簡単な説明】
【0094】
【図1】ステムループ構造及び相補的な塩基対の説明に用いる概念図である。
【図2】本発明の第1の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図3】第1の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図4】本発明の第2の実施形態における回文構造検出システムの構成例を示すブロック図である。
【図5】回文構造検出処理における、解析範囲とゲノム配列での塩基の順番との対応関係を説明する概念図である。
【図6】第2の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図7】図4における回文構造部(回文計算ユニット)の構成例を示すブロック図である。
【図8】2つの解析範囲を合成して、各回文構造部による回文の塩基数より数の多い塩基数の回文構造を検出する処理を説明する概念図である。
【図9】第2の実施形態における回文構造システムにおける奇数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図10】図9における領域Aの拡大図である。
【図11】図9における領域Bの拡大図である。
【図12】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図13】ゲノム配列において相補的な塩基同士にて塩基対が形成され、ステムループ構造が形成されることを説明する概念図である。
【図14】第2の実施形態における回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【図15】図14における領域Aの拡大図である。
【図16】図14における領域Bの拡大図である。
【図17】第1の加算部とこの第1の加算部に対応して設けられる絶対値部との機能を有する演算ユニットの構成例を示すブロック図である。
【図18】図15の演算ユニットを用いて、偶数回文演算部の構成例を示すブロック図である。
【図19】本発明の第2の実施形態による回文構造検出システムにおける偶数回文構造検出部に対応する部分の構成例を示すブロック図である。
【図20】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図21】ゲノム配列におけるステムループ構造を生成する可能性のある回文構造について説明する概念図である。
【図22】第3の実施形態における各解析範囲に対応した回文構造演算部の構成を説明する概念図である。
【図23】第3の実施形態の制限酵素切断地図作成機能が付加された回文構造システムにおける偶数回文構造部に対応する動作を示す回文構造パターン生成の全体を示す概念図である。
【符号の説明】
【0095】
1…塩基/数字変換部 2…塩基対生成部 361,362,363,364,365,366,367,368…第1の加算部 461,462,463,464,465,466,467,468…絶対値部 561,562,563,564,565,566,567,568…第2の加算部 61,62,63,64,65,66,67,68…回文演算部 370,371,372,373,374,375,376,377…第1の加算部 470,471,472,473,474,475,476,477…絶対値部 500…データベース 501…検索部 570,571,572,573,574,575,576,577…第2の加算部 70,71,72,73,74,75,76,77,201,202…回文演算部 100…演算ユニット 150…シフトレジスタ 101…EXNOR(排他的論理和の否定) 102,103…EXOR(排他的論理和) 104,200…OR(論理和)
【特許請求の範囲】
【請求項1】
ゲノム配列にて塩基対を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、ゲノム配列における回文構造を検出する回文構造検出システムであり、
入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、
ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部と、
該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有する回文演算部と
を有することを特徴とするゲノム配列における回文構造検出システム。
【請求項2】
前記第2の加算部が0を出力した場合、前記n個の塩基対による回文構造があることを検出した検出信号であることを特徴とする請求項1に記載のゲノム配列における回文構造検出システム。
【請求項3】
前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする請求項1または請求項2に記載のゲノム配列における回文構造検出システム。
【請求項4】
前記ゲノム配列における前記解析範囲を1塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする請求項1から請求項3いずれかに記載のゲノム配列における回文構造検出システム。
【請求項5】
前記回文演算部が
前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を偶数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する偶数回文演算部と、
前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する奇数回文演算部と
を有していることを特徴とする請求項1から請求項4のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項6】
両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする請求項3から請求項5のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項7】
両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を1塩基ずつシフトした検出結果を記憶する記憶部を有し、
ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする請求項3から請求項5のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項8】
前記偶数回文演算部及び奇数回文演算部各々が2入力のn個の第1の加算部と、該加算部毎に設けられた絶対値部と、n入力の第2の加算部から構成されていることを特徴とする請求項5または請求項7に記載のゲノム配列における回文構造検出システム。
【請求項9】
回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、
前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部と
をさらに有することを特徴とする請求項1から請求項8のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項1】
ゲノム配列にて塩基対を形成する塩基各々に同一の数字をあてがい、それぞれに対して極性の異なる符号を付し、ゲノム配列における回文構造を検出する回文構造検出システムであり、
入力されるゲノム配列における各塩基を、対応する符号の付された数字に置き換える塩基/数字変換部と、
ゲノム配列において、解析範囲内の両端から中央方向に塩基を一つずつずらして、該解析範囲内の各両端からn個ずつの塩基を両端からの位置に対応して組み合わせて、予め設定されたn個の塩基対を生成する塩基対生成部と、
該塩基対生成部から出力される塩基対それぞれの塩基に対応する数字を独立して加算するn個の第1の加算部と、該第1の加算部それぞれの出力に設けられ、加算結果の絶対値を算出する絶対値部と、前記解析範囲内の各加算結果の絶対値を加算する第2の加算部とを有する回文演算部と
を有することを特徴とするゲノム配列における回文構造検出システム。
【請求項2】
前記第2の加算部が0を出力した場合、前記n個の塩基対による回文構造があることを検出した検出信号であることを特徴とする請求項1に記載のゲノム配列における回文構造検出システム。
【請求項3】
前記回文演算部が、異なる塩基数からなる解析範囲毎に複数設けられていることを特徴とする請求項1または請求項2に記載のゲノム配列における回文構造検出システム。
【請求項4】
前記ゲノム配列における前記解析範囲を1塩基ずつ順次シフトさせ、シフト毎に回文構造の検出処理を行うことを特徴とする請求項1から請求項3いずれかに記載のゲノム配列における回文構造検出システム。
【請求項5】
前記回文演算部が
前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を偶数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する偶数回文演算部と、
前記解析範囲内において両端からn個の塩基にて挟まれる非加算塩基数を奇数として回文構造を検出する、前記第1の加算部と第2の加算部とを有する奇数回文演算部と
を有していることを特徴とする請求項1から請求項4のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項6】
両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲毎の回文演算部の検出結果を重ね合わせ、回文構造における対をなす塩基数を求めることを特徴とする請求項3から請求項5のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項7】
両端からn個の塩基にて挟まれる非加算塩基数を、塩基対単位にて増加させた前記解析範囲の回文演算部毎に、ゲノム配列を1塩基ずつシフトした検出結果を記憶する記憶部を有し、
ゲノム配列にて、回文構造が検出され、かつ中央が同一の前記解析範囲を重ね合わせ、検出された回文構造として出力することを特徴とする請求項3から請求項5のいずれかに記載のゲノム配列における回文構造検出システム。
【請求項8】
前記偶数回文演算部及び奇数回文演算部各々が2入力のn個の第1の加算部と、該加算部毎に設けられた絶対値部と、n入力の第2の加算部から構成されていることを特徴とする請求項5または請求項7に記載のゲノム配列における回文構造検出システム。
【請求項9】
回文構造を構成する塩基配列に対応して制限酵素が記憶されているデータベースと、
前記回文構造が検出された際、検出された前記回文構造の塩基配列に対応した前記制限酵素を検索する検索部と
をさらに有することを特徴とする請求項1から請求項8のいずれかに記載のゲノム配列における回文構造検出システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2009−93621(P2009−93621A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−188755(P2008−188755)
【出願日】平成20年7月22日(2008.7.22)
【出願人】(000003193)凸版印刷株式会社 (10,630)
【Fターム(参考)】
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願日】平成20年7月22日(2008.7.22)
【出願人】(000003193)凸版印刷株式会社 (10,630)
【Fターム(参考)】
[ Back to top ]