JP2003228565A - 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体 - Google Patents

生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体

Info

Publication number
JP2003228565A
JP2003228565A JP2002114176A JP2002114176A JP2003228565A JP 2003228565 A JP2003228565 A JP 2003228565A JP 2002114176 A JP2002114176 A JP 2002114176A JP 2002114176 A JP2002114176 A JP 2002114176A JP 2003228565 A JP2003228565 A JP 2003228565A
Authority
JP
Japan
Prior art keywords
information
data
sequence
biological substance
parity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002114176A
Other languages
English (en)
Inventor
Satoshi Omori
聡 大森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP01921886A external-priority patent/EP1313225A1/en
Application filed by Individual filed Critical Individual
Priority to JP2002114176A priority Critical patent/JP2003228565A/ja
Publication of JP2003228565A publication Critical patent/JP2003228565A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ヌクレオチド又はアミノ酸などの生物学的物
質の配列情報を少ないデータ量で近似的に記録する。 【解決手段】 標準試料EのDNAを構成する一列のヌ
クレオチドの配列を示すテキストデータを所定の変換規
則に従ってバイナリーデータに変換し、このバイナリー
データを複数行で複数列のmビットの部分データA
(i,j)に分割する。各行の部分データA(i,j)
を非配列方向にガロア体GF(2m)上で演算してパリテ
ィB1(i)〜B3(i)を求め、各列の部分データA
(i,j)を配列方向にガロア体GF(2m)上で演算し
てパリティC1(j)〜C3(j)を求め、これらのパ
リティ情報によってヌクレオチドの配列を近似的に表
す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばDNA(デ
オキシリボ核酸:deoxyribonucleic acid)、RNA(リ
ボ核酸:ribonucleic acid)、若しくは遺伝子等の核酸
の少なくとも一部を構成する一列のヌクレオチド又はタ
ンパク質の少なくとも一部を構成する一列のアミノ酸な
どの生物学的物質の配列情報の記録方法及び装置に関す
る。更に本発明は、その配列情報を供給するためのビジ
ネスモデルとして好適な配列情報の供給方法、及びその
配列情報を記録するコンピュータ読み取り可能な記録媒
体に関する。
【0002】
【従来の技術】人間、及び他の生物(動物、植物、微生
物等)のDNAを構成する1対のヌクレオチドの鎖(又
は塩基の鎖)の配列情報の解読が世界的に行われてい
る。この場合、従来よりDNAを構成する4種類のヌク
レオチドは、塩基としてアデニンを含むヌクレオチド、
グアニンを含むヌクレオチド、シトシンを含むヌクレオ
チド、及びチミンを含むヌクレオチドにそれぞれ文字
A,G,C,及びTを割り当てることによって、それぞ
れ1バイト(=8ビット)のテキストデータで表わされ
ている。その結果として一つのDNAの配列は、それを
構成する1対の重合体の鎖の内の一方の鎖のヌクレオチ
ド(n個とする)の配列を順次文字A,G,C,T(又
はa,g,c,t)の何れかで表すことによって、nバ
イトのテキストデータで表されていた。同様に、一つの
RNAを構成する1本のn個のヌクレオチドの配列は、
チミンを含むヌクレオチドの代わりにウラシルを含むヌ
クレオチドに文字U(又はu)を割り当てることによっ
て、nバイトのテキストデータで表されていた。
【0003】これに関して、例えば人間の最も大きい第
1染色体中のDNAの配列は、約2億5千万個のヌクレ
オチドの配列であり、最も小さい第22染色体中のDN
Aの配列は、約5000万個のヌクレオチドの配列であ
るため、人間の各染色体中のDNAの配列は、約250
Mバイト〜50Mバイトのテキストデータで表すことが
できる。更に、一人の人間の全部のDNA情報(ゲノ
ム)は、約30億個のヌクレオチドの配列で表すことが
できるため、そのゲノムは、約3Gバイトのテキストデ
ータで記録することができる。なお、それらのテキスト
データに対して通常のファイル圧縮技術を適用すること
によって、それらのテキストデータは、例えば元のデー
タの50%程度の圧縮ファイルとしても記録、又は送信
することができる。
【0004】また、DNAの配列の解読に続いて、DN
A中の多数の遺伝子の情報に基づいてそれぞれ合成され
るタンパク質の機能の研究も広く行われている。この場
合、タンパク質を構成する20種類のアミノ酸は、三文
字表記(3-Letter Code)ではそれぞれ3文字(例えば
Ala,Cys,Glu等)のテキストデータで表さ
れ、一文字表記(1-Letter Code)ではそれぞれ1文字
のテキストデータ(例えばA,C,E等)で表されるた
め、n個のアミノ酸よりなるタンパク質の配列は、nバ
イトのテキストデータで表すことができる。そして、種
々のタンパク質は、それらのアミノ酸が約20個〜約1
000個程度所定の順序で配列されたものであるため、
それらのタンパク質の配列は、最大でも約1kバイト程
度のテキストデータで記録することができる。また、例
えば人間の遺伝子の総数は約3万個と言われており、タ
ンパク質は理論的なものも含めて約10万種類の存在が
可能であると言われている。
【0005】
【発明が解決しようとする課題】上記の如く例えば一人
の人間のDNA情報をテキストデータで記録するために
は、全部で3Gバイト程度の記憶容量が必要であり、仮
に通常の圧縮ファイルの技術を適用しても1Gバイト程
度の記憶容量が必要である。また、人間以外の大腸菌や
各種ウィルス等のDNA情報も解析されて次第に公開さ
れるようになっているが、これらのDNA情報をテキス
トデータの形で多く集めると、数100Gバイト程度の
記憶容量が必要である。これはRNAの配列情報につい
ても同様である。
【0006】このように人間又は他の生物のDNA情報
をテキストデータ、又はこの通常の圧縮ファイルの形で
記録するものとすると、例えば1枚の記憶容量が5Gバ
イト程度のDVD−ROM(digital video disc-ROM)デ
ィスクのように膨大な記憶容量を持つ記録媒体が必要で
ある。更に、そのDNA情報を利用する場合にその記録
媒体からの読み出し時間が長くなり、処理時間が長くな
るという不都合がある。
【0007】また、現状の一般の通信回線の通信速度
は、最大で5Mbps程度であるため、例えば1Gバイ
ト程度のDNA情報をその通信回線を介して送信するも
のとすると、送信時間は最短でも約30分程度となる。
特に最近はそのDNA情報をデジタルの携帯電話システ
ムを介して送信する場合も考えられるが、現在の携帯電
話システムの通信速度はせいぜい1Mbps程度である
ため、少なくとも人間のDNA情報の伝送で使用するこ
とは現状ではあまり実用的ではない。
【0008】次に、例えば或る微生物のDNA中の遺伝
子について複数の研究者が並行して研究するような場合
に、複数の研究者が保有している標準となるDNAのヌ
クレオチドの配列の同一性をどのように保証するのかと
いう問題がある。即ち、そのDNAのヌクレオチドの配
列が例えば数Mバイト(文字数で数100万文字)程度
のテキストデータで記録されている場合に、複数の研究
者が互いに自分のテキストデータと他人のテキストデー
タとの同一性(完全一致性)を短時間に確認するのは必
ずしも容易ではない。
【0009】これに関連して、例えば人間又は他の生物
のDNA情報の利用方法としては、標準的なDNAの配
列と、検査対象のDNAの配列との間の相違する部分を
サーチする場合が考えられる。これは、いわゆるSNP
(一塩基変位多型:Single Nucleotide Polymorphism)
の可能性を検査するような場合に必要になると考えられ
る。しかしながら、両方のDNAのヌクレオチドの配列
がそれぞれ膨大なテキストデータで表わされている場合
に、それら2つのテキストデータを比較して相違点を検
出するにはかなりの長い時間が必要となり、検査時間が
長くなるという不都合がある。
【0010】更に、人間又は他の生物のDNA情報を製
薬会社の研究者等のユーザに提供するビジネスも行われ
つつあるが、この場合に、情報供給者が例えば通信回線
を介してDNA情報をユーザに提供する場合には、でき
るだけ少ない情報量で、即ち短い送信時間で必要な情報
をユーザに提供できるビジネスモデルが必要である。ま
た、ユーザ側では、提供されたDNA情報に伝送エラー
等が無いかどうかを容易に確認できることが望ましい。
上記の各課題はRNAのヌクレオチドの配列情報につい
ても同様に当てはまるものである。
【0011】更に、一つのタンパク質のアミノ酸の配列
は、最大でも約1kバイト程度のテキストデータで記録
することができるが、タンパク質の種類は理論的に約1
0万個程度にもなるため、全部のタンパク質の配列情報
をテキストデータで表すと、全部のDNAの配列情報程
度の膨大な量となる。従って、個々のタンパク質の配列
は、できるだけ少ない情報量で記録できることが望まし
い。また、2つのタンパク質の配列情報の相違部を容易
に確認できるシステムも必要である。
【0012】本発明は斯かる点に鑑み、核酸中の一列の
ヌクレオチド、又はタンパク質中の一列のアミノ酸など
の生物学的物質の配列情報を近似的に少ないデータ量で
記録できる記録方法及び装置を提供することを第1の目
的とする。また、本発明は、2つの生物学的物質の配列
情報同士の相違する部分を少ないデータ量で容易に検出
できると共に、必要に応じてその相違する部分の情報を
復元できる記録方法及び装置を提供することを第2の目
的とする。
【0013】また、本発明は、一列のヌクレオチド、又
は一列のアミノ酸などの生物学的物質の配列情報をユー
ザに提供する場合に、ユーザが提供された配列情報と情
報供給者が保持している配列情報との相違する部分を少
ないデータ量で容易に確認できるビジネスモデル(情報
供給方法)を提供することを第3の目的とする。また、
本発明は、生物学的物質の配列情報が少ないデータ量で
近似的に記録されたコンピュータ読み取り可能な記録媒
体を提供することを第4の目的とする。
【0014】
【課題を解決するための手段】本発明による第1の生物
学的物質の配列情報の記録方法は、その生物学的物質の
配列に対応するテキストデータ、又はこのテキストデー
タを所定の規則に従って変換して得られる数値データ
を、その生物学的物質の配列方向に複数行で、かつその
配列方向に交差する非配列方向に複数列の長さがmビッ
ト(mは16以上の整数)の部分データ(A(i,
j))に分割し、複数行のその部分データに各行毎にそ
の非配列方向にガロア体GF(2m )上の第1の演算を
施して第1組のパリティ情報(B1(i),B2
(i),B3(i))を求めると共に、複数列のその部
分データに各列毎にその配列方向にガロア体GF
(2m )上の第2の演算を施して第2組のパリティ情報
(C1(j),C2(j),C3(j))を求め、その
第1組及び第2組のパリティ情報でその生物学的物質の
配列を表すものである。
【0015】斯かる本発明によれば、その生物学的物質
としては、例えば一列のヌクレオチド又は一列のアミノ
酸が考えられる。前者の一列のヌクレオチドは、例えば
或るDNA(deoxyribonucleic acid)を構成する1対
の重合体の鎖の一方の鎖の少なくとも一部、或るRNA
(ribonucleic acid)を構成する1列の重合体の鎖の少
なくとも一部、又は或る遺伝子の少なくとも一部であ
る。その一列のヌクレオチドの配列は、各ヌクレオチド
に含まれる塩基の配列ともみなすことができる。一方、
後者の一列のアミノ酸は、例えば或るタンパク質を構成
するアミノ酸の配列の少なくとも一部である。
【0016】その生物学的物質の全体の個数をNTとし
て、各生物学的物質をそれぞれ1文字(例えばアルファ
ベット)で表すものとすると、その生物学的物質の配列
に対応するテキストデータの全体の量は、例えばアスキ
ーコード(ASCII code)(ANSI形式)ではNTバイ
トになり、ユニコード(Unicode)では2・NTバイトに
なる。なお、配列を見易くするためのスペース、数字、
及び改行などのコードは無視している。そして、例えば
図7の例において、テキストデータを配列方向にN個
(i=1〜N)で、非配列方向にM個(j=1〜M)の
部分テキストデータT(i,j)に分割し、図8に示す
ように、各部分テキストデータT(i,j)をそれぞれ
mビットの部分データA(i,j)に変換する。mビッ
トの部分データA(i,j)は、それぞれn個(図8の
例ではn=16)の連続する生物学的物質の配列を表し
ている。
【0017】この場合、最も簡単な方法としては、部分
データA(i,j)として部分テキストデータT(i,
j)そのものを数値データとみなしたデータを使用すれ
ばよい。即ち、テキストデータがアスキーコードで記録
されている場合には、部分データA(i,j)としては
そのアスキーコードを使用すればよい。また、テキスト
データがユニコードで記録されている場合には、各文字
をそれぞれの2バイトのコードの上位1バイトで表した
ものを部分データA(i,j)としてもよい。但し、処
理対象のデータ量を少なくするためには、各生物学的物
質を表す文字を例えば6ビット以下の数値データに変換
する変換テーブル(所定の規則)を用いて、部分テキス
トデータT(i,j)を変換して得られる数値データを
部分データA(i,j)とすることが望ましい。
【0018】次に、mビットの各部分データA(i,
j)を非配列方向、及び配列方向に演算することによっ
て、各行及び各列の配列情報を近似的に表すデータを算
出する。このためには、mビットのデータを加減乗除の
対象にできる体(Field)が必要であり、本発明ではその
ために第1の方法としてガロア体(拡大ガロア体)GF
(2m )を用いる。ガロア体GF(2m )を用いた場合
には、各行又は各列毎にmビットの部分データA(i,
j)、及び必要に応じてmビットの係数を用いて所定の
加減乗除演算(第1又は第2の演算)を行ったときに得
られる一つの情報(これを本発明では「パリティ情報」
と呼ぶ。)がmビットであるため、配列情報を少ないデ
ータ量で簡潔に記録できる利点がある。
【0019】2を法とする数(0及び1)で表される体
をZ2 とすると、ガロア体GF(2 m )上の演算は、体
2 上の係数を持つm次の既約多項式GF(X)を用い
て定義することができる。即ち、2つのmビットの部分
データA(i,j),A(i’,j’)をそれぞれ2進
数表示で(am-1m-2 ・・・ a10 ),(bm-1
m-2 ・・・ b10 )とすると(ak,bk は0又は1)、
これらをそれぞれ次のように(m−1)次以下の多項式
AF(X),BF(X)に変換する。
【0020】 AF(X)=am-1・Xm-1 +am-2・Xm-2 +・・・ +a1・X +a0 …(1) BF(X)=bm-1・Xm-1 +bm-2・Xm-2 +・・・ +b1・X +b0 …(2) この場合、ガロア体GF(2m )上でAF(X)とBF
(X)とを加算する場合には、Xの各次数k(k=0〜
(m−1))において、係数ak と係数bk とを体Z2
上で加算すればよい。体Z2 上では加算と減算とは同じ
結果になる。この結果、得られた多項式の係数を2進数
表示で表したもの(ベクトル表示)が、部分データA
(i,j),A(i’,j’)をガロア体GF(2m
上で加算した結果になる。これは、ビット毎に排他的論
理和演算を行うのと同じ結果である。
【0021】次に、ガロア体GF(2m )上でAF
(X)にBF(X)を乗算する場合には、先ず通常の乗
算を行って積を求めた後、この積を既約多項式GF
(X)で除算した後の余りの多項式CF(X)を次のよ
うに求める(ck は0又は1)。これを既約多項式GF
(X)を法(modulus)とする乗算と呼ぶ。この際にもX
の各次数での係数の加算(減算)は体Z2 上で行われ
る。
【0022】 CF(X)=cm-1・Xm-1 +cm-2・Xm-2 +・・・ +c1・X +c0 …(3) この多項式CF(X)の係数を2進数表示で表したもの
(cm-1m-2 ・・・ c 10 )が、部分データA(i,
j),A(i’,j’)をガロア体GF(2m)上で乗
算した結果になる。また、任意のmビットの係数をβと
すると、係数βも(2)式と同様の(m−1)次以下の
多項式DF(X)で表される。従って、例えば部分デー
タA(i,j)に係数βを乗算する場合には、(1)式
の多項式AF(X)と多項式DF(X)との積を既約多
項式GF(X)を法として計算すればよい。また、例え
ば部分データA(i,j)を係数βで除算する場合に
は、部分データA(i,j)にβの逆元β-1を乗算すれ
ばよい。
【0023】従って、mビットの全てのデータ(全ての
部分データA(i,j)が含まれる)は、ガロア体GF
(2m )上のベクトル表示での元とみなすことができ、
mビットのデータは、多項式表示では、(1)式のよう
な(m−1)次以下の多項式で表すことができる。ま
た、生物学的物質の配列(文字列)を部分データA
(i,j)に対応させる変換テーブル(所定の規則)の
逆変換を用いて、必要に応じてそのベクトル表示のmビ
ットのデータを文字列に変換することによって、そのデ
ータに対応する生物学的物質の配列が得られる。
【0024】そして、本発明では、例えば図8に示すよ
うに、部分データA(i,j)が配列方向にN個(i=
1〜N)で、非配列方向にM個(j=1〜M)で配列さ
れ、各行毎に第1組のパリティ情報(B1(i),B2
(i),B3(i))が得られ、各列毎に第2組のパリ
ティ情報(C1(j),C2(j),C3(j))が得
られる。これら2組のパリティ情報の内の1つのパリテ
ィ情報(例えばB1(1))はそれぞれ1つの部分デー
タA(i,j)と同じmビットのデータで表される。
【0025】この場合の部分データA(i,j)の全体
のデータ量DT1は、以下のようになる。 DT1=m・N・M(ビット) …(4) また、第1組及び第2組のパリティ情報が、それぞれe
個(eは1以上の整数)のパリティ情報を含むとする
と、パリティ情報全体のデータ量DS1は、以下のよう
になる。なお、e個のパリティ情報を含む場合には、各
行及び各列において、それぞれe個までの部分データA
(i,j)を復元できる。
【0026】 DS1=m・e・(N+M)(ビット) …(5) 従って、例えば生物学的物質がDNAを構成するヌクレ
オチドであるとして、仮にN=64,M=128,e=
2とすると、(4)式及び(5)式よりデータ量DT
1,DS1は以下のようになる。 DT1=m・8192(ビット) …(6) DS1=m・384(ビット)≒DT1/20 …(7) 従って、パリティ情報のデータ量は、部分データA
(i,j)全体のデータ量のほぼ1/20程度に少なく
できる。この場合、例えば人間の1本の染色体のDNA
の配列は、50Mバイト〜250Mバイト程度のテキス
トデータで表されるため、予めそのテキストデータを5
00個〜2500個程度のブロックに分割し、各ブロッ
ク毎に2組のパリティ情報を求めることによって、全部
のパリティ情報のデータ量はそのテキストデータのほぼ
1/20程度、即ち2.5Mバイト〜12.5Mバイト
程度に少なくできる。また、その部分データA(i,
j)が、例えばテキストデータを1/fに小さくしたデ
ータ量である場合には、パリティ情報も更に1/fだけ
少なくすることができる。
【0027】本発明によれば、元の生物学的物質の配列
情報を近似的に表す情報(パリティ情報)を、元のテキ
ストデータよりも少ないデータ量のファイルに記録する
ことができる。従って、記録媒体として、DVD−RO
Mのような大容量の媒体の他に、CD−ROM、及びフ
ラッシュROMのような小容量でも通常のコンピュータ
で手軽に再生できる媒体を使用できる。更に、少ないデ
ータ量の配列情報であれば、通信回線を介して短時間に
送信できるため、そのパリティ情報は、例えば携帯電話
システムなどを介してユーザに安価に供給することも可
能となる。
【0028】そして、第1組のパリティ情報、及び第2
組のパリティ情報を用いることによって、ユーザ側で
は、2つの生物学的物質の配列の相違する部分を容易に
特定することができると共に、相違する部分の個数が各
行、又は各列でe個以下である場合には、パリティ情報
を用いて相違する部分の配列の復元を行うことも可能と
なる。
【0029】なお、テキストデータが記録されたファイ
ルが通常の圧縮技術(ZIPファイル、LHAファイル
等)で圧縮できるように、本発明のパリティ情報が記録
されたファイルも更に通常の圧縮技術を用いて圧縮して
記録できることは言うまでもない。但し、圧縮されたフ
ァイルを使用する場合には、解凍作業が必要になり、最
終的には元のファイルを復元する必要があるため、元の
ファイル自体のデータ量を減らしておくことは極めて有
効である。
【0030】次に、上記の本発明において、そのガロア
体GF(2m )上の生成元をαとしたとき、一例とし
て、その第1組のパリティ情報は、複数行の各行のその
部分データ(A(i,j))にそれぞれその非配列方向
に順次αsp,αs(p+1),αs(p+ 2),…,αs(p+dp)(s
は0以上の整数、pは0以上の整数、dpは1以上の整
数)を乗算した後、この演算で得られた複数の積につい
て各行毎に求められた和を含み、その第2組のパリティ
情報は、複数列の各列のその部分データ(A(i,
j))にそれぞれその配列方向に順次αtq,αt(q+1)
αt(q+2),…,αt(q+ dq)(tは0以上の整数、qは0
以上の整数、dqは1以上の整数)を乗算した後、この
演算で得られた複数の積について各列毎に求められた和
を含むものである。
【0031】この場合、p=q=0とすると、第1組の
パリティ情報B1(i)、及び第2組のパリティ情報C
1(j)は、それぞれガロア体GF(2m )上の次の演
算によって計算される。(8)式のΣはjについて1〜
Mまでの和を表し、(9)式のΣはiについて1〜Nま
での和を表している。 B1(i)=Σαs(j-1)・A(i,j)=A(i,1)+αs・A(i,2) +α2s・A(i,3)+…+α(M-1)s・A(i,M) …(8) C1(j)=Σαt(i-1)・A(i,j)=A(1,j)+αt・A(2,j) +α2t・A(3,j)+…+α(N-1)t・A(N,j) …(9) そして、(8)式、(9)式でs=t=0とすると、パ
リティ情報B1(i),C1(j)は、それぞれ部分デ
ータA(i,j)のガロア体GF(2m )上の和、即ち
各行又は各列で部分データA(i,j)に排他的論理和
演算を施して得られる値を示す。従って、簡単な演算
で、各行及び各列の配列の近似的な情報を求めることが
できる。但し、この場合には、各行又は各列で2つの部
分データA(i,j)が入れ替わったような配列に対し
ても、パリティ情報B1(i),C1(j)は同じ値に
なってしまう。
【0032】次に、s=t=1とすると、パリティ情報
B1(i),C1(j)は、それぞれ各行又は各列で部
分データA(i,j)に1,α,α2 ,α3 ,…を乗算
して得られる積の和を示す。この場合、各行又は各列で
2つの部分データA(i,j)が入れ替わったような配
列に対しても、パリティ情報B1(i),C1(j)は
異なった値となるため、例えば2つの生物学的物質の配
列間の相違する部分をより正確に特定することができ
る。そして、或るs(≠0)(又はt(≠0))の値に
おいて、そのように各行又は各列で2つの部分データに
常に異なる係数を乗ずるためには、係数αs(j-1)(又は
αt(i-1))は互いに異なる必要がある。そのためには、
αをガロア体GF(2m )上の生成元として、各行及び
各列の部分データA(i,j)の個数を(2m −1)/
s(又は(2m −1)/t)以下とすればよい。即ち、
αを生成元とすることによって、扱う生物学的物質の配
列を最も大きくすることができる。
【0033】また、各行及び各列において、それぞれ1
つのパリティ情報を用いることによって、2つの生物学
的物質の配列を比較する場合に、各行及び各列における
1つの部分データA(i,j)の相違部を正確に復元す
ることができる。従って、例えば遺伝子中の一つの塩基
(ヌクレオチド)だけが異なるSNP(一塩基変位多
型:Single Nucleotide Polymorphism) は本発明によっ
て容易に検出できると共に、それに対応する正常な配列
も容易に復元できる。
【0034】更に、各行及び各列における複数個s’及
びt’の部分データA(i,j)の相違部を正確に復元
するためには、その第1組のパリティ情報(B1
(i),B2(i),B3(i))は、その複数行の各
行毎にその整数sについて互いに異なる複数(s’個)
の値で求めた複数の和を含み、その第2組のパリティ情
報(C1(j),C2(j),C3(j))は、その複
数列の各列毎にその整数tについて互いに異なる複数
(t’個)の値で求めた複数の和を含むようにすればよ
い。その相違部を復元するためには、ガロア体GF(2
m )上でs’元(t’元)の1次連立方程式を解けばよ
い。
【0035】また、本発明においては、その部分データ
のその配列方向の個数を、その部分データのその非配列
方向の個数よりも少なくして、その第2組のパリティ情
報の個数を、その第1組のパリティ情報の個数よりも少
なくしてもよい。特に本発明によって得られるパリティ
情報をディスプレイに表示するような場合には、その部
分データの配列方向の個数をそのディスプレイの横幅に
対応する数に制限し、その部分データの非配列方向の個
数を大きくすることによって、その非配列方向のデータ
は、その表示画面上での上下方向へのスクロールによっ
て容易に表示できるため、配列情報を効率的に、且つ分
かり易く表示できる。
【0036】但し、このように部分データの配列方向の
個数が非配列方向の個数よりも少ないときには、その第
1組及び第2組のパリティ情報を同じ量にすると、パリ
ティ情報の情報量が全体として多くなる。そこで、配列
方向のパリティ情報(第2組のパリティ情報)の個数を
非配列方向のパリティ情報(第1組のパリティ情報)の
個数よりも少なくすることによって、パリティ情報を少
なくして、且つ2つの配列間の相違部の復元を効率的に
行うことができる。
【0037】また、その部分データの前記非配列方向の
個数を、(2m −1)/4 以下にすることが望まし
い。これによって、その非配列方向において4つの異な
る係数(αk ,α2k,α3k,α4k)を乗ずることができ
るため、2つの配列間の各行の相違部(非配列方向の相
違部)を4個まで正確に復元することができる。これは
通常のSNPの検出などには十分であると思われる。
【0038】また、本発明において、そのガロア体GF
(2m )を規定する整数mは64の倍数であることが望
ましい。最近のコンピュータにはデータの処理単位が6
4ビットであるタイプが増加しているため、整数mを6
4の倍数とすることによって、効率的にパリティ情報を
算出することができる。また、本発明において、その生
物学的物質の配列を基準配列として、この基準配列のそ
の2組のパリティ情報に対応させて、検査対象の生物学
的物質の配列についてその2組のパリティ情報を求め、
その4組のパリティ情報よりその基準配列に対するその
検査対象の生物学的物質の配列の相違部を求めるように
してもよい。このように基準配列の2組のパリティ情報
と、検査対象の2組のパリティ情報とを比較するのみ
で、相違部の位置を容易に検出できると共に、相違部が
各行及び各列で所定個数以下であれば、4組のパリティ
情報と検査対象の生物学的物質の配列とから、連立方程
式を解くことによって、基準配列の相違部のデータを正
確に復元することもできる。
【0039】次に、本発明の生物学的物質の配列情報の
記録装置は、その生物学的物質の配列情報を読み取る配
列読み取り装置(4)と、その生物学的物質の配列に対
応するテキストデータ、又はこのテキストデータを所定
の規則に従って変換して得られる数値データを、その生
物学的物質の配列方向に複数行で、かつその配列方向に
交差する非配列方向に複数列の長さがmビット(mは1
6以上の整数)の部分データ(A(i,j))に分割す
るデータ配列手段(10,ステップ105)と、複数行
のその部分データに各行毎にその非配列方向にガロア体
GF(2m )上の第1の演算を施して第1組のパリティ
情報を求めると共に、複数列のその部分データに各列毎
にその配列方向にガロア体GF(2m )上の第2の演算
を施して第2組のパリティ情報を求める演算手段(1
0,ステップ106)と、その第1組及び第2組のパリ
ティ情報を記録媒体に記録する記録手段(15)とを有
するものである。これによって、本発明のヌクレオチド
やアミノ酸などの生物学的物質の配列情報の記録方法が
実施できる。
【0040】この本発明の記録装置において、そのガロ
ア体GF(2m )上の生成元をαとしたとき、一例とし
てその第1組のパリティ情報は、複数行の各行のその部
分データ(A(i,j))にそれぞれその非配列方向に
順次αsp,αs(p+1),αs(p+ 2),…,αs(p+dp)(sは
0以上の整数、pは0以上の整数、dpは1以上の整
数)を乗算した後、この演算で得られた複数の積につい
て各行毎に求められた和を含み、その第2組のパリティ
情報は、複数列の各列のその部分データにそれぞれその
配列方向に順次αtq,αt(q+1),αt(q+2),…,α
t(q+dq)(tは0以上の整数、qは0以上の整数、dq
は1以上の整数)を乗算した後、この演算で得られた複
数の積について各列毎に求められた和を含むものであ
る。この場合、部分データ(A(i,j))に乗ずる係
数は、生成元αだけから計算できるため、演算が単純化
される。
【0041】また、本発明の記録媒体は、生物学的物質
の配列情報を記録したコンピュータ読み取り可能な記録
媒体(16)であって、その生物学的物質の配列に対応
するテキストデータ、又はこのテキストデータを所定の
規則に従って変換して得られる数値データを、その生物
学的物質の配列方向に複数行で、かつその配列方向に交
差する非配列方向に複数列の長さがmビット(mは16
以上の整数)の部分データに分割し、複数行のその部分
データに各行毎にその非配列方向にガロア体GF
(2m )上の第1の演算を施して第1組のパリティ情報
を求めると共に、複数列のその部分データに各列毎にそ
の配列方向にガロア体GF(2m )上の第2の演算を施
して第2組のパリティ情報を求め、その生物学的物質の
配列に関する情報を、その第1組及び第2組のパリティ
情報として記録したものである。
【0042】本発明によれば、ヌクレオチドやアミノ酸
などの生物学的物質の配列情報を近似的に表すパリティ
情報を少ないデータ量でその記録媒体に記録できるた
め、記録媒体としてCD−ROM,CD−R、フラッシ
ュROMなどの記録容量は比較的少ないが、使い勝手の
良い媒体をも使用できる。この場合、その生物学的物質
の配列に対応するそのテキストデータ、又はこのテキス
トデータに対応するその数値データの40ビット以上の
長さの数学的な要約値(message digest)を更にその記
録媒体に記録することが望ましい。
【0043】その数学的な要約値は、その生物学的物質
の配列に対応するテキストデータ又は数値データに例え
ばMD5ハッシュ関数(要約値は128ビット)、又は
SHS(Secure Hash Standard)ハッシュ関数(要約値
は160ビット)などのハッシュ関数の演算を施して得
られるものである。その要約値を用いることによって、
比較対象の2つの生物学的物質の膨大な配列が一致する
かどうかを高い確率で極めて容易に確認することができ
る。また、パリティ情報を用いて相違する部分データの
復元を行った後に、要約値を比較することによって、デ
ータが完全に復元できたかを確認することができる。そ
の要約値が40ビット以上であれば、例えば全人類のD
NAのヌクレオチドの配列情報をほぼ互いに衝突するこ
となく表すことができる。
【0044】この場合、ガロア体GF(2m )を決定す
る整数mが64の倍数であるときには、要約値が64ビ
ットの倍数となるハッシュ関数(例えばMD5ハッシュ
関数)を用いることが望ましい。演算を効率的に実行で
きるからである。次に、本発明の第1の生物学的物質の
配列情報の供給方法は、その生物学的物質の配列に対応
するテキストデータ、又はこのテキストデータを所定の
規則に従って変換して得られる数値データを保持する供
給者(2A)が、そのテキストデータ、又はこれに対応
するその数値データを第1ファイル(19)に記録して
保持する第1ステップ(ステップ104)と、その第1
ファイルに記録されているそのテキストデータ、又はこ
のテキストデータに対応するその数値データを、その生
物学的物質の配列方向に複数行で、かつその配列方向に
交差する非配列方向に複数列の長さがmビット(mは1
6以上の整数)の部分データに分割し、複数行のその部
分データに各行毎にその非配列方向にガロア体GF(2
m )上の第1の演算を施して第1組のパリティ情報(B
1(i)〜B3(i))を求めると共に、複数列のその
部分データに各列毎にその配列方向にガロア体GF(2
m )上の第2の演算を施して第2組のパリティ情報(C
1(j)〜C3(j))を求める第2ステップ(ステッ
プ105,106)と、その供給者が、その第1組及び
第2組のパリティ情報を第2ファイル(20)に記録し
て保持する第3ステップ(ステップ107)と、その生
物学的物質の配列情報のユーザ(2B)が、通信回線
(1)を介してその供給者よりその第2ファイルに記録
されているその2組のパリティ情報を受け取る第4ステ
ップ(ステップ110,129)とを有するものであ
る。
【0045】この供給方法は、上記の本発明の生物学的
物質の配列情報の記録方法を、その配列情報を供給(販
売)する際のビジネスモデルに適用したものである。即
ち、本発明のビジネスモデルでは、或る生物XのDNA
のヌクレオチド、又はタンパク質のアミノ酸などの生物
学的物質の配列を最初に解読した供給者は、その配列の
テキストデータ(又はこれを変換した数値データ)よ
り、その配列情報を少ないデータ量で近似するパリティ
情報を算出し、これをその通信回線を介してユーザに供
給する。上述のように、一例としてパリティ情報は、元
のテキストデータの1/20程度のデータ量であるた
め、そのパリティ情報はその通信回線を介して短時間で
受信することができる。
【0046】本発明の供給方法においては、更にそのユ
ーザが、その2組のパリティ情報に基づいて検査対象の
生物学的物質の配列情報の内のその供給者の生物学的物
質の配列情報との相違部を特定する第5ステップ(ステ
ップ130,131)と、この相違部の配列の復元がで
きない場合に、そのユーザがその通信回線を介してその
供給者よりその第1ファイルに記録されているそのテキ
ストデータ、又はその数値データの内のその配列の復元
ができない部分の配列情報を受け取る第6ステップ(ス
テップ135)とを有することが望ましい。
【0047】このようにユーザ側で、パリティ情報だけ
で検査対象の配列内の供給者の配列との相違部の特定、
及び復元ができる場合には、それ以上の配列情報を購入
する必要が無い。一方、相違部が多く存在し、パリティ
情報のみでは全部の正確なデータが復元できない場合に
は、例えば復元できない部分のテキストデータ(又は数
値データ)のみを購入することによって、通信回線を介
して必要な配列情報を短時間に購入できる。従って、通
信回線として、携帯電話システムのような比較的低速の
通信回線も使用できる。
【0048】また、本発明の供給方法においては、その
ガロア体GF(2m )上の生成元をαとしたとき、一例
として、その第1組のパリティ情報は、複数行の各行の
その部分データにそれぞれその非配列方向に順次αsp
αs(p+1),αs(p+2),…,α s(p+dp)(sは0以上の整
数、pは0以上の整数、dpは1以上の整数)を乗算し
た後、この演算で得られた複数の積について各行毎に求
められた和を含み、その第2組のパリティ情報は、複数
列の各列のその部分データにそれぞれその配列方向に順
次αtq,αt(q+1),αt(q+2),…,αt(q+dq)(tは0
以上の整数、qは0以上の整数、dqは1以上の整数)
を乗算した後、この演算で得られた複数の積について各
列毎に求められた和を含むものである。
【0049】これらのパリティ情報を用いることによっ
て、そのユーザは、SNP(一塩基変位多型)などを容
易に検出することができる。また、その供給方法におい
ては、その供給者は、その生物学的物質の配列の長さの
情報、及びその配列を表すテキストデータ又はその数値
データの数学的な要約値の情報をその通信回線を介して
閲覧可能な状態にしておき、そのユーザは、その第4ス
テップの前にその通信回線を介してその配列の長さの情
報及びその数学的な要約値の情報を閲覧する(ステップ
121)ことが望ましい。
【0050】この場合、その供給者は、その生物Xの生
物学的物質の配列のテキストデータ(又はこれを変換し
た数値データ)よりハッシュ関数によって算出した要約
値(message digest)を例えばインターネット上で閲覧
可能にする。これによって、その供給者は、そのテキス
トデータ自体を公開することなく、最初にその生物Xの
生物学的物質の配列を解読したことを主張できる。更
に、ユーザが同じ配列情報を異なる供給者から誤って購
入することも防止できる。
【0051】また、或るユーザが、その供給者よりその
生物学的物質の配列情報を購入した後、購入した配列情
報よりそのハッシュ関数によって要約値を算出し、その
配列の長さも求める。そして、この配列の長さ、及び要
約値をインターネット上で公開されている値と比較する
ことによって、購入した配列情報が正確なものであるか
どうかを極めて高い確率で確認できる。
【0052】この場合、一例として、その数学的な要約
値は、40ビット以上で192ビット以下のデータであ
り、その供給者は、更にその生物学的物質の所定の一部
の配列の情報をその通信回線を介して閲覧可能な状態に
しておくことが望ましい。その要約値、及びその配列の
長さの他に、そのように例えばその配列の先頭の8個程
度、及び後端の8個程度の配列を比較することによっ
て、同一性の確認をより高精度に行うことができる。
【0053】次に、本発明による第2の生物学的物質の
配列情報の記録方法は、その生物学的物質の配列に対応
するテキストデータ、又はこのテキストデータを所定の
規則に従って変換して得られる数値データを、その生物
学的物質の配列方向に複数行で、かつその配列方向に交
差する非配列方向に複数列の長さがmビット(mは16
以上の整数)の部分データ(A(i,j))に分割し、
その部分データの最大値をNmax、この最大値Nma
xよりも大きい素数をPとして、複数行のその部分デー
タに各行毎にその非配列方向にガロア体GF(P)上の
第1の演算を施して第1組のパリティ情報を求めると共
に、複数列のその部分データに各列毎にその配列方向に
ガロア体GF(P)上の第2の演算を施して第2組のパ
リティ情報を求め、その第1組及び第2組のパリティ情
報でその生物学的物質の配列を表すものである。
【0054】斯かる本発明によれば、その生物学的物質
としては、例えば一列のヌクレオチド又は一列のアミノ
酸が考えられる。前者の一列のヌクレオチドは、例えば
或るDNAの一方の鎖の少なくとも一部、或るRNAを
構成する1列の重合体の鎖の少なくとも一部、又は或る
遺伝子の少なくとも一部である。そして、例えば図7の
例において、その生物学的物質の配列情報を示すテキス
トデータを配列方向にN個(i=1〜N)で、非配列方
向にM個(j=1〜M)の部分テキストデータT(i,
j)に分割し、図8に示すように、各部分テキストデー
タT(i,j)をそれぞれmビットの部分データA
(i,j)に変換する。mビットの部分データA(i,
j)は、それぞれn個(図8の例ではn=16)の連続
する生物学的物質の配列を表している。
【0055】次に、mビットの各部分データA(i,
j)を非配列方向、及び配列方向に演算することによっ
て、各行及び各列の配列情報を近似的に表すデータを算
出する。このためには、mビットのデータを加減乗除の
対象にできる体(Field)が必要であり、本発明ではその
ために第2の方法としてガロア体GF(P)を用いる。
ガロア体GF(P)を用いた場合、その部分データA
(i,j)の最大値が(2 m −1)であると、その素数
Pは(m+1)ビットの値となり、各行及び各列の部分
データにガロア体GF(P)上の所定の演算を施して得
られる一つの情報(これを本発明では「パリティ情報」
と呼ぶ。)も(m+1)ビットで表されるため、各パリ
ティ情報のデータ量が1ビットだけ大きくなる。しかし
ながら、全体として見ると、ガロア体GF(2m )を用
いる場合とほぼ同程度に少ないパリティ情報で、元の配
列情報を近似することができる。更に本発明によれば、
そのパリティ情報を求めるための演算はガロア体GF
(2m )での演算に比べると簡単である。
【0056】本発明においても、2つの配列の比較を行
う際にそのパリティ情報を比較することによって、相違
部の特定、及び相違部の或る程度の復元を行うことがで
きる。本発明においては、その部分データの最大値Nm
axは(2m −1)よりも小さい値であることが望まし
い。これを実現する最も簡単な方法は、部分データA
(i,j)として、この部分データに対応する配列を表
すテキストデータそのもの(数値データとみなす)を使
用することである。このとき、その素数Pは、次の関係
を満たすように選択できることが望ましい。
【0057】2m >P>Nmax …(A1) これは、その素数Pをその最大値Nmaxよりも大きい
mビットの数とすることを意味する。これによって、パ
リティ情報もmビットのデータとなるため、ガロア体G
F(2m )よりも簡単な演算でよいことと、ガロア体G
F(2m )を用いる場合と同じデータ量でパリティ情報
を表すこととを両立できる。
【0058】この場合、そのガロア体GF(P)上の生
成元をδとしたとき、一例としてその第1組のパリティ
情報は、複数行の各行のその部分データにそれぞれその
非配列方向に順次δsp,δs(p+1),δs(p+2),…,δ
s(p+dp)(sは0以上の整数、pは0以上の整数、dp
は1以上の整数)を乗算した後、この演算で得られた複
数の積について各行毎に求められた和を含み、その第2
組のパリティ情報は、複数列の各列のその部分データに
それぞれその配列方向に順次δtq,δt(q+1)
δ t(q+2),…,δt(q+dq)(tは0以上の整数、qは0
以上の整数、dqは1以上の整数)を乗算した後、この
演算で得られた複数の積について各列毎に求められた和
を含むものである。その整数s,tの値を調整すること
によって、容易に各行及び各列で複数のパリティ情報を
求めることができる。
【0059】次に、本発明の第2の生物学的物質の配列
情報の供給方法は、その生物学的物質の配列に対応する
テキストデータ、又はこのテキストデータを所定の規則
に従って変換して得られる数値データを保持する供給者
(2A)が、そのテキストデータ、又はこれに対応する
その数値データを第1ファイル(19)に記録して保持
する第1ステップ(ステップ104)と、その第1ファ
イルに記録されているそのテキストデータ、又はこのテ
キストデータに対応するその数値データを、その生物学
的物質の配列方向に複数行で、かつその配列方向に交差
する非配列方向に複数列の長さがmビット(mは16以
上の整数)の部分データに分割し、その部分データの最
大値をNmax、この最大値Nmaxよりも大きい素数
をPとして、複数行のその部分データに各行毎にその非
配列方向にガロア体GF(P)上の第1の演算を施して
第1組のパリティ情報を求めると共に、複数列のその部
分データに各列毎にその配列方向にガロア体GF(P)
上の第2の演算を施して第2組のパリティ情報を求める
第2ステップと、その供給者が、その第1組及び第2組
のパリティ情報を第2ファイル(20)に記録して保持
する第3ステップと、その生物学的物質の配列情報のユ
ーザ(2B)が、通信回線(1)を介してその供給者よ
りその第2ファイルに記録されているその2組のパリテ
ィ情報を受け取る第4ステップとを有するものである。
【0060】この供給方法は、上記の本発明の第2の生
物学的物質の配列情報の記録方法を、その配列情報を供
給(販売)する際のビジネスモデルに適用したものであ
る。即ち、本発明のビジネスモデルでは、或る生物Xの
DNAのヌクレオチド、又はタンパク質のアミノ酸など
の生物学的物質の配列を最初に解読した供給者は、その
配列のテキストデータ(又はこれを変換した数値デー
タ)より、その配列情報を少ないデータ量で近似するパ
リティ情報を算出し、これをその通信回線を介してユー
ザに供給する。本発明においても、ガロア体GF
(2m )を用いる場合とほぼ同程度にそのパリティ情報
は、元のテキストデータに比べて少なくできるため、そ
のパリティ情報はその通信回線を介して短時間で受信す
ることができる。
【0061】本発明の供給方法においても、更にそのユ
ーザが、その2組のパリティ情報に基づいて検査対象の
生物学的物質の配列情報の内のその供給者の生物学的物
質の配列情報との相違部を特定する第5ステップと、こ
の相違部の配列の復元ができない場合に、そのユーザが
その通信回線を介してその供給者よりその第1ファイル
に記録されているそのテキストデータ、又はその数値デ
ータの内のその配列の復元ができない部分の配列情報を
受け取る第6ステップとを有することが望ましい。
【0062】このようにユーザ側で、パリティ情報だけ
で検査対象の配列内の供給者の配列との相違部の特定、
及び復元ができる場合には、それ以上の配列情報を購入
する必要が無い。一方、相違部が多く存在し、パリティ
情報のみでは全部の正確なデータが復元できない場合に
は、例えば復元できない部分のテキストデータ(又は数
値データ)のみを購入することによって、通信回線を介
して必要な配列情報を短時間に購入できる。従って、通
信回線として、携帯電話システムのような比較的低速の
通信回線も使用できる。
【0063】
【発明の実施の形態】以下、本発明の実施の形態の一例
につき図面を参照して説明する。本例は、所定のDNA
(デオキシリボ核酸:deoxyribonucleic acid)のヌクレ
オチド(生物学的物質)の配列情報をコンピュータシス
テムで処理する場合に、本発明を適用したものである。
【0064】図1は、本例のコンピュータシステム2A
の概略構成を示し、この図1において、コンピュータシ
ステム2Aの中心は、CPU(中央演算処理ユニッ
ト)、RAM,ROM等のメモリ、及びハードディスク
装置等の記憶装置等からなる情報処理装置10である。
情報処理装置10には、ビデオRAM(VRAM)11
を介してCRTディスプレイよりなる表示装置12が接
続されると共に、I/Oユニット(入出力装置)14を
介して、記録可能なCD−Recordableディスク(以下、
「CD−R」と言う)16に対するデータの書き込み、
及びCD−RやCD−ROMからのデータの読み込みを
行うことができるCD−R/RWドライブ15が接続さ
れている。情報処理装置10には、I/Oユニット14
を介して更に大容量の記憶装置としての記憶容量が数1
00Gバイト程度の磁気ディスク装置17が接続されて
いる。
【0065】本例の情報処理装置10中のハードディス
ク装置には、予めCD−R/RWドライド15を介して
オペレーティングシステム、及び後述のようにDNAの
配列情報を処理するためのアプリケーション・プログラ
ムがインストールされている。また、CD−R16が本
発明の記録媒体に対応しているが、記録媒体としては、
CD−RやCD−ROMの他に、フラッシュROM、フ
レキシブルディスク、光磁気ディスク(MO)、デジタ
ルビデオディスク(DVD)、又はハードディスク装置
(例えばインターネットを介して接続できるサーバに備
えられたもの)等を使用することができる。
【0066】情報処理装置10には更に、文字情報の入
力装置としてのキーボード13、ポインティング・デバ
イス(入力装置)としての光学式のマウス204、及び
ルータ(又はモデム等でもよい)よりなる通信制御ユニ
ット18が接続されている。マウス204は、表示装置
12の表示画面上のカーソルの位置を指定する信号を発
生する変位信号発生部207、選択すべき情報を指定す
る信号や各種コマンド等を発生するための左スイッチ2
04a及び右スイッチ204b(信号発生装置)を備え
ている。情報処理装置10、VRAM11、表示装置1
2、キーボード13、マウス204、I/Oユニット1
4、CD−R/RWドライブ15、磁気ディスク装置1
7、及び通信制御ユニット18等よりコンピュータシス
テム2Aが構成されている。オペレーティングシステム
として本例ではWindows(Microsoft Corporatio
n の登録商標)を使用している。なお、オペレーティン
グシステムとして、それ以外のUNIX(X/Open の登
録商標)、OS/2(IBM Corporatin の登録商標)、
MacOS(Apple Computer の登録商標)、又はLi
nux(Linus Torvalds の商標又は登録商標)等を使
用する場合にも本発明が適用できることは言うまでもな
い。
【0067】そして、コンピュータシステム2A(情報
処理装置10)は、通信制御ユニット18を介して一般
電話回線よりなる通信ネットワーク1に接続され、通信
ネットワーク1には各種コンテンツのプロバイダ3、及
び別のコンピュータシステム2B、及び不図示の多くの
サーバやコンピュータシステムが接続されている。ま
た、本例のコンピュータシステム2A,2B及びプロバ
イダ3は、通信ネットワーク1を介するインターネット
によって相互に接続されている。この場合、コンピュー
タシステム2Aの所有者がDNA情報の供給者(販売
者)であり、コンピュータシステム2Bの所有者がその
DNA情報のユーザ(購入者)である。そして、後者の
コンピュータシステム2Bには、予め前者のコンピュー
タシステム2Aと同様のDNAの配列情報を処理するた
めのアプリケーション・プログラムがインストールされ
ている。
【0068】さて、本例のコンピュータシステム2Aの
情報処理装置10には、I/Oユニット14を介して、
生物学的物質としてのDNA中の一列のヌクレオチドの
配列(又は塩基の配列)を読み取るための配列読み取り
装置としてのシーケンサー(DNA Sequencer)4が接続さ
れている。シーケンサー4は、一例としてサンガーの方
法(Sanger method)によってDNAを構成する1対の重
合体の鎖の一方の鎖のヌクレオチドの配列を読み取る。
サンガーの方法は、例えば文献1(Maxim D. Frank-Kam
enetskii: Unraveling DNA (the most important molec
ule of life, revised and updated),translated by Le
v Liapin, Chapter 6(pp.59-70)(Perseus Books,1997)
)に開示されている。シーケンサー4は、読み取った
一列のヌクレオチドの配列をテキストデータ形式で内部
の大容量の記憶装置に記憶すると共に、情報処理装置1
0からの要求に応じて、その記憶装置中の所定のヌクレ
オチドの配列のテキストデータをI/Oユニット14を
介して情報処理装置10に供給する。これに対して情報
処理装置10は、DNAの配列情報を処理するためのア
プリケーション・プログラムに基づいて以下の処理を行
う。なお、シーケンサー4の代わりに、DNA及びRN
A(リボ核酸:ribonucleic acid)等の核酸を構成する
一列のヌクレオチドの配列(又は塩基の配列)の情報の
データベースを接続してもよい。
【0069】先ず、本例の情報処理装置10の第1の基
本的な処理動作につき説明する。情報処理装置10は、
シーケンサー4から供給される所定のDNAのヌクレオ
チドの配列を示すテキストデータ(本例ではアスキーコ
ード(ANSI形式)を用いる)を磁気ディスク装置1
7中のマスターファイル19にそのまま記録すると共
に、そのテキストデータをよりデータ量の少ない数値デ
ータに変換し、この変換後の数値データを磁気ディスク
装置17中のワーキングファイル20に記録する。な
お、以下の説明において、2進数表示の数kは bin(k)
で、16進数表示の数kは hex(k) で表すものとする。
【0070】この場合、DNAは4種類のヌクレオチド
より構成されており、シーケンサー4から供給されるテ
キストデータ中では、塩基としてアデニン(adenine)
を含むヌクレオチド、グアニン(guanine)を含むヌク
レオチド、シトシン(cytosine)を含むヌクレオチド、
及びチミン(thymine)を含むヌクレオチドがそれぞれ
文字A,G,C,及びTで表されている。そして、文字
A,G,C,及びTには、データ上ではそれぞれhex(4
1),hex(47),hex(43),hex(54)よりなる1バイト(8ビッ
ト)のアスキーコードが割り当てられている。また、R
NAの場合には、チミンを含むヌクレオチドの代わりに
ウラシル(uracil)を含むヌクレオチドが、文字U(he
x(55))で表されている。従って、n個のヌクレオチドの
配列を示すテキストデータのデータ量はnバイトとな
る。なお、それらのn個のヌクレオチドの配列は、n個
の塩基(アデニン、グアニン、シトシン、チミン(又は
ウラシル))の配列ともみなすことができる。
【0071】本例ではそのテキストデータを、情報量を
少なくすることなく最も少ないデータ量で表すために、
DNA中の4種類のヌクレオチドを互いに異なる2ビッ
トのデータで表す。この際に、DNAにおいては、1対
の塩基(アデニン及びチミン)が互いに相補的であり、
別の1対の塩基(グアニン及びシトシン)が互いに相補
的である。そこで、相補的な塩基を含む1対のヌクレオ
チドを互いに相補的であるとして、1対の互いに相補的
なヌクレオチド、即ちアデニンを含むヌクレオチド及び
チミンを含むヌクレオチドに、互いにビット反転の関係
にある1対のデータを割り当て、別の1対の互いに相補
的なヌクレオチド、即ちグアニンを含むヌクレオチド及
びシトシンを含むヌクレオチドに、互いにビット反転の
関係にある別の1対のデータを割り当てる。本例ではそ
のデータの割り当てとして表1(変換テーブル)を用い
る。なお、表1は、ヌクレオチドの配列を示すテキスト
データ中の文字A,T(又はU),G,C,をそれぞれ
bin(00),bin(11),bin(01),bin(10) で置換することを意
味している。
【0072】 《表1》 ヌクレオチド 2ビットのデータ アデニンを含むヌクレオチド(A) bin(00) チミン(ウラシル)を含むヌクレオチド(T又はU) bin(11) グアニンを含むヌクレオチド(G) bin(01) シトシンを含むヌクレオチド(C) bin(10) 。
【0073】なお、本例では各ヌクレオチドを2ビット
のデータで表しているが、これは各塩基を2ビットのデ
ータで表すのと等価である。また、データの割り当ては
表1には限定されず、例えばチミンを含むヌクレオチド
をbin(00) 、アデニンを含むヌクレオチドをbin(11) と
するか、又はグアニンを含むヌクレオチドをbin(10)、
シトシンを含むヌクレオチドをbin(01) としてもよい。
それ以外に、アデニンを含むヌクレオチド及びチミンを
含むヌクレオチドに、1対のデータbin(01),bin(10) を
割り当て、グアニンを含むヌクレオチド及びシトシンを
含むヌクレオチドに1対のデータbin(00),bin(11) を割
り当てるようにしてもよい。また、RNAの場合には、
チミンを含むヌクレオチドに割り当てられているデータ
をウラシルを含むヌクレオチドに割り当てて、それ以外
のヌクレオチドにはDNAのヌクレオチドと同じデータ
を割り当てればよい。
【0074】本例では図2に示すDNA分子5のヌクレ
オチドの配列情報を扱うものとする。その配列情報は、
NCBI(The National Center for Biotechnology In
formation )より提供されているウェブサイト1(ftp:
//ncbi.nlm.nih.gov/genbank/genomes/bacteria/)より
入手した大腸菌(Escherichia coli: E. coli)のDN
Aの一列のヌクレオチドの配列の一部である。
【0075】図2において、DNA分子5は、1対の重
合体の鎖6A,6B(二重らせん)より構成され、一方
の重合体の鎖6Aは、アデニンを含むヌクレオチド7
A、グアニンを含むヌクレオチド7G、シトシンを含む
ヌクレオチド7C、及びチミンを含むヌクレオチド7T
よりなる4種類のヌクレオチドの配列であり、他方の重
合体の鎖6Bは、鎖6Aに対して相補的なヌクレオチド
の配列である。この際に、図1の情報処理装置10には
一方の重合体の鎖6Aの配列を示すテキストデータ、即
ち”AGCTTT・・・”の文字列のデータが供給され
る。それに対して、情報処理装置10は、そのテキスト
データ中の文字A,G,C,Tを表1の変換テーブルに
基づいて順次2ビットのデータに変換することによっ
て、数値データとしてのバイナリーデータBNA(=bi
n(0001101111・・・))を得る。そして、このバイナリーデ
ータBNAが図1の磁気ディスク装置17のワーキング
ファイル20に記録される。そのバイナリーデータBN
Aのデータ量は、元のテキストデータの1/4となって
いる。
【0076】この場合、そのワーキングファイル20の
先頭の所定数のバイトの領域に、例えばその配列がDN
A又はRNAのどちらかを示すデータ(即ち、bin(11)
を文字T又は文字Uの何れに解釈するかを示すデー
タ)、ヌクレオチドの個数を示すデータ、及びその他の
必要なデータを記録しておけばよい。また、そのワーキ
ングファイル20の長さが1バイト(8ビット)単位で
規定されている場合に、バイナリーデータBNAの末尾
で1バイトの端数のデータが生じたときには、予め定め
ておいたダミーデータを付加すればよい。これでもデー
タ量は殆ど増加しない。そして、一例としてユーザ(コ
ンピュータシステム2Bの所有者)から供給者(コンピ
ュータシステム2Aの所有者)に対して図2のDNA分
子5の配列情報の購入希望が届いたときに、ワーキング
ファイル20のデータが通信ネットワーク1及び不図示
のプロバイダを介して、電子メールの添付ファイルとし
てコンピュータシステム2B側に供給される。この際
に、そのワーキングファイル20のデータを更に圧縮フ
ァイル(ZIPファイル、又はLHAファイル等)とし
て送信してもよい。この際に、ワーキングファイル20
のデータ量はもとのテキストデータのほぼ1/4である
ため、元のテキストデータ(更に圧縮ファイルとした場
合も同様)自体を送信する場合に比べて送信時間はほぼ
1/4となり、供給者側及びユーザ側双方の通信コスト
が低減できる。
【0077】そして、ユーザ側で、その受信したワーキ
ングファイル20のデータから図2の一方の重合体の鎖
6Aの配列のテキストデータを復元する場合には、コン
ピュータシステム2Bにおいて、ワーキングファイル2
0中のバイナリーデータBNAを、表1を用いて文字
A,G,C,T(又はU)の何れかに順次逆変換すれば
よい。また、その際に例えば図2の他方の相補的な重合
体の鎖6Bのヌクレオチドの配列を示すテキストデータ
が必要になった場合には、コンピュータシステム2Bに
おいて、図2に示すように、バイナリーデータBNAの
ビット毎の反転操作を行って反転バイナリーデータNOT
(BNA)(=bin(1110010000・・・))を得る。この反転バイ
ナリーデータNOT(BNA)は、他方の重合体の鎖6Bのヌク
レオチドの配列を示すテキストデータ(文字列”TCG
AAA・・・”)を表1に従って変換したバイナリーデ
ータBNBと同一である。従って、その反転バイナリー
データNOT(BNA)を、表1を用いて文字A,G,C,T
(又はU)の何れかに順次逆変換するのみで、極めて高
速に相補的な重合体の鎖6Bの配列のテキストデータを
得ることができる。この際に、通常のコンピュータにお
いては、ビット毎の反転操作は、極めて高速に実行する
ことができる。なお、そのビット毎の反転操作は、例え
ばbin(111111・・・)との排他的論理和演算で代用してもよ
い。
【0078】なお、ワーキングファイル20のデータを
通信ネットワーク1を介してユーザ側に送信する代わり
に、ワーキングファイル20の内容をCD−R/RWド
ライブ15によってCD−R16に記録し、このCD−
R16を郵送等によってユーザ側に供給してもよい。例
えば一人の人間の全部のDNAの配列情報(ゲノム)
は、テキストデータでは3Gバイト程度になるが、これ
を表1を用いて本例の数値データとしてのバイナリーデ
ータに変換すると、3/4Gバイト程度、即ち750M
バイト程度になる。現在のCD−R,CD−ROMの容
量は約650Mバイトであるため、その750Mバイト
程度のバイナリーデータは例えば一部又は全部を圧縮フ
ァイルとすることによって、余裕を持ってCD−R16
に記録することができる。これに対して、その750M
バイト程度のデータを通信ネットワーク1を介して送信
しようとすると、現状でも送信時間がかかり過ぎる場合
がある。
【0079】また、一つのアミノ酸の種類は一列の3個
のヌクレオチドの配列、即ち一つの遺伝子コドン(codo
n )によって決定される。そこで、1つのアミノ酸に対
応する3個のヌクレオチドをそれぞれ2ビットのデータ
で表したときに得られる6ビットのデータの内で、最も
小さいデータでそのアミノ酸を表すようにしてもよい。
この際に、個々のデータは、1バイト単位が扱い易いた
め、その6ビットのデータの前後に2ビットの識別デー
タを付加して得られる1バイトのデータで1つのアミノ
酸を表すようにしてもよい。これによって、ヌクレオチ
ドとアミノ酸とで共通のコードを使用できる利点があ
る。
【0080】次に、本例の情報処理装置10の第2の基
本的な処理動作につき説明する。本例では、ヌクレオチ
ドの配列を示す膨大な量のテキストデータ(又はこれを
表1に基づいて変換して得られる数値データ)より、所
定のハッシュ関数を用いて数学的な要約値(message di
gest)を算出する。本例ではそのハッシュ関数として、
ライベスト(R. Rivest)によって提案されたMD5ハッ
シュ関数を使用する。MD5ハッシュ関数のアルゴリズ
ムについては、ネットワークワーキンググループ及びラ
イベストによって開設されているウェブサイト2(http:
//www.kleinscmidt.com/edi/md5.htm)に開示されてい
る。また、そのMD5ハッシュ関数のアルゴリズムは、
国際公開公報WO01/80431 A1 にも開示されている。或
るテキストデータ(テキストファイル)にそのMD5ハ
ッシュ関数を施すことによって、128ビットの要約値
が得られる。通常のコンピュータでも今後は処理単位が
64ビットのCPUが使用されるようになると考えられ
るが、この場合に128(=2・64)ビットの要約値
は非常に扱い易い長さである。この場合には、192
(=3・64)ビットの要約値も比較的扱い易いと考え
られる。
【0081】また、本例では、そのMD5ハッシュ関数
のプログラムとして、そのウェブサイト2において公開
されている、RSAデータセキュリティー社(RSA Data
Security Inc.)によって開発されたプログラムを使用
した。その要約値の使用方法の一例として、DNAの配
列情報の供給者(情報処理装置10)は、所定の生物の
DNAのヌクレオチドの配列を読み取り、これに対応す
るテキストデータより、上記のハッシュ関数を用いて要
約値を算出し、この要約値をその生物の名称、及びDN
Aの位置を示す情報と共にインターネット上で閲覧可能
にする。これによって、その供給者は、そのテキストデ
ータ自体を公開することなく、その生物のDNAの配列
情報を最先に解読したことを主張できると考えられる。
その後、或るユーザからのその配列情報の購入希望が来
たときに、その供給者は、そのヌクレオチドの配列のテ
キストデータを表1を用いてバイナリーデータに変換
し、このバイナリーデータを例えば通信ネットワーク1
を介して電子メールの形でそのユーザに送信する。これ
に対してユーザ側では、そのバイナリーデータを表1を
用いてテキストデータに逆変換し、この逆変換されたテ
キストデータに上記のハッシュ関数を施して要約値を求
める。
【0082】そして、この要約値とその供給者によって
公開されている要約値とが等しいときには、購入した配
列情報が、供給の保持している配列情報と等しいことが
極めて高い確率で保証される。更に、ユーザ側では、複
数の供給者が公開している要約値を比較することによっ
て、同じ配列情報を異なる複数の供給者から重複して購
入することを防止することができる。これらの際に、ヌ
クレオチドの配列の長さ、及び先端部や末尾の一部の短
い配列の比較を行うことによって、その配列情報の同一
性を高めることができる。
【0083】なお、ハッシュ関数としては、例えば文献
2(FIPS Publication 180, 1993)で開示されているよう
に、NBS(National Bureau of Standards)によって提
案されたSHS(Secure Hash Standard)ハッシュ関数
を使用してもよい。SHSハッシュ関数は、MD5ハッ
シュ関数よりも複雑な演算を行うと共に、160ビット
の要約値が得られる。これに関して、例えばタンパク質
を構成するアミノ酸の配列数は20個〜1000個程度
であり、特に一文字表記を使用する際にはそれに対応す
るテキストデータも20バイト〜1kバイト程度に短く
なるため、要約値から元のテキストデータが推定し易い
と考えられる。そこで、アミノ酸の配列情報の要約値を
求める際には、SHSハッシュ関数を使用する方が望ま
しいことがある。
【0084】また、例えばヌクレオチドの配列を示す2
つの膨大な長さのテキストデータの同一性を確認するた
めに、ハッシュ関数の要約値を算出するような場合に
は、それ程複雑な計算を繰り返して行う必要は無いと考
えられる。そこで、このような用途では、例えば文献3
(R. L. Rivest:"The MD4 message digest algorithm",
Lecture Notes in Computer Science, 537,303-311(199
1))で開示されているMD4ハッシュ関数を使用しても
よいと考えられる。また、そのように単に同一性を確認
する用途では、要約値の長さも40ビット〜128ビッ
ト程度でよい場合がある。
【0085】次に、本例のDNA情報の供給者(コンピ
ュータシステム2A)と、ユーザ(コンピュータシステ
ム2B)との間でDNAの配列情報を受け渡す際のビジ
ネスモデルの一例につき図3〜図6のフローチャートを
参照して詳細に説明する。先ず、DNA情報の供給者側
では、図3のステップ101において、シーケンサー4
を使用して標準となる試料(標準試料Eとする)のDN
A中の一方の一列のヌクレオチドの配列を読み取り、読
み取った配列を表すテキストデータTX1を情報処理装
置10に供給する。本例では、その標準試料Eを大腸菌
として、そのテキストデータTX1として、図7に示す
ように、上記のウェブサイト1から入手した大腸菌のD
NAの配列情報の内の、最初から2048個までのヌク
レオチドの配列を示すテキストデータを使用する。
【0086】標準試料EのDNA配列は配列番号1に示
されている。図7のテキストデータは、配列番号1の配
列から数字データを除いて、a,g,c,tの文字をそ
れぞれA,G,C,Tで置き換えたものに相当する。次
のステップ102において、情報処理装置10は、供給
されたテキストデータTX1に上記のMD5ハッシュ関
数を施して128ビットの要約値AB1を求めると共
に、そのヌクレオチドの配列の数NA1、及び先頭と末
尾との8個ずつのヌクレオチドの配列ST1,SB1を
求める。テキストデータTX1に対する具体的な値は下
記の通りである。
【0087】 AB1=hex(849339ac244cde42b5346ab5989aab61) …(11) NA1=2048 ST1=AGCTTTTC,SB1=CGCGAAGG 次のステップ103において、情報処理装置10は、テ
キストデータTX1を逆方向に並べ替えたテキストデー
タTXR1(=GGAAGC・・・・TTTCGA)を
求め、このテキストデータTXR1のMD5ハッシュ関
数による要約値ABR1、及びこのテキストデータTX
R1の先頭と末尾との8個ずつのヌクレオチドの配列S
TR1,SBR1を求める。配列STR1,SBR1
は、上記の配列SB1,ST1をそれぞれ逆方向に並べ
替えることによって容易に求めることができる。これら
の具体的な値は以下の通りである。
【0088】 ABR1=hex(4eb1feae30f522642b912ce3ea09652b) …(12) STR1=GGAAGCGC,SBR1=CTTTTCGA 次のステップ104において、情報処理装置10は、標
準試料Eの名前の情報(試料を特定する情報)、配列の
数NA1、テキストデータTX1、配列ST1,SB
1、要約値AB1、逆方向の配列STR1,SBR1、
及び逆方向の要約値ABR1を磁気ディスク装置17の
マスターファイル19に記録する。この際に、マスター
ファイル19を複数のファイルとして、テキストデータ
TX1と、それ以外のデータとを別のファイルに記録し
てもよい。また、テキストデータTX1が例えば100
Mバイト程度以上になる場合には、テキストデータTX
1を複数のマスターファイルに分割して記録してもよ
い。
【0089】次のステップ105において、情報処理装
置10は、図7に示すように、標準試料Eのテキストデ
ータTX1を配列方向(ヌクレオチドの配列方向)にN
行で、その配列方向に直交する方向(以下、「非配列方
向」という)にM列の16文字の長さの部分テキストデ
ータT(i,j)(i=1〜N,j=1〜M)に分割す
る。なお、N,Mはそれぞれ2以上の任意の整数であ
り、(4)式、(5)式を用いて既に説明したように、
テキストデータTX1が100kバイト程度(又はこの
整数倍)であるときに、このテキストデータTX1に対
して1/20程度のデータ量のパリティ情報を得たい場
合には、例えばNの値が64、Mの値が128に設定さ
れる。以下では説明を簡単にするために、図7に示すよ
うにテキストデータTX1を4行で、かつ32列に分割
した場合を想定する。即ち、N=4,M=32とする。
この場合、本例では端数は生じないが、例えば図7にお
いて、最後の部分テキストデータT(4,32)中の文
字が16個より少ない場合には、足りない部分には予め
定めた文字(例えば文字A)をダミーデータとして付加
すればよい。また、部分テキストデータT(i,j)の
長さは、16文字以外の任意の長さでよいが、処理速度
を高めるためには、8文字の倍数が効率的である。
【0090】更に、情報処理装置10は、図7の16文
字分の各部分テキストデータT(i,j)をそれぞれ所
定の変換テーブルに従って128(=16×8)ビット
のバイナリーデータ(数値データ)よりなる部分データ
A(i,j)に変換する。本例ではその変換テーブルと
して、次のように部分テキストデータT(i,j)を単
にアスキーコードに変換する関数asc(T(i,
j))を用いる。
【0091】 A(i,j)=asc(T(i,j)) …(13) なお、図7にT(3,11)の変換例で示すように、関
数asc(T(i,j))は、部分テキストデータT
(i,j)の先頭の文字のコードが最下位桁となり、末
尾の文字のコードが最上位桁となるように変換を行う。
この際に、例えば最後の列の部分データA(i,32)
が128ビットにならないときには、その上位に予め定
めた文字コード、又は数値データの0(hex(000・・・))な
どのダミーデータが付加される。この結果、図8に示す
4行で、32列の部分データA(i,j)が得られる。
また、部分データA(i,j)を対応するヌクレオチド
の配列方向に連続して配列したときの集合体(数値デー
タ)をバイナリーデータBN1とする。図7の部分テキ
ストデータT(i,j)と図8の部分データA(i,
j)とは実質的に同じデータ量である。
【0092】次に、本例では、部分データA(i,j)
をガロア体(Galois field)GF(2 m )上の元のベクト
ル表示とみなして、部分データA(i,j)に対してガ
ロア体GF(2m )上の所定の演算を施す。本例の部分
データA(i,j)は128ビットであるため、mの値
は128(64の2倍)となり、ガロア体GF(212 8)
が使用される。また、本例ではガロア体GF(2128)上
の既約多項式GF(X)及び生成元αとして次の式を使
用する。なお、ガロア体GF(2m )は、拡大ガロア体
とも呼ばれることがある。
【0093】 GF(X)=1+X121 +X126 +X127 +X128 …(14) α=X …(15) ガロア体GF(2128)上のベクトル表示では、GF
(X)はbin(1110000100・・・01)となり、αはbin(00・・・0
010)となる。なお、生成元αとしては、(1+X)など
も使用できる。また、ガロア体GF(2128)上の既約多
項式としては、例えば次の既約多項式GF’(X)も使
用でき、この既約多項式GF’(X)に対する生成元と
しては次のα’などを使用できる。
【0094】 GF’(X)=1+ X11+ X124+X125+X126+X127+X128 …(14A) α’=1+X+X2 …(15A) また、多項式GF(X)が既約であることは、例えば文
献4(Van der Waerden, B. L. (1953), Modern Algebr
a(2 vols.), p.77,Ungar, New York)に記載してある
「Kroneckerの方法」で確認することができる。また、
GF(X)が既約であることは、実用的には、ウェブサ
イト3(http://archives.math.utk.edu/software/msdos
/number.theory/ubasic/.html)、又はウェブサイト4(h
ttp://www.rkmath.rikkyo.ac.jp/~kida/ubasic.htm )に
開示されている整数論研究用のソフトウェアである「UB
ASIC」中の組み込み関数「POLFACT2」を用いても確認す
ることができる。
【0095】また、ガロア体GF(2m )上の生成元α
は、k=2m −1 とおくと、既約多項式GF(X)を
法として、次の関係を満たす。 αk =1(mod GF(X)) …(16) αk'≠1(mod GF(X))(1≦k’<k) …(17) そこで、素数p1,p2,…,pr及び整数n1,n
2,…,nrを用いて、kが次のように因数分解できる
ものとする。
【0096】 k=2m −1=p1n1・p2n2・…・prnr …(18) このとき、生成元αとは、既約多項式GF(X)を法と
して、αの(p1n1-1・p2n2・…・prnr)乗、(p
n1・p2n2-1・…・prnr)乗、…、(p1 n1・p2
n2・…・prnr-1)乗が何れも1とならないものであれ
ばよい。また、ガロア体GF(2m )上の任意の0以外
の元βについても(16)式が成立するため、k(=2
m −1)を用いてβの逆元β-1は次のように計算するこ
とも可能である。
【0097】 β-1=βk-1 (mod GF(X)) …(16R) 従って、例えば部分データA(i,j)をβで除算する
場合には、部分データA(i,j)にβk-1 を乗算すれ
ばよい次のステップ106において、情報処理装置10
は、図8の各行(i=1〜4)の部分データA(i,
j)に対してガロア体GF(2128)上で、非配列方向
(j=1〜32)に対する和である第1パリティ(Parit
y)B1(i)、Σα(j-1)・A(i,j)である第2パリ
ティB2(i)、及びΣα2(j-1)・A(i,j)である
第3パリティB3(i)を計算する。これらの非配列方
向のパリティB1(i)〜B3(i)(第1組のパリテ
ィ情報)は、生成元αを用いて、かつ既約多項式GF
(X)を法として以下のように表すことができる。パリ
ティB1(i)〜B3(i)における記号(Σ)は係数
jに対する1〜32の和を意味しており、以下の式は係
数iの1〜4の範囲で計算される。
【0098】 B1(i)=ΣA(i,j)=A(i,1) +A(i,2)+…+A(i,32) …(19) B2(i)=Σα(j-1)・A(i,j)=A(i,1) +α・A(i,2)+…+α31・A(i,32) …(20) B3(i)=Σα2(j-1)・A(i,j)=A(i,1) +α2・A(i,2)+…+α62・A(i,32) …(21) この場合、(19)式のパリティB1(i)のベクトル
表示は、部分データA(i,j)についてビット毎に排
他的論理和演算を行って得られる結果と同じである。ま
た、(20)式、(21)式のパリティB2(i),B
3(i)は、それぞれ部分データA(i,j)を(1)
式のように127次(m=128)以下の多項式で表し
て、既約多項式GF(X)を法として演算を行うことに
よって計算することができる。
【0099】更に、情報処理装置10は、図8の各列
(j=1〜32)の部分データA(i,j)に対してガ
ロア体GF(2128)上で、配列方向(i=1〜4)に対
する和である第1パリティC1(j)、Σα(i-1)・A
(i,j)である第2パリティC2(j)、及びΣα
2(i-1)・A(i,j)である第3パリティC3(j)を
計算する。これらの配列方向のパリティC1(j)〜C
3(j)(第2組のパリティ情報)は、生成元αを用い
て、かつ既約多項式GF(X)を法として以下のように
表すことができる。パリティC1(j)〜C3(j)に
おける記号(Σ)は係数iに対する1〜4の和を意味し
ており、以下の式は係数jの1〜32の範囲で計算され
る。
【0100】 C1(j)=ΣA(i,j)=A(1,j) +A(2,j)+…+A(4,j) …(22) C2(j)=Σα(i-1)・A(i,j)=A(1,j) +α・A(2,j)+…+α3・A(4,j) …(23) C3(j)=Σα2(i-1)・A(i,j)=A(1,j) +α2・A(2,j)+…+α6・A(4,j) …(24) 部分データA(i,j)に対して実際にパリティB1
(i)〜B3(i)、及びパリティC1(j)〜C3
(j)を計算した結果のベクトル表示が、図8に16進
数表示で示されている。この例においては、各行のパリ
ティB1(i)〜B3(i)、及び各列のパリティC1
(j)〜C3(j)はそれぞれ3個であるため、2つの
ヌクレオチドの配列の比較を行う場合に、各行及び各列
において、それぞれ3個までの部分データA(i,j)
の相違部の復元を正確に行うことができる。従って、各
行及び各列において、部分データA(i,j)の相違部
の位置の検出(特定)だけを行うと共に、相違部の復元
を1個だけ行えばよい場合には、パリティ情報として、
B1(i)及びC1(j)、又はB2(i)及びC2
(j)だけを使用(計算)するだけでもよい。後者のパ
リティB2(i),C2(j)だけを使用する場合に
は、例えば或る行又は列で2つの部分データA(i,
j)が入れ替わったような配列であっても、配列の相違
部の位置を検出できる利点がある。
【0101】また、各行及び各列において、それぞれ2
個までの部分データA(i,j)の相違部の復元を正確
に行うことができればよい場合には、第1組のパリティ
情報としてB1(i),B2(i),B3(i)の何れ
か2つ、及び第2組のパリティ情報としてC1(j),
C2(j),C3(j)の何れか2つだけを使用(計
算)するだけでもよい。また、各行と各列とで復元でき
る部分データの個数が違ってもよい場合には、第1組の
パリティ情報と第2組のパリティ情報とでパリティの個
数が違ってもよい。更に、各行又は各列において、それ
ぞれ4個以上の相違部の復元を正確に行うためには、例
えばΣαs(j-1)・A(i,j)であるパリティBs
(i)(s=4,5,…)、又はΣαt(i-1)・A(i,
j)であるパリティCt(j)(t=4,5,…)を計
算すればよい。
【0102】また、図8の部分データA(i,j)の配
列が実際には、64行×128列であるとすると、図8
の例のように、各行及び各列で3個までの相違部の復元
を行う場合には、パリティB1(i)〜B3(i),C
1(j)〜C3(j)はそれぞれ128ビット(16バ
イト)であるため、全部のパリティ情報のデータ量は、
576・16(=(64+128)・3・16)バイト
となる。一方、部分データA(i,j)のデータ量は、
8192・16(=64・128・16)バイトとな
る。従って、全部のパリティ情報のデータ量は、全部の
部分データ(i,j)に対してほぼ1/14程度に減少
している。
【0103】次に図4のステップ107において、情報
処理装置10は、標準試料Eの名前の情報、配列の数N
A1、バイナリーデータBN1、パリティB1(i)〜
B3(i),C1(j)〜C3(j)を磁気ディスク装
置17のワーキングファイル20に記録する。この際
に、ワーキングファイル20を複数のファイルとして、
バイナリーデータBN1と、パリティB1(i)〜B3
(i),C1(j)〜C3(j)とを別のファイルに記
録してもよい。更に、バイナリーデータBN1と共に、
ステップ102で算出した要約値AB1をワーキングフ
ァイル20に記録してもよい。
【0104】また、バイナリーデータBN1が長いとき
には、バイナリーデータBN1を複数のファイルに分割
して記録してもよい。更に、図7のテキストデータTX
1(ひいては図8のバイナリーデータBN1)がかなり
長い場合には、テキストデータTX1を例えば数100
kバイト程度を単位として複数のデータ群に分割し、各
データ群毎にパリティB1(i)〜B3(i),C1
(j)〜C3(j)を求めるようにしてもよい。
【0105】更に、ステップ107において、DNA情
報の供給者は、ワーキングファイル20に記録した情
報、即ち標準試料Eの名前の情報、配列の数NA1、バ
イナリーデータBN1、パリティB1(i)〜B3
(i),C1(j)〜C3(j)と、マスターファイル
19に記録した要約値AB1,ABR1の情報とを、C
D−R/RWドライブ15を介してCD−R16に記録
してもよい。このCD−R16から、更に多数のCD−
ROMを作製してもよく、これらの記録媒体が郵送等に
よってユーザに販売される。
【0106】次の、ステップ108において、情報処理
装置10は、標準試料Eの名前の情報、配列の数NA
1、配列ST1,SB1、要約値AB1、逆方向の配列
STR1,SBR1、及び逆方向の要約値ABR1を磁
気ディスク装置17のコンテンツファイル21に記録す
る。図7のテキストデータTX1が仮に100Mバイト
程度の膨大なものであっても、コンテンツファイル21
に記録されるデータは500バイト程度の僅かなもので
ある。更に、情報処理装置10は、コンテンツファイル
21中の情報を通信ネットワーク1を介してコンテンツ
のプロバイダ3に送信する。これによって、コンテンツ
ファイル21中の情報はプロバイダ3のサーバ内の閲覧
可能なコンテンツファイル31に記録されて、第3者が
インターネットを介して自由に閲覧できるようになる。
【0107】次のステップ109において、DNA情報
の供給者は、ユーザから購入要求が来るのを待つ状態と
なる。そして、(a)ユーザから標準試料Eに対する簡
易データの要求があったときには、ステップ110に移
行して、情報処理装置10は、磁気ディスク装置17の
ワーキングファイル20の中のパリティ情報(パリティ
B1(i)〜B3(i),C1(j)〜C3(j))を
例えば電子メールの添付ファイルとしてそのユーザに送
信する。一方、ステップ109において、(b)ユーザ
から完全データの要求があったときには、ステップ11
1に移行して、情報処理装置10は、ワーキングファイ
ル20中のバイナリーデータBN1をZIPファイル等
の形式で圧縮し、この圧縮されたデータを例えば電子メ
ールの添付ファイルとしてそのユーザに送信する。この
際に必要に応じて、ハッシュ関数による要約値AB1を
同時に送信してもよい。本例によれば、簡易データ(パ
リティ情報)はデータ量が少ないために短時間で送信す
ることができる。
【0108】また、ステップ109において、ユーザ
は、必要に応じて部分データ、即ち図8の全部の部分デ
ータA(i,j)の内の所望のデータ、例えば2つの部
分データA(4,16)及びA(1,17)のみをその
供給者から購入するようにしてもよい。これによって、
必要な正確なデータのみを短時間に入手することができ
る。
【0109】次に、DNA情報のユーザ(図1のコンピ
ュータシステム2Bの所有者とする)側では、図5のス
テップ121において、図1の通信ネットワーク1(イ
ンターネット)を介してプロバイダ3のサーバ内のコン
テンツファイル31の内容を閲覧し、その中からステッ
プ108で供給者(図1のコンピュータシステム2A)
から送信された情報、即ち標準試料Eの名前の情報、ヌ
クレオチドの配列の数NA1、配列ST1,SB1、要
約値AB1、逆方向の配列STR1,SBR1、及び逆
方向の要約値ABR1を読み取り、読み取った情報をコ
ンピュータシステム2B内の記憶装置の一時ファイルに
記録する。
【0110】次の、ステップ122において、そのユー
ザは、不図示のDNAのシーケンサーを用いて、標準試
料Eと同じ種類で検査対象の試料FのDNA中の一方の
一列のヌクレオチドの配列を読み取り、読み取られた配
列を示すテキストデータTX2(アスキーコードとす
る)をコンピュータシステム2B内の情報処理装置に取
り込む。その検査対象の試料Fとは、例えば突然変異を
起こしていると思われる大腸菌であり、そのテキストデ
ータTX2は、標準試料EのテキストデータTX1と同
様に最初から2048個までのヌクレオチドの配列を示
すものとする。
【0111】試料FのDNA配列は配列番号2に示され
ている。後述の図9のテキストデータは、配列番号2の
配列から数字データを除いて、a,g,c,tの文字を
それぞれA,G,C,Tで置き換えたものに相当する。
図9は、その試料FのDNAのヌクレオチドの配列に対
応するテキストデータTX2を示し、この図9の配列の
内のアンダーラインを付した部分のみが、図7の標準試
料Eの配列と異なっている。即ち、試料Fの配列は、標
準試料Eの部分テキストデータT(4,16),T
(1,17)の部分だけが以下のように異なっている。
なお、この段階では、ユーザは、試料Fの配列と標準試
料Eの配列とのどの部分が相違しているのかは分からな
い。
【0112】 そして、ユーザのコンピュータシステム2B側の情報処
理装置においても、DNAの配列情報を処理するための
アプリケーション・プログラムが起動されている。そし
て、その情報処理装置は、ステップ123において、読
み取られたテキストデータTX2に上記のMD5ハッシ
ュ関数を施して128ビットの要約値AB2を求めると
共に、そのヌクレオチドの配列の数NA2、及び先頭と
末尾との8個ずつのヌクレオチドの配列ST2,SB2
を求め、これらを内部の記憶装置の第1データファイル
に記録する。テキストデータTX2(図9)に対する具
体的な値は下記の通りである。
【0113】 AB2=hex(1457b51222a83c3222e87cb4d4e63305) …(25) NA2=2048 ST2=AGCTTTTC,SB2=CGCGAAGG 次のステップ124において、情報処理装置は、試料F
の配列数NA2と標準試料Eの配列数NA1とが等しい
かどうかを調べ、両者が異なっている場合には、ユーザ
はステップ125に移行して、別のDNA情報を検索
し、NA2と同じ配列数のDNA情報をサーチする。本
例では、ステップ124において、NA2=NA1であ
るため、動作はステップ126に移行して、試料Fの先
頭と末尾との一部の配列ST2,SB2が、標準試料E
の配列ST1,SB1と等しいかどうか、更に試料Fの
要約値AB2が標準試料Eの要約値AB1(ステップ1
21で一時ファイルに記録されている)と等しいかどう
かを調べる。これらが共に等しい場合には、試料Fの配
列と標準試料Eの配列とは非常に高い確率(ほぼ1/2
128 ≒1/1038程度の確率)で一致しているとみなす
ことができる。従って、ステップ127に移行して、コ
ンピュータシステム2Bの情報処理装置は、その第1デ
ータファイルに「試料FのDNA構造は、標準試料Eの
DNA構造と同一である。」との情報を記録する。
【0114】但し、本例では、ST2=ST1,SB2
=SB1が成立するが、(11)式及び(25)式より
AB2≠AB1であるため、動作はステップ126から
ステップ128に移行して、その情報処理装置は、試料
Fの先頭と末尾との一部の配列ST2,SB2が、標準
試料Eを逆に並べた配列の一部の配列STR1,SBR
1と等しいかどうか、更に試料Fの要約値AB2が標準
試料Eを逆に並べた配列の要約値ABR1と等しいかど
うかを調べる。これらが共に等しい場合には、試料Fの
配列と標準試料Eを逆に並べた配列とは非常に高い確率
で一致しているとみなすことができる。従って、ステッ
プ139に移行して、コンピュータシステム2Bの情報
処理装置は、その第1データファイルに「試料FのDN
A構造は、標準試料EのDNA構造に対して回文(pali
ndrome)の関係にある。」との情報を記録する。
【0115】本例では、ST2≠STR2,SB2≠S
BR2、かつ(12)式及び(25)式よりAB2≠A
BR1であるため、動作はステップ128からステップ
129に移行して、そのユーザは、通信ネットワーク1
(インターネット)を介してDNA情報の供給者から上
記の簡易データ、即ち標準試料Eのパリティ情報(B1
(i)〜B3(i),C1(j)〜C3(j))(図8
の情報)を購入し、購入した情報をコンピュータシステ
ム2B(情報処理装置)内の記憶装置の第2データファ
イルに記録する。
【0116】次に、図6のステップ130において、コ
ンピュータシステム2Bの情報処理装置は、図9に示す
ように、試料FのテキストデータTX2を配列方向(ヌ
クレオチドの配列方向)にN行で、非配列方向にM列の
16文字の長さの部分テキストデータTF(i,j)
(i=1〜N,j=1〜M)に分割する。分割数N,M
は標準試料Eの分割数と同じであり、本例では、N=
4,M=32である。更に、情報処理装置は、図9の各
部分テキストデータTF(i,j)を次のようにテキス
トデータを単にアスキーコードに変換する関数asc
(TF(i,j))を用いて、128(=16・8)ビ
ットのバイナリーデータ(数値データ)よりなる部分デ
ータAF(i,j)に変換する。この場合にも、部分テ
キストデータTF(i,j)の文字列は反転してアスキ
ーコード列に変換される。
【0117】 AF(i,j)=asc(TF(i,j)) …(26) この結果、図10に示す4行で、32列の部分データA
F(i,j)が得られる。また、部分データAF(i,
j)を連続して配列した集合体(数値データ)をバイナ
リーデータBN2とする。次に、情報処理装置は、ステ
ップ106の動作と同様にして、図10の各行(i=1
〜4)の部分データAF(i,j)に対してガロア体G
F(2128)上で、非配列方向(j=1〜32)に対する
和である第1パリティ(Parity)B1F(i)、Σα
(j-1)・AF(i,j)である第2パリティB2F
(i)、及びΣα2(j- 1)・AF(i,j)である第3パ
リティB3F(i)を計算する。これらの非配列方向の
パリティB1F(i)〜B3F(i)(第1組のパリテ
ィ情報)は、(15)式の生成元αを用いて、かつ(1
4)式の既約多項式GF(X)を法として(19)式〜
(21)式と同様に、係数iについて1〜4の範囲で計
算される。
【0118】次に、その情報処理装置は、図10の各列
(j=1〜32)の部分データAF(i,j)に対して
ガロア体GF(2128)上で、配列方向(i=1〜4)に
対する和である第1パリティC1F(j)、Σα(i-1)
AF(i,j)である第2パリティC2F(j)、及び
Σα2(i-1)・AF(i,j)である第3パリティC3F
(j)を計算する。これらの配列方向のパリティC1
(j)〜C3(j)(第2組のパリティ情報)も、(1
5)式の生成元αを用いて、かつ(14)式の既約多項
式GF(X)を法として(22)式〜(24)式と同様
に、係数jについて1〜32の範囲で計算される。
【0119】部分データAF(i,j)に対して実際に
パリティB1F(i)〜B3F(i)、及びパリティC
1F(j)〜C3F(j)を計算した結果のベクトル表
示が、図10に16進数表示で示されている。次に、ス
テップ131において、その情報処理装置は、供給者か
ら購入した簡易データの2組のパリティ、即ち図8(標
準試料E)の2組のパリティB1(i)〜B3(i),
C1(j)〜C3(j)と、図10(試料F)の2組の
パリティB1F(i)〜B3F(i),C1F(j)〜
C3F(j)とを比較して、相違するパリティをサーチ
する。本例では、図8(標準試料F)に対して図10
(試料F)のi=1,4の非配列方向のパリティB1F
(1)〜B3F(1),B1F(4)〜B3F(4)
と、j=16,17の配列方向のパリティC1F(1
6)〜C3F(16),C1F(17)〜C3F(1
7)とが異なっている。なお、各行のパリティB1F
(i)〜B3F(i)、又は各列のパリティC1F
(j)〜C3F(j)において、1つでもパリティが異
なっていれば、その行又は列のパリティが異なっている
とみなすことができる。
【0120】従って、図10(試料F)の部分データA
F(i,j)において、i=1,4の行とj=16,1
7の列との交点に位置する4つの部分データAF(1,
16),AF(4,16),AF(1,17),AF
(4,17)が図8(標準試料E)と相違すると特定で
きる。また、これ以外の試料Fの部分データAF(i,
j)は標準試料Eの部分データA(i,j)とほぼ同一
であるとみなすことができる。
【0121】また、図11は、主に図10の試料Fのデ
ータ中から図8と異なるパリティB1F(1)〜B3F
(1),B1F(4)〜B3F(4),C1F(16)
〜C3F(16),C1F(17)〜C3F(17)を
取り出して表示したものである。また、図11において
図8と異なる部分データAF(1,16),AF(4,
16),AF(1,17),AF(4,17)の位置
に、復元すべきデータX1,X2,Y1,Y2を表示し
ている。この復元すべきデータX1,X2,Y1,Y2
はそれぞれ図8(標準試料E)の部分データA(1,1
6),A(4,16),A(1,17),A(4,1
7)である。
【0122】次のステップ132において、その情報処
理装置は、図10の部分データAF(i,j)中で図8
の部分データA(i,j)と相違する部分データ(AF
(i’,j’)とする)は、各行、又は各列に多くとも
3つかどうかを調べる。これが成立する場合には、その
部分データAF(i’,j’)に対応する標準試料Eの
部分データA(i’,j’)は、ガロア体GF(2128)
上で連立方程式を解くことによって正確に求める(復元
する)ことができる。本例では、それが成立する、即ち
相違する変換データは、第1行、第4行に2つずつで、
かつ第16列、第17列に2つずつであるため、動作は
ステップ133に移行する。そして、その情報処理装置
は、2組の相違するパリティ、及び試料Fの相違する部
分データAF(i’,j’)を用いて、図12のフロー
チャートに従って対応する標準試料Eの部分データA
(i’,j’)(X1,X2,Y1,Y2)を復元す
る。図12の計算は、全てガロア体GF(2128)上で実
行される。
【0123】この場合、図11において、第16列の未
知数X1,X2は2つであるため、第16列の2つのパ
リティC1F(16),C2F(16)と、対応する図
8の2つのパリティC1(16),C2(16)と、未
知数X1,X2に対応する試料Fの部分データAF
(1,16),AF(4,16)とを用いて2元1次連
立方程式を組み立てる。即ち、パリティC1(16),
C1F(16)に対する計算式は図12のステップ14
1の(G1)式、(G2)式となる。また、(15)式
の生成元αを用いて、パリティC2(16),C2F
(16)に対する計算式はステップ142の(G3)
式、(G4)式となる。
【0124】次に、(G1)式から(G2)式を引き、
(G3)式から(G4)式を引くことで、それぞれステ
ップ143の(G5)式、(G6)式が得られる。(G
5)式、(G6)式の右辺をそれぞれC1X,C2Xと
することで、2元1次連立方程式が得られる。そこで、
これを解くことによって、未知数X1,X2はそれぞれ
ステップ144の(G7)式で表すことができる。これ
を実際に解いた結果、X1,X2は次のようになる(図
11参照)。なお、未知数が3個であれば、第3パリテ
ィC3(16),C3F(16)なども用いて、3元1
次連立方程式を解けばよく、未知数が1個であれば、例
えば第1パリティC1(16),C1F(16)などを
用いるだけでよい。
【0125】 X1=hex(43475447474347544347544354434154) …(27) X2=hex(47545447434147474341474754545441) …(28) 更に、アスキーコード列を文字列に変換する関数chr
()を用いて、この数値データを文字列に変換すると次
のようになる(図11参照)。この関数chr()は、
上記の関数asc()と対称に、アスキーコード列を1
バイト単位で最大桁のコードが末尾の文字となり、最小
桁のコードが先頭の文字になるように反転して文字列に
変換する。
【0126】 chr(X1)=TACTCTGCTGCGGTGC =T(1,16)=TF(1,16) …(29) chr(X2)=ATTTGGACGGACGTTG=T(4,16) …(30) これより、標準試料Eの部分テキストデータT(1,1
6)と試料Fの部分テキストデータTF(1,16)と
は等しく、部分テキストデータT(4,16)だけが部
分テキストデータTF(4,16)(図9参照)と異な
ることが分かる。
【0127】次に、図11において、第17列の未知数
Y1,Y2についても、第17列の2つのパリティC1
F(17),C2F(17)と、対応する図8の2つの
パリティC1(17),C2(17)と、未知数Y1,
Y2に対応する試料Fの部分データAF(1,17),
AF(4,17)とを用いて、図12のステップ145
の(G8)式、(G9)式よりなる2元1次連立方程式
が得られる。これを解くことによって、未知数Y1,Y
2はそれぞれステップ146の(G10)式で表すこと
ができる。これを実際に解いた結果、Y1,Y2は次の
ようになる(図11参照)。
【0128】 Y1=hex(47544343415441544354474747474341) …(31) Y2=hex(41544343544754414743544741414754) …(32) 更に、この数値データ(アスキーコード列)を文字列に
変換すると次のようになる(図11参照)。 chr(Y1)=ACGGGGTCTATACCTG=T(1,17) …(33) chr(Y2)=TGAAGTCGATGTCCTA =T(4,17)=TF(4,17) …(34) これより、標準試料Eの部分テキストデータT(4,1
7)と試料Fの部分テキストデータTF(4,17)と
は等しく、部分テキストデータT(1,17)だけが部
分テキストデータTF(1,17)(図9参照)と異な
ることが分かる。また、本例の方法によって未知数X
1,X2,Y1,Y2、即ち標準試料Eの部分データA
(1,16),A(4,16),A(1,17),A
(4,17)が正確に復元できていることが分かる。な
お、部分データA(1,16),A(4,17)は、そ
れぞれ部分データAF(1,16),AF(4,17)
と同一であるため、復元されたデータとみなす必要はな
い。
【0129】次のステップ134において、その情報処
理装置は、復元された部分データA(i’,j’)、即
ちA(4,16),A(1,17)で、図10の試料F
のバイナリーデータBN2中の対応する部分データAF
(4,16),AF(1,17)を置き換えた後、この
置き換えによって得られるバイナリーデータBN2をテ
キストデータTX1’に逆変換する。更に情報処理装置
は、そのテキストデータTX1’よりMD5ハッシュ関
数を用いて128ビットの要約値AB1’を算出し、こ
の要約値AB1’が標準試料Eの要約値AB1(ステッ
プ121で一時ファイルに記録されている)と等しいか
どうかを確認する。本例では、AB1’=AB1が成立
するが、例えば図10の試料Fの部分データAF(i,
j)中の相違する部分のデータの状態によって、その相
違がパリティ情報に反映されないような場合には、その
相違する部分の位置がステップ132で正確に検出され
ない可能性がある。このような場合に、AB1’≠AB
1となったときには、ステップ135に移行すればよ
い。通常は、AB1’=AB1が成立して、動作はステ
ップ138に移行して、情報処理装置は、上記の第1デ
ータファイルに「試料Fの配列と標準試料Eの配列との
内で相違する部分の位置(i’,j’)、及び相違する
部分テキストデータの対」の情報を記録する。本例で
は、位置(i’,j’)として位置(4,16),
(1,17)が、相違する部分テキストデータの対とし
てA(4,16),AF(4,16)及びA(1,1
7),AF(1,17)が記録される。
【0130】一方、ステップ132において、相違する
部分データAF(i’,j’)の個数が4個以上の行、
又は列が存在する場合には、その行又は列での部分デー
タの正確な復元は困難である。そこで、動作はステップ
135に移行して、そのユーザはそのDNA情報の供給
者から標準試料Eの完全データ、即ち図8のバイナリー
データBN1を通信ネットワーク1(インターネット)
を介して購入し、コンピュータシステム2Bの情報処理
装置は、そのバイナリーデータBN1を記憶装置の第3
データファイルに記録する。
【0131】次のステップ136において、その情報処
理装置は、そのバイナリーデータBN1をテキストデー
タTX1’に逆変換し、そのテキストデータTX1’よ
りMD5ハッシュ関数を用いて128ビットの要約値A
B1’を算出し、この要約値AB1’が標準試料Eの要
約値AB1(ステップ121で一時ファイルに記録され
ている)と等しいかどうかを確認する。通常は、AB
1’=AB1が成立するが、例えば通信エラー等によっ
て送信されたバイナリーデータBN1の中にエラーが生
じている場合には、AB1’≠AB1となる。このとき
には、例えば供給者に完全データの再送信を要請する等
の対処を行う。そして、ステップ136でAB1’=A
B1が成立するときには、ステップ137に移行して情
報処理装置は、標準試料EのバイナリーデータBN1中
で、試料Fの相違している部分データAF(i’,
j’)に対応する部分データA(i’,j’)を求め
る。その後、動作はステップ138に移行する。
【0132】なお、上記のステップ135では、ユーザ
はDNA情報の供給者から完全データ(バイナリーデー
タBN1)を購入しているが、別の方法として、ステッ
プ131で特定された相違する部分データAF(i’,
j’)に対応する標準試料Eの部分データA(i’,
j’)のみを購入してもよい。これによって、通信コス
トを大幅に低減できる。
【0133】このように本例のビジネスモデルによれ
ば、第1段階として標準試料Eのパリティ情報(B1
(i)〜B3(i),C1(j)〜C3(j))を購入
している。次に、このパリティ情報と試料Fのパリティ
情報(B1F(i)〜B3F(i),C1F(j)〜C
3F(j))とを比較して、相違する部分データAF
(i,j)の個数が少ない場合には、対応する標準試料
Eの部分データA(i,j)を復元することとして、相
違する部分データの個数が多い場合に、完全データ、又
は相違する部分データのみを購入している。従って、初
めから膨大な完全データを購入する必要がなく、通信時
間を短縮できると共に、情報処理コストを低減できる。
【0134】また、本例のパリティ情報を用いれば、S
NP(一塩基変位多型:Single Nucleotide Polymorphi
sm) のように所定の範囲内で1つのヌクレオチド(塩
基)だけが異なっているような異常は、容易にその位置
の検出、及び復元を行うことができる。なお、上記の実
施の形態では、DNA情報のユーザは、ステップ121
において、コンテンツファイルより標準試料Eの配列S
T1,SB1、要約値AB1、及び配列STR1,SB
R1、要約値ABR1を読み取って、ステップ122〜
128において、標準試料Eと試料Eとの同一性の判定
を行って、両者が異なる場合に標準試料Eのパリティ情
報(簡易データ)を購入している。しかしながら、標準
試料Eと試料Fとは通常はいくらかは異なっていると考
えられるため、このような要約値AB1等の読み取りか
ら2つの試料の同一性の判定までの動作を省略して、す
ぐにステップ129に移行して、DNA情報の供給者か
ら標準試料Eのパリティ情報(簡易データ)を購入する
ようにしてもよい。
【0135】なお、上記の実施の形態では、図8に示す
ように、第1組のパリティ情報(B1(i)〜B3
(i))と第2組のパリティ情報(C1(j)〜C3
(j))とは同じ個数である。しかしながら、図8の例
のように部分データA(i,j)の配列方向の個数(4
個)が非配列方向の個数(32個)よりも少ない場合に
は、パリティ情報の全体の情報量を少なくするために、
配列方向のパリティ情報として例えばC1(j)、C2
(j)、又はC1(j)及びC2(j)のみを使用する
というように、第2組のパリティ情報を第1組のパリテ
ィ情報よりも少なくしてもよい。このようにしても、標
準試料Eと試料Fとの相違部は正確に検出できると共
に、SNPのような部分的に生じる相違部は正確に復元
することができる。
【0136】また、図8(図7)の例のように部分デー
タA(i,j)の配列方向の個数が非配列方向の個数よ
りも少ない場合には、その配列方向をディスプレイの横
方向(水平方向)に合わせて表示し、非配列方向にスク
ロールすることによって、部分データA(i,j)及び
パリティ情報を作業性の良好な状態で表示することがで
きる。この場合でも、部分データA(i,j)をmビッ
トとすると、その非配列方向の個数は、(2m −1)/
4 以下であることが望ましい。これによって、非配列
方向のパリティ情報として異なる4個のパリティ情報を
計算できるため、通常の部分的に生じる相違部は正確に
復元することができる。
【0137】次に、上記の実施の形態では、ステップ1
05において、図7の標準試料EのテキストデータTX
1を図8の同じデータ量の部分データA(i,j)の配
列に変換し、この配列からパリティ情報を求めている。
その代わりに、データ量を減少させるために、図7の標
準試料EのテキストデータTX1を表1の変換テーブル
(1つのヌクレオチドを2ビットのデータで表すテーブ
ル)を用いてデータ量が1/4のバイナリーデータ(数
値データ)に変換し、このバイナリーデータを配列方
向、及び非配列方向に分割して、部分データの配列を作
成してもよい。
【0138】図13は、そのようにして得られたヌクレ
オチドの配列方向に5行で、非配列方向に13列の64
ビット(8バイト)ずつの部分データB(i,j)(i
=1〜5,j=1〜13)の配列を16進数表示で示
し、この図13の各部分データB(i,j)は、それぞ
れ図7の標準試料E中の32個のヌクレオチドの配列に
対応している。なお、この配列では、最後の部分データ
B(5,13)に対応する図7の標準試料Eは存在しな
いため、その部分データB(5,13)にはhex(000・・・
000)よりなるダミーデータが付加されている。
【0139】この場合には、ステップ106に対応し
て、図13の64ビットの各部分データB(i,j)を
ガロア体GF(264)(m=64)上の元のベクトル表
示とみなして、部分データB(i,j)に対してガロア
体GF(264)上の所定の演算を施す。ガロア体GF
(264)上の既約多項式GF(X)及び生成元αとして
は次の式を使用することができる。
【0140】 GF(X)=1+X5 +X23+X43+X64 …(35) α=X …(36) また、ガロア体GF(264)上の既約多項式としては、
例えば次の既約多項式GF’(X)も使用でき、この既
約多項式GF’(X)に対する生成元としては次のα’
などを使用できる。
【0141】 GF’(X)=1+X7 +X62+X63+X64 …(35A) α’=1+X …(36A) そして、図1の情報処理装置10は、図13の各行(i
=1〜5)の部分データB(i,j)に対してガロア体
GF(264)上で、非配列方向(j=1〜13)に対す
る和である第1パリティ(Parity)B1B(i)、Σα
(j-1)・B(i,j)である第2パリティB2B(i)、
及びΣα2(j-1)・B(i,j)である第3パリティB3
B(i)を計算する。これらの計算式は、(19)式〜
(21)式に対応しており、この第1組のパリティ情報
(B1B(i)〜B3B(i))はそれぞれ64ビット
である。
【0142】更に、情報処理装置10は、図13の各列
(j=1〜13)の部分データB(i,j)に対してガ
ロア体GF(264)上で、配列方向(i=1〜5)に対
する和である第1パリティC1B(j)、Σα(i-1)・B
(i,j)である第2パリティC2B(j)、及びΣα
2(i-1)・B(i,j)である第3パリティC3B(j)
を計算する。これらの計算式は、(22)式〜(24)
式に対応しており、この第2組のパリティ情報(C1B
(j)〜C3B(j))もそれぞれ64ビットである。
【0143】この場合、2組のパリティ情報(B1B
(i)〜B3B(i),C1B(j)〜C3B(j))
のデータ量は、図8のパリティ情報(B1(i)〜B3
(i),C1(j)〜C3(j))に比べてほぼ1/4
に少なくできる。従って、パリティ情報を通信回線を介
して更に短時間で送信することができると共に、記録媒
体に記録する場合にも、低容量の記録媒体を使用でき
る。
【0144】この場合には、ユーザ側で図9の試料Fの
パリティ情報を計算する場合にも、同様にその試料Fの
テキストデータを表1に従って1/4のデータ量の部分
データの配列に変換した後、ガロア体GF(264)上の
演算によって第1組及び第2組のパリティ情報を計算す
ればよい。この後の相違するデータの位置の特定、及び
元のデータの復元は上記の実施の形態と同様に行うこと
ができる。
【0145】なお、上記の実施の形態では、DNA又は
RNAを構成するヌクレオチドは4種類であるため、テ
キストデータTX1を少ないデータ量のバイナリーデー
タに変換する際に、表1に示すように各ヌクレオチドを
2ビットのデータで表している。これに対して、ヌクレ
オチド(又は塩基)を表すテキストデータとして、以下
のような16種類の文字a〜n(8ビットのアスキーデ
ータ)が使用されることがある。
【0146】 《表2》 a アデニン(アデニンを含むヌクレオチドと同義、以下同様) c シトシン g グアニン t チミン u ウラシル m アデニン、又はシトシン r グアニン、又はアデニン w アデニン、又はチミン(若しくはウラシル) s グアニン、又はシトシン y チミン(若しくはウラシル)、又はシトシン k グアニン、又はチミン(若しくはウラシル) v アデニン、グアニン、又はシトシン h アデニン、シトシン、又はチミン(若しくはウラシル) d アデニン、グアニン、又はチミン(若しくはウラシル) b グアニン、シトシン、又はチミン(若しくはウラシル) n (アデニン、シトシン、グアニン、又はチミン(若しくはウラシル)) 又は(不明若しくは他の塩基)。
【0147】この場合には、これら16種類の文字を互
いに異なる4ビットのコードに変換し、このコードを用
いてテキストデータを数値データ(バイナリーデータ)
に変換してもよい。これによって、データ量を1/2に
することができる。また、将来的にヌクレオチド(塩
基)の種類が増加したような場合には、これらのヌクレ
オチドを5ビット、又は6ビットのデータで表現するよ
うにしてもよい。
【0148】また、上記の実施の形態では、図7及び図
9のヌクレオチドの配列を示すテキストデータよりハッ
シュ関数によって要約値を算出しているが、情報量とし
ては、それらのテキストデータは例えば表1に従って変
換したバイナリーデータ(数値データ)と等価である。
従って、これらの変換後のバイナリーデータよりハッシ
ュ関数によってそれぞれ要約値を算出し、これらの算出
結果同士を比較するようにしてもよい。そのバイナリー
データのデータ量はテキストデータに対して1/4程度
であるため、要約値を算出する時間が短縮できる利点が
ある。
【0149】なお、上記の実施の形態では、DNA又は
RNA中のヌクレオチドの配列(又は塩基の配列)の情
報を処理対象としているが、本発明は、遺伝子を形成す
るヌクレオチドの配列の情報を処理する場合にも適用で
きることは言うまでもない。次に、本発明の実施の形態
の他の例につき説明する。本例は、タンパク質又はペプ
チドを構成するアミノ酸(生物学的物質)の配列情報を
処理する場合に本発明を適用したものである。
【0150】本例でも基本的に図1のコンピュータシス
テム2Aを使用できるが、DNAのシーケンサー4の代
わりに、タンパク質のアミノ酸の配列を決定する配列読
み取り装置としてのタンパク質用のシーケンサー(prot
ein Sequencer)が情報処理装置10に接続される点が異
なっている。なお、その配列読み取り装置としては、ア
ミノ酸の配列のデータベースも使用できる。本例でも、
例えば新規の試料Gのタンパク質のアミノ酸の配列をそ
のシーケンサーで解読した場合に、その配列を示すテキ
ストデータ(TX3とする)が情報処理装置10に供給
される。本例では一文字表記を採用するものとして、n
個のアミノ酸の配列に対応するテキストデータ(アスキ
ーコードとする)は、nバイトの長さである。本例で
は、その試料Gを大腸菌として、そのテキストデータT
X3として、図14に示すように、上記のウェブサイト
1から入手した大腸菌の或るタンパク質の820個のア
ミノ酸の配列を示すテキストデータを使用する。
【0151】試料Gのアミノ酸配列は配列番号3に示さ
れている。図14のテキストデータは、配列番号3の配
列から数字データを除いて、その配列を一文字表記で表
したものに相当する。また、図14においては、そのテ
キストデータが配列方向(アミノ酸の配列方向)に4行
で、その配列方向に直交する非配列方向に26列の8文
字の長さの部分テキストデータTG(i,j)に分割さ
れており、821番以上のアミノ酸を示すデータの位置
にはダミーデータとして0が付加されている。
【0152】次に、情報処理装置10は、供給されたテ
キストデータTX3に上記のMD5ハッシュ関数を施し
て128ビットの要約値AB3を求めると共に、そのア
ミノ酸の配列の数NA3、及び先頭と末尾との8個ずつ
のアミノ酸の配列ST3,SB3を求める。テキストデ
ータTX3に対する具体的な値は下記の通りである。 AB3=hex(0f66dc2b3024a9739d0e912fde12b8ba) …(41) NA3=820 ST3=MRVLKFGG,SB3=TLSWKLGV 次に、情報処理装置10は、テキストデータTX3を逆
方向に並べ替えたテキストデータTXR3(=VGLK
WS・・・・FKLVRM)を求め、このテキストデー
タTXR3のMD5ハッシュ関数による要約値ABR
3、及びこのテキストデータTXR3の先頭と末尾との
8個ずつのアミノ酸の配列STR3,SBR3を求め
る。配列STR3,SBR3は、上記の配列SB3,S
T3をそれぞれ逆方向に並べ替えることによって容易に
求めることができる。これらの具体的な値は以下の通り
である。テキストデータTXR3の配列は、テキストデ
ータTX3の配列に対して回文(palindrome)の関係に
あると言うことができる。
【0153】 ABR3=hex(e895f433e1e77f84b3cadeead1a52380) …(42) STR3=VGLKWSLT,SBR3=GGFKLVRM 次に、情報処理装置10は、試料Gの名前の情報(試料
を特定する情報)、配列の数NA3、テキストデータT
X3、配列ST3,SB3、要約値AB3、逆方向の配
列STR3,SBR3、及び逆方向の要約値ABR3を
磁気ディスク装置17のマスターファイル19に記録す
る。この際に、マスターファイル19を複数のファイル
として、テキストデータTX3と、それ以外のデータと
を別のファイルに記録してもよい。続いて、情報処理装
置10は、例えば図7と同様に図14に示すように、試
料GのテキストデータTX3を配列方向(アミノ酸の配
列方向)にN行で、その配列方向に直交する非配列方向
にM列の8文字(64ビット)の長さの部分テキストデ
ータTG(i,j)に分割する。N,Mはそれぞれ2以
上の任意の整数である。本例ではテキストデータTX3
に例えば12文字分のダミーデータ(本例では0である
が、それ以外に例えば文字Aなども使用できる)を付加
して得られる832(=8・4・26)バイトのテキス
トデータ(これをTX3’と呼ぶ)を作成し、テキスト
データTX3’をN=4,M=26で分割する。本例で
は、その8文字分の部分テキストデータTG(i,j)
を、次のようにテキストデータを単にアスキーコード
(数値データ)に変換する関数asc()を用いて、そ
のまま64ビットの部分データAG(i,j)として扱
う。
【0154】 AG(i,j)=asc(TG(i,j)) …(43) なお、図14にTG(3,11)の変換例で示すよう
に、関数asc(TG(i,j))は、部分テキストデ
ータTG(i,j)の先頭の文字のコードが最下位桁と
なり、末尾の文字のコードが最上位桁となるように反転
して変換を行う。なお、この際に、各アミノ酸を6ビッ
トのデータで表してもよいが、データ量は3/4程度に
なるだけであるため、本例では部分テキストデータ(ア
スキーコード列)をそのまま部分データ(数値データ)
として扱う。
【0155】図15は、試料Gの部分データAG(i,
j)の配列を示している。それに続いて図13の例と同
様に、情報処理装置10は、その図15の4行で26列
の64ビットの部分データAG(i,j)をガロア体G
F(264)(m=64)上の元のベクトル表示とみなし
て、部分データAG(i,j)に対してガロア体GF
(264)上の所定の演算を施す。ガロア体GF(264
上の既約多項式GF(X)及び生成元αとしては、(3
5)式(又は(35A)式)、及び(36)式(又は
(36A)式)などを使用できる。
【0156】具体的に、情報処理装置10は、図15の
各行(i=1〜4)の部分データAG(i,j)に対し
てガロア体GF(264)上で、非配列方向(j=1〜2
6)に対する和である第1パリティ(Parity)B1G
(i)、Σα(j-1)・AG(i,j)である第2パリティ
B2G(i)、及びΣα2(j-1)・AG(i,j)である
第3パリティB3G(i)を計算する。これらの計算式
は、(19)式〜(21)式に対応しており、この第1
組のパリティ情報(B1G(i)〜B3G(i))はそ
れぞれ64ビットである。
【0157】更に、情報処理装置10は、図15の各列
(j=1〜26)の部分データAG(i,j)に対して
ガロア体GF(264)上で、配列方向(i=1〜4)に
対する和である第1パリティC1G(j)、Σα(i-1)
AG(i,j)である第2パリティC2G(j)、及び
Σα2(i-1)・AG(i,j)である第3パリティC3G
(j)を計算する。これらの計算式は、(22)式〜
(24)式に対応しており、この第2組のパリティ情報
(C1G(j)〜C3G(j))もそれぞれ64ビット
である。このように計算して得られたパリティB1G
(i)〜B3G(i),C1G(j)〜C3G(j)
が、図15に16進数表示で示されている。
【0158】この例においては、各行、各列で3つのパ
リティを計算しているが、アミノ酸の配列はヌクレオチ
ドの配列に比べるとデータ量がかなり少ないため、実用
的には、パリティ情報は各行(非配列方向)、及び各列
(配列方向)においてそれぞれ1つ(例えばB2G
(i)とC2G(j))としてもよい。図15の例にお
いて、パリティB2G(i),C2G(j)のみを使用
するものとすると、パリティはそれぞれ64ビット(8
バイト)であるため、全部のパリティのデータ量は、2
40(=8・30)バイトとなる。従って、全部のパリ
ティのデータ量は、全体の元のテキストデータTX3
(820バイト)に対してほぼ1/3に減少している。
【0159】次に、情報処理装置10は、試料Gの名前
の情報、配列の数NA3、テキストデータTX3、要約
値AB3,ABR3、及びパリティ情報を磁気ディスク
装置17のワーキングファイル20に記録する。この際
に、ワーキングファイル20を複数のファイルとしても
よい。その後、情報処理装置10は、試料Gの名前の情
報、配列の数NA3、配列ST3,SB3、要約値AB
3、逆方向の配列STR3,SBR3、及び逆方向の要
約値ABR3を磁気ディスク装置17のコンテンツファ
イル21に記録する。更に、情報処理装置10は、コン
テンツファイル21中の情報を通信ネットワーク1を介
してコンテンツのプロバイダ3に送信する。これによっ
て、コンテンツファイル21中の情報はプロバイダ3の
サーバ内の閲覧可能なコンテンツファイル31に記録さ
れて、第3者がインターネットを介して自由に閲覧でき
るようになる。この結果、第3者は、公開されている試
料Gの配列の数NA3、及び要約値AB3(又は必要に
応じてABR3)を自分の保有するアミノ酸の配列の配
列数、及び要約値と比較することによって、その試料G
が自分にとって新規かどうかを判定できる。また、ユー
ザは、その試料Gの配列情報を複数の供給者から誤って
重複して購入することを回避することができる。
【0160】その後、コンピュータシステム2Aの所有
者(アミノ酸情報の供給者)は、ユーザから購入要求が
来るのを待つ状態となる。そして、ユーザから試料Gに
対する簡易データの要求があったときには、情報処理装
置10は、磁気ディスク装置17のワーキングファイル
20の中の試料Gのパリティ情報(例えばその中のB2
G(i),C2G(j))を例えば電子メールの添付フ
ァイルとしてそのユーザに送信する。パリティの情報を
購入したユーザは、試料Gと同じ種類の自分で解読した
試料のアミノ酸の配列のパリティと、その購入したパリ
ティとを比較することによって、相違する部分の検出及
び復元を或る程度行うことができる。
【0161】一方、ユーザから完全データの要求があっ
たときには、情報処理装置10は、ワーキングファイル
20中のテキストデータTX3をZIPファイル等の形
式で圧縮し、この圧縮されたデータを例えば電子メール
の添付ファイルとしてそのユーザに送信する。この際に
必要に応じて、ハッシュ関数による要約値AB3を同時
に送信してもよい。本例によれば、簡易データ(パリテ
ィ情報)はデータ量を少なくできるために短時間で送信
することができる。
【0162】更に、そのアミノ酸の配列情報の供給者
は、ワーキングファイル20に記録した情報、即ち試料
Gの名前の情報、配列の数NA3、テキストデータTX
3、要約値AB3,ABR3、及びパリティ情報をCD
−R/RWドライブ15を介してCD−R16に記録し
てもよい。このCD−R16から、更に多数のCD−R
OMを作製してもよく、これらの記録媒体が郵送等によ
ってユーザに販売される。
【0163】なお、上記の実施の形態では、生物学的物
質の配列に対応するテキストデータ、又は該テキストデ
ータを所定の規則に従って変換して得られる数値データ
を、前記生物学的物質の配列方向に複数行で、かつ前記
配列方向に交差する非配列方向に複数列の長さがmビッ
ト(mは16以上の整数)の部分データに分割し、複数
行の前記部分データに各行毎に前記非配列方向にガロア
体GF(2m )上の第1の演算を施して第1組のパリテ
ィ情報を求めると共に、複数列の前記部分データに各列
毎に前記配列方向にガロア体GF(2m )上の第2の演
算を施して第2組のパリティ情報を求めている。
【0164】これに関して、mが16より小さい場合に
は、各部分データは、例えば1〜7個程度のヌクレオチ
ド、又は1〜2個程度のアミノ酸の配列に対応するた
め、1つの生物学的物質の配列に対して計算すべきパリ
ティ情報の数が多くなり過ぎて好ましくない。また、最
近のコンピュータの計算能力を活かしきれないという不
都合もある。特に、コンピュータの処理単位が64ビッ
トの倍数である場合には、パリティ情報の計算効率を高
めるために、そのmの値も64,128,192,25
6などの64の倍数とすることが望ましい。
【0165】また、例えば図13の実施の形態では、m
ビットを超える素数をP(>2m )とすると、この素数
Pを法とするガロア体GF(P)を用いてパリティ情報
を計算することも可能である。しかしながら、このガロ
ア体GF(P)を用いた場合には、mビットの部分デー
タに演算を施して得られる個々のパリティ情報がmビッ
トを超える場合があるため、パリティ情報がガロア対G
F(2m )を用いた場合に比べて(m+1)/m倍程度
に長くなるという不都合がある。即ち、ガロア体GF
(P)には演算が容易であるという利点があるが、ガロ
ア体GF(2m )を用いた場合には、個々のパリティ情
報をmビットにできるため、パリティ情報を簡潔に記録
できる利点がある。
【0166】2m (m≧16)を超える、又は2m より
僅かに小さい程度の大きい値の素数Pを求めるには、例
えば ミラー・ラビン(Miller-Rabin)の素数判定法(例
えばM.O.Rabin: "Probabilistic algorithms for testi
ng primality", Journal ofNumber Theory, 12, pp.128
-138(1980)参照)を使用することができる。また、生成
元を求めるために大きい数の因数分解を行うためには、
例えば2次ふるい法(quadratic sieve) (例えば C.Pom
erance: "Factoring",In Cryptology and Computationa
l Number Theory, pp.27-47,American Mathematical So
ciety (1990)参照)を使用することができる。また、実
際に大きい数の素数Pの決定、及び大きい数の因数分解
を行うためには、上記の「UBASIC」中の組み込み関数
「ECM」を使用してもよい。
【0167】そして、素数Pを用いるガロア体GF
(P)は、(0,1,…,P−1)のP個の元より構成
され、加減乗除の演算はPを法として実行される。これ
を上記の実施の形態に適用する場合には、mビットの部
分データ(A(i,j)等)をそのガロア体GF(P)
の何れかの元に対応させればよい。そして、パリティ情
報を容易に算出するためには、ガロア体GF(P)の生
成元δを使用するとよい。ガロア体GF(P)上の生成
元δは、k=P−1 とおくと、Pを法として、次の関
係を満たす。
【0168】 δk =1(mod P) …(A2) δk'≠1(mod P)(1≦k’<k) …(A3) そこで、素数p1,p2,…,pr及び整数n1,n
2,…,nrを用いて、kが次のように因数分解できる
ものとする。 k=P−1=p1n1・p2n2・…・prnr …(A4)
【0169】このとき、生成元δとは、Pを法として、
δの(p1n1-1・p2n2・…・pr nr)乗、(p1n1
p2n2-1・…・prnr)乗、…、(p1n1・p2n2・…
・prnr-1)乗が何れも1とならないものであればよ
い。また、ガロア体GF(P)上の任意の0以外の元ε
についても(A2)式が成立するため、k(=P−1)
を用いてεの逆元ε-1は次のように計算することも可能
である。
【0170】 ε-1=εk-1 (mod P) …(A5) 従って、例えば或る部分データをεで除算する場合に
は、その部分データにε k-1 を乗算すればよい。そし
て、ガロア体GF(P)を用いる場合にも、図3〜図6
のDNA情報の供給者の動作、及びDNA情報のユーザ
の動作は、ガロアGF(2m )上の演算をガロア体GF
(P)上の演算に変えるだけで全て同様に適用すること
ができる。
【0171】具体的に図13(例えば標準試料とす
る。)の実施の形態において、ガロア体GF(P)上で
パリティ情報を計算する場合には、部分データB(i,
j)は64ビットの全ての値を取る可能性があるため、
素数Pとしては264(m=64)を超える範囲で65
(=m+1)ビット以下の素数(例えば最も小さい素
数)を選択すればよい。このような素数Pは16進数表
示で次のようになる。また、この素数Pに対する生成元
δとしては、例えば次の値を使用できる。なお、この場
合、例えば3も生成元であるため、生成元として2のべ
き乗以外の数を使用したいときには、生成元δとして例
えば3を使用してもよい。 P=hex(1000000000000000d) …(A6) δ=2 …(A7)
【0172】この条件で、図3のステップ106に対応
して、図13の64ビットの各部分データB(i,j)
をガロア体GF(P)上の元のとみなして、部分データ
B(i,j)に対して生成元δを用いてガロア体GF
(P)上の所定の演算を施す。一例として、図13の各
行(i=1〜5)の部分データB(i,j)に対してガ
ロア体GF(P)上で、非配列方向(j=1〜13)に
対する和である第1パリティB1B(i)’、Σδ
(j-1)・B(i,j)である第2パリティB2B
(i)’、及びΣδ2(j-1)・B(i,j)である第3パ
リティB3B(i)’を計算する。これらの計算式は、
(19)式〜(21)式に対応しており、この第1組の
パリティ情報(B1B(i)’〜B3B(i)’)はそ
れぞれ最大で(64+1)ビットである。
【0173】更に、図13の各列(j=1〜13)の部
分データB(i,j)に対してガロア体GF(P)上
で、配列方向(i=1〜5)に対する和である第1パリ
ティC1B(j)’、Σδ(i-1)・B(i,j)である第
2パリティC2B(j)’、及びΣδ2(i-1)・B(i,
j)である第3パリティC3B(j)’を計算する。こ
れらの計算式は、(22)式〜(24)式に対応してお
り、この第2組のパリティ情報(C1B(j)’〜C3
B(j)’)もそれぞれ最大で(64+1)ビットであ
る。
【0174】同様に図6のステップ130に対応して、
比較対象の試料の部分データの配列に対してもガロア体
GF(P)上で非配列方向の第1組のパリティ情報、及
び配列方向の第2組のパリティ情報を計算する。そし
て、本例でも図6のステップ131〜138に対応し
て、2つの試料のパリティ情報の比較、相違する部分デ
ータの特定、及び相違する部分データの復元を行うこと
ができる。なお、部分データが128ビット(m=12
8)で全ての値を取る場合に、ガロア体GF(P)上で
パリティ情報を計算する場合には、2128 を超えて12
9ビット以下の素数P、及びこれに対応する生成元δの
一例としては、次の値を使用することができる。 P=2128 +51 …(A8) δ=2 …(A9)
【0175】次に、図7、図8の実施の形態のように部
分データA(i,j)がテキストデータそのものである
場合には、mビットの部分データA(i,j)の最大値
Nmaxは(2m −1)よりも小さくなる。具体的に図
7のテキストデータとしてASCIIコードを使用する
場合、アルファベットのASCIIコードはhex(41)〜h
ex(7a) であるため、最大値Nmaxは次のようにな
る。 Nmax=hex(7a7a7a7a・・・・・7a7a7a)<2m −1 …(A10)
【0176】この場合には、ガロア体GF(P)を構成
するための素数Pを次のように、部分データA(i,
j)の最大値Nmaxより大きく、且つmビットの数と
して選択することができる。 2m >P>Nmax …(A11) 具体的に、m=128で(A10)式が成立する場合に
は、(A11)式を満たす範囲で最も小さい素数N及び
これに対する生成元δの一例は次のようになる。 P=hex(7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7f) …(A12) δ=5 …(A13)
【0177】この素数N及び生成元δを用いるガロア体
GF(P)上で図7、図8の部分データA(i,j)に
対して第1組のパリティ情報、及び第2組のパリティ情
報を計算すると、得られる各パリティはそれぞれmビッ
トである。従って、演算が簡単であると共に、ガロア体
GF(2m )を用いたときと同じ長さの簡潔なパリティ
情報を得ることができる。同様に、図14、図15の実
施の形態においても、テキストデータとしてASCII
コードを使用する場合、mビット(図14ではm=6
4)の部分データAG(i,j)の最大値Nmaxは次
のようになる。 Nmax=hex(7a7a7a7a7a7a7a7a)<2m −1 …(A14)
【0178】この場合にも、ガロア体GF(P)を構成
するための素数Pを(A11)式が成立するように選択
することができる。具体的に、m=64で(A14)式
が成立する場合には、(A11)式を満たす範囲で最も
小さい素数N及びこれに対する生成元δの一例は次のよ
うになる。なお、この場合、生成元δとしては例えば5
も使用できるため、2の代わりに5などの2のべき乗以
外の数を使用するようにしてもよい。 P=hex(7a7a7a7a7a7a7ad5) …(A15) δ=2 …(A16)
【0179】また、パリティ情報をガロア体GF(P)
上で計算する場合にも、部分データの配列方向の個数
を、その部分データの非配列方向の個数よりも少なくし
て、配列方向(第2組)のパリティ情報の個数を、非配
列方向(第1組)のパリティ情報の個数よりも少なくし
てもよい。これによって、パリティ情報をディスプレイ
に表示し易いと共に、パリティ情報の情報量が必要以上
に大きくなるのを避けることができる。この場合、生成
元δを用いて非配列方向で4個までの相違部を正確に復
元するためには、非配列方向の部分データの個数を(P
−1)/4以下にすればよい。
【0180】なお、上記の実施の形態では、各部分デー
タに所定の係数を乗じてパリティ情報を求めているが、
パリティ情報としては、例えばBCH符号(Bose-Chaud
hari-Hocquenghem Codes)(例えば J.L.Massey: "Shif
t Register Synthesis and BCH Decoding", IEEE Tran
s.,IT-15, pp.122-127(1969) 参照)を用いてもよい。
但し、従来のBCH符号は小さい値m'(m’≦16程
度)のガロア体GF(2m ')で考えられているため、こ
れを本発明で使用されている大きい値m(m≧16)の
ガロア体GF(2m )上で構築し直す必要がある。
【0181】ここで、上記の実施の形態で使用するハッ
シュ関数に関して説明する。通常の暗号理論で使用され
るハッシュ関数は、テキストデータ中のスペースコード
及び改行コード等も全て演算処理対象としているが、ヌ
クレオチド及びアミノ酸の配列情報については見やすく
するために、例えば配列番号1〜3で示すように、途中
にスペースコード、順序を示す数字コード、及び改行コ
ードを挿入する場合がある。そこで、ヌクレオチドやア
ミノ酸などの生物学的物質の配列情報を演算処理対象と
するハッシュ関数においては、テキストデータ中の所定
コードとしてのスペースコード、数字コード、及び改行
コードを無視する機能を付加することが望ましい。ま
た、隣接する文字を”−”(ハイフン)で分けることも
考えられるが、この場合には、更に”−”記号も無視す
る必要がある。また、例えばファイルの最後に「データ
の終わりを示すコード」が付加されるような場合には、
そのコードも無視するようにしてもよい。
【0182】また、例えばヌクレオチドの配列が、通常
は小文字で表されるような場合には、ハッシュ関数に、
選択的に大文字を小文字に変換して要約値を計算する機
能を持たせるようにしてもよい。逆に、例えばアミノ酸
の配列が、通常は大文字で表されるような場合には、ハ
ッシュ関数に、選択的に小文字を大文字に変換して要約
値を計算する機能を持たせるようにしてもよい。
【0183】更に、原ファイルを複数の分割ファイルに
分割する際には、複数の分割ファイルの順序等を示すデ
ータ(以下、「コメントデータ」と言う)を各分割ファ
イルに付加することが望ましいことがある。このように
分割ファイル、又は1つの原ファイルにコメントデータ
を付加する場合にも、コメントデータはハッシュ関数で
無視する必要がある。そのため、例えばコメントデータ
は所定の開始記号(例えば /* )及び終了記号(例
えば */)の間に記録し、ハッシュ関数で処理する際
に開始記号から終了記号までのデータは無視するように
すればよい。
【0184】また、上記の実施の形態では、例えば生物
のDNAのヌクレオチドの配列(又はタンパク質のアミ
ノ酸の配列)内の先頭の一部、及び末尾の一部の配列、
並びにその配列のテキストデータの要約値をインターネ
ット上で公開することがある。この場合には、その公開
されている一部の配列と、その要約値とからそのテキス
トデータの内容が推定される可能性もある。これを回避
するために、そのテキストデータをハッシュ関数で処理
する際に、その公開されている配列を除いた部分につい
てのみ、そのハッシュ関数を施して要約値を求めるよう
にしてもよい。
【0185】なお、本発明は上述の実施の形態に限定さ
れず、本発明の要旨を逸脱しない範囲で種々の構成を取
り得ることは勿論である。
【0186】
【発明の効果】本発明によれば、核酸や遺伝子中のヌク
レオチド、又は又はタンパク質やペプチド中のアミノ酸
などの生物学的物質の配列情報を、それらの配列を示す
テキストデータよりも少ないデータ量のパリティ情報と
して近似的に記録することができる。従って、そのパリ
ティ情報は、低容量の記録媒体にも記録できると共に、
通信回線を介して短時間に送信することが可能となる。
また、ガロア体GF(2 m )上の演算を行うことによっ
て、個々のパリティ情報を部分データと同じmビットの
情報量で簡潔に記録できる利点がある。
【0187】一方、そのパリティ情報を求める場合に、
素数Pのガロア体GF(P)上の演算を行うことによっ
て、パリティ情報の情報量は(m+1)/m倍程度に多
くなるが、演算を単純化することができる。特に、部分
データの最大値Nmaxが(2m −1)よりも小さい値
であり、その素数Pを、(2m >P>Nmax)の関係
を満たすように選択できる場合には、演算を単純化した
上で、各パリティ情報を部分データと同じmビットの情
報量で簡潔に記録できる利点がある。
【0188】また、2つの生物学的物質の配列のパリテ
ィ情報を比較することによって、2つの配列間の相違部
の位置を少ないデータ量で容易に特定(検出)できると
共に、必要に応じてその相違部の情報を復元することが
できる。従って、例えばSNP(一塩基変位多型:Sing
le Nucleotide Polymorphism)を少ないデータ量で容易
に発見することができる。
【0189】また、本発明によれば、ヌクレオチド又は
アミノ酸などの生物学的物質の配列情報を近似する情報
(パリティ情報)を少ないデータ量でユーザに供給でき
るビジネスモデルを提供することができる。この場合
に、更に数学的な要約値を用いることによって、ユーザ
が提供された配列情報と情報供給者が保持している配列
情報との同一性の確認などを容易に行うことができる。
また、同一の複数の配列情報を誤って購入することも防
止できる。
【図面の簡単な説明】
【図1】 本発明の実施の形態の一例で使用されるコン
ピュータシステムを示す概略構成図である。
【図2】 その実施の形態の一例で処理対象とするDN
A、及びそのヌクレオチドの配列のバイナリーデータに
よる表現の例を示す図である。
【図3】 その実施の形態の一例におけるDNA情報の
供給者の動作の一部を示すフローチャートである。
【図4】 図3の動作に続くDNA情報の供給者の動作
を示すフローチャートである。
【図5】 その実施の形態の一例におけるDNA情報の
ユーザの動作の一部を示すフローチャートである。
【図6】 図5の動作に続くDNA情報のユーザの動作
を示すフローチャートである。
【図7】 標準試料E(DNA)のヌクレオチド(20
48個)の配列を表すテキストデータを4行で32列の
部分テキストデータT(i,j)に分割した状態を示す
図である。
【図8】 標準試料Eの部分データA(i,j)、及び
これらから算出されるパリティB1(i)〜C3(j)
を示す図である。
【図9】 試料F(DNA)のヌクレオチド(2048
個)の配列を表すテキストデータを4行で32列の部分
テキストデータTF(i,j)に分割した状態を示す図
である。
【図10】 試料Fの部分データAF(i,j)、及び
これらから算出されるパリティB1F(i)〜C3F
(j)を示す図である。
【図11】 標準試料Eのパリティと異なる試料Fのパ
リティ、及び復元された部分データを示す図である。
【図12】 未知数X1,X2,Y1,Y2をガロア体
GF(2128)上で求める場合の計算を示すフローチャー
トである。
【図13】 図7の標準試料Eのヌクレオチドの配列を
表すテキストデータをバイナリーデータに変換した後、
5行で13列の部分データB(i,j)に分割した状態
を示す図である。
【図14】 試料G(タンパク質)のアミノ酸(820
個)の配列を表すテキストデータを4行で26列の部分
テキストデータに分割した状態を示す図である。
【図15】 図14のアミノ酸の配列に対して計算され
たパリティB1G(i)〜C3G(j)を示す図であ
る。
【符号の説明】
1…通信ネットワーク、2A,2B…コンピュータシス
テム、3…コンテンツのプロバイダ、4…DNAのシー
ケンサー、10…情報処理装置、15…CD−R/RW
ドライブ、16…CD−R、17…磁気ディスク装置、
19…マスターファイル、20…ワーキングファイル、
21…コンテンツファイル、31…コンテンツファイル
【配列表】 SEQUENCE LISTING <110> Omori, Satoshi <120> Method and apparatus for recording information on sequence of biological compounds <130> 2002A05 <140> <141> <150> EP 01921886.6 <151> 2001-04-18 <150> JP 2001-368002 <151> 2001-11-30 <160> 3 <170> PatentIn Ver. 2.1 <210> 1 <211> 2048 <212> DNA <213> Escherichia coli <400> 1 agcttttcat tctgactgca acgggcaata tgtctctgtg tggattaaaa aaagagtgtc 60 tgatagcagc ttctgaactg gttacctgcc gtgagtaaat taaaatttta ttgacttagg 120 tcactaaata ctttaaccaa tataggcata gcgcacagac agataaaaat tacagagtac 180 acaacatcca tgaaacgcat tagcaccacc attaccacca ccatcaccat taccacaggt 240 aacggtgcgg gctgacgcgt acaggaaaca cagaaaaaag cccgcacctg acagtgcggg 300 cttttttttt cgaccaaagg taacgaggta acaaccatgc gagtgttgaa gttcggcggt 360 acatcagtgg caaatgcaga acgttttctg cgtgttgccg atattctgga aagcaatgcc 420 aggcaggggc aggtggccac cgtcctctct gcccccgcca aaatcaccaa ccacctggtg 480 gcgatgattg aaaaaaccat tagcggccag gatgctttac ccaatatcag cgatgccgaa 540 cgtatttttg ccgaactttt gacgggactc gccgccgccc agccggggtt cccgctggcg 600 caattgaaaa ctttcgtcga tcaggaattt gcccaaataa aacatgtcct gcatggcatt 660 agtttgttgg ggcagtgccc ggatagcatc aacgctgcgc tgatttgccg tggcgagaaa 720 atgtcgatcg ccattatggc cggcgtatta gaagcgcgcg gtcacaacgt tactgttatc 780 gatccggtcg aaaaactgct ggcagtgggg cattacctcg aatctaccgt cgatattgct 840 gagtccaccc gccgtattgc ggcaagccgc attccggctg atcacatggt gctgatggca 900 ggtttcaccg ccggtaatga aaaaggcgaa ctggtggtgc ttggacgcaa cggttccgac 960 tactctgctg cggtgctggc tgcctgttta cgcgccgatt gttgcgagat ttggacggac 1020 gttgacgggg tctatacctg cgacccgcgt caggtgcccg atgcgaggtt gttgaagtcg 1080 atgtcctacc aggaagcgat ggagctttcc tacttcggcg ctaaagttct tcacccccgc 1140 accattaccc ccatcgccca gttccagatc ccttgcctga ttaaaaatac cggaaatcct 1200 caagcaccag gtacgctcat tggtgccagc cgtgatgaag acgaattacc ggtcaagggc 1260 atttccaatc tgaataacat ggcaatgttc agcgtttctg gtccggggat gaaagggatg 1320 gtcggcatgg cggcgcgcgt ctttgcagcg atgtcacgcg cccgtatttc cgtggtgctg 1380 attacgcaat catcttccga atacagcatc agtttctgcg ttccacaaag cgactgtgtg 1440 cgagctgaac gggcaatgca ggaagagttc tacctggaac tgaaagaagg cttactggag 1500 ccgctggcag tgacggaacg gctggccatt atctcggtgg taggtgatgg tatgcgcacc 1560 ttgcgtggga tctcggcgaa attctttgcc gcactggccc gcgccaatat caacattgtc 1620 gccattgctc agggatcttc tgaacgctca atctctgtcg tggtaaataa cgatgatgcg 1680 accactggcg tgcgcgttac tcatcagatg ctgttcaata ccgatcaggt tatcgaagtg 1740 tttgtgattg gcgtcggtgg cgttggcggt gcgctgctgg agcaactgaa gcgtcagcaa 1800 agctggctga agaataaaca tatcgactta cgtgtctgcg gtgttgccaa ctcgaaggct 1860 ctgctcacca atgtacatgg ccttaatctg gaaaactggc aggaagaact ggcgcaagcc 1920 aaagagccgt ttaatctcgg gcgcttaatt cgcctcgtga aagaatatca tctgctgaac 1980 ccggtcattg ttgactgcac ttccagccag gcagtggcgg atcaatatgc cgacttcctg 2040 cgcgaagg 2048 <210> 2 <211> 2048 <212> DNA <213> Escherichia coli <400> 2 agcttttcat tctgactgca acgggcaata tgtctctgtg tggattaaaa aaagagtgtc 60 tgatagcagc ttctgaactg gttacctgcc gtgagtaaat taaaatttta ttgacttagg 120 tcactaaata ctttaaccaa tataggcata gcgcacagac agataaaaat tacagagtac 180 acaacatcca tgaaacgcat tagcaccacc attaccacca ccatcaccat taccacaggt 240 aacggtgcgg gctgacgcgt acaggaaaca cagaaaaaag cccgcacctg acagtgcggg 300 cttttttttt cgaccaaagg taacgaggta acaaccatgc gagtgttgaa gttcggcggt 360 acatcagtgg caaatgcaga acgttttctg cgtgttgccg atattctgga aagcaatgcc 420 aggcaggggc aggtggccac cgtcctctct gcccccgcca aaatcaccaa ccacctggtg 480 gcgatgattg aaaaaaccat tagcggccag gatgctttac ccaatatcag cgatgccgaa 540 cgtatttttg ccgaactttt gacgggactc gccgccgccc agccggggtt cccgctggcg 600 caattgaaaa ctttcgtcga tcaggaattt gcccaaataa aacatgtcct gcatggcatt 660 agtttgttgg ggcagtgccc ggatagcatc aacgctgcgc tgatttgccg tggcgagaaa 720 atgtcgatcg ccattatggc cggcgtatta gaagcgcgcg gtcacaacgt tactgttatc 780 gatccggtcg aaaaactgct ggcagtgggg cattacctcg aatctaccgt cgatattgct 840 gagtccaccc gccgtattgc ggcaagccgc attccggctg atcacatggt gctgatggca 900 ggtttcaccg ccggtaatga aaaaggcgaa ctggtggtgc ttggacgcaa cggttccgac 960 tactctgctg cggtgctggc tgcctgttta cgcgccgatt gttgcgagat ttggacatta 1020 tggcggccaa cttatacctg cgacccgcgt caggtgcccg atgcgaggtt gttgaagtcg 1080 atgtcctacc aggaagcgat ggagctttcc tacttcggcg ctaaagttct tcacccccgc 1140 accattaccc ccatcgccca gttccagatc ccttgcctga ttaaaaatac cggaaatcct 1200 caagcaccag gtacgctcat tggtgccagc cgtgatgaag acgaattacc ggtcaagggc 1260 atttccaatc tgaataacat ggcaatgttc agcgtttctg gtccggggat gaaagggatg 1320 gtcggcatgg cggcgcgcgt ctttgcagcg atgtcacgcg cccgtatttc cgtggtgctg 1380 attacgcaat catcttccga atacagcatc agtttctgcg ttccacaaag cgactgtgtg 1440 cgagctgaac gggcaatgca ggaagagttc tacctggaac tgaaagaagg cttactggag 1500 ccgctggcag tgacggaacg gctggccatt atctcggtgg taggtgatgg tatgcgcacc 1560 ttgcgtggga tctcggcgaa attctttgcc gcactggccc gcgccaatat caacattgtc 1620 gccattgctc agggatcttc tgaacgctca atctctgtcg tggtaaataa cgatgatgcg 1680 accactggcg tgcgcgttac tcatcagatg ctgttcaata ccgatcaggt tatcgaagtg 1740 tttgtgattg gcgtcggtgg cgttggcggt gcgctgctgg agcaactgaa gcgtcagcaa 1800 agctggctga agaataaaca tatcgactta cgtgtctgcg gtgttgccaa ctcgaaggct 1860 ctgctcacca atgtacatgg ccttaatctg gaaaactggc aggaagaact ggcgcaagcc 1920 aaagagccgt ttaatctcgg gcgcttaatt cgcctcgtga aagaatatca tctgctgaac 1980 ccggtcattg ttgactgcac ttccagccag gcagtggcgg atcaatatgc cgacttcctg 2040 cgcgaagg 2048 <210> 3 <211> 820 <212> PRT <213> Escherichia coli <400> 3 Met Arg Val Leu Lys Phe Gly Gly Thr Ser Val Ala Asn Ala Glu Arg 1 5 10 15 Phe Leu Arg Val Ala Asp Ile Leu Glu Ser Asn Ala Arg Gln Gly Gln 20 25 30 Val Ala Thr Val Leu Ser Ala Pro Ala Lys Ile Thr Asn His Leu Val 35 40 45 Ala Met Ile Glu Lys Thr Ile Ser Gly Gln Asp Ala Leu Pro Asn Ile 50 55 60 Ser Asp Ala Glu Arg Ile Phe Ala Glu Leu Leu Thr Gly Leu Ala Ala 65 70 75 80 Ala Gln Pro Gly Phe Pro Leu Ala Gln Leu Lys Thr Phe Val Asp Gln 85 90 95 Glu Phe Ala Gln Ile Lys His Val Leu His Gly Ile Ser Leu Leu Gly 100 105 110 Gln Cys Pro Asp Ser Ile Asn Ala Ala Leu Ile Cys Arg Gly Glu Lys 115 120 125 Met Ser Ile Ala Ile Met Ala Gly Val Leu Glu Ala Arg Gly His Asn 130 135 140 Val Thr Val Ile Asp Pro Val Glu Lys Leu Leu Ala Val Gly His Tyr 145 150 155 160 Leu Glu Ser Thr Val Asp Ile Ala Glu Ser Thr Arg Arg Ile Ala Ala 165 170 175 Ser Arg Ile Pro Ala Asp His Met Val Leu Met Ala Gly Phe Thr Ala 180 185 190 Gly Asn Glu Lys Gly Glu Leu Val Val Leu Gly Arg Asn Gly Ser Asp 195 200 205 Tyr Ser Ala Ala Val Leu Ala Ala Cys Leu Arg Ala Asp Cys Cys Glu 210 215 220 Ile Trp Thr Asp Val Asp Gly Val Tyr Thr Cys Asp Pro Arg Gln Val 225 230 235 240 Pro Asp Ala Arg Leu Leu Lys Ser Met Ser Tyr Gln Glu Ala Met Glu 245 250 255 Leu Ser Tyr Phe Gly Ala Lys Val Leu His Pro Arg Thr Ile Thr Pro 260 265 270 Ile Ala Gln Phe Gln Ile Pro Cys Leu Ile Lys Asn Thr Gly Asn Pro 275 280 285 Gln Ala Pro Gly Thr Leu Ile Gly Ala Ser Arg Asp Glu Asp Glu Leu 290 295 300 Pro Val Lys Gly Ile Ser Asn Leu Asn Asn Met Ala Met Phe Ser Val 305 310 315 320 Ser Gly Pro Gly Met Lys Gly Met Val Gly Met Ala Ala Arg Val Phe 325 330 335 Ala Ala Met Ser Arg Ala Arg Ile Ser Val Val Leu Ile Thr Gln Ser 340 345 350 Ser Ser Glu Tyr Ser Ile Ser Phe Cys Val Pro Gln Ser Asp Cys Val 355 360 365 Arg Ala Glu Arg Ala Met Gln Glu Glu Phe Tyr Leu Glu Leu Lys Glu 370 375 380 Gly Leu Leu Glu Pro Leu Ala Val Thr Glu Arg Leu Ala Ile Ile Ser 385 390 395 400 Val Val Gly Asp Gly Met Arg Thr Leu Arg Gly Ile Ser Ala Lys Phe 405 410 415 Phe Ala Ala Leu Ala Arg Ala Asn Ile Asn Ile Val Ala Ile Ala Gln 420 425 430 Gly Ser Ser Glu Arg Ser Ile Ser Val Val Val Asn Asn Asp Asp Ala 435 440 445 Thr Thr Gly Val Arg Val Thr His Gln Met Leu Phe Asn Thr Asp Gln 450 455 460 Val Ile Glu Val Phe Val Ile Gly Val Gly Gly Val Gly Gly Ala Leu 465 470 475 480 Leu Glu Gln Leu Lys Arg Gln Gln Ser Trp Leu Lys Asn Lys His Ile 485 490 495 Asp Leu Arg Val Cys Gly Val Ala Asn Ser Lys Ala Leu Leu Thr Asn 500 505 510 Val His Gly Leu Asn Leu Glu Asn Trp Gln Glu Glu Leu Ala Gln Ala 515 520 525 Lys Glu Pro Phe Asn Leu Gly Arg Leu Ile Arg Leu Val Lys Glu Tyr 530 535 540 His Leu Leu Asn Pro Val Ile Val Asp Cys Thr Ser Ser Gln Ala Val 545 550 555 560 Ala Asp Gln Tyr Ala Asp Phe Leu Arg Glu Gly Phe His Val Val Thr 565 570 575 Pro Asn Lys Lys Ala Asn Thr Ser Ser Met Asp Tyr Tyr His Gln Leu 580 585 590 Arg Tyr Ala Ala Glu Lys Ser Arg Arg Lys Phe Leu Tyr Asp Thr Asn 595 600 605 Val Gly Ala Gly Leu Pro Val Ile Glu Asn Leu Gln Asn Leu Leu Asn 610 615 620 Ala Gly Asp Glu Leu Met Lys Phe Ser Gly Ile Leu Ser Gly Ser Leu 625 630 635 640 Ser Tyr Ile Phe Gly Lys Leu Asp Glu Gly Met Ser Phe Ser Glu Ala 645 650 655 Thr Thr Leu Ala Arg Glu Met Gly Tyr Thr Glu Pro Asp Pro Arg Asp 660 665 670 Asp Leu Ser Gly Met Asp Val Ala Arg Lys Leu Leu Ile Leu Ala Arg 675 680 685 Glu Thr Gly Arg Glu Leu Glu Leu Ala Asp Ile Glu Ile Glu Pro Val 690 695 700 Leu Pro Ala Glu Phe Asn Ala Glu Gly Asp Val Ala Ala Phe Met Ala 705 710 715 720 Asn Leu Ser Gln Leu Asp Asp Leu Phe Ala Ala Arg Val Ala Lys Ala 725 730 735 Arg Asp Glu Gly Lys Val Leu Arg Tyr Val Gly Asn Ile Asp Glu Asp 740 745 750 Gly Val Cys Arg Val Lys Ile Ala Glu Val Asp Gly Asn Asp Pro Leu 755 760 765 Phe Lys Val Lys Asn Gly Glu Asn Ala Leu Ala Phe Tyr Ser His Tyr 770 775 780 Tyr Gln Pro Leu Pro Leu Val Leu Arg Gly Tyr Gly Ala Gly Asn Asp 785 790 795 800 Val Thr Ala Ala Gly Val Phe Ala Asp Leu Leu Arg Thr Leu Ser Trp 805 810 815 Lys Leu Gly Val 820

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 生物学的物質の配列情報の記録方法であ
    って、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを、前記生物学的物質の配列方向に複数
    行で、かつ前記配列方向に交差する非配列方向に複数列
    の長さがmビット(mは16以上の整数)の部分データ
    に分割し、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(2m )上の第1の演算を施して第1組のパ
    リティ情報を求めると共に、 複数列の前記部分データに各列毎に前記配列方向にガロ
    ア体GF(2m )上の第2の演算を施して第2組のパリ
    ティ情報を求め、 前記第1組及び第2組のパリティ情報で前記生物学的物
    質の配列を表すことを特徴とする生物学的物質の配列情
    報の記録方法。
  2. 【請求項2】 請求項1に記載の記録方法であって、 前記ガロア体GF(2m )上の生成元をαとしたとき、 前記第1組のパリティ情報は、複数行の各行の前記部分
    データにそれぞれ前記非配列方向に順次αsp
    αs(p+1),αs(p+2),…,αs(p+dp)(sは0以上の整
    数、pは0以上の整数、dpは1以上の整数)を乗算し
    た後、 該演算で得られた複数の積について各行毎に求められた
    和を含み、 前記第2組のパリティ情報は、複数列の各列の前記部分
    データにそれぞれ前記配列方向に順次αtq,αt(q+1)
    αt(q+2),…,αt(q+dq)(tは0以上の整数、qは0
    以上の整数、dqは1以上の整数)を乗算した後、 該演算で得られた複数の積について各列毎に求められた
    和を含むことを特徴とする生物学的物質の配列情報の記
    録方法。
  3. 【請求項3】 請求項1又は2に記載の記録方法であっ
    て、 前記部分データの前記配列方向の個数は、前記部分デー
    タの前記非配列方向の個数よりも少なく、 前記第2組のパリティ情報の個数は、前記第1組のパリ
    ティ情報の個数よりも少ないことを特徴とする生物学的
    物質の配列情報の記録方法。
  4. 【請求項4】 請求項3に記載の記録方法であって、 前記部分データの前記非配列方向の個数は、(2m
    1)/4 以下であることを特徴とする生物学的物質の
    配列情報の記録方法。
  5. 【請求項5】 請求項2に記載の記録方法であって、 前記整数s及びtは0であることを特徴とする生物学的
    物質の配列情報の記録方法。
  6. 【請求項6】 請求項2に記載の記録方法であって、 前記整数s及びtは1であることを特徴とする生物学的
    物質の配列情報の記録方法。
  7. 【請求項7】 請求項2に記載の記録方法であって、 前記第1組のパリティ情報は、前記複数行の各行毎に前
    記整数sについて互いに異なる複数の値で求めた複数の
    和を含み、 前記第2組のパリティ情報は、前記複数列の各列毎に前
    記整数tについて互いに異なる複数の値で求めた複数の
    和を含むことを特徴とする生物学的物質の配列情報の記
    録方法。
  8. 【請求項8】 請求項1〜7の何れか一項に記載の記録
    方法であって、 前記生物学的物質の配列中の各生物学的物質をそれぞれ
    6ビット以下の数値データで表して得られる数値データ
    を前記演算の対象とすることを特徴とする生物学的物質
    の配列情報の記録方法。
  9. 【請求項9】 請求項1〜8の何れか一項に記載の記録
    方法であって、 前記ガロア体GF(2m )を規定する整数mは64の倍
    数であることを特徴とする生物学的物質の配列情報の記
    録方法。
  10. 【請求項10】 請求項1〜9の何れか一項に記載の記
    録方法であって、 前記生物学的物質の配列を基準配列として、該基準配列
    の前記2組のパリティ情報に対応させて、検査対象の生
    物学的物質の配列について前記2組のパリティ情報を求
    め、 前記4組のパリティ情報より前記基準配列に対する前記
    検査対象の生物学的物質の配列の相違部を求めることを
    特徴とする生物学的物質の配列情報の記録方法。
  11. 【請求項11】 請求項1〜10の何れか一項に記載の
    記録方法であって、 前記生物学的物質は、DNA、RNA、又は遺伝子の少
    なくとも一部を構成するヌクレオチドであることを特徴
    とする生物学的物質の配列情報の記録方法。
  12. 【請求項12】 請求項1〜10の何れか一項に記載の
    記録方法であって、 前記生物学的物質は、一つのタンパク質の少なくとも一
    部を構成するアミノ酸であることを特徴とする生物学的
    物質の配列情報の記録方法。
  13. 【請求項13】 生物学的物質の配列情報の記録装置で
    あって、 前記生物学的物質の配列情報を読み取る配列読み取り装
    置と、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを、前記生物学的物質の配列方向に複数
    行で、かつ前記配列方向に交差する非配列方向に複数列
    の長さがmビット(mは16以上の整数)の部分データ
    に分割するデータ配列手段と、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(2m )上の第1の演算を施して第1組のパ
    リティ情報を求めると共に、複数列の前記部分データに
    各列毎に前記配列方向にガロア体GF(2m )上の第2
    の演算を施して第2組のパリティ情報を求める演算手段
    と、 前記第1組及び第2組のパリティ情報を記録媒体に記録
    する記録手段とを有することを特徴とする生物学的物質
    の配列情報の記録装置。
  14. 【請求項14】 請求項13に記載の記録装置であっ
    て、 前記ガロア体GF(2m )上の生成元をαとしたとき、 前記第1組のパリティ情報は、複数行の各行の前記部分
    データにそれぞれ前記非配列方向に順次αsp
    αs(p+1),αs(p+2),…,αs(p+dp)(sは0以上の整
    数、pは0以上の整数、dpは1以上の整数)を乗算し
    た後、 該演算で得られた複数の積について各行毎に求められた
    和を含み、 前記第2組のパリティ情報は、複数列の各列の前記部分
    データにそれぞれ前記配列方向に順次αtq,αt(q+1)
    αt(q+2),…,αt(q+dq)(tは0以上の整数、qは0
    以上の整数、dqは1以上の整数)を乗算した後、 該演算で得られた複数の積について各列毎に求められた
    和を含むことを特徴とする生物学的物質の配列情報の記
    録装置。
  15. 【請求項15】 生物学的物質の配列情報を記録したコ
    ンピュータ読み取り可能な記録媒体であって、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを、前記生物学的物質の配列方向に複数
    行で、かつ前記配列方向に交差する非配列方向に複数列
    の長さがmビット(mは16以上の整数)の部分データ
    に分割し、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(2m )上の第1の演算を施して第1組のパ
    リティ情報を求めると共に、複数列の前記部分データに
    各列毎に前記配列方向にガロア体GF(2m )上の第2
    の演算を施して第2組のパリティ情報を求め、 前記生物学的物質の配列に関する情報が、前記第1組及
    び第2組のパリティ情報として記録されたことを特徴と
    するコンピュータ読み取り可能な記録媒体。
  16. 【請求項16】 請求項15に記載の記録媒体であっ
    て、 前記生物学的物質の配列に対応する前記テキストデー
    タ、又は該テキストデータに対応する前記数値データの
    40ビット以上の長さの数学的な要約値が更に前記記録
    媒体に記録されたことを特徴とするコンピュータ読み取
    り可能な記録媒体。
  17. 【請求項17】 生物学的物質の配列情報の供給方法で
    あって、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを保持する供給者が、前記テキストデー
    タ、又はこれに対応する前記数値データを第1ファイル
    に記録して保持する第1ステップと、 前記第1ファイルに記録されている前記テキストデー
    タ、又は該テキストデータに対応する前記数値データ
    を、前記生物学的物質の配列方向に複数行で、かつ前記
    配列方向に交差する非配列方向に複数列の長さがmビッ
    ト(mは16以上の整数)の部分データに分割し、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(2m )上の第1の演算を施して第1組のパ
    リティ情報を求めると共に、複数列の前記部分データに
    各列毎に前記配列方向にガロア体GF(2m )上の第2
    の演算を施して第2組のパリティ情報を求める第2ステ
    ップと、 前記供給者が、前記第1組及び第2組のパリティ情報を
    第2ファイルに記録して保持する第3ステップと、 前記生物学的物質の配列情報のユーザが、通信回線を介
    して前記供給者より前記第2ファイルに記録されている
    前記2組のパリティ情報を受け取る第4ステップとを有
    することを特徴とする生物学的物質の配列情報の供給方
    法。
  18. 【請求項18】 請求項17に記載の供給方法であっ
    て、 前記ユーザが、前記2組のパリティ情報に基づいて検査
    対象の生物学的物質の配列情報の内の前記供給者の生物
    学的物質の配列情報との相違部を特定する第5ステップ
    と、 該相違部の配列の復元ができない場合に、前記ユーザが
    前記通信回線を介して前記供給者より前記第1ファイル
    に記録されている前記テキストデータ、又は前記数値デ
    ータの内の前記配列の復元ができない部分の配列情報を
    受け取る第6ステップとを有することを特徴とする生物
    学的物質の配列情報の供給方法。
  19. 【請求項19】 請求項17又は18に記載の供給方法
    であって、 前記ガロア体GF(2m )上の生成元をαとしたとき、 前記第1組のパリティ情報は、複数行の各行の前記部分
    データにそれぞれ前記非配列方向に順次αsp
    αs(p+1),αs(p+2),…,αs(p+dp)(sは0以上の整
    数、pは0以上の整数、dpは1以上の整数)を乗算し
    た後、 該演算で得られた複数の積について各行毎に求められた
    和を含み、 前記第2組のパリティ情報は、複数列の各列の前記部分
    データにそれぞれ前記配列方向に順次αtq,αt(q+1)
    αt(q+2),…,αt(q+dq)(tは0以上の整数、qは0
    以上の整数、dqは1以上の整数)を乗算した後、 該演算で得られた複数の積について各列毎に求められた
    和を含むことを特徴とする生物学的物質の配列情報の供
    給方法。
  20. 【請求項20】 請求項17、18、又は19に記載の
    供給方法であって、 前記供給者は、前記生物学的物質の配列の長さの情報、
    及び前記配列を表すテキストデータ又は前記数値データ
    の数学的な要約値の情報を前記通信回線を介して閲覧可
    能な状態にしておき、 前記ユーザは、前記第4ステップの前に前記通信回線を
    介して前記配列の長さの情報及び前記数学的な要約値の
    情報を閲覧することを特徴とする生物学的物質の配列情
    報の供給方法。
  21. 【請求項21】 生物学的物質の配列情報の記録方法で
    あって、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを、前記生物学的物質の配列方向に複数
    行で、かつ前記配列方向に交差する非配列方向に複数列
    の長さがmビット(mは16以上の整数)の部分データ
    に分割し、 前記部分データの最大値をNmax、この最大値Nma
    xよりも大きい素数をPとして、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(P)上の第1の演算を施して第1組のパリ
    ティ情報を求めると共に、 複数列の前記部分データに各列毎に前記配列方向にガロ
    ア体GF(P)上の第2の演算を施して第2組のパリテ
    ィ情報を求め、 前記第1組及び第2組のパリティ情報で前記生物学的物
    質の配列を表すことを特徴とする生物学的物質の配列情
    報の記録方法。
  22. 【請求項22】 請求項21に記載の記録方法であっ
    て、 前記部分データの最大値Nmaxは(2m −1)よりも
    小さい値であり、 前記素数Pは、 2m >P>Nmax の関係を満たすことを特徴とする生物学的物質の配列情
    報の記録方法。
  23. 【請求項23】 請求項21又は22に記載の記録方法
    であって、 前記ガロア体GF(P)上の生成元をδとしたとき、 前記第1組のパリティ情報は、複数行の各行の前記部分
    データにそれぞれ前記非配列方向に順次δsp
    δs(p+1),δs(p+2),…,δs(p+dp)(sは0以上の整
    数、pは0以上の整数、dpは1以上の整数)を乗算し
    た後、 該演算で得られた複数の積について各行毎に求められた
    和を含み、 前記第2組のパリティ情報は、複数列の各列の前記部分
    データにそれぞれ前記配列方向に順次δtq,δt(q+1)
    δt(q+2),…,δt(q+dq)(tは0以上の整数、qは0
    以上の整数、dqは1以上の整数)を乗算した後、 該演算で得られた複数の積について各列毎に求められた
    和を含むことを特徴とする生物学的物質の配列情報の記
    録方法。
  24. 【請求項24】 生物学的物質の配列情報の供給方法で
    あって、 前記生物学的物質の配列に対応するテキストデータ、又
    は該テキストデータを所定の規則に従って変換して得ら
    れる数値データを保持する供給者が、前記テキストデー
    タ、又はこれに対応する前記数値データを第1ファイル
    に記録して保持する第1ステップと、 前記第1ファイルに記録されている前記テキストデー
    タ、又は該テキストデータに対応する前記数値データ
    を、前記生物学的物質の配列方向に複数行で、かつ前記
    配列方向に交差する非配列方向に複数列の長さがmビッ
    ト(mは16以上の整数)の部分データに分割し、 前記部分データの最大値をNmax、この最大値Nma
    xよりも大きい素数をPとして、 複数行の前記部分データに各行毎に前記非配列方向にガ
    ロア体GF(P)上の第1の演算を施して第1組のパリ
    ティ情報を求めると共に、複数列の前記部分データに各
    列毎に前記配列方向にガロア体GF(P)上の第2の演
    算を施して第2組のパリティ情報を求める第2ステップ
    と、 前記供給者が、前記第1組及び第2組のパリティ情報を
    第2ファイルに記録して保持する第3ステップと、 前記生物学的物質の配列情報のユーザが、通信回線を介
    して前記供給者より前記第2ファイルに記録されている
    前記2組のパリティ情報を受け取る第4ステップとを有
    することを特徴とする生物学的物質の配列情報の供給方
    法。
  25. 【請求項25】 請求項24に記載の供給方法であっ
    て、 前記ユーザが、前記2組のパリティ情報に基づいて検査
    対象の生物学的物質の配列情報の内の前記供給者の生物
    学的物質の配列情報との相違部を特定する第5ステップ
    と、 該相違部の配列の復元ができない場合に、前記ユーザが
    前記通信回線を介して前記供給者より前記第1ファイル
    に記録されている前記テキストデータ、又は前記数値デ
    ータの内の前記配列の復元ができない部分の配列情報を
    受け取る第6ステップとを有することを特徴とする生物
    学的物質の配列情報の供給方法。
JP2002114176A 2001-04-18 2002-04-17 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体 Pending JP2003228565A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002114176A JP2003228565A (ja) 2001-04-18 2002-04-17 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP01921886.6 2001-04-18
EP01921886A EP1313225A1 (en) 2000-04-19 2001-04-18 Nucleotide sequence information, and method and device for recording information on sequence of amino acid
JP2001368002 2001-11-30
JP2001-368002 2001-11-30
JP2002114176A JP2003228565A (ja) 2001-04-18 2002-04-17 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体

Publications (1)

Publication Number Publication Date
JP2003228565A true JP2003228565A (ja) 2003-08-15

Family

ID=27761059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002114176A Pending JP2003228565A (ja) 2001-04-18 2002-04-17 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体

Country Status (1)

Country Link
JP (1) JP2003228565A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240975A (ja) * 2003-02-03 2004-08-26 Samsung Electronics Co Ltd Dna配列符号化装置及び方法
US7756645B2 (en) 2003-12-16 2010-07-13 Samsung Electronics Co., Ltd. Methods of storing, aligning, and retrieving haplotype data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004240975A (ja) * 2003-02-03 2004-08-26 Samsung Electronics Co Ltd Dna配列符号化装置及び方法
JP4608221B2 (ja) * 2003-02-03 2011-01-12 三星電子株式会社 Dna配列符号化装置及び方法
US7756645B2 (en) 2003-12-16 2010-07-13 Samsung Electronics Co., Ltd. Methods of storing, aligning, and retrieving haplotype data

Similar Documents

Publication Publication Date Title
Lopez et al. DNA assembly for nanopore data storage readout
Organick et al. Probing the physical limits of reliable DNA data retrieval
De Silva et al. New trends of digital data storage in DNA
Pritt et al. FORGe: prioritizing variants for graph genomes
Ong et al. Vaxign2: the second generation of the first Web-based vaccine design program using reverse vaccinology and machine learning
Pride et al. Evolutionary implications of microbial genome tetranucleotide frequency biases
Li et al. PatternHunter II: Highly sensitive and fast homology search
Liberles et al. The adaptive evolution database (TAED)
Farrer et al. De novo assembly of the Pseudomonas syringae pv. syringae B728a genome using Illumina/Solexa short sequence reads
US10956806B2 (en) Efficient assembly of oligonucleotides for nucleic acid based data storage
Faure et al. Comparative genomics and evolution of trans-activating RNAs in Class 2 CRISPR-Cas systems
US20210104298A1 (en) Secure communication of nucleic acid sequence information through a network
Ran et al. Coupling between protein level selection and codon usage optimization in the evolution of bacteria and archaea
Löchel et al. Fractal construction of constrained code words for DNA storage systems
Akhmetov et al. A highly parallel strategy for storage of digital information in living cells
Hormozdiari et al. Privacy preserving protocol for detecting genetic relatives using rare variants
Hallast et al. Assembly of 43 human Y chromosomes reveals extensive complexity and variation
US20040086861A1 (en) Method and device for recording sequence information on nucleotides and amino acids
US20060121493A1 (en) DNA computer and a computation method using the same
Wang et al. Mainstream encoding–decoding methods of DNA data storage
Liu et al. NullSeq: a tool for generating random coding sequences with desired amino acid and GC contents
WO2002086761A1 (fr) Procede et appareil d&#39;enregistrement de donnees sequentielles de substances biologiques
JP2003228565A (ja) 生物学的物質の配列情報の記録方法及び装置、前記配列情報の供給方法、並びに前記配列情報を記録した記録媒体
Volles et al. A computer program for the estimation of protein and nucleic acid sequence diversity in random point mutagenesis libraries
Habib et al. Modified HuffBit compress algorithm–an application of R

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081209