JP2002041528A - ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 - Google Patents
ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法Info
- Publication number
- JP2002041528A JP2002041528A JP2001120335A JP2001120335A JP2002041528A JP 2002041528 A JP2002041528 A JP 2002041528A JP 2001120335 A JP2001120335 A JP 2001120335A JP 2001120335 A JP2001120335 A JP 2001120335A JP 2002041528 A JP2002041528 A JP 2002041528A
- Authority
- JP
- Japan
- Prior art keywords
- sequence
- data
- information
- nucleotides
- text data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 核酸中のヌクレオチドの配列情報、又はタ
ンパク質中のアミノ酸の配列情報をできるだけ少ないデ
ータ量で記録する。 【解決手段】 試料のDNAを構成する一方の一列のヌ
クレオチドの配列を示すテキストデータを所定の変換テ
ーブルに従ってバイナリーデータに変換し、このバイナ
リーデータを複数行で複数列の変換データA(i,j)
に分割する。各列の変換データA(i,j)を配列方向
に演算してシンドロームC(j)(j=1,2,…)を
求め、各行の変換データA(i,j)を非配列方向に演
算して2組のシンドロームB1(i),B2(i)(i
=1,2,…)を求め、シンドロームC(j),B1
(i),B2(i)によってヌクレオチドの配列を近似
的に表す。
ンパク質中のアミノ酸の配列情報をできるだけ少ないデ
ータ量で記録する。 【解決手段】 試料のDNAを構成する一方の一列のヌ
クレオチドの配列を示すテキストデータを所定の変換テ
ーブルに従ってバイナリーデータに変換し、このバイナ
リーデータを複数行で複数列の変換データA(i,j)
に分割する。各列の変換データA(i,j)を配列方向
に演算してシンドロームC(j)(j=1,2,…)を
求め、各行の変換データA(i,j)を非配列方向に演
算して2組のシンドロームB1(i),B2(i)(i
=1,2,…)を求め、シンドロームC(j),B1
(i),B2(i)によってヌクレオチドの配列を近似
的に表す。
Description
【0001】
【発明の属する技術分野】本発明は、例えばDNA(デ
オキシリボ核酸:deoxyribonucleic acid)又はRNA
(リボ核酸:ribonucleic acid)等の核酸の少なくとも
一部を構成する一列のヌクレオチドの配列情報、又はタ
ンパク質の少なくとも一部を構成する一列のアミノ酸の
配列情報の記録方法及び装置に関する。更に本発明は、
その配列情報を供給するためのビジネスモデルとして好
適な配列情報の供給方法、その配列情報を記録したコン
ピュータ読み取り可能な記録媒体、及びその記録方法を
実施する際に使用できる要約値の計算方法に関する。
オキシリボ核酸: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バイトのテキストデータで表されていた。
物等)の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%程度の圧縮ファイルとしても記録、又は送信
することができる。
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万種類の存在が
可能であると言われている。
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情報をテキス
トデータの形で多く集めると、数100Mバイド程度の
記憶容量が必要である。これはRNAの配列情報につい
ても同様である。
の人間のDNA情報をテキストデータで記録するために
は、全部で3Gバイト程度の記憶容量が必要であり、仮
に通常の圧縮ファイルの技術を適用しても1Gバイト程
度の記憶容量が必要である。また、人間以外の大腸菌や
各種ウィルス等のDNA情報も解析されて次第に公開さ
れるようになっているが、これらのDNA情報をテキス
トデータの形で多く集めると、数100Mバイド程度の
記憶容量が必要である。これはRNAの配列情報につい
ても同様である。
【0006】このように人間又は他の生物のDNA情報
をテキストデータ、又はこの通常の圧縮ファイルの形で
記録するものとすると、例えば1枚の記憶容量が5Gバ
イト程度のDVD−ROM(digital video disc-ROM)デ
ィスクのように膨大な記憶容量を持つ記録媒体が必要で
ある。更に、そのDNA情報を利用する場合にその記録
媒体からの読み出し時間が長くなり、処理時間が長くな
るという不都合がある。
をテキストデータ、又はこの通常の圧縮ファイルの形で
記録するものとすると、例えば1枚の記憶容量が5Gバ
イト程度のDVD−ROM(digital video disc-ROM)デ
ィスクのように膨大な記憶容量を持つ記録媒体が必要で
ある。更に、そのDNA情報を利用する場合にその記録
媒体からの読み出し時間が長くなり、処理時間が長くな
るという不都合がある。
【0007】また、現状の一般の通信回線の通信速度
は、最大で1Mbps程度であるため、例えば1Gバイ
ト程度のDNA情報をその通信回線を介して送信するも
のとすると、送信時間は最短でも約2時間程度となり、
あまり実用的ではない。特に最近はそのDNA情報をデ
ジタルの携帯電話システムを介して送信する場合も考え
られるが、現在の携帯電話システムの通信速度はせいぜ
い100kbps程度であるため、少なくとも人間のD
NA情報の伝送で使用することは困難である。
は、最大で1Mbps程度であるため、例えば1Gバイ
ト程度のDNA情報をその通信回線を介して送信するも
のとすると、送信時間は最短でも約2時間程度となり、
あまり実用的ではない。特に最近はそのDNA情報をデ
ジタルの携帯電話システムを介して送信する場合も考え
られるが、現在の携帯電話システムの通信速度はせいぜ
い100kbps程度であるため、少なくとも人間のD
NA情報の伝送で使用することは困難である。
【0008】次に、例えば或る微生物のDNA中の遺伝
子について複数の研究者が並行して研究するような場合
に、複数の研究者が保有している標準となるDNAのヌ
クレオチドの配列の同一性をどのように保証するのかと
いう問題がある。即ち、そのDNAのヌクレオチドの配
列が例えば数Mバイト(文字数で数100万文字)程度
のテキストデータで記録されている場合に、複数の研究
者が互いに自分のテキストデータと他人のテキストデー
タとの同一性(完全一致性)を短時間に確認するのは必
ずしも容易ではない。
子について複数の研究者が並行して研究するような場合
に、複数の研究者が保有している標準となるDNAのヌ
クレオチドの配列の同一性をどのように保証するのかと
いう問題がある。即ち、そのDNAのヌクレオチドの配
列が例えば数Mバイト(文字数で数100万文字)程度
のテキストデータで記録されている場合に、複数の研究
者が互いに自分のテキストデータと他人のテキストデー
タとの同一性(完全一致性)を短時間に確認するのは必
ずしも容易ではない。
【0009】これに関連して、例えば人間又は他の生物
のDNA情報の利用方法としては、標準的なDNAの配
列と、検査対象のDNAの配列との間の相違する部分を
サーチする場合が考えられる。これは、いわゆるSNP
(一塩基変位多型:Single Nucleotide Polymorphism)
の可能性を検査するような場合に必要になると考えられ
る。しかしながら、両方のDNAのヌクレオチドの配列
がそれぞれ膨大なテキストデータで表わされている場合
に、それら2つのテキストデータを比較して相違点を検
出するにはかなりの長い時間が必要となり、検査時間が
長くなるという不都合がある。
のDNA情報の利用方法としては、標準的なDNAの配
列と、検査対象のDNAの配列との間の相違する部分を
サーチする場合が考えられる。これは、いわゆるSNP
(一塩基変位多型:Single Nucleotide Polymorphism)
の可能性を検査するような場合に必要になると考えられ
る。しかしながら、両方のDNAのヌクレオチドの配列
がそれぞれ膨大なテキストデータで表わされている場合
に、それら2つのテキストデータを比較して相違点を検
出するにはかなりの長い時間が必要となり、検査時間が
長くなるという不都合がある。
【0010】更に、人間又は他の生物のDNA情報を製
薬会社の研究者等のユーザに提供するビジネスも行われ
つつあるが、この場合に、複数の情報供給者間で重複し
た情報の提供をできるだけ避けることが望ましい。この
ためには、複数の情報供給者間で、DNAのヌクレオチ
ドの全体の配列情報を公開することなく、ヌクレオチド
の配列の同一性を容易に確認できるようにすることが望
ましい。更に、情報供給者が例えば通信回線を介してD
NA情報をユーザに提供する場合には、できるだけ少な
い情報量で、即ち短い送信時間で必要な情報をユーザに
提供できるビジネスモデルが必要である。また、ユーザ
側では、提供されたDNA情報に伝送エラー等が無いか
どうかを容易に確認できることが望ましい。上記の各課
題はRNAのヌクレオチドの配列情報についても同様に
当てはまるものである。
薬会社の研究者等のユーザに提供するビジネスも行われ
つつあるが、この場合に、複数の情報供給者間で重複し
た情報の提供をできるだけ避けることが望ましい。この
ためには、複数の情報供給者間で、DNAのヌクレオチ
ドの全体の配列情報を公開することなく、ヌクレオチド
の配列の同一性を容易に確認できるようにすることが望
ましい。更に、情報供給者が例えば通信回線を介してD
NA情報をユーザに提供する場合には、できるだけ少な
い情報量で、即ち短い送信時間で必要な情報をユーザに
提供できるビジネスモデルが必要である。また、ユーザ
側では、提供されたDNA情報に伝送エラー等が無いか
どうかを容易に確認できることが望ましい。上記の各課
題はRNAのヌクレオチドの配列情報についても同様に
当てはまるものである。
【0011】更に、一つのタンパク質のアミノ酸の配列
は、最大でも約1kバイト程度のテキストデータで記録
することができるが、タンパク質の種類は理論的に約1
0万個程度にもなるため、全部のタンパク質の配列情報
をテキストデータで表すと、全部のDNAの配列情報程
度の膨大な量となる。従って、個々のタンパク質の配列
は、できるだけ少ない情報量で記録できることが望まし
い。また、2つのタンパク質の配列情報の同一性を容易
に確認できるシステムも必要である。
は、最大でも約1kバイト程度のテキストデータで記録
することができるが、タンパク質の種類は理論的に約1
0万個程度にもなるため、全部のタンパク質の配列情報
をテキストデータで表すと、全部のDNAの配列情報程
度の膨大な量となる。従って、個々のタンパク質の配列
は、できるだけ少ない情報量で記録できることが望まし
い。また、2つのタンパク質の配列情報の同一性を容易
に確認できるシステムも必要である。
【0012】本発明は斯かる点に鑑み、核酸中の一列の
ヌクレオチドの配列情報、又はタンパク質中の一列のア
ミノ酸の配列情報をできるだけ少ないデータ量で記録で
きる記録方法及び記録装置を提供することを第1の目的
とする。また、本発明は、2つのヌクレオチドの配列情
報同士、又は2つのアミノ酸の配列情報同士の同一性を
少ないデータ量で高精度に確認できる記録方法及び記録
装置を提供することを第2の目的とする。
ヌクレオチドの配列情報、又はタンパク質中の一列のア
ミノ酸の配列情報をできるだけ少ないデータ量で記録で
きる記録方法及び記録装置を提供することを第1の目的
とする。また、本発明は、2つのヌクレオチドの配列情
報同士、又は2つのアミノ酸の配列情報同士の同一性を
少ないデータ量で高精度に確認できる記録方法及び記録
装置を提供することを第2の目的とする。
【0013】更に本発明は、2つのヌクレオチドの配列
情報の間の相違する部分を少ないデータ量で容易に検出
できると共に、必要に応じてその相違する部分の情報を
復元できる記録方法及び記録装置を提供することを第3
の目的とする。また、本発明は、一列のヌクレオチドの
配列情報、又は一列のアミノ酸の配列情報を少ないデー
タ量でユーザに提供できるビジネスモデルを提供するこ
とを第4の目的とする。
情報の間の相違する部分を少ないデータ量で容易に検出
できると共に、必要に応じてその相違する部分の情報を
復元できる記録方法及び記録装置を提供することを第3
の目的とする。また、本発明は、一列のヌクレオチドの
配列情報、又は一列のアミノ酸の配列情報を少ないデー
タ量でユーザに提供できるビジネスモデルを提供するこ
とを第4の目的とする。
【0014】更に本発明は、そのビジネスモデルにおい
て、ユーザが提供された配列情報と情報供給者が保持し
ている配列情報との同一性、又は相違する部分を少ない
データ量で容易に確認できるようにすることをも目的と
する。また、本発明は、ヌクレオチドの配列情報が少な
いデータ量で記録されたコンピュータ読み取り可能な記
録媒体を提供することをも目的とする。
て、ユーザが提供された配列情報と情報供給者が保持し
ている配列情報との同一性、又は相違する部分を少ない
データ量で容易に確認できるようにすることをも目的と
する。また、本発明は、ヌクレオチドの配列情報が少な
いデータ量で記録されたコンピュータ読み取り可能な記
録媒体を提供することをも目的とする。
【0015】また、本発明は、ヌクレオチド又はアミノ
酸の配列情報を記録する場合に使用できる効率的な要約
値の計算方法を提供することを目的とする。
酸の配列情報を記録する場合に使用できる効率的な要約
値の計算方法を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明によるヌクレオチ
ドの配列情報の記録方法は、一列のヌクレオチドの配列
情報の記録方法であって、その一列のヌクレオチドの配
列に対応するテキストデータよりも少ないデータ量で、
その一列のヌクレオチドの配列に関する情報を記録する
ものである。
ドの配列情報の記録方法は、一列のヌクレオチドの配列
情報の記録方法であって、その一列のヌクレオチドの配
列に対応するテキストデータよりも少ないデータ量で、
その一列のヌクレオチドの配列に関する情報を記録する
ものである。
【0017】斯かる本発明によれば、その一列のヌクレ
オチドは、例えばDNA(deoxyribonucleic acid)を
構成する1対の重合体の鎖の一方の鎖の少なくとも一
部、又はRNA(ribonucleic acid)を構成する1列の
重合体の鎖の少なくとも一部である。そして、その一列
のヌクレオチドの配列は、各ヌクレオチドに含まれる塩
基の配列ともみなすことができる。そのヌクレオチドの
配列が、そのテキストデータ以外のより少ないデータ量
のファイルとして記録される。従って、記録媒体とし
て、DVD−ROMのような大容量の媒体の他に、CD
−ROM、及びフラッシュROMのような小容量でも通
常のコンピュータで手軽に再生できる媒体を使用でき
る。
オチドは、例えばDNA(deoxyribonucleic acid)を
構成する1対の重合体の鎖の一方の鎖の少なくとも一
部、又はRNA(ribonucleic acid)を構成する1列の
重合体の鎖の少なくとも一部である。そして、その一列
のヌクレオチドの配列は、各ヌクレオチドに含まれる塩
基の配列ともみなすことができる。そのヌクレオチドの
配列が、そのテキストデータ以外のより少ないデータ量
のファイルとして記録される。従って、記録媒体とし
て、DVD−ROMのような大容量の媒体の他に、CD
−ROM、及びフラッシュROMのような小容量でも通
常のコンピュータで手軽に再生できる媒体を使用でき
る。
【0018】更に、少ないデータ量の配列情報であれ
ば、通信回線を介して短時間に送信できるため、実質的
に安価に配列情報の供給を行うことが可能となる。本発
明において、その一列のヌクレオチドは4種類のヌクレ
オチドよりなり、その4種類のヌクレオチドを互いに異
なる6ビット以下のデータで表すことが望ましい。テキ
ストデータ形式では、各ヌクレオチドは、それぞれ8ビ
ットのアスキーコード(ASCII CODE)、即ち文字A,
G,C,T(又はU)の何れかで表されるため、各ヌク
レオチドを6ビット以下のデータで表すことによって、
データ量を減らすことができる。
ば、通信回線を介して短時間に送信できるため、実質的
に安価に配列情報の供給を行うことが可能となる。本発
明において、その一列のヌクレオチドは4種類のヌクレ
オチドよりなり、その4種類のヌクレオチドを互いに異
なる6ビット以下のデータで表すことが望ましい。テキ
ストデータ形式では、各ヌクレオチドは、それぞれ8ビ
ットのアスキーコード(ASCII CODE)、即ち文字A,
G,C,T(又はU)の何れかで表されるため、各ヌク
レオチドを6ビット以下のデータで表すことによって、
データ量を減らすことができる。
【0019】なお、テキストデータが記録されたファイ
ルが通常の圧縮技術(ZIPファイル、LHAファイル
等)で圧縮できるように、本発明のデータが記録された
ファイルも更に通常の圧縮技術で圧縮して記録できるこ
とは言うまでもない。但し、圧縮されたファイルを使用
する場合には、解凍作業が必要になり、最終的には元の
ファイルを復元する必要があるため、元のファイル自体
のデータ量を減らしておくことは極めて有効である。
ルが通常の圧縮技術(ZIPファイル、LHAファイル
等)で圧縮できるように、本発明のデータが記録された
ファイルも更に通常の圧縮技術で圧縮して記録できるこ
とは言うまでもない。但し、圧縮されたファイルを使用
する場合には、解凍作業が必要になり、最終的には元の
ファイルを復元する必要があるため、元のファイル自体
のデータ量を減らしておくことは極めて有効である。
【0020】また、その4種類のヌクレオチドを互いに
異なる2ビットのデータで表すことが望ましい。2ビッ
トのデータによって、最も少ないデータ量で4種類のヌ
クレオチド(又は塩基)を表すことができる。また、そ
の一列のヌクレオチドが、一つのDNAを構成する1対
の重合体の鎖の内の1本の鎖の全部又は一部であるとき
に、その4種類のヌクレオチド中の互いに相補的な2対
のヌクレオチドをそれぞれ互いにビット反転の関係にあ
る1対のデータで表すことが望ましい。互いに相補的な
2対のヌクレオチドとは、互いに相補的な2対の塩基と
実質的に同じ意味である。ここで、2進数で表現した数
kをbin(k)として、例えば図2のDNA(5)に示すよ
うに、アデニンを含むヌクレオチド(7A)をbin(00)
で表したとき、それに対して相補的なチミンを含むヌク
レオチド(7T)をbin(11) で表す。更に、グアニンを
含むヌクレオチド(7G)をbin(01) で表したとき、そ
れに対して相補的なシトシンを含むヌクレオチド(7
C)をbin(10) で表す。この結果、DNA(5)の一方
のヌクレオチドの鎖(6A)がbin(0001101111・・)(=
BNAとする)で表されて、それと相補的な他方のヌク
レオチドの鎖(6B)に対応する2進数のデータBNB
は、コンピュータによって2進数BNAをビット毎に反
転するだけで極めて高速に求めることができる。
異なる2ビットのデータで表すことが望ましい。2ビッ
トのデータによって、最も少ないデータ量で4種類のヌ
クレオチド(又は塩基)を表すことができる。また、そ
の一列のヌクレオチドが、一つのDNAを構成する1対
の重合体の鎖の内の1本の鎖の全部又は一部であるとき
に、その4種類のヌクレオチド中の互いに相補的な2対
のヌクレオチドをそれぞれ互いにビット反転の関係にあ
る1対のデータで表すことが望ましい。互いに相補的な
2対のヌクレオチドとは、互いに相補的な2対の塩基と
実質的に同じ意味である。ここで、2進数で表現した数
kをbin(k)として、例えば図2のDNA(5)に示すよ
うに、アデニンを含むヌクレオチド(7A)をbin(00)
で表したとき、それに対して相補的なチミンを含むヌク
レオチド(7T)をbin(11) で表す。更に、グアニンを
含むヌクレオチド(7G)をbin(01) で表したとき、そ
れに対して相補的なシトシンを含むヌクレオチド(7
C)をbin(10) で表す。この結果、DNA(5)の一方
のヌクレオチドの鎖(6A)がbin(0001101111・・)(=
BNAとする)で表されて、それと相補的な他方のヌク
レオチドの鎖(6B)に対応する2進数のデータBNB
は、コンピュータによって2進数BNAをビット毎に反
転するだけで極めて高速に求めることができる。
【0021】次に、本発明において、より具体的な第1
の記録方法は、その一列のヌクレオチドの配列に関する
情報を、その配列を表すテキストデータ又は数値データ
の数学的な要約値(message digest)で表すものであ
る。この数学的な要約値は、暗号理論において、送信フ
ァイルの作成者の本人確認を行うために、送信ファイル
に所定のハッシュ関数を施すことによって得られる値と
数学的には同等のものである。しかしながら、本発明に
おいては、一列のヌクレオチドの配列を表すデータ(原
データ)の要約値を、例えば最先の解読者の主張や、2
つの膨大な原データの同一性の確認に使用する点が本質
的に異なっている。即ち、或るDNAのヌクレオチドの
配列を最初に解読した者が、その配列を示す原データの
要約値を例えばインターネット上で公開することによっ
て、原データを公開することなく最先に解読したことを
主張できる。また、例えば情報供給者からDNAの配列
情報を購入したユーザは、購入した配列情報の要約値
を、例えばインターネット上で公開されているそのDN
Aの要約値と比較することによって、購入した配列情報
の同一性を高い確率で確認できる。更に、複数の研究者
が同一のDNAについて研究を行う場合に、各研究者が
保持しているDNAのヌクレオチドの膨大な配列情報の
長さ、及び要約値を求め、これらを比較することによっ
て、研究対象の同一性を容易に高い確率で確認すること
ができる。
の記録方法は、その一列のヌクレオチドの配列に関する
情報を、その配列を表すテキストデータ又は数値データ
の数学的な要約値(message digest)で表すものであ
る。この数学的な要約値は、暗号理論において、送信フ
ァイルの作成者の本人確認を行うために、送信ファイル
に所定のハッシュ関数を施すことによって得られる値と
数学的には同等のものである。しかしながら、本発明に
おいては、一列のヌクレオチドの配列を表すデータ(原
データ)の要約値を、例えば最先の解読者の主張や、2
つの膨大な原データの同一性の確認に使用する点が本質
的に異なっている。即ち、或るDNAのヌクレオチドの
配列を最初に解読した者が、その配列を示す原データの
要約値を例えばインターネット上で公開することによっ
て、原データを公開することなく最先に解読したことを
主張できる。また、例えば情報供給者からDNAの配列
情報を購入したユーザは、購入した配列情報の要約値
を、例えばインターネット上で公開されているそのDN
Aの要約値と比較することによって、購入した配列情報
の同一性を高い確率で確認できる。更に、複数の研究者
が同一のDNAについて研究を行う場合に、各研究者が
保持しているDNAのヌクレオチドの膨大な配列情報の
長さ、及び要約値を求め、これらを比較することによっ
て、研究対象の同一性を容易に高い確率で確認すること
ができる。
【0022】この場合、その一列のヌクレオチドが25
個以上のヌクレオチドの配列であるときに、その一列の
ヌクレオチドの配列に関する情報を40ビット以上で1
92ビット以下の長さの数学的な要約値で表すことが望
ましい。25個以上のヌクレオチドの配列のテキストデ
ータは、200ビット(=25・8ビット)以上になる
ため、その要約値を192ビット以下とすることで、テ
キストデータよりも少ないデータ量となる。また、特に
処理単位が64ビットのコンピュータを使用する場合に
は、要約値の長さは64ビットの倍数、即ち64ビッ
ト、128ビット、又は192ビットが望ましいと考え
られる。
個以上のヌクレオチドの配列であるときに、その一列の
ヌクレオチドの配列に関する情報を40ビット以上で1
92ビット以下の長さの数学的な要約値で表すことが望
ましい。25個以上のヌクレオチドの配列のテキストデ
ータは、200ビット(=25・8ビット)以上になる
ため、その要約値を192ビット以下とすることで、テ
キストデータよりも少ないデータ量となる。また、特に
処理単位が64ビットのコンピュータを使用する場合に
は、要約値の長さは64ビットの倍数、即ち64ビッ
ト、128ビット、又は192ビットが望ましいと考え
られる。
【0023】また、例えば将来的に全人類のDNAの配
列情報を必要に応じて解読するような状況を想定して、
世界人口を100億人程度と仮定すると、そのDNAの
配列情報は約1010通りにもなる。更に、安全係数を1
00倍程度とすると、その要約値は、1012(=1010
・100)通り、即ち約239.86 通り以上の値を取る必
要がある。このためには、その要約値を40ビット以上
の長さとすればよい。これによって、2つのDNA又は
RNAの配列情報同士の同一性を10-12 以上の精度で
高精度に確認できる。
列情報を必要に応じて解読するような状況を想定して、
世界人口を100億人程度と仮定すると、そのDNAの
配列情報は約1010通りにもなる。更に、安全係数を1
00倍程度とすると、その要約値は、1012(=1010
・100)通り、即ち約239.86 通り以上の値を取る必
要がある。このためには、その要約値を40ビット以上
の長さとすればよい。これによって、2つのDNA又は
RNAの配列情報同士の同一性を10-12 以上の精度で
高精度に確認できる。
【0024】更に、その数学的な要約値は、その一列の
ヌクレオチドの配列に対応するテキストデータ又は数値
データにMD5ハッシュ関数、又はSHS(Secure Has
h Standard)ハッシュ関数の演算を施して得ることがで
きる。この場合、MD5ハッシュ関数は、高速演算が可
能であると共に、得られる要約値が128ビットであ
り、通常のコンピュータで処理し易い利点がある。一
方、SHSハッシュ関数は、元のデータの推定がより困
難であるが、得られる要約値が160ビットと、通常の
DNA又はRNAのヌクレオチドの配列の表現に関して
は必要以上に長いと考えられる。従って、通常のヌクレ
オチドの配列の表現については、MD5ハッシュ関数が
より実用的と考えられる。
ヌクレオチドの配列に対応するテキストデータ又は数値
データにMD5ハッシュ関数、又はSHS(Secure Has
h Standard)ハッシュ関数の演算を施して得ることがで
きる。この場合、MD5ハッシュ関数は、高速演算が可
能であると共に、得られる要約値が128ビットであ
り、通常のコンピュータで処理し易い利点がある。一
方、SHSハッシュ関数は、元のデータの推定がより困
難であるが、得られる要約値が160ビットと、通常の
DNA又はRNAのヌクレオチドの配列の表現に関して
は必要以上に長いと考えられる。従って、通常のヌクレ
オチドの配列の表現については、MD5ハッシュ関数が
より実用的と考えられる。
【0025】また、暗号理論で使用されるハッシュ関数
は、送信ファイルの内容が推定されないように、かつ内
容の衝突の確率が極めて低くなるように設計されるた
め、その要約値は例えば最低でも128ビット程度の長
さが必要とされると共に、複雑な演算が繰り返して実行
される。これに対して本発明で使用するハッシュ関数
は、通常の互いに異なるヌクレオチドの配列に対してほ
ぼ衝突が無ければよいため、あまり複雑な演算を繰り返
して行う必要は無いと考えられる。但し、通常の暗号理
論で要約値の演算対象となるファイルは、せいぜい1M
バイト程度の長さであるのに対して、本発明で使用する
ハッシュ関数の演算対象は、例えば人間のDNAのヌク
レオチドの配列とすると、100Mバイト程度にも達す
る膨大なデータのファイルである。そこで、本発明で使
用するハッシュ関数(ハッシュ演算プログラム)は、演
算対象の原ファイルを分割した後の複数の分割ファイル
を順次処理することによって、全体の要約値を算出する
機能を持つことが望ましい。
は、送信ファイルの内容が推定されないように、かつ内
容の衝突の確率が極めて低くなるように設計されるた
め、その要約値は例えば最低でも128ビット程度の長
さが必要とされると共に、複雑な演算が繰り返して実行
される。これに対して本発明で使用するハッシュ関数
は、通常の互いに異なるヌクレオチドの配列に対してほ
ぼ衝突が無ければよいため、あまり複雑な演算を繰り返
して行う必要は無いと考えられる。但し、通常の暗号理
論で要約値の演算対象となるファイルは、せいぜい1M
バイト程度の長さであるのに対して、本発明で使用する
ハッシュ関数の演算対象は、例えば人間のDNAのヌク
レオチドの配列とすると、100Mバイト程度にも達す
る膨大なデータのファイルである。そこで、本発明で使
用するハッシュ関数(ハッシュ演算プログラム)は、演
算対象の原ファイルを分割した後の複数の分割ファイル
を順次処理することによって、全体の要約値を算出する
機能を持つことが望ましい。
【0026】次に、本発明において、より具体的な第2
の記録方法は、その一列のヌクレオチドの配列に対応す
るテキストデータを、そのヌクレオチドの配列方向に複
数行で、かつその配列方向に交差する非配列方向に複数
列の部分テキストデータT(i,j)に分割し、その部
分テキストデータを、それぞれ複数種類のヌクレオチド
に対して互いに異なる6ビット以下の数値データを割り
当てることによって変換データA(i,j)に変換し、
複数行のその変換データに各行毎にその非配列方向に第
1の演算を施して第1組のシンドローム(syndrome)情
報B1(i),B2(i)を求めると共に、複数列のそ
の変換データに各列毎にその配列方向に第2の演算を施
して第2組のシンドローム情報C(j)を求め、その第
1組及び第2組のシンドローム情報でその一列のヌクレ
オチドの配列を表すものである。
の記録方法は、その一列のヌクレオチドの配列に対応す
るテキストデータを、そのヌクレオチドの配列方向に複
数行で、かつその配列方向に交差する非配列方向に複数
列の部分テキストデータT(i,j)に分割し、その部
分テキストデータを、それぞれ複数種類のヌクレオチド
に対して互いに異なる6ビット以下の数値データを割り
当てることによって変換データA(i,j)に変換し、
複数行のその変換データに各行毎にその非配列方向に第
1の演算を施して第1組のシンドローム(syndrome)情
報B1(i),B2(i)を求めると共に、複数列のそ
の変換データに各列毎にその配列方向に第2の演算を施
して第2組のシンドローム情報C(j)を求め、その第
1組及び第2組のシンドローム情報でその一列のヌクレ
オチドの配列を表すものである。
【0027】本発明においては、テキストデータを複数
行で複数列の部分テキストデータに分割した後に、各部
分テキストデータをそれぞれ変換データに変換している
が、これは予めそのテキストデータを一列の数値データ
に変換した後に、その数値データを複数行で複数列の変
換データに分割することと実質的に等価である。本発明
によれば、例えば図7に示す部分テキストデータT
(i,j)を集めたテキストデータの情報の大部分を、
例えば図9に示す第1組のシンドローム情報B1
(i),B2(i)、及び第2組のシンドローム情報C
(j)で表すことができる。具体的に、図7のテキスト
データを配列方向にN個(i=1〜N)で、非配列方向
にM個(j=1〜M)の部分テキストデータT(i,
j)に分割し、各部分テキストデータT(i,j)が1
6個分のヌクレオチドのテキストデータを含むものとす
ると、元のテキストデータのデータ量DT1は、以下の
ようになる。
行で複数列の部分テキストデータに分割した後に、各部
分テキストデータをそれぞれ変換データに変換している
が、これは予めそのテキストデータを一列の数値データ
に変換した後に、その数値データを複数行で複数列の変
換データに分割することと実質的に等価である。本発明
によれば、例えば図7に示す部分テキストデータT
(i,j)を集めたテキストデータの情報の大部分を、
例えば図9に示す第1組のシンドローム情報B1
(i),B2(i)、及び第2組のシンドローム情報C
(j)で表すことができる。具体的に、図7のテキスト
データを配列方向にN個(i=1〜N)で、非配列方向
にM個(j=1〜M)の部分テキストデータT(i,
j)に分割し、各部分テキストデータT(i,j)が1
6個分のヌクレオチドのテキストデータを含むものとす
ると、元のテキストデータのデータ量DT1は、以下の
ようになる。
【0028】 DT1=16・N・M(バイト) …(1) 更に、各ヌクレオチドを2ビットのデータで表すものと
すると、各部分テキストデータT(i,j)は、それぞ
れ32ビットの変換データA(i,j)に変換され、シ
ンドローム情報B1(i),B2(i),C(j)も3
2ビットのデータとなる。また、非配列方向のシンドロ
ーム情報が2列B1(i),B2(i)あるとすると、
シンドローム情報のデータ量DS1は、以下のようにな
る。
すると、各部分テキストデータT(i,j)は、それぞ
れ32ビットの変換データA(i,j)に変換され、シ
ンドローム情報B1(i),B2(i),C(j)も3
2ビットのデータとなる。また、非配列方向のシンドロ
ーム情報が2列B1(i),B2(i)あるとすると、
シンドローム情報のデータ量DS1は、以下のようにな
る。
【0029】 DS1=32(2・N+M)(ビット) =4(2・N+M)(バイト) …(2) 従って、仮にN=64,M=128とすると、(1)式
及び(2)式よりデータ量DT1,DS1は以下のよう
になる。 DT1=131072(バイト)≒130kバイト …(3) DS1=1024(バイト)=DT1/128 …(4) 従って、シンドローム情報のデータ量は、元のテキスト
データのデータ量のほぼ1/100程度に圧縮できる。
この場合、例えば人間の1本の染色体のDNAの配列
は、50Mバイト〜250Mバイト程度のテキストデー
タで表されるため、予めそのテキストデータを500個
〜2500個程度のブロックに分割し、各ブロック毎に
シンドローム情報を求めることによって、全部のシンド
ローム情報のデータ量はそのテキストデータのほぼ1/
100程度、即ち500kバイト〜2.5Mバイト程度
に圧縮される。この程度のデータ量であれば、例えば携
帯電話システムのような低速の通信回線を介しても短時
間に送信できると共に、DVD−ROMよりも容量の少
ないCD−ROM等の記録媒体にも余裕を持って記録す
ることができる。
及び(2)式よりデータ量DT1,DS1は以下のよう
になる。 DT1=131072(バイト)≒130kバイト …(3) DS1=1024(バイト)=DT1/128 …(4) 従って、シンドローム情報のデータ量は、元のテキスト
データのデータ量のほぼ1/100程度に圧縮できる。
この場合、例えば人間の1本の染色体のDNAの配列
は、50Mバイト〜250Mバイト程度のテキストデー
タで表されるため、予めそのテキストデータを500個
〜2500個程度のブロックに分割し、各ブロック毎に
シンドローム情報を求めることによって、全部のシンド
ローム情報のデータ量はそのテキストデータのほぼ1/
100程度、即ち500kバイト〜2.5Mバイト程度
に圧縮される。この程度のデータ量であれば、例えば携
帯電話システムのような低速の通信回線を介しても短時
間に送信できると共に、DVD−ROMよりも容量の少
ないCD−ROM等の記録媒体にも余裕を持って記録す
ることができる。
【0030】この場合、複数行のその変換データの各行
の変換データをそれぞれその非配列方向に交互に第1群
の変換データ(例えば奇数番目の変換データA(i,
1),A(i,3),…)及び第2群の変換データ(例
えば偶数番目の変換データA(i,2),A(i,
4),…)に分けたとき、その第1の演算は、所定の整
数Kを用いてその第1群の変換データ、及びその第2群
の変換データのそれぞれの法Kのもとの和を求める演算
であり、その第2の演算は、複数列のその変換データの
各列の変換データに対する法Kのもとの和を求める演算
である。その変換データA(i,j)をsビット(例え
ばs=32,s=64等)とすると、その整数Kは一例
として次のようになる。
の変換データをそれぞれその非配列方向に交互に第1群
の変換データ(例えば奇数番目の変換データA(i,
1),A(i,3),…)及び第2群の変換データ(例
えば偶数番目の変換データA(i,2),A(i,
4),…)に分けたとき、その第1の演算は、所定の整
数Kを用いてその第1群の変換データ、及びその第2群
の変換データのそれぞれの法Kのもとの和を求める演算
であり、その第2の演算は、複数列のその変換データの
各列の変換データに対する法Kのもとの和を求める演算
である。その変換データA(i,j)をsビット(例え
ばs=32,s=64等)とすると、その整数Kは一例
として次のようになる。
【0031】K=2s …(5) 通常のコンピュータでは、その法Kのもとの和演算は極
めて高速に実行することができる。また、その一列のヌ
クレオチドの配列を基準配列として、この基準配列の2
組のそのシンドローム情報(B1(i),B2(i),
C(j))に対応させて、検査対象の一列のヌクレオチ
ドの配列(TF(i,j))の2組のシンドローム情報
(B1F(i),B2F(i),CF(j))を求め、
その4組のシンドローム情報よりその基準配列に対する
その検査対象の一列のヌクレオチドの配列の相違部を求
めることが望ましい。例えば図7の配列を基準配列、図
10の配列を検査対象の配列として、図7の基準配列の
シンドローム情報が図8に、図10の配列のシンドロー
ム情報が図11に表されている。このとき、図8のシン
ドローム情報(B1(i),B2(i),C(j))に
対して、図11のシンドローム情報(B1F(i),B
2F(i),CF(j))は、B1F(1),B2F
(4),CF(16),CF(17)の値が異なるた
め、それらの交点として、図10の部分テキストデータ
TF(4,16),TF(1,17)が図7の基準配列
と異なっていることを検出できる。即ち、4組のシンド
ローム情報を比較することによって、少ないデータ量の
比較で、検査対象の配列のどの部分テキストデータが基
準配列と異なっているかを検出できる。
めて高速に実行することができる。また、その一列のヌ
クレオチドの配列を基準配列として、この基準配列の2
組のそのシンドローム情報(B1(i),B2(i),
C(j))に対応させて、検査対象の一列のヌクレオチ
ドの配列(TF(i,j))の2組のシンドローム情報
(B1F(i),B2F(i),CF(j))を求め、
その4組のシンドローム情報よりその基準配列に対する
その検査対象の一列のヌクレオチドの配列の相違部を求
めることが望ましい。例えば図7の配列を基準配列、図
10の配列を検査対象の配列として、図7の基準配列の
シンドローム情報が図8に、図10の配列のシンドロー
ム情報が図11に表されている。このとき、図8のシン
ドローム情報(B1(i),B2(i),C(j))に
対して、図11のシンドローム情報(B1F(i),B
2F(i),CF(j))は、B1F(1),B2F
(4),CF(16),CF(17)の値が異なるた
め、それらの交点として、図10の部分テキストデータ
TF(4,16),TF(1,17)が図7の基準配列
と異なっていることを検出できる。即ち、4組のシンド
ローム情報を比較することによって、少ないデータ量の
比較で、検査対象の配列のどの部分テキストデータが基
準配列と異なっているかを検出できる。
【0032】この際に、基準配列と異なっている部分を
エラーコード(error code)と呼ぶと、エラーコードが
部分テキストデータの各行、又は各列に一つである場合
には、それら4組のシンドローム情報、及びその検査対
象のエラーコードに対応する変換データの法Kの加減算
より、基準配列の変換データA(4,16),A(1,
17)、ひいては部分テキストデータT(4,16),
T(1,17)が正確に復元できる。従って、例えば遺
伝子中の一つの塩基(ヌクレオチド)だけが異なるSN
P(一塩基変位多型:Single Nucleotide Polymorphis
m) は本発明によって容易に検出できると共に、それに
対応する正常な配列も容易に復元できる。
エラーコード(error code)と呼ぶと、エラーコードが
部分テキストデータの各行、又は各列に一つである場合
には、それら4組のシンドローム情報、及びその検査対
象のエラーコードに対応する変換データの法Kの加減算
より、基準配列の変換データA(4,16),A(1,
17)、ひいては部分テキストデータT(4,16),
T(1,17)が正確に復元できる。従って、例えば遺
伝子中の一つの塩基(ヌクレオチド)だけが異なるSN
P(一塩基変位多型:Single Nucleotide Polymorphis
m) は本発明によって容易に検出できると共に、それに
対応する正常な配列も容易に復元できる。
【0033】なお、図10の場合のように隣接する2つ
の列の部分テキストデータTF(4,16),TF
(1,17)に跨るような長いエラーコード(以下、
「バーストエラー(burst error)」と呼ぶ)が存在する
場合に、非配列方向のシンドロームが各行に1つ(即
ち、B1F(i)とB2F(i)との和)のみであると
すると、1行中の2箇所の部分テキストデータ、及び1
列中の2箇所の部分テキストデータにエラーコードが検
出されてしまう。従って、エラーコードの位置の誤検出
が生じて、それに対応する基準配列の復元も困難とな
る。これに対して本発明のように各行で2つのシンドロ
ーム情報を求めることによって、バーストエラーの検出
及び復元を正確に行うことができる。なお、各行で2つ
のシンドローム情報を求める代わりに、配列方向(各
列)で例えば前半分と後半分との2群の変換データに対
して2つのシンドローム情報を求めるようにしてもよ
く、どちらを採用するかは全体のデータ量が少なくなる
ように選択すればよい。
の列の部分テキストデータTF(4,16),TF
(1,17)に跨るような長いエラーコード(以下、
「バーストエラー(burst error)」と呼ぶ)が存在する
場合に、非配列方向のシンドロームが各行に1つ(即
ち、B1F(i)とB2F(i)との和)のみであると
すると、1行中の2箇所の部分テキストデータ、及び1
列中の2箇所の部分テキストデータにエラーコードが検
出されてしまう。従って、エラーコードの位置の誤検出
が生じて、それに対応する基準配列の復元も困難とな
る。これに対して本発明のように各行で2つのシンドロ
ーム情報を求めることによって、バーストエラーの検出
及び復元を正確に行うことができる。なお、各行で2つ
のシンドローム情報を求める代わりに、配列方向(各
列)で例えば前半分と後半分との2群の変換データに対
して2つのシンドローム情報を求めるようにしてもよ
く、どちらを採用するかは全体のデータ量が少なくなる
ように選択すればよい。
【0034】次に、本発明の記録装置は、一列のヌクレ
オチドの配列情報の記録装置であって、一つの核酸の少
なくとも一部に含まれる一列のヌクレオチドの配列情報
を読み取る配列読み取り装置(4)と、この配列読み取
り装置で読み取られた配列の情報をテキストデータとし
て第1ファイル(19)に記録する第1記録手段(ステ
ップ102〜104)と、その第1ファイルのテキスト
データよりも少ないデータ量で、その配列読み取り装置
で読み取られた配列の情報を表し、この配列の情報を第
2ファイル(20,21)に記録する第2記録手段(ス
テップ105〜107)とを有するものである。これに
よって、本発明の配列情報の記録方法が実施できる。
オチドの配列情報の記録装置であって、一つの核酸の少
なくとも一部に含まれる一列のヌクレオチドの配列情報
を読み取る配列読み取り装置(4)と、この配列読み取
り装置で読み取られた配列の情報をテキストデータとし
て第1ファイル(19)に記録する第1記録手段(ステ
ップ102〜104)と、その第1ファイルのテキスト
データよりも少ないデータ量で、その配列読み取り装置
で読み取られた配列の情報を表し、この配列の情報を第
2ファイル(20,21)に記録する第2記録手段(ス
テップ105〜107)とを有するものである。これに
よって、本発明の配列情報の記録方法が実施できる。
【0035】この場合、その第2記録手段は、一例とし
てその配列読み取り装置で読み取られた一列のヌクレオ
チドの配列を、この配列を表すテキストデータ又は数値
データの数学的な要約値で表すものである。また、その
第2記録手段は、別の例としてその配列読み取り装置で
読み取られた一列のヌクレオチドの配列に対応するテキ
ストデータを、そのヌクレオチドの配列方向に複数行
で、かつその配列方向に交差する非配列方向に複数列の
部分テキストデータに分割し、その部分テキストデータ
を、それぞれ複数種類のヌクレオチドに対して互いに異
なる6ビット以下の数値データを割り当てることによっ
て変換データに変換し、複数行のその変換データに各行
毎にその非配列方向に第1の演算を施して第1組のシン
ドローム情報を求めると共に、複数列のその変換データ
に各列毎にその配列方向に第2の演算を施して第2組の
シンドローム情報を求め、その第1組及び第2組のシン
ドローム情報をその第2ファイルに記録するものであ
る。
てその配列読み取り装置で読み取られた一列のヌクレオ
チドの配列を、この配列を表すテキストデータ又は数値
データの数学的な要約値で表すものである。また、その
第2記録手段は、別の例としてその配列読み取り装置で
読み取られた一列のヌクレオチドの配列に対応するテキ
ストデータを、そのヌクレオチドの配列方向に複数行
で、かつその配列方向に交差する非配列方向に複数列の
部分テキストデータに分割し、その部分テキストデータ
を、それぞれ複数種類のヌクレオチドに対して互いに異
なる6ビット以下の数値データを割り当てることによっ
て変換データに変換し、複数行のその変換データに各行
毎にその非配列方向に第1の演算を施して第1組のシン
ドローム情報を求めると共に、複数列のその変換データ
に各列毎にその配列方向に第2の演算を施して第2組の
シンドローム情報を求め、その第1組及び第2組のシン
ドローム情報をその第2ファイルに記録するものであ
る。
【0036】また、本発明の記録媒体は、一列のヌクレ
オチドの配列情報を記録したコンピュータ読み取り可能
な記録媒体であって、その一列のヌクレオチドの配列に
対応するテキストデータよりも少ないデータ量で、その
一列のヌクレオチドの配列に関する情報が記録されたも
のである。本発明によれば、例えば人間のDNAのヌク
レオチドの配列情報を、少ないデータ量で記録できるた
め、記録媒体としてCD−ROM,CD−R等の使い勝
手の良い媒体を使用できる。
オチドの配列情報を記録したコンピュータ読み取り可能
な記録媒体であって、その一列のヌクレオチドの配列に
対応するテキストデータよりも少ないデータ量で、その
一列のヌクレオチドの配列に関する情報が記録されたも
のである。本発明によれば、例えば人間のDNAのヌク
レオチドの配列情報を、少ないデータ量で記録できるた
め、記録媒体としてCD−ROM,CD−R等の使い勝
手の良い媒体を使用できる。
【0037】この場合、その一列のヌクレオチドが25
個以上のヌクレオチドの配列であるときに、その一列の
ヌクレオチドの配列に関する情報は、一例として40ビ
ット以上で192ビット以下の長さの数学的な要約値で
その記録媒体に記録されるものである。この場合には、
記録媒体としてフレキシブルディスクであっても使用で
きる。
個以上のヌクレオチドの配列であるときに、その一列の
ヌクレオチドの配列に関する情報は、一例として40ビ
ット以上で192ビット以下の長さの数学的な要約値で
その記録媒体に記録されるものである。この場合には、
記録媒体としてフレキシブルディスクであっても使用で
きる。
【0038】また、別の例として、その一列のヌクレオ
チドの配列に対応するテキストデータを、そのヌクレオ
チドの配列方向に複数行で、かつその配列方向に交差す
る非配列方向に複数列の部分テキストデータに分割し、
その部分テキストデータを、それぞれ複数種類のヌクレ
オチドに対して互いに異なる6ビット以下の数値データ
を割り当てることによって変換データに変換し、複数行
のその変換データに各行毎にその非配列方向に第1の演
算を施して第1組のシンドローム情報を求めると共に、
複数列のその変換データに各列毎にその配列方向に第2
の演算を施して第2組のシンドローム情報を求めてお
き、その一列のヌクレオチドの配列に関する情報は、そ
の第1組及び第2組のシンドローム情報としてその記録
媒体に記録される。この記録媒体を用いることによっ
て、例えば2つの試料のヌクレオチドの配列の相違する
部分の位置の検出ができると共に、その相違する部分が
少ない場合にはそれに対応する配列の復元を行うことが
できる。
チドの配列に対応するテキストデータを、そのヌクレオ
チドの配列方向に複数行で、かつその配列方向に交差す
る非配列方向に複数列の部分テキストデータに分割し、
その部分テキストデータを、それぞれ複数種類のヌクレ
オチドに対して互いに異なる6ビット以下の数値データ
を割り当てることによって変換データに変換し、複数行
のその変換データに各行毎にその非配列方向に第1の演
算を施して第1組のシンドローム情報を求めると共に、
複数列のその変換データに各列毎にその配列方向に第2
の演算を施して第2組のシンドローム情報を求めてお
き、その一列のヌクレオチドの配列に関する情報は、そ
の第1組及び第2組のシンドローム情報としてその記録
媒体に記録される。この記録媒体を用いることによっ
て、例えば2つの試料のヌクレオチドの配列の相違する
部分の位置の検出ができると共に、その相違する部分が
少ない場合にはそれに対応する配列の復元を行うことが
できる。
【0039】次に、本発明の配列情報の供給方法は、一
列のヌクレオチドの配列情報の供給方法であって、その
一列のヌクレオチドの配列に対応するテキストデータ、
又は複数種類のヌクレオチドに対して互いに異なる6ビ
ット以下の数値データを割り当てることによってそのテ
キストデータを変換して得られる数値データを保持する
供給者(2A)が、その一列のヌクレオチドの配列の長
さの情報、及びその配列を表すテキストデータ又はその
数値データの数学的な要約値の情報を通信回線(1)を
介して閲覧可能な状態にしておき、その通信回線を介し
てその配列の長さの情報及びその数学的な要約値の情報
を閲覧したユーザ(2B)より、そのテキストデータ又
はその数値データの少なくとも一部の情報に対する取得
要求がその供給者に届いた後に、その供給者がそのユー
ザにそのテキストデータ又はその数値データの少なくと
も一部の情報を供給するものである。
列のヌクレオチドの配列情報の供給方法であって、その
一列のヌクレオチドの配列に対応するテキストデータ、
又は複数種類のヌクレオチドに対して互いに異なる6ビ
ット以下の数値データを割り当てることによってそのテ
キストデータを変換して得られる数値データを保持する
供給者(2A)が、その一列のヌクレオチドの配列の長
さの情報、及びその配列を表すテキストデータ又はその
数値データの数学的な要約値の情報を通信回線(1)を
介して閲覧可能な状態にしておき、その通信回線を介し
てその配列の長さの情報及びその数学的な要約値の情報
を閲覧したユーザ(2B)より、そのテキストデータ又
はその数値データの少なくとも一部の情報に対する取得
要求がその供給者に届いた後に、その供給者がそのユー
ザにそのテキストデータ又はその数値データの少なくと
も一部の情報を供給するものである。
【0040】この供給方法は、上記の本発明のヌクレオ
チドの配列情報の記録方法を、その配列情報を供給(販
売)する際のビジネスモデルに適用したものである。即
ち、本発明のビジネスモデルでは、或る生物XのDNA
のヌクレオチドの配列を最初に解読した供給者は、その
配列のテキストデータ(又はこれを変換した数値デー
タ)よりハッシュ関数によって要約値(message diges
t)を算出し、この要約値を例えばインターネット上で
閲覧可能にする。これによって、その供給者は、そのテ
キストデータ自体を公開することなく、最初にその生物
XのDNAの配列を解読したことを主張できる。更に、
ユーザが同じ配列情報を異なる供給者から誤って購入す
ることも防止できる。
チドの配列情報の記録方法を、その配列情報を供給(販
売)する際のビジネスモデルに適用したものである。即
ち、本発明のビジネスモデルでは、或る生物XのDNA
のヌクレオチドの配列を最初に解読した供給者は、その
配列のテキストデータ(又はこれを変換した数値デー
タ)よりハッシュ関数によって要約値(message diges
t)を算出し、この要約値を例えばインターネット上で
閲覧可能にする。これによって、その供給者は、そのテ
キストデータ自体を公開することなく、最初にその生物
XのDNAの配列を解読したことを主張できる。更に、
ユーザが同じ配列情報を異なる供給者から誤って購入す
ることも防止できる。
【0041】また、或るユーザが、その供給者よりその
生物XのDNAの配列情報を購入した後、購入した配列
情報よりそのハッシュ関数によって要約値を算出し、そ
の配列の長さも求める。そして、この配列の長さ、及び
要約値をインターネット上で公開されている値と比較す
ることによって、購入した配列情報が正確なものである
かどうかを極めて高い確率で確認できる。
生物XのDNAの配列情報を購入した後、購入した配列
情報よりそのハッシュ関数によって要約値を算出し、そ
の配列の長さも求める。そして、この配列の長さ、及び
要約値をインターネット上で公開されている値と比較す
ることによって、購入した配列情報が正確なものである
かどうかを極めて高い確率で確認できる。
【0042】この場合、その一列のヌクレオチドは25
個以上のヌクレオチドの配列であるときに、一例とし
て、その数学的な要約値は、40ビット以上で192ビ
ット以下のデータであり、その供給者は、更にその一列
のヌクレオチドの所定の一部の配列の情報をその通信回
線を介して閲覧可能な状態にしておくことが望ましい。
その要約値、及びその配列の長さの他に、そのように例
えばその配列の先頭の8個程度、及び後端の8個程度の
配列を比較することによって、同一性の確認をより高精
度に行うことができる。
個以上のヌクレオチドの配列であるときに、一例とし
て、その数学的な要約値は、40ビット以上で192ビ
ット以下のデータであり、その供給者は、更にその一列
のヌクレオチドの所定の一部の配列の情報をその通信回
線を介して閲覧可能な状態にしておくことが望ましい。
その要約値、及びその配列の長さの他に、そのように例
えばその配列の先頭の8個程度、及び後端の8個程度の
配列を比較することによって、同一性の確認をより高精
度に行うことができる。
【0043】また、その供給者は、その一列のヌクレオ
チドの配列に対応するテキストデータ、又はこれに対応
するその数値データを第1ファイル(19)に記録して
保持し、その供給者は、そのテキストデータ、又はその
数値データを、そのヌクレオチドの配列方向に複数行
で、かつその配列方向に交差する非配列方向に複数列の
部分データに分割し、その部分データを、それぞれ複数
種類のヌクレオチドに対して互いに異なる6ビット以下
の数値データを割り当てることによって変換データに変
換し、複数行のその変換データに各行毎にその非配列方
向に第1の演算を施して第1組のシンドローム情報を求
めると共に、複数列のその変換データに各列毎にその配
列方向に第2の演算を施して第2組のシンドローム情報
を求め、その第1組及び第2組のシンドローム情報を第
2ファイル(20)に記録して保持し、第1段階として
そのユーザは、その供給者よりその第2ファイルに記録
されている2組のシンドローム情報を受け取り、その2
組のシンドローム情報に基づいて検査対象の一列のヌク
レオチドの配列の内のその供給者の一列のヌクレオチド
の配列との相違部を特定し、この相違部の配列の復元が
できない場合に、第2段階としてそのユーザはその供給
者よりその第1ファイルに記録されているそのテキスト
データ、又はその数値データの内のその配列の復元がで
きない部分の情報の提供を要求することが望ましい。
チドの配列に対応するテキストデータ、又はこれに対応
するその数値データを第1ファイル(19)に記録して
保持し、その供給者は、そのテキストデータ、又はその
数値データを、そのヌクレオチドの配列方向に複数行
で、かつその配列方向に交差する非配列方向に複数列の
部分データに分割し、その部分データを、それぞれ複数
種類のヌクレオチドに対して互いに異なる6ビット以下
の数値データを割り当てることによって変換データに変
換し、複数行のその変換データに各行毎にその非配列方
向に第1の演算を施して第1組のシンドローム情報を求
めると共に、複数列のその変換データに各列毎にその配
列方向に第2の演算を施して第2組のシンドローム情報
を求め、その第1組及び第2組のシンドローム情報を第
2ファイル(20)に記録して保持し、第1段階として
そのユーザは、その供給者よりその第2ファイルに記録
されている2組のシンドローム情報を受け取り、その2
組のシンドローム情報に基づいて検査対象の一列のヌク
レオチドの配列の内のその供給者の一列のヌクレオチド
の配列との相違部を特定し、この相違部の配列の復元が
できない場合に、第2段階としてそのユーザはその供給
者よりその第1ファイルに記録されているそのテキスト
データ、又はその数値データの内のその配列の復元がで
きない部分の情報の提供を要求することが望ましい。
【0044】このようにそのユーザが最初は、希望する
ヌクレオチドの配列情報のシンドローム情報のみを購入
する場合には、そのデータ量の小さいシンドローム情報
はその通信回線を介して短時間で受信することができ
る。そして、シンドローム情報だけで検査対象の配列の
エラーコードの特定、及び復元ができる場合には、それ
以上の配列情報を購入する必要が無い。一方、エラーコ
ードが多く存在し、シンドローム情報のみでは全部の正
確なデータが復元できない場合には、復元できない部分
のテキストデータのみを購入することによって、通信回
線を介して必要な配列情報を短時間に購入できる。従っ
て、通信回線として、携帯電話システムのような比較的
低速の通信回線も使用できる。
ヌクレオチドの配列情報のシンドローム情報のみを購入
する場合には、そのデータ量の小さいシンドローム情報
はその通信回線を介して短時間で受信することができ
る。そして、シンドローム情報だけで検査対象の配列の
エラーコードの特定、及び復元ができる場合には、それ
以上の配列情報を購入する必要が無い。一方、エラーコ
ードが多く存在し、シンドローム情報のみでは全部の正
確なデータが復元できない場合には、復元できない部分
のテキストデータのみを購入することによって、通信回
線を介して必要な配列情報を短時間に購入できる。従っ
て、通信回線として、携帯電話システムのような比較的
低速の通信回線も使用できる。
【0045】次に、本発明のアミノ酸の配列情報の記録
方法は、一列のアミノ酸の配列情報の記録方法であっ
て、その一列のアミノ酸の配列に対応するテキストデー
タよりも少ないデータ量で、その一列のアミノ酸の配列
に関する情報を記録するものである。斯かる本発明によ
れば、その一列のアミノ酸は、例えば或るタンパク質を
構成するアミノ酸の配列の少なくとも一部である。その
アミノ酸の配列が、そのテキストデータ以外のより少な
いデータ量のファイルとして記録される。従って、記録
媒体として、小容量でも通常のコンピュータで手軽に再
生できる媒体を使用できると共に、通信回線を介して送
信する際の時間を短縮できる。
方法は、一列のアミノ酸の配列情報の記録方法であっ
て、その一列のアミノ酸の配列に対応するテキストデー
タよりも少ないデータ量で、その一列のアミノ酸の配列
に関する情報を記録するものである。斯かる本発明によ
れば、その一列のアミノ酸は、例えば或るタンパク質を
構成するアミノ酸の配列の少なくとも一部である。その
アミノ酸の配列が、そのテキストデータ以外のより少な
いデータ量のファイルとして記録される。従って、記録
媒体として、小容量でも通常のコンピュータで手軽に再
生できる媒体を使用できると共に、通信回線を介して送
信する際の時間を短縮できる。
【0046】本発明において、その一列のアミノ酸は、
一つのタンパク質を構成する1本のアミノ酸の鎖の全部
又は一部である場合に、一例としてその一列のアミノ酸
の配列に対応するテキストデータが、20種類のアミノ
酸に対して互いに異なる6ビット以下のデータを割り当
てることによって変換される。テキストデータ形式で一
文字表記(1-Letter Code)を行うものとすると、20
種類のアミノ酸は、それぞれ8ビットのアスキーコード
(ASCII CODE)、文字では例えばA,C,E等で表され
るため、各アミノ酸を6ビット以下のデータで表すこと
によって、データ量を減らすことができる。
一つのタンパク質を構成する1本のアミノ酸の鎖の全部
又は一部である場合に、一例としてその一列のアミノ酸
の配列に対応するテキストデータが、20種類のアミノ
酸に対して互いに異なる6ビット以下のデータを割り当
てることによって変換される。テキストデータ形式で一
文字表記(1-Letter Code)を行うものとすると、20
種類のアミノ酸は、それぞれ8ビットのアスキーコード
(ASCII CODE)、文字では例えばA,C,E等で表され
るため、各アミノ酸を6ビット以下のデータで表すこと
によって、データ量を減らすことができる。
【0047】なお、一つのアミノ酸の種類は一列の3個
のヌクレオチドの配列、即ち一つの遺伝子コドン(codo
n )によって決定される。これに関して、上記のヌクレ
オチドの配列情報の記録方法において、各ヌクレオチド
を2ビットのデータで表した場合に、1つの遺伝子コド
ンは6ビットのデータで表される。そこで、この各遺伝
子コドンの6ビットのデータを、対応するアミノ酸の6
ビットのデータとみなしてもよい。この場合には、所定
のアミノ酸を表すデータが複数存在する、即ちコードの
縮重(degeneracy)が生じるため、一例として各アミノ
酸のデータの内で最も小さいデータをそのアミノ酸に割
り当てるようにしてもよい。これによって、ヌクレオチ
ドとアミノ酸とで共通のコードを使用できる利点があ
る。また、20種類のアミノ酸は、最も少ないデータ量
では、5ビットのデータで表すことができる。
のヌクレオチドの配列、即ち一つの遺伝子コドン(codo
n )によって決定される。これに関して、上記のヌクレ
オチドの配列情報の記録方法において、各ヌクレオチド
を2ビットのデータで表した場合に、1つの遺伝子コド
ンは6ビットのデータで表される。そこで、この各遺伝
子コドンの6ビットのデータを、対応するアミノ酸の6
ビットのデータとみなしてもよい。この場合には、所定
のアミノ酸を表すデータが複数存在する、即ちコードの
縮重(degeneracy)が生じるため、一例として各アミノ
酸のデータの内で最も小さいデータをそのアミノ酸に割
り当てるようにしてもよい。これによって、ヌクレオチ
ドとアミノ酸とで共通のコードを使用できる利点があ
る。また、20種類のアミノ酸は、最も少ないデータ量
では、5ビットのデータで表すことができる。
【0048】また、本発明において、より具体的な第1
の記録方法は、その一列のアミノ酸の配列に関する情報
を、その配列を表すテキストデータの数学的な要約値
(message digest)で表すものである。例えば所定のハ
ッシュ関数を用いてそのテキストデータの要約値を求
め、この要約値をインターネット上で公開することによ
って、そのテキストデータを公開することなく、その配
列を最先に解読したことを主張(証明)できる。更にそ
のテキストデータを購入したユーザが、購入したデータ
の要約値を求め、この要約値を公開されている要約値と
比較することによって、購入したデータの同一性を確認
できる。
の記録方法は、その一列のアミノ酸の配列に関する情報
を、その配列を表すテキストデータの数学的な要約値
(message digest)で表すものである。例えば所定のハ
ッシュ関数を用いてそのテキストデータの要約値を求
め、この要約値をインターネット上で公開することによ
って、そのテキストデータを公開することなく、その配
列を最先に解読したことを主張(証明)できる。更にそ
のテキストデータを購入したユーザが、購入したデータ
の要約値を求め、この要約値を公開されている要約値と
比較することによって、購入したデータの同一性を確認
できる。
【0049】この場合、その一列のアミノ酸は25個以
上のアミノ酸の配列であるときに、その一列のアミノ酸
の配列に関する情報を16ビット以上で192ビット以
下の長さの数学的な要約値で表すことが望ましい。タン
パク質の種類は、仮想的なものも含めて10万(=10
5 )種類程度と言われており、次の関係が成立してい
る。
上のアミノ酸の配列であるときに、その一列のアミノ酸
の配列に関する情報を16ビット以上で192ビット以
下の長さの数学的な要約値で表すことが望ましい。タン
パク質の種類は、仮想的なものも含めて10万(=10
5 )種類程度と言われており、次の関係が成立してい
る。
【0050】105 ≒216.6 …(6) 従って、例えばアミノ酸の配列の個数も識別データに用
いるものとすると、16ビット以上の要約値を用いるこ
とによって、ほぼ全てのタンパク質を識別することがで
きる。また、25個以上のアミノ酸の配列のテキストデ
ータは、一文字表記でも200ビット以上になるため、
192ビット以下の要約値のデータ量はテキストデータ
のデータ量よりも少なくなる。
いるものとすると、16ビット以上の要約値を用いるこ
とによって、ほぼ全てのタンパク質を識別することがで
きる。また、25個以上のアミノ酸の配列のテキストデ
ータは、一文字表記でも200ビット以上になるため、
192ビット以下の要約値のデータ量はテキストデータ
のデータ量よりも少なくなる。
【0051】また、その数学的な要約値は、その一列の
アミノ酸の配列に対応するテキストデータに例えばMD
5ハッシュ関数(要約値は128ビット)、又はSHS
(Secure Hash Standard)ハッシュ関数(要約値は16
0ビット)の演算を施して得られる。この場合、要約値
が必要以上に長くならない点ではMD5ハッシュ関数が
望ましい。但し、タンパク質を構成するアミノ酸の配列
の数は20個〜1000個程度であり、要約値から元の
テキストデータが推定される恐れがある。そこで、アミ
ノ酸の配列の要約値を算出する場合で、かつ元のテキス
トデータの秘匿性を高めたい場合には、より複雑な演算
を行って得られる要約値も長くなるSHSハッシュ関数
を使用することが望ましい。
アミノ酸の配列に対応するテキストデータに例えばMD
5ハッシュ関数(要約値は128ビット)、又はSHS
(Secure Hash Standard)ハッシュ関数(要約値は16
0ビット)の演算を施して得られる。この場合、要約値
が必要以上に長くならない点ではMD5ハッシュ関数が
望ましい。但し、タンパク質を構成するアミノ酸の配列
の数は20個〜1000個程度であり、要約値から元の
テキストデータが推定される恐れがある。そこで、アミ
ノ酸の配列の要約値を算出する場合で、かつ元のテキス
トデータの秘匿性を高めたい場合には、より複雑な演算
を行って得られる要約値も長くなるSHSハッシュ関数
を使用することが望ましい。
【0052】また、本発明において、より具体的な第2
の記録方法は、その一列のアミノ酸の配列に対応するテ
キストデータを、そのアミノ酸の配列方向に複数行で、
かつその配列方向に交差する非配列方向に複数列の部分
テキストデータに分割し、その部分テキストデータを、
それぞれ複数種類のアミノ酸に対して互いに異なる8ビ
ット以下の数値データを割り当てることによって変換デ
ータに変換し、複数行のその変換データに各行毎にその
非配列方向に第1の演算を施して第1組のシンドローム
情報を求めると共に、複数列のその変換データに各列毎
にその配列方向に第2の演算を施して第2組のシンドロ
ーム情報を求め、その第1組及び第2組のシンドローム
情報でその一列のアミノ酸の配列を表すものである。
の記録方法は、その一列のアミノ酸の配列に対応するテ
キストデータを、そのアミノ酸の配列方向に複数行で、
かつその配列方向に交差する非配列方向に複数列の部分
テキストデータに分割し、その部分テキストデータを、
それぞれ複数種類のアミノ酸に対して互いに異なる8ビ
ット以下の数値データを割り当てることによって変換デ
ータに変換し、複数行のその変換データに各行毎にその
非配列方向に第1の演算を施して第1組のシンドローム
情報を求めると共に、複数列のその変換データに各列毎
にその配列方向に第2の演算を施して第2組のシンドロ
ーム情報を求め、その第1組及び第2組のシンドローム
情報でその一列のアミノ酸の配列を表すものである。
【0053】本発明は、予めそのテキストデータ(一文
字表記とする)を一列の数値データに変換した後に、そ
の数値データを複数行で複数列の変換データに分割する
ことと実質的に等価である。本発明によれば、例えばア
ミノ酸の配列に対応するテキストデータを配列方向にN
個(i=1〜N)で、非配列方向にM個(j=1〜M)
の部分テキストデータT(i,j)に分割し、各部分テ
キストデータT(i,j)が4個分のアミノ酸のテキス
トデータを含むものとすると、元のテキストデータのデ
ータ量DT2は、以下のようになる。
字表記とする)を一列の数値データに変換した後に、そ
の数値データを複数行で複数列の変換データに分割する
ことと実質的に等価である。本発明によれば、例えばア
ミノ酸の配列に対応するテキストデータを配列方向にN
個(i=1〜N)で、非配列方向にM個(j=1〜M)
の部分テキストデータT(i,j)に分割し、各部分テ
キストデータT(i,j)が4個分のアミノ酸のテキス
トデータを含むものとすると、元のテキストデータのデ
ータ量DT2は、以下のようになる。
【0054】 DT2=4・N・M(バイト) …(7) 更に、その部分テキストデータT(i,j)をそのまま
変換データA(i,j)とみなすと、変換データA
(i,j)はそれぞれ32ビットの数値データとなり、
シンドローム情報も32ビットのデータとなる。また、
非配列方向のシンドローム情報が2列あるとすると、シ
ンドローム情報のデータ量DS2は、以下のようにな
る。
変換データA(i,j)とみなすと、変換データA
(i,j)はそれぞれ32ビットの数値データとなり、
シンドローム情報も32ビットのデータとなる。また、
非配列方向のシンドローム情報が2列あるとすると、シ
ンドローム情報のデータ量DS2は、以下のようにな
る。
【0055】 DS2=32(2・N+M)(ビット) =4(2・N+M)(バイト) …(8) 従って、仮にN=16,M=16とすると、(7)式及
び(8)式よりデータ量DT2,DS2は以下のように
なる。 DT2=1024(バイト) …(9) DS2=192(バイト)≒DT2/5.3 …(10) 従って、シンドローム情報のデータ量は、元のテキスト
データのデータ量のほぼ1/5程度に圧縮できる。個々
のタンパク質の配列のテキストデータのデータ量は1k
バイト程度以下であるが、例えば10000種類程度の
タンパク質のテキストデータをまとめると10Mバイト
程度になる。この際にシンドローム情報を用いることに
よって、通信回線を介して短時間で近似的な情報を送信
することができる。また、シンドローム情報を比較する
ことによって、標準試料のアミノ酸の配列と検査対象の
アミノ酸の配列との相違部(エラーコード)を効率的に
検出することができる。更に、エラーコードが各行、又
は各列に1つの変換データのみであるときには、それに
対応する正確な配列を復元できる。
び(8)式よりデータ量DT2,DS2は以下のように
なる。 DT2=1024(バイト) …(9) DS2=192(バイト)≒DT2/5.3 …(10) 従って、シンドローム情報のデータ量は、元のテキスト
データのデータ量のほぼ1/5程度に圧縮できる。個々
のタンパク質の配列のテキストデータのデータ量は1k
バイト程度以下であるが、例えば10000種類程度の
タンパク質のテキストデータをまとめると10Mバイト
程度になる。この際にシンドローム情報を用いることに
よって、通信回線を介して短時間で近似的な情報を送信
することができる。また、シンドローム情報を比較する
ことによって、標準試料のアミノ酸の配列と検査対象の
アミノ酸の配列との相違部(エラーコード)を効率的に
検出することができる。更に、エラーコードが各行、又
は各列に1つの変換データのみであるときには、それに
対応する正確な配列を復元できる。
【0056】特に、複数行のその変換データの各行の変
換データをそれぞれその非配列方向に交互に第1群の変
換データ及び第2群の変換データに分けたとき、その第
1の演算は、所定の整数Kを用いてその第1群の変換デ
ータ、及びその第2群の変換データのそれぞれの法Kの
もとの和を求める演算であり、その第2の演算は、複数
列のその変換データの各列の変換データに対する法Kの
もとの和を求める演算である場合には、2列に跨るよう
な長い配列の相違(バーストエラー)であっても正確に
検出、及び復元を行うことができる。
換データをそれぞれその非配列方向に交互に第1群の変
換データ及び第2群の変換データに分けたとき、その第
1の演算は、所定の整数Kを用いてその第1群の変換デ
ータ、及びその第2群の変換データのそれぞれの法Kの
もとの和を求める演算であり、その第2の演算は、複数
列のその変換データの各列の変換データに対する法Kの
もとの和を求める演算である場合には、2列に跨るよう
な長い配列の相違(バーストエラー)であっても正確に
検出、及び復元を行うことができる。
【0057】次に、本発明の一列のアミノ酸の配列情報
の記録装置は、一つのタンパク質の少なくとも一部に含
まれる一列のアミノ酸の配列情報をテキストデータとし
て第1ファイルに記録する第1記録手段と、その第1フ
ァイルのテキストデータよりも少ないデータ量で、その
一列のアミノ酸の配列の情報を表し、この配列の情報を
第2ファイルに記録する第2記録手段とを有するもので
ある。この発明によって、本発明のアミノ酸の配列情報
の記録方法を実施することができる。
の記録装置は、一つのタンパク質の少なくとも一部に含
まれる一列のアミノ酸の配列情報をテキストデータとし
て第1ファイルに記録する第1記録手段と、その第1フ
ァイルのテキストデータよりも少ないデータ量で、その
一列のアミノ酸の配列の情報を表し、この配列の情報を
第2ファイルに記録する第2記録手段とを有するもので
ある。この発明によって、本発明のアミノ酸の配列情報
の記録方法を実施することができる。
【0058】この場合、そのその第2記録手段は、その
一列のアミノ酸の配列を、この配列を表すテキストデー
タの数学的な要約値で表すことが望ましい。また、本発
明の一列のアミノ酸の配列情報の供給方法は、その一列
のアミノ酸の配列に対応するテキストデータ、又は複数
種類のアミノ酸に対して互いに異なる8ビット以下の数
値データを割り当てることによってそのテキストデータ
を変換して得られる数値データを保持する供給者が、そ
の一列のアミノ酸の配列の長さの情報、及びその配列を
表すテキストデータ又はその数値データの数学的な要約
値の情報を通信回線を介して閲覧可能な状態にしてお
き、その通信回線を介してその配列の長さの情報及びそ
の数学的な要約値の情報を閲覧したユーザより、そのテ
キストデータ又はその数値データの少なくとも一部の情
報に対する取得要求がその供給者に届いた後に、その供
給者がそのユーザにそのテキストデータ又はその数値デ
ータの少なくとも一部の情報を供給するものである。
一列のアミノ酸の配列を、この配列を表すテキストデー
タの数学的な要約値で表すことが望ましい。また、本発
明の一列のアミノ酸の配列情報の供給方法は、その一列
のアミノ酸の配列に対応するテキストデータ、又は複数
種類のアミノ酸に対して互いに異なる8ビット以下の数
値データを割り当てることによってそのテキストデータ
を変換して得られる数値データを保持する供給者が、そ
の一列のアミノ酸の配列の長さの情報、及びその配列を
表すテキストデータ又はその数値データの数学的な要約
値の情報を通信回線を介して閲覧可能な状態にしてお
き、その通信回線を介してその配列の長さの情報及びそ
の数学的な要約値の情報を閲覧したユーザより、そのテ
キストデータ又はその数値データの少なくとも一部の情
報に対する取得要求がその供給者に届いた後に、その供
給者がそのユーザにそのテキストデータ又はその数値デ
ータの少なくとも一部の情報を供給するものである。
【0059】この供給方法は、上記の本発明のアミノ酸
の配列情報の記録方法を、その配列情報を供給(販売)
する際のビジネスモデルに適用したものである。即ち、
本発明のビジネスモデルでは、或る新規のタンパク質の
アミノ酸の配列を最初に決定した供給者は、その配列の
テキストデータ(又はこれを変換した数値データ)より
ハッシュ関数によって要約値(message digest)を算出
し、この要約値を例えばインターネット上で閲覧可能に
する。これによって、その供給者は、そのテキストデー
タ自体を公開することなく、最初にそのタンパク質の配
列を決定したことを主張(証明)できる。更に、ユーザ
が同じ配列情報を異なる供給者から誤って購入すること
も防止でき、競合メーカは重複投資を避けることができ
る。
の配列情報の記録方法を、その配列情報を供給(販売)
する際のビジネスモデルに適用したものである。即ち、
本発明のビジネスモデルでは、或る新規のタンパク質の
アミノ酸の配列を最初に決定した供給者は、その配列の
テキストデータ(又はこれを変換した数値データ)より
ハッシュ関数によって要約値(message digest)を算出
し、この要約値を例えばインターネット上で閲覧可能に
する。これによって、その供給者は、そのテキストデー
タ自体を公開することなく、最初にそのタンパク質の配
列を決定したことを主張(証明)できる。更に、ユーザ
が同じ配列情報を異なる供給者から誤って購入すること
も防止でき、競合メーカは重複投資を避けることができ
る。
【0060】また、或るユーザが、その供給者よりその
タンパク質の配列情報を購入した後、購入した配列情報
よりそのハッシュ関数によって要約値を算出し、その配
列の長さも求める。そして、この配列の長さ、及び要約
値をインターネット上で公開されている値と比較するこ
とによって、購入した配列情報が正確なものであるかど
うかを極めて高い確率で確認できる。
タンパク質の配列情報を購入した後、購入した配列情報
よりそのハッシュ関数によって要約値を算出し、その配
列の長さも求める。そして、この配列の長さ、及び要約
値をインターネット上で公開されている値と比較するこ
とによって、購入した配列情報が正確なものであるかど
うかを極めて高い確率で確認できる。
【0061】この場合、その一列のアミノ酸が25個以
上のアミノ酸の配列であるときに、その数学的な要約値
は、16ビット以上で192ビット以下のデータである
ことが望ましい。次に、本発明の第1の要約値の計算方
法は、一つ又は複数のファイルに記録されたデータの要
約値を計算するための要約値の計算方法であって、その
一つ又は複数のファイルに記録されたデータの内で所定
のコードを無視して要約値を計算するものである。
上のアミノ酸の配列であるときに、その数学的な要約値
は、16ビット以上で192ビット以下のデータである
ことが望ましい。次に、本発明の第1の要約値の計算方
法は、一つ又は複数のファイルに記録されたデータの要
約値を計算するための要約値の計算方法であって、その
一つ又は複数のファイルに記録されたデータの内で所定
のコードを無視して要約値を計算するものである。
【0062】本発明によれば、例えばヌクレオチドの配
列を表すテキストデータの要約値を計算する場合に、そ
の配列を見やすくするために所々にスペース、改行、及
びそれまでのヌクレオチドの数を示す数字等が付加され
ていても、これらの付加されたコードを無視することに
よって、本来のヌクレオチドの配列に対応する要約値を
計算することができる。
列を表すテキストデータの要約値を計算する場合に、そ
の配列を見やすくするために所々にスペース、改行、及
びそれまでのヌクレオチドの数を示す数字等が付加され
ていても、これらの付加されたコードを無視することに
よって、本来のヌクレオチドの配列に対応する要約値を
計算することができる。
【0063】この場合、その無視する所定のコードの別
の例は、同一又は互いに異なる2組のコード、及びこれ
ら2組のコードに挟まれたデータである。即ち、例えば
いわゆるコメント文を要約値の計算対象から除去するこ
とによって、コメント文の内容を任意に記載しても、本
来のヌクレオチドの配列に対応する要約値を計算するこ
とができる。
の例は、同一又は互いに異なる2組のコード、及びこれ
ら2組のコードに挟まれたデータである。即ち、例えば
いわゆるコメント文を要約値の計算対象から除去するこ
とによって、コメント文の内容を任意に記載しても、本
来のヌクレオチドの配列に対応する要約値を計算するこ
とができる。
【0064】この場合、そのテキストデータは、その所
定のコードの他に25個以上のヌクレオチドの配列に関
するデータを含むものとすると、一例として、その要約
値は、40ビット以上で192ビット以下のデジタルデ
ータである。また、その要約値を計算するための関数と
しては、MD5ハッシュ関数(要約値は128ビッ
ト)、又はSHSハッシュ関数(要約値は160ビッ
ト)等を使用することができる。
定のコードの他に25個以上のヌクレオチドの配列に関
するデータを含むものとすると、一例として、その要約
値は、40ビット以上で192ビット以下のデジタルデ
ータである。また、その要約値を計算するための関数と
しては、MD5ハッシュ関数(要約値は128ビッ
ト)、又はSHSハッシュ関数(要約値は160ビッ
ト)等を使用することができる。
【0065】また、本発明において、その一つ又は複数
のファイルから1文字分のコードデータを読み出す毎
に、この読み出されたコードデータがその所定のコード
であるときには、この読み出されたコードデータを無視
して、次の1文字分のコードデータの読み出しを行い、
この読み出しによって得られたその所定のコード以外の
コードデータが予め定められた個数になるか、又は読み
出すべきデータがなくなったときに、要約値の計算を行
うようにしてもよい。
のファイルから1文字分のコードデータを読み出す毎
に、この読み出されたコードデータがその所定のコード
であるときには、この読み出されたコードデータを無視
して、次の1文字分のコードデータの読み出しを行い、
この読み出しによって得られたその所定のコード以外の
コードデータが予め定められた個数になるか、又は読み
出すべきデータがなくなったときに、要約値の計算を行
うようにしてもよい。
【0066】このように部分的に読み出されたデータ毎
にその所定のコードを無視して順次要約値の計算を行う
ことによって、例えば最初にその一つ又は複数のファイ
ルからその所定のコードを取り出した新たなファイルを
作成して、この新たなファイルの要約値を計算する方法
と比べて、記憶装置の容量がほぼ1/2程度で済む利点
がある。
にその所定のコードを無視して順次要約値の計算を行う
ことによって、例えば最初にその一つ又は複数のファイ
ルからその所定のコードを取り出した新たなファイルを
作成して、この新たなファイルの要約値を計算する方法
と比べて、記憶装置の容量がほぼ1/2程度で済む利点
がある。
【0067】次に、本発明の第2の要約値の計算方法
は、一連のテキストデータの要約値を計算するための要
約値の計算方法であって、その一連のテキストデータを
先頭から順に所定個数ずつのコードデータを含む複数の
部分テキストデータと、その所定個数よりも少ない個数
のコードデータを含む端数のテキストデータとに分割
し、その複数の部分テキストデータ、及び端数のテキス
トデータをそれぞれ分割する順序を含むデータとともに
互いに異なる複数のファイルに記録し、この複数のファ
イルに記録されたテキストデータからその分割の順序に
従って順次要約値を計算するものである。
は、一連のテキストデータの要約値を計算するための要
約値の計算方法であって、その一連のテキストデータを
先頭から順に所定個数ずつのコードデータを含む複数の
部分テキストデータと、その所定個数よりも少ない個数
のコードデータを含む端数のテキストデータとに分割
し、その複数の部分テキストデータ、及び端数のテキス
トデータをそれぞれ分割する順序を含むデータとともに
互いに異なる複数のファイルに記録し、この複数のファ
イルに記録されたテキストデータからその分割の順序に
従って順次要約値を計算するものである。
【0068】斯かる本発明によれば、例えば人間のゲノ
ム情報のような膨大な量のテキストデータの要約値を求
める場合に、そのテキストデータを複数のファイルに分
割して記録しておき、分割されたファイルのデータに順
次演算処理を施すことができる。従って、CD−ROM
やフレキシブルディスクのように比較的容量の少ない記
録媒体を用いる場合にも、その膨大な量のテキストデー
タの要約値を容易に、かつ正確に計算できる。
ム情報のような膨大な量のテキストデータの要約値を求
める場合に、そのテキストデータを複数のファイルに分
割して記録しておき、分割されたファイルのデータに順
次演算処理を施すことができる。従って、CD−ROM
やフレキシブルディスクのように比較的容量の少ない記
録媒体を用いる場合にも、その膨大な量のテキストデー
タの要約値を容易に、かつ正確に計算できる。
【0069】この場合、そのその所定個数ずつのコード
データ、及びその所定個数よりも少ない個数のコードデ
ータからは、所定のコードデータ(例えば数字コード、
スペースコード、改行コード等)を除外してもよい。ま
た、その所定個数は、要約値を計算する際のデータ量の
単位に応じて定めることが望ましい。例えばMD5ハッ
シュ関数は、512ビット(64バイト)のデータ単位
で要約値を計算するため、一つのコードデータが8ビッ
ト(1バイト)であるとすると、その所定個数は、64
の整数倍に設定することによって、各部分テキストデー
タ毎の要約値の計算が容易になる。
データ、及びその所定個数よりも少ない個数のコードデ
ータからは、所定のコードデータ(例えば数字コード、
スペースコード、改行コード等)を除外してもよい。ま
た、その所定個数は、要約値を計算する際のデータ量の
単位に応じて定めることが望ましい。例えばMD5ハッ
シュ関数は、512ビット(64バイト)のデータ単位
で要約値を計算するため、一つのコードデータが8ビッ
ト(1バイト)であるとすると、その所定個数は、64
の整数倍に設定することによって、各部分テキストデー
タ毎の要約値の計算が容易になる。
【0070】
【発明の実施の形態】以下、本発明の実施の形態の一例
につき図面を参照して説明する。本例は、所定のDNA
(デオキシリボ核酸:deoxyribonucleic acid)のヌク
レオチドの配列情報をコンピュータシステムで処理する
場合に、本発明を適用したものである。
につき図面を参照して説明する。本例は、所定のDNA
(デオキシリボ核酸:deoxyribonucleic acid)のヌク
レオチドの配列情報をコンピュータシステムで処理する
場合に、本発明を適用したものである。
【0071】図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
0Gバイト程度の磁気ディスク装置17が接続されてい
る。
の概略構成を示し、この図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
0Gバイト程度の磁気ディスク装置17が接続されてい
る。
【0072】本例の情報処理装置10中のハードディス
ク装置には、予めCD−R/RWドライド15を介して
オペレーティングシステム、及び後述のようにDNAの
配列情報を処理するためのアプリケーション・プログラ
ムがインストールされている。また、CD−R16が本
発明の記録媒体に対応しているが、記録媒体としては、
CD−RやCD−ROMの他に、フラッシュROM、フ
レキシブルディスク、光磁気ディスク(MO)、デジタ
ルビデオディスク(DVD)、又はハードディスク装置
(例えばインターネットを介して接続できるサーバに備
えられたもの)等を使用することができる。
ク装置には、予めCD−R/RWドライド15を介して
オペレーティングシステム、及び後述のようにDNAの
配列情報を処理するためのアプリケーション・プログラ
ムがインストールされている。また、CD−R16が本
発明の記録媒体に対応しているが、記録媒体としては、
CD−RやCD−ROMの他に、フラッシュROM、フ
レキシブルディスク、光磁気ディスク(MO)、デジタ
ルビデオディスク(DVD)、又はハードディスク装置
(例えばインターネットを介して接続できるサーバに備
えられたもの)等を使用することができる。
【0073】情報処理装置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(IBMCorporatin の登録商標)、
MacOS(Apple Computer の登録商標)、又はLi
nux(Linus Torvalds の商標又は登録商標)等を使
用する場合にも本発明が適用できることは言うまでもな
い。
力装置としてのキーボード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(IBMCorporatin の登録商標)、
MacOS(Apple Computer の登録商標)、又はLi
nux(Linus Torvalds の商標又は登録商標)等を使
用する場合にも本発明が適用できることは言うまでもな
い。
【0074】そして、コンピュータシステム2A(情報
処理装置10)は、通信制御ユニット18を介して一般
電話回線よりなる通信ネットワーク1に接続され、通信
ネットワーク1には各種コンテンツのプロバイダ3、及
び別のコンピュータシステム2B、及び不図示の多くの
サーバやコンピュータシステムが接続されている。ま
た、本例のコンピュータシステム2A,2B及びプロバ
イダ3は、通信ネットワーク1を介するインターネット
によって相互に接続されている。この場合、コンピュー
タシステム2Aの所有者がDNA情報の供給者(販売
者)であり、コンピュータシステム2Bの所有者がその
DNA情報のユーザ(購入者)である。そして、後者の
コンピュータシステム2Bには、予め前者のコンピュー
タシステム2Aと同様のDNAの配列情報を処理するた
めのアプリケーション・プログラムがインストールされ
ている。
処理装置10)は、通信制御ユニット18を介して一般
電話回線よりなる通信ネットワーク1に接続され、通信
ネットワーク1には各種コンテンツのプロバイダ3、及
び別のコンピュータシステム2B、及び不図示の多くの
サーバやコンピュータシステムが接続されている。ま
た、本例のコンピュータシステム2A,2B及びプロバ
イダ3は、通信ネットワーク1を介するインターネット
によって相互に接続されている。この場合、コンピュー
タシステム2Aの所有者がDNA情報の供給者(販売
者)であり、コンピュータシステム2Bの所有者がその
DNA情報のユーザ(購入者)である。そして、後者の
コンピュータシステム2Bには、予め前者のコンピュー
タシステム2Aと同様のDNAの配列情報を処理するた
めのアプリケーション・プログラムがインストールされ
ている。
【0075】さて、本例のコンピュータシステム2Aの
情報処理装置10には、I/Oユニット14を介してD
NA中の一列のヌクレオチドの配列(又は塩基の配列)
を読み取るための配列読み取り装置としてのシーケンサ
ー(DNA Sequencer)4が接続されている。シーケンサー
4は、一例としてサンガーの方法(Sanger method)によ
ってDNAを構成する1対の重合体の鎖の一方の鎖のヌ
クレオチドの配列を読み取る。サンガーの方法は、例え
ば文献1(Maxim D. Frank-Kamenetskii: Unraveling D
NA (the most important molecule of life, revised a
nd updated),translated by Lev Liapin, Chapter 6(p
p.59-70)(Perseus Books,1997) )に開示されている。
シーケンサー4は、読み取った一列のヌクレオチドの配
列をテキストデータ形式で内部の大容量の記憶装置に記
憶すると共に、情報処理装置10からの要求に応じて、
その記憶装置中の所定のヌクレオチドの配列のテキスト
データをI/Oユニット14を介して情報処理装置10
に供給する。これに対して情報処理装置10は、DNA
の配列情報を処理するためのアプリケーション・プログ
ラムに基づいて以下の処理を行う。なお、シーケンサー
4の代わりに、DNA及びRNA(リボ核酸:ribonucl
eic acid)等の核酸を構成する一列のヌクレオチドの配
列(又は塩基の配列)の情報のデータベースを接続して
もよい。
情報処理装置10には、I/Oユニット14を介してD
NA中の一列のヌクレオチドの配列(又は塩基の配列)
を読み取るための配列読み取り装置としてのシーケンサ
ー(DNA Sequencer)4が接続されている。シーケンサー
4は、一例としてサンガーの方法(Sanger method)によ
ってDNAを構成する1対の重合体の鎖の一方の鎖のヌ
クレオチドの配列を読み取る。サンガーの方法は、例え
ば文献1(Maxim D. Frank-Kamenetskii: Unraveling D
NA (the most important molecule of life, revised a
nd updated),translated by Lev Liapin, Chapter 6(p
p.59-70)(Perseus Books,1997) )に開示されている。
シーケンサー4は、読み取った一列のヌクレオチドの配
列をテキストデータ形式で内部の大容量の記憶装置に記
憶すると共に、情報処理装置10からの要求に応じて、
その記憶装置中の所定のヌクレオチドの配列のテキスト
データをI/Oユニット14を介して情報処理装置10
に供給する。これに対して情報処理装置10は、DNA
の配列情報を処理するためのアプリケーション・プログ
ラムに基づいて以下の処理を行う。なお、シーケンサー
4の代わりに、DNA及びRNA(リボ核酸:ribonucl
eic acid)等の核酸を構成する一列のヌクレオチドの配
列(又は塩基の配列)の情報のデータベースを接続して
もよい。
【0076】先ず、本例の情報処理装置10の第1の基
本的な処理動作につき説明する。情報処理装置10は、
シーケンサー4から供給される所定のDNAのヌクレオ
チドの配列を示すテキストデータを磁気ディスク装置1
7中のマスターファイル19にそのまま記録すると共
に、そのテキストデータをよりデータ量の少ない数値デ
ータに変換し、この変換後の数値データを磁気ディスク
装置17中のワーキングファイル20に記録する。な
お、以下の説明において、2進数表示の数kは bin(k)
で、16進数表示の数kは hex(k) で表すものとする。
本的な処理動作につき説明する。情報処理装置10は、
シーケンサー4から供給される所定のDNAのヌクレオ
チドの配列を示すテキストデータを磁気ディスク装置1
7中のマスターファイル19にそのまま記録すると共
に、そのテキストデータをよりデータ量の少ない数値デ
ータに変換し、この変換後の数値データを磁気ディスク
装置17中のワーキングファイル20に記録する。な
お、以下の説明において、2進数表示の数kは bin(k)
で、16進数表示の数kは hex(k) で表すものとする。
【0077】この場合、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個
の塩基(アデニン、グアニン、シトシン、チミン(又は
ウラシル))の配列ともみなすことができる。
より構成されており、シーケンサー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個
の塩基(アデニン、グアニン、シトシン、チミン(又は
ウラシル))の配列ともみなすことができる。
【0078】本例ではそのテキストデータを、情報量を
少なくすることなく最も少ないデータ量で表すために、
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) で置換することを意
味している。
少なくすることなく最も少ないデータ量で表すために、
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) で置換することを意
味している。
【0079】 《表1》 ヌクレオチド 2ビットのデータ アデニンを含むヌクレオチド(A) bin(00) チミン(ウラシル)を含むヌクレオチド(T又はU) bin(11) グアニンを含むヌクレオチド(G) bin(01) シトシンを含むヌクレオチド(C) bin(10) 。
【0080】なお、本例では各ヌクレオチドを2ビット
のデータで表しているが、これは各塩基を2ビットのデ
ータで表すのと等価である。また、データの割り当ては
表1には限定されず、例えばチミンを含むヌクレオチド
をbin(00) 、アデニンを含むヌクレオチドをbin(11) と
するか、又はグアニンを含むヌクレオチドをbin(10)、
シトシンを含むヌクレオチドをbin(01) としてもよい。
それ以外に、アデニンを含むヌクレオチド及びチミンを
含むヌクレオチドに、1対のデータbin(01),bin(10) を
割り当て、グアニンを含むヌクレオチド及びシトシンを
含むヌクレオチドに1対のデータbin(00),bin(11) を割
り当てるようにしてもよい。また、RNAの場合には、
チミンを含むヌクレオチドに割り当てられているデータ
をウラシルを含むヌクレオチドに割り当てて、それ以外
のヌクレオチドにはDNAのヌクレオチドと同じデータ
を割り当てればよい。
のデータで表しているが、これは各塩基を2ビットのデ
ータで表すのと等価である。また、データの割り当ては
表1には限定されず、例えばチミンを含むヌクレオチド
をbin(00) 、アデニンを含むヌクレオチドをbin(11) と
するか、又はグアニンを含むヌクレオチドをbin(10)、
シトシンを含むヌクレオチドをbin(01) としてもよい。
それ以外に、アデニンを含むヌクレオチド及びチミンを
含むヌクレオチドに、1対のデータbin(01),bin(10) を
割り当て、グアニンを含むヌクレオチド及びシトシンを
含むヌクレオチドに1対のデータbin(00),bin(11) を割
り当てるようにしてもよい。また、RNAの場合には、
チミンを含むヌクレオチドに割り当てられているデータ
をウラシルを含むヌクレオチドに割り当てて、それ以外
のヌクレオチドにはDNAのヌクレオチドと同じデータ
を割り当てればよい。
【0081】本例では図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の一列のヌクレオチドの配列の一部である。
オチドの配列情報を扱うものとする。その配列情報は、
NCBI(The National Center for Biotechnology In
formation )より提供されているウェブサイト1(ftp:
//ncbi.nlm.nih.gov/genbank/genomes/bacteria/)より
入手した大腸菌(Escherichia coli: E. coli)のDN
Aの一列のヌクレオチドの配列の一部である。
【0082】図2において、DNA分子5は、1対の重
合体の鎖6A,6B(二重らせん)より構成され、一方
の重合体の鎖6Aは、アデニンを含むヌクレオチド7
A、グアニンを含むヌクレオチド7G、シトシンを含む
ヌクレオチド7C、及びチミンを含むヌクレオチド7T
よりなる4種類のヌクレオチドの配列であり、他方の重
合体の鎖6Bは、鎖6Aに対して相補的なヌクレオチド
の配列である。この際に、図1の情報処理装置10には
一方の重合体の鎖6Aの配列を示すテキストデータ、即
ち”AGCTTT・・・”の文字列のデータが供給され
る。それに対して、情報処理装置10は、そのテキスト
データを後述のようにN行でM列(N,Mは2以上の整
数)のブロックに分割した後、各ブロック中の文字A,
G,C,Tを表1の変換テーブルに基づいて順次2ビッ
トのデータに変換することによって、数値データとして
のバイナリーデータBNA(=bin(0001101111・・・))を
得る。そして、このバイナリーデータBNAが図1の磁
気ディスク装置17のワーキングファイル20に記録さ
れる。そのバイナリーデータBNAのデータ量は、元の
テキストデータの1/4となっている。
合体の鎖6A,6B(二重らせん)より構成され、一方
の重合体の鎖6Aは、アデニンを含むヌクレオチド7
A、グアニンを含むヌクレオチド7G、シトシンを含む
ヌクレオチド7C、及びチミンを含むヌクレオチド7T
よりなる4種類のヌクレオチドの配列であり、他方の重
合体の鎖6Bは、鎖6Aに対して相補的なヌクレオチド
の配列である。この際に、図1の情報処理装置10には
一方の重合体の鎖6Aの配列を示すテキストデータ、即
ち”AGCTTT・・・”の文字列のデータが供給され
る。それに対して、情報処理装置10は、そのテキスト
データを後述のようにN行でM列(N,Mは2以上の整
数)のブロックに分割した後、各ブロック中の文字A,
G,C,Tを表1の変換テーブルに基づいて順次2ビッ
トのデータに変換することによって、数値データとして
のバイナリーデータBNA(=bin(0001101111・・・))を
得る。そして、このバイナリーデータBNAが図1の磁
気ディスク装置17のワーキングファイル20に記録さ
れる。そのバイナリーデータBNAのデータ量は、元の
テキストデータの1/4となっている。
【0083】この場合、そのワーキングファイル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となり、供給者側及びユーザ側双方の通信コスト
が低減できる。
先頭の所定数のバイトの領域に、例えばその配列が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となり、供給者側及びユーザ側双方の通信コスト
が低減できる。
【0084】そして、ユーザ側で、その受信したワーキ
ングファイル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・・・)との排他的論理和演算で代用してもよ
い。
ングファイル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・・・)との排他的論理和演算で代用してもよ
い。
【0085】なお、ワーキングファイル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を介して送信
しようとすると、現状でも送信時間がかかり過ぎる場合
がある。
通信ネットワーク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を介して送信
しようとすると、現状でも送信時間がかかり過ぎる場合
がある。
【0086】また、一つのアミノ酸の種類は一列の3個
のヌクレオチドの配列、即ち一つの遺伝子コドン(codo
n )によって決定される。そこで、1つのアミノ酸に対
応する3個のヌクレオチドをそれぞれ2ビットのデータ
で表したときに得られる6ビットのデータの内で、最も
小さいデータでそのアミノ酸を表すものとする。具体的
に、各ヌクレオチドを表1のように表した場合に、いく
つかのアミノ酸について得られる6ビットの表現を以下
の表2に示す。表1中で<>の中のデータがそのアミノ
酸のデータとして使用される。これによって、ヌクレオ
チドとアミノ酸とで共通のコードを使用できる利点があ
る。
のヌクレオチドの配列、即ち一つの遺伝子コドン(codo
n )によって決定される。そこで、1つのアミノ酸に対
応する3個のヌクレオチドをそれぞれ2ビットのデータ
で表したときに得られる6ビットのデータの内で、最も
小さいデータでそのアミノ酸を表すものとする。具体的
に、各ヌクレオチドを表1のように表した場合に、いく
つかのアミノ酸について得られる6ビットの表現を以下
の表2に示す。表1中で<>の中のデータがそのアミノ
酸のデータとして使用される。これによって、ヌクレオ
チドとアミノ酸とで共通のコードを使用できる利点があ
る。
【0087】 《表2》 アミノ酸 遺伝子コドン 6ビットのデータ アラニン(Ala ) GCA <bin(011000)> GCG bin(011001) GCC bin(011010) GCU bin(011011) システイン(Cys ) UGC <bin(110110)> UGU bin(110111) グルタミン酸(Glu ) GAA <bin(010000)> GAG bin(010001) ヒスチジン(His ) CAC <bin(100010)> CAU bin(100011) イソロイシン(IIe ) AUA <bin(001100)> AUC bin(001110) AUU bin(001111) リジン(Lys ) AAA <bin(000000)> AAG bin(000001)。
【0088】次に、本例の情報処理装置10の第2の基
本的な処理動作につき説明する。本例では、ヌクレオチ
ドの配列を示す膨大な量のテキストデータ(又はこれを
表1に基づいて変換して得られる数値データより、所定
のハッシュ関数を用いて数学的な要約値(message dige
st)を算出する。本例ではそのハッシュ関数として、ラ
イベスト(R. Rivest)によって提案されたMD5ハッシ
ュ関数を使用する。MD5ハッシュ関数のアルゴリズム
については、ネットワークワーキンググループ及びライ
ベストによって開設されているウェブサイト2(http://
www.kleinscmidt.com/edi/md5.htm)に開示されている。
或るテキストデータ(テキストファイル)にそのMD5
ハッシュ関数を施すことによって、128ビットの要約
値が得られる。通常のコンピュータでも今後は64ビッ
トのCPUが使用されるようになると考えられるが、こ
の場合に128(=2・64)ビットの要約値は非常に
扱い易い長さである。この場合には、192(=3・6
4)ビットの要約値も比較的扱い易いと考えられる。
本的な処理動作につき説明する。本例では、ヌクレオチ
ドの配列を示す膨大な量のテキストデータ(又はこれを
表1に基づいて変換して得られる数値データより、所定
のハッシュ関数を用いて数学的な要約値(message dige
st)を算出する。本例ではそのハッシュ関数として、ラ
イベスト(R. Rivest)によって提案されたMD5ハッシ
ュ関数を使用する。MD5ハッシュ関数のアルゴリズム
については、ネットワークワーキンググループ及びライ
ベストによって開設されているウェブサイト2(http://
www.kleinscmidt.com/edi/md5.htm)に開示されている。
或るテキストデータ(テキストファイル)にそのMD5
ハッシュ関数を施すことによって、128ビットの要約
値が得られる。通常のコンピュータでも今後は64ビッ
トのCPUが使用されるようになると考えられるが、こ
の場合に128(=2・64)ビットの要約値は非常に
扱い易い長さである。この場合には、192(=3・6
4)ビットの要約値も比較的扱い易いと考えられる。
【0089】また、本例では、そのMD5ハッシュ関数
のプログラムとして、そのウェブサイト2において公開
されている、RSAデータセキュリティー社(RSA Data
Security Inc.)によって開発されたプログラムを使用
した。その要約値の使用方法の一例として、DNAの配
列情報の供給者(情報処理装置10)は、所定の生物の
DNAのヌクレオチドの配列を読み取り、これに対応す
るテキストデータより、上記のハッシュ関数を用いて要
約値を算出し、この要約値をその生物の名称、及びDN
Aの位置を示す情報と共にインターネット上で閲覧可能
にする。これによって、その供給者は、そのテキストデ
ータ自体を公開することなく、その生物のDNAの配列
情報を最先に解読したことを主張できると考えられる。
その後、或るユーザからのその配列情報の購入希望が来
たときに、その供給者は、そのヌクレオチドの配列のテ
キストデータを表1を用いてバイナリーデータに変換
し、このバイナリーデータを例えば通信ネットワーク1
を介して電子メールの形でそのユーザに送信する。これ
に対してユーザ側では、そのバイナリーデータを表1を
用いてテキストデータに逆変換し、この逆変換されたテ
キストデータに上記のハッシュ関数を施して要約値を求
める。
のプログラムとして、そのウェブサイト2において公開
されている、RSAデータセキュリティー社(RSA Data
Security Inc.)によって開発されたプログラムを使用
した。その要約値の使用方法の一例として、DNAの配
列情報の供給者(情報処理装置10)は、所定の生物の
DNAのヌクレオチドの配列を読み取り、これに対応す
るテキストデータより、上記のハッシュ関数を用いて要
約値を算出し、この要約値をその生物の名称、及びDN
Aの位置を示す情報と共にインターネット上で閲覧可能
にする。これによって、その供給者は、そのテキストデ
ータ自体を公開することなく、その生物のDNAの配列
情報を最先に解読したことを主張できると考えられる。
その後、或るユーザからのその配列情報の購入希望が来
たときに、その供給者は、そのヌクレオチドの配列のテ
キストデータを表1を用いてバイナリーデータに変換
し、このバイナリーデータを例えば通信ネットワーク1
を介して電子メールの形でそのユーザに送信する。これ
に対してユーザ側では、そのバイナリーデータを表1を
用いてテキストデータに逆変換し、この逆変換されたテ
キストデータに上記のハッシュ関数を施して要約値を求
める。
【0090】そして、この要約値とその供給者によって
公開されている要約値とが等しいときには、購入した配
列情報が、供給の保持している配列情報と等しいことが
極めて高い確率で保証される。更に、ユーザ側では、複
数の供給者が公開している要約値を比較することによっ
て、同じ配列情報を異なる複数の供給者から重複して購
入することを防止することができる。これらの際に、ヌ
クレオチドの配列の長さ、及び先端部や末尾の一部の短
い配列の比較を行うことによって、その配列情報の同一
性を高めることができる。
公開されている要約値とが等しいときには、購入した配
列情報が、供給の保持している配列情報と等しいことが
極めて高い確率で保証される。更に、ユーザ側では、複
数の供給者が公開している要約値を比較することによっ
て、同じ配列情報を異なる複数の供給者から重複して購
入することを防止することができる。これらの際に、ヌ
クレオチドの配列の長さ、及び先端部や末尾の一部の短
い配列の比較を行うことによって、その配列情報の同一
性を高めることができる。
【0091】また、例えば所定の生物について複数の研
究者が並行して研究を行っている場合に、第1の研究者
が保持しているヌクレオチドの配列と第2の研究者が保
持しているヌクレオチドの配列との同一性を保証する必
要がある。この際に、研究対象とするDNAのヌクレオ
チドの配列数が例えば1億個程度とすると、その配列の
テキストデータは100Mバイト程度になる。このよう
な長い2つのテキストデータに対して1文字ずつの比較
によって、同一性を確認するのは容易ではない。これに
対して本例では、先ず第1の研究者側で、テキストデー
タの長さ、及びハッシュ関数による要約値を算出し、こ
れを電子メール等で第2研究者側に送信する。これに対
して、第2の研究者側でも自分のテキストデータの長さ
及びハッシュ関数による要約値を算出し、これらの値を
第1の研究者から送信された値と比較することによっ
て、2つの膨大な長さのテキストデータの同一性を容易
に高い確率で保証できる。この際にも、更に例えばヌク
レオチドの配列の先端部及び末尾の所定長さの配列同士
を比較することによって、その同一性を高めることがで
きる。
究者が並行して研究を行っている場合に、第1の研究者
が保持しているヌクレオチドの配列と第2の研究者が保
持しているヌクレオチドの配列との同一性を保証する必
要がある。この際に、研究対象とするDNAのヌクレオ
チドの配列数が例えば1億個程度とすると、その配列の
テキストデータは100Mバイト程度になる。このよう
な長い2つのテキストデータに対して1文字ずつの比較
によって、同一性を確認するのは容易ではない。これに
対して本例では、先ず第1の研究者側で、テキストデー
タの長さ、及びハッシュ関数による要約値を算出し、こ
れを電子メール等で第2研究者側に送信する。これに対
して、第2の研究者側でも自分のテキストデータの長さ
及びハッシュ関数による要約値を算出し、これらの値を
第1の研究者から送信された値と比較することによっ
て、2つの膨大な長さのテキストデータの同一性を容易
に高い確率で保証できる。この際にも、更に例えばヌク
レオチドの配列の先端部及び末尾の所定長さの配列同士
を比較することによって、その同一性を高めることがで
きる。
【0092】なお、ハッシュ関数としては、例えば文献
2(FIPS Publication 180, 1993)で開示されているよう
に、NBS(National Bureau of Standards)によって提
案されたSHS(Secure Hash Standard)ハッシュ関数
を使用してもよい。SHSハッシュ関数は、MD5ハッ
シュ関数よりも複雑な演算を行うと共に、160ビット
の要約値が得られる。これに関して、例えばタンパク質
を構成するアミノ酸の配列数は20個〜1000個程度
であり、特に一文字表記を使用する際にはそれに対応す
るテキストデータも20バイト〜1kバイト程度に短く
なるため、要約値から元のテキストデータが推定し易い
と考えられる。そこで、アミノ酸の配列情報の要約値を
求める際には、SHSハッシュ関数を使用する方が望ま
しいことがある。
2(FIPS Publication 180, 1993)で開示されているよう
に、NBS(National Bureau of Standards)によって提
案されたSHS(Secure Hash Standard)ハッシュ関数
を使用してもよい。SHSハッシュ関数は、MD5ハッ
シュ関数よりも複雑な演算を行うと共に、160ビット
の要約値が得られる。これに関して、例えばタンパク質
を構成するアミノ酸の配列数は20個〜1000個程度
であり、特に一文字表記を使用する際にはそれに対応す
るテキストデータも20バイト〜1kバイト程度に短く
なるため、要約値から元のテキストデータが推定し易い
と考えられる。そこで、アミノ酸の配列情報の要約値を
求める際には、SHSハッシュ関数を使用する方が望ま
しいことがある。
【0093】また、例えばヌクレオチドの配列を示す2
つの膨大な長さのテキストデータの同一性を確認するた
めに、ハッシュ関数の要約値を算出するような場合に
は、それ程複雑な計算を繰り返して行う必要は無いと考
えられる。そこで、このような用途では、例えば文献3
(R. L. Rivest:"The MD4 message digest algorithm",
Lecture Notes in Computer Science, 537,303-311(199
1))で開示されているMD4ハッシュ関数を使用しても
よいと考えられる。また、そのように単に同一性を確認
する用途では、要約値の長さも40ビット〜128ビッ
ト程度でよい場合がある。
つの膨大な長さのテキストデータの同一性を確認するた
めに、ハッシュ関数の要約値を算出するような場合に
は、それ程複雑な計算を繰り返して行う必要は無いと考
えられる。そこで、このような用途では、例えば文献3
(R. L. Rivest:"The MD4 message digest algorithm",
Lecture Notes in Computer Science, 537,303-311(199
1))で開示されているMD4ハッシュ関数を使用しても
よいと考えられる。また、そのように単に同一性を確認
する用途では、要約値の長さも40ビット〜128ビッ
ト程度でよい場合がある。
【0094】次に、本例のDNA情報の供給者(コンピ
ュータシステム2A)と、ユーザ(コンピュータシステ
ム2B)との間でDNAの配列情報を受け渡す際のビジ
ネスモデルの一例につき図3〜図6のフローチャートを
参照して詳細に説明する。先ず、DNA情報の供給者側
では、図3のステップ101において、シーケンサー4
を使用して標準となる試料(標準試料Eとする)のDN
A中の一方の一列のヌクレオチドの配列を読み取り、読
み取った配列を表すテキストデータTX1を情報処理装
置10に供給する。本例では、その標準試料Eを大腸菌
として、そのテキストデータTX1として、図7に示す
ように、上記のウェブサイト1から入手した大腸菌のD
NAの配列情報の内の、最初から2048個までのヌク
レオチドの配列を示すテキストデータを使用する。
ュータシステム2A)と、ユーザ(コンピュータシステ
ム2B)との間でDNAの配列情報を受け渡す際のビジ
ネスモデルの一例につき図3〜図6のフローチャートを
参照して詳細に説明する。先ず、DNA情報の供給者側
では、図3のステップ101において、シーケンサー4
を使用して標準となる試料(標準試料Eとする)のDN
A中の一方の一列のヌクレオチドの配列を読み取り、読
み取った配列を表すテキストデータTX1を情報処理装
置10に供給する。本例では、その標準試料Eを大腸菌
として、そのテキストデータTX1として、図7に示す
ように、上記のウェブサイト1から入手した大腸菌のD
NAの配列情報の内の、最初から2048個までのヌク
レオチドの配列を示すテキストデータを使用する。
【0095】標準試料EのDNA配列は配列番号1に示
されている。図7のテキストデータは、配列番号1の配
列から数字データを除いて、a,g,c,tの文字をそ
れぞれA,G,C,Tで置き換えたものに相当する。次
のステップ102において、情報処理装置10は、供給
されたテキストデータTX1に上記のMD5ハッシュ関
数を施して128ビットの要約値AB1を求めると共
に、そのヌクレオチドの配列の数NA1、及び先頭と末
尾との8個ずつのヌクレオチドの配列ST1,SB1を
求める。テキストデータTX1に対する具体的な値は下
記の通りである。
されている。図7のテキストデータは、配列番号1の配
列から数字データを除いて、a,g,c,tの文字をそ
れぞれA,G,C,Tで置き換えたものに相当する。次
のステップ102において、情報処理装置10は、供給
されたテキストデータTX1に上記のMD5ハッシュ関
数を施して128ビットの要約値AB1を求めると共
に、そのヌクレオチドの配列の数NA1、及び先頭と末
尾との8個ずつのヌクレオチドの配列ST1,SB1を
求める。テキストデータTX1に対する具体的な値は下
記の通りである。
【0096】 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をそれぞれ逆方向に並べ
替えることによって容易に求めることができる。これら
の具体的な値は以下の通りである。
キストデータTX1を逆方向に並べ替えたテキストデー
タTXR1(=GGAAGC・・・・TTTCGA)を
求め、このテキストデータTXR1のMD5ハッシュ関
数による要約値ABR1、及びこのテキストデータTX
R1の先頭と末尾との8個ずつのヌクレオチドの配列S
TR1,SBR1を求める。配列STR1,SBR1
は、上記の配列SB1,ST1をそれぞれ逆方向に並べ
替えることによって容易に求めることができる。これら
の具体的な値は以下の通りである。
【0097】 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を複数のマスターファイルに分割して記録してもよ
い。
準試料Eの名前の情報(試料を特定する情報)、配列の
数NA1、テキストデータTX1、配列ST1,SB
1、要約値AB1、逆方向の配列STR1,SBR1、
及び逆方向の要約値ABR1を磁気ディスク装置17の
マスターファイル19に記録する。この際に、マスター
ファイル19を複数のファイルとして、テキストデータ
TX1と、それ以外のデータとを別のファイルに記録し
てもよい。また、テキストデータTX1が例えば100
Mバイト程度以上になる場合には、テキストデータTX
1を複数のマスターファイルに分割して記録してもよ
い。
【0098】次のステップ105において、情報処理装
置10は、図7に示すように、標準試料Eのテキストデ
ータTX1を配列方向(ヌクレオチドの配列方向)にN
行で、その配列方向に直交する方向(以下、「非配列方
向」という)にM列の16文字の長さの部分テキストデ
ータT(i,j)(i=1〜N,j=1〜M)に分割す
る。なお、N,Mはそれぞれ2以上の任意の整数であ
り、(1)式、(2)式を用いて既に説明したように、
テキストデータTX1が100kバイト程度(又はこの
整数倍)であるときに、このテキストデータTX1に対
して1/100程度のデータ量のシンドローム情報を得
たい場合には、例えばNの値が64、Mの値が128に
設定される。以下では説明を簡単にするために、テキス
トデータTX1を4行で、かつ32列に分割した場合を
想定する。即ち、N=4,M=32とする。この場合、
本例では端数は生じないが、例えば図7において、最後
の部分テキストデータT(4,32)中の文字が16個
より少ない場合には、足りない部分には予め定めた文字
(例えば文字A)をダミーデータとして付加すればよ
い。また、部分テキストデータT(i,j)の長さは、
16文字以外の任意の長さでよいが、処理速度を高める
ためには、8文字の倍数が効率的である。
置10は、図7に示すように、標準試料Eのテキストデ
ータTX1を配列方向(ヌクレオチドの配列方向)にN
行で、その配列方向に直交する方向(以下、「非配列方
向」という)にM列の16文字の長さの部分テキストデ
ータT(i,j)(i=1〜N,j=1〜M)に分割す
る。なお、N,Mはそれぞれ2以上の任意の整数であ
り、(1)式、(2)式を用いて既に説明したように、
テキストデータTX1が100kバイト程度(又はこの
整数倍)であるときに、このテキストデータTX1に対
して1/100程度のデータ量のシンドローム情報を得
たい場合には、例えばNの値が64、Mの値が128に
設定される。以下では説明を簡単にするために、テキス
トデータTX1を4行で、かつ32列に分割した場合を
想定する。即ち、N=4,M=32とする。この場合、
本例では端数は生じないが、例えば図7において、最後
の部分テキストデータT(4,32)中の文字が16個
より少ない場合には、足りない部分には予め定めた文字
(例えば文字A)をダミーデータとして付加すればよ
い。また、部分テキストデータT(i,j)の長さは、
16文字以外の任意の長さでよいが、処理速度を高める
ためには、8文字の倍数が効率的である。
【0099】更に、情報処理装置10は、図7の各部分
テキストデータT(i,j)を表1(変換テーブル)に
基づいてそれぞれ32ビットのバイナリーデータ(数値
データ)よりなる変換データA(i,j)に変換する。
この結果、図8に示す4行で、32列の変換データA
(i,j)(16進数表示)が得られる。また、変換デ
ータA(i,j)を対応するヌクレオチドの配列方向に
連続して配列したときの集合体(数値データ)をバイナ
リーデータBN1とする。このバイナリーデータBN1
は、図2の一方のバイナリーデータBNAと同じもので
あるが、図2のバイナリーデータBNAは2進数表示さ
れており、図8のバイナリーデータ(変換データA
(i,j))は16進数表示されている。この場合、各
部分テキストデータT(i,j)の長さは16バイト
(=128ビット)であるため、図7の全体のテキスト
データTX1に対して、図8の全体のバイナリーデータ
BN1のデータ量は1/4に減少している。なお、図7
の部分テキストデータT(i,j)と図8の変換データ
A(i,j)とは等価であるため、上記の方法の代わり
に、元のテキストデータTX1を表1に基づいてバイナ
リーデータBN1に変換した後、このバイナリーデータ
BN1をN行で、M列の変換データA(i,j)に分割
してもよい。
テキストデータT(i,j)を表1(変換テーブル)に
基づいてそれぞれ32ビットのバイナリーデータ(数値
データ)よりなる変換データA(i,j)に変換する。
この結果、図8に示す4行で、32列の変換データA
(i,j)(16進数表示)が得られる。また、変換デ
ータA(i,j)を対応するヌクレオチドの配列方向に
連続して配列したときの集合体(数値データ)をバイナ
リーデータBN1とする。このバイナリーデータBN1
は、図2の一方のバイナリーデータBNAと同じもので
あるが、図2のバイナリーデータBNAは2進数表示さ
れており、図8のバイナリーデータ(変換データA
(i,j))は16進数表示されている。この場合、各
部分テキストデータT(i,j)の長さは16バイト
(=128ビット)であるため、図7の全体のテキスト
データTX1に対して、図8の全体のバイナリーデータ
BN1のデータ量は1/4に減少している。なお、図7
の部分テキストデータT(i,j)と図8の変換データ
A(i,j)とは等価であるため、上記の方法の代わり
に、元のテキストデータTX1を表1に基づいてバイナ
リーデータBN1に変換した後、このバイナリーデータ
BN1をN行で、M列の変換データA(i,j)に分割
してもよい。
【0100】次のステップ106において、情報処理装
置10は、図8の全部の変換データA(i,j)の内
で、各列の変換データA(i,j)の配列方向に対する
法232(mod232)のもとでの和、即ち配列方向のシ
ンドローム(syndrome)C(j)(j=1〜32)を計
算する。C(j)は以下のように表すことができる。 C(j)=A(1,j)+A(2,j)+…+A(4,j)(mod232) …(13) 更に、情報処理装置10は、各行の変換データA(i,
j)(i=1〜4)の内で奇数番目の変換データA
(i,2j’−1)(j’=1〜16)の非配列方向に
対する法232のもとでの和、及び偶数番目の変換データ
A(i,2j’)の非配列方向に対する法232のもとで
の和、即ち非配列方向のシンドロームB1(i),B2
(i)(i=1〜4)を次式より計算する。
置10は、図8の全部の変換データA(i,j)の内
で、各列の変換データA(i,j)の配列方向に対する
法232(mod232)のもとでの和、即ち配列方向のシ
ンドローム(syndrome)C(j)(j=1〜32)を計
算する。C(j)は以下のように表すことができる。 C(j)=A(1,j)+A(2,j)+…+A(4,j)(mod232) …(13) 更に、情報処理装置10は、各行の変換データA(i,
j)(i=1〜4)の内で奇数番目の変換データA
(i,2j’−1)(j’=1〜16)の非配列方向に
対する法232のもとでの和、及び偶数番目の変換データ
A(i,2j’)の非配列方向に対する法232のもとで
の和、即ち非配列方向のシンドロームB1(i),B2
(i)(i=1〜4)を次式より計算する。
【0101】 B1(i)=A(i,1)+A(i,3)+…+A(i,31)(mod232) …(14) B2(i)=A(i,2)+A(i,4)+…+A(i,32)(mod232) …(15) 変換データA(i,j)に対する実際の計算結果が、図
8のシンドロームC(j),B1(i),B2(i)と
して表示されている。また、図9は、図8の標準試料E
のデータ中からシンドロームC(j),B1(i),B
2(i)だけを取り出して表示したものである。この例
においては、シンドロームC(j),B1(i),B2
(i)はそれぞれ32ビット(4バイト)であるため、
全部のシンドロームのデータ量は、160(=4・4
0)バイトとなる。従って、全部のシンドロームのデー
タ量は、図7の全体のテキストデータTX1(2048
バイト)に対してほぼ1/13に減少しており、図8の
全体のバイナリーデータBN1に対してもほぼ1/3に
減少している。
8のシンドロームC(j),B1(i),B2(i)と
して表示されている。また、図9は、図8の標準試料E
のデータ中からシンドロームC(j),B1(i),B
2(i)だけを取り出して表示したものである。この例
においては、シンドロームC(j),B1(i),B2
(i)はそれぞれ32ビット(4バイト)であるため、
全部のシンドロームのデータ量は、160(=4・4
0)バイトとなる。従って、全部のシンドロームのデー
タ量は、図7の全体のテキストデータTX1(2048
バイト)に対してほぼ1/13に減少しており、図8の
全体のバイナリーデータBN1に対してもほぼ1/3に
減少している。
【0102】次に図4のステップ107において、情報
処理装置10は、標準試料Eの名前の情報、配列の数N
A1、バイナリーデータBN1、シンドロームC
(j),B1(i),B2(i)を磁気ディスク装置1
7のワーキングファイル20に記録する。この際に、ワ
ーキングファイル20を複数のファイルとして、バイナ
リーデータBN1と、シンドロームC(j),B1
(i),B2(i)とを別のファイルに記録してもよ
い。更に、バイナリーデータBN1と共に、ステップ1
02で算出した要約値AB1をワーキングファイル20
に記録してもよい。
処理装置10は、標準試料Eの名前の情報、配列の数N
A1、バイナリーデータBN1、シンドロームC
(j),B1(i),B2(i)を磁気ディスク装置1
7のワーキングファイル20に記録する。この際に、ワ
ーキングファイル20を複数のファイルとして、バイナ
リーデータBN1と、シンドロームC(j),B1
(i),B2(i)とを別のファイルに記録してもよ
い。更に、バイナリーデータBN1と共に、ステップ1
02で算出した要約値AB1をワーキングファイル20
に記録してもよい。
【0103】また、バイナリーデータBN1が長いとき
には、バイナリーデータBN1を複数のファイルに分割
して記録してもよい。更に、図7のテキストデータTX
1(ひいては図8のバイナリーデータBN1)がかなり
長い場合には、テキストデータTX1を例えば100k
バイト程度を単位として複数のデータ群に分割し、各デ
ータ群毎にシンドロームC(j),B1(i),B2
(i)を求めるようにしてもよい。
には、バイナリーデータBN1を複数のファイルに分割
して記録してもよい。更に、図7のテキストデータTX
1(ひいては図8のバイナリーデータBN1)がかなり
長い場合には、テキストデータTX1を例えば100k
バイト程度を単位として複数のデータ群に分割し、各デ
ータ群毎にシンドロームC(j),B1(i),B2
(i)を求めるようにしてもよい。
【0104】更に、ステップ107において、DNA情
報の供給者は、ワーキングファイル20に記録した情
報、即ち標準試料Eの名前の情報、配列の数NA1、バ
イナリーデータBN1、シンドロームC(j),B1
(i),B2(i)と、マスターファイル17に記録し
た要約値AB1,ABR1の情報とを、CD−R/RW
ドライブ15を介してCD−R16に記録してもよい。
このCD−R16から、更に多数のCD−ROMを作製
してもよく、これらの記録媒体が郵送等によってユーザ
に販売される。
報の供給者は、ワーキングファイル20に記録した情
報、即ち標準試料Eの名前の情報、配列の数NA1、バ
イナリーデータBN1、シンドロームC(j),B1
(i),B2(i)と、マスターファイル17に記録し
た要約値AB1,ABR1の情報とを、CD−R/RW
ドライブ15を介してCD−R16に記録してもよい。
このCD−R16から、更に多数のCD−ROMを作製
してもよく、これらの記録媒体が郵送等によってユーザ
に販売される。
【0105】次の、ステップ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者が
インターネットを介して自由に閲覧できるようになる。
装置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者が
インターネットを介して自由に閲覧できるようになる。
【0106】次のステップ109において、DNA情報
の供給者は、ユーザから購入要求が来るのを待つ状態と
なる。そして、(a)ユーザから標準試料Eに対する簡
易データの要求があったときには、ステップ110に移
行して、情報処理装置10は、磁気ディスク装置17の
ワーキングファイル20の中のシンドロームC(j),
B1(i),B2(i)の情報を例えば電子メールの添
付ファイルとしてそのユーザに送信する。一方、ステッ
プ109において、(b)ユーザから完全データの要求
があったときには、ステップ111に移行して、情報処
理装置10は、ワーキングファイル20中のバイナリー
データBN1をZIPファイル等の形式で圧縮し、この
圧縮されたデータを例えば電子メールの添付ファイルと
してそのユーザに送信する。この際に必要に応じて、ハ
ッシュ関数による要約値AB1を同時に送信してもよ
い。本例によれば、簡易データ(シンドローム)はデー
タ量が少ないために短時間で送信することができる。ま
た、完全データ(バイナリーデータBN1)でも元のテ
キストデータに比べて1/4のデータ量であるため、比
較的短時間に送信することができる。
の供給者は、ユーザから購入要求が来るのを待つ状態と
なる。そして、(a)ユーザから標準試料Eに対する簡
易データの要求があったときには、ステップ110に移
行して、情報処理装置10は、磁気ディスク装置17の
ワーキングファイル20の中のシンドロームC(j),
B1(i),B2(i)の情報を例えば電子メールの添
付ファイルとしてそのユーザに送信する。一方、ステッ
プ109において、(b)ユーザから完全データの要求
があったときには、ステップ111に移行して、情報処
理装置10は、ワーキングファイル20中のバイナリー
データBN1をZIPファイル等の形式で圧縮し、この
圧縮されたデータを例えば電子メールの添付ファイルと
してそのユーザに送信する。この際に必要に応じて、ハ
ッシュ関数による要約値AB1を同時に送信してもよ
い。本例によれば、簡易データ(シンドローム)はデー
タ量が少ないために短時間で送信することができる。ま
た、完全データ(バイナリーデータBN1)でも元のテ
キストデータに比べて1/4のデータ量であるため、比
較的短時間に送信することができる。
【0107】また、ステップ109において、ユーザ
は、必要に応じて部分データ、即ち図8の全部の変換デ
ータA(i,j)の内の所望のデータ、例えば2つの変
換データA(4,16)及びA(1,17)のみをその
供給者から購入するようにしてもよい。これによって、
必要な正確なデータのみを短時間に入手することができ
る。
は、必要に応じて部分データ、即ち図8の全部の変換デ
ータA(i,j)の内の所望のデータ、例えば2つの変
換データA(4,16)及びA(1,17)のみをその
供給者から購入するようにしてもよい。これによって、
必要な正確なデータのみを短時間に入手することができ
る。
【0108】次に、DNA情報のユーザ(図1のコンピ
ュータシステム2Bの所有者とする)側では、図5のス
テップ121において、図1の通信ネットワーク1(イ
ンターネット)を介してプロバイダ3のサーバ内のコン
テンツファイル31の内容を閲覧し、その中からステッ
プ108で供給者から送信された情報、即ち標準試料E
の名前の情報、ヌクレオチドの配列の数NA1、配列S
T1,SB1、要約値AB1、逆方向の配列STR1,
SBR1、及び逆方向の要約値ABR1を読み取り、読
み取った情報をコンピュータシステム2B内の記憶装置
の一時ファイルに記録する。
ュータシステム2Bの所有者とする)側では、図5のス
テップ121において、図1の通信ネットワーク1(イ
ンターネット)を介してプロバイダ3のサーバ内のコン
テンツファイル31の内容を閲覧し、その中からステッ
プ108で供給者から送信された情報、即ち標準試料E
の名前の情報、ヌクレオチドの配列の数NA1、配列S
T1,SB1、要約値AB1、逆方向の配列STR1,
SBR1、及び逆方向の要約値ABR1を読み取り、読
み取った情報をコンピュータシステム2B内の記憶装置
の一時ファイルに記録する。
【0109】次の、ステップ122において、そのユー
ザは、不図示のDNAのシーケンサーを用いて、標準試
料Eと同じ種類で検査対象の試料FのDNA中の一方の
一列のヌクレオチドの配列を読み取り、読み取られた配
列を示すテキストデータTX2をコンピュータシステム
2B内の情報処理装置に取り込む。その検査対象の試料
Fとは、例えば突然変異を起こしていると思われる大腸
菌であり、そのテキストデータTX2は、標準試料Eの
テキストデータTX1と同様に最初から2048個まで
のヌクレオチドの配列を示すものとする。
ザは、不図示のDNAのシーケンサーを用いて、標準試
料Eと同じ種類で検査対象の試料FのDNA中の一方の
一列のヌクレオチドの配列を読み取り、読み取られた配
列を示すテキストデータTX2をコンピュータシステム
2B内の情報処理装置に取り込む。その検査対象の試料
Fとは、例えば突然変異を起こしていると思われる大腸
菌であり、そのテキストデータTX2は、標準試料Eの
テキストデータTX1と同様に最初から2048個まで
のヌクレオチドの配列を示すものとする。
【0110】試料FのDNA配列は配列番号2に示され
ている。後述の図10のテキストデータは、配列番号2
の配列から数字データを除いて、a,g,c,tの文字
をそれぞれA,G,C,Tで置き換えたものに相当す
る。図10は、その試料FのDNAのヌクレオチドの配
列に対応するテキストデータTX2を示し、この図10
の配列の内のアンダーラインを付した部分のみが、図7
の標準試料Eの配列と異なっている。即ち、試料Fの配
列は、標準試料Eの部分テキストデータT(4,1
6),T(1,17)の部分だけが以下のように異なっ
ている。なお、この段階では、ユーザは、試料Fの配列
と標準試料Eの配列とのどの部分が相違しているのかは
分からない。
ている。後述の図10のテキストデータは、配列番号2
の配列から数字データを除いて、a,g,c,tの文字
をそれぞれA,G,C,Tで置き換えたものに相当す
る。図10は、その試料FのDNAのヌクレオチドの配
列に対応するテキストデータTX2を示し、この図10
の配列の内のアンダーラインを付した部分のみが、図7
の標準試料Eの配列と異なっている。即ち、試料Fの配
列は、標準試料Eの部分テキストデータT(4,1
6),T(1,17)の部分だけが以下のように異なっ
ている。なお、この段階では、ユーザは、試料Fの配列
と標準試料Eの配列とのどの部分が相違しているのかは
分からない。
【0111】 そして、ユーザのコンピュータシステム2B側の情報処
理装置においても、DNAの配列情報を処理するための
アプリケーション・プログラムが起動されている。そし
て、その情報処理装置は、ステップ123において、読
み取られたテキストデータTX2に上記のMD5ハッシ
ュ関数を施して128ビットの要約値AB2を求めると
共に、そのヌクレオチドの配列の数NA2、及び先頭と
末尾との8個ずつのヌクレオチドの配列ST2,SB2
を求め、これらを内部の記憶装置の第1データファイル
に記録する。テキストデータTX2(図10)に対する
具体的な値は下記の通りである。
理装置においても、DNAの配列情報を処理するための
アプリケーション・プログラムが起動されている。そし
て、その情報処理装置は、ステップ123において、読
み取られたテキストデータTX2に上記のMD5ハッシ
ュ関数を施して128ビットの要約値AB2を求めると
共に、そのヌクレオチドの配列の数NA2、及び先頭と
末尾との8個ずつのヌクレオチドの配列ST2,SB2
を求め、これらを内部の記憶装置の第1データファイル
に記録する。テキストデータTX2(図10)に対する
具体的な値は下記の通りである。
【0112】 AB2=hex(1457b51222a83c3222e87cb4d4e63305) …(16) 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構造と同一である。」との情報を記録する。
の配列数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構造と同一である。」との情報を記録する。
【0113】但し、本例では、ST2=ST1,SB2
=SB1が成立するが、(11)式及び(16)式より
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)の関係にある。」との情報を記録する。
=SB1が成立するが、(11)式及び(16)式より
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)の関係にある。」との情報を記録する。
【0114】本例では、ST2≠STR2,SB2≠S
BR2、かつ(12)式及び(16)式よりAB2≠A
BR1であるため、動作はステップ128からステップ
129に移行して、そのユーザは、通信ネットワーク1
(インターネット)を介してDNA情報の供給者から上
記の簡易データ、即ち標準試料EのシンドロームC
(j),B1(i),B2(i)の情報(図9の情報)
を購入し、購入した情報をコンピュータシステム2B
(情報処理装置)内の記憶装置の第2データファイルに
記録する。
BR2、かつ(12)式及び(16)式よりAB2≠A
BR1であるため、動作はステップ128からステップ
129に移行して、そのユーザは、通信ネットワーク1
(インターネット)を介してDNA情報の供給者から上
記の簡易データ、即ち標準試料EのシンドロームC
(j),B1(i),B2(i)の情報(図9の情報)
を購入し、購入した情報をコンピュータシステム2B
(情報処理装置)内の記憶装置の第2データファイルに
記録する。
【0115】次に、図6のステップ130において、コ
ンピュータシステム2Bの情報処理装置は、図10に示
すように、試料FのテキストデータTX2を配列方向
(ヌクレオチドの配列方向)にN行で、非配列方向にM
列の16文字の長さの部分テキストデータTF(i,
j)(i=1〜N,j=1〜M)に分割する。分割数
N,Mは標準試料Eの分割数と同じであり、本例では、
N=4,M=32である。更に、情報処理装置は、図1
0の各部分テキストデータTF(i,j)を表1(変換
テーブル)に基づいてそれぞれ32ビットのバイナリー
データ(数値データ)よりなる変換データAF(i,
j)に変換する。この結果、図11に示す4行で、32
列の変換データAF(i,j)(16進数表示)が得ら
れる。また、変換データAF(i,j)を連続して配列
した集合体(数値データ)をバイナリーデータBN2と
する。
ンピュータシステム2Bの情報処理装置は、図10に示
すように、試料FのテキストデータTX2を配列方向
(ヌクレオチドの配列方向)にN行で、非配列方向にM
列の16文字の長さの部分テキストデータTF(i,
j)(i=1〜N,j=1〜M)に分割する。分割数
N,Mは標準試料Eの分割数と同じであり、本例では、
N=4,M=32である。更に、情報処理装置は、図1
0の各部分テキストデータTF(i,j)を表1(変換
テーブル)に基づいてそれぞれ32ビットのバイナリー
データ(数値データ)よりなる変換データAF(i,
j)に変換する。この結果、図11に示す4行で、32
列の変換データAF(i,j)(16進数表示)が得ら
れる。また、変換データAF(i,j)を連続して配列
した集合体(数値データ)をバイナリーデータBN2と
する。
【0116】次に、情報処理装置は、ステップ106の
動作と同様にして、図11の全部の変換データAF
(i,j)の内で、各列の変換データAF(i,j)の
配列方向に対する法232(mod232)のもとでの和、
即ち配列方向のシンドロームCF(j)(j=1〜3
2)を計算する。CF(j)は、(13)式でA(i,
j)をAF(i,j)で置き換えた式で計算される。更
に、情報処理装置は、各行の変換データAF(i,j)
(i=1〜4)の内で奇数番目の変換データAF(i,
2j’−1)(j’=1〜16)の非配列方向に対する
法232のもとでの和、及び偶数番目の変換データAF
(i,2j’)の非配列方向に対する法232のもとでの
和、即ち非配列方向のシンドロームB1F(i),B2
F(i)(i=1〜4)を計算する。B1F(i),B
2F(i)は、(14)式、(15)式でA(i,j)
をAF(i,j)で置き換えた式で計算される。変換デ
ータAF(i,j)に対する実際の計算結果が、図11
のシンドロームCF(j),B1F(i),B2F
(i)として表示されている。
動作と同様にして、図11の全部の変換データAF
(i,j)の内で、各列の変換データAF(i,j)の
配列方向に対する法232(mod232)のもとでの和、
即ち配列方向のシンドロームCF(j)(j=1〜3
2)を計算する。CF(j)は、(13)式でA(i,
j)をAF(i,j)で置き換えた式で計算される。更
に、情報処理装置は、各行の変換データAF(i,j)
(i=1〜4)の内で奇数番目の変換データAF(i,
2j’−1)(j’=1〜16)の非配列方向に対する
法232のもとでの和、及び偶数番目の変換データAF
(i,2j’)の非配列方向に対する法232のもとでの
和、即ち非配列方向のシンドロームB1F(i),B2
F(i)(i=1〜4)を計算する。B1F(i),B
2F(i)は、(14)式、(15)式でA(i,j)
をAF(i,j)で置き換えた式で計算される。変換デ
ータAF(i,j)に対する実際の計算結果が、図11
のシンドロームCF(j),B1F(i),B2F
(i)として表示されている。
【0117】図8(標準試料E)と図11(試料F)と
を比較すると、図8の変換データA(4,16),A
(1,17)に対して図11の変換データAF(4,1
6),AF(1,17)の値が異なっている。従って、
それに対応して図11にアンダーラインを付して示すよ
うに、図11の配列方向の2つのシンドロームCF(1
6),CF(17)、及び非配列方向の2つのシンドロ
ームB1F(1),B2F(4)の値が、図8の対応す
るシンドロームC(16),C(17),B1(1),
B2(4)の値と異なっている。
を比較すると、図8の変換データA(4,16),A
(1,17)に対して図11の変換データAF(4,1
6),AF(1,17)の値が異なっている。従って、
それに対応して図11にアンダーラインを付して示すよ
うに、図11の配列方向の2つのシンドロームCF(1
6),CF(17)、及び非配列方向の2つのシンドロ
ームB1F(1),B2F(4)の値が、図8の対応す
るシンドロームC(16),C(17),B1(1),
B2(4)の値と異なっている。
【0118】また、図12は、主に図11の試料Fのデ
ータ中からシンドロームCF(j),B1F(i),B
2F(i)だけを取り出して表示したものである。次
に、ステップ131において、その情報処理装置は、供
給者から購入した簡易データの1組のシンドローム、即
ち図8(標準試料E)の1組のシンドロームC(j),
B1(i),B2(i)と、上記のように求めた試料F
の1組のシンドロームCF(j),B1F(i),B2
F(i)とを比較して、相違するシンドロームをサーチ
する。本例では、図11のシンドロームCF(16),
CF(17)、及びシンドロームB1F(1),B2F
(4)が相違するシンドロームとして特定される。この
場合、配列方向の相違するシンドロームCF(16),
CF(17)の列と、非配列方向の相違するシンドロー
ムB1F(1),B2F(4)の行との交点が、標準試
料Eに対して相違する変換データの位置となる。従っ
て、図11の第4行で第16列の変換データAF(4,
16)、及び第1行で第17列の変換データAF(1,
17)が相違する変換データとして特定される。
ータ中からシンドロームCF(j),B1F(i),B
2F(i)だけを取り出して表示したものである。次
に、ステップ131において、その情報処理装置は、供
給者から購入した簡易データの1組のシンドローム、即
ち図8(標準試料E)の1組のシンドロームC(j),
B1(i),B2(i)と、上記のように求めた試料F
の1組のシンドロームCF(j),B1F(i),B2
F(i)とを比較して、相違するシンドロームをサーチ
する。本例では、図11のシンドロームCF(16),
CF(17)、及びシンドロームB1F(1),B2F
(4)が相違するシンドロームとして特定される。この
場合、配列方向の相違するシンドロームCF(16),
CF(17)の列と、非配列方向の相違するシンドロー
ムB1F(1),B2F(4)の行との交点が、標準試
料Eに対して相違する変換データの位置となる。従っ
て、図11の第4行で第16列の変換データAF(4,
16)、及び第1行で第17列の変換データAF(1,
17)が相違する変換データとして特定される。
【0119】次のステップ132において、その情報処
理装置は、図11の変換データAF(i,j)中で図8
の変換データA(i,j)と相違する変換データ(AF
(i’,j’)とする)は、各行、又は各列に多くとも
一つかどうかを調べる。これが成立する場合には、その
変換データAF(i’,j’)に対応する標準試料Eの
変換データは、法232のもとでの連立方程式によって容
易に求めることができる。本例では、それが成立する、
即ち相違する変換データは、第1行、第4行に一つずつ
で、かつ第16列、第17列に一つずつであるため、動
作はステップ133に移行する。そして、その情報処理
装置は、先ず変換データAF(4,16)から標準試料
Eの変換データA(4,16)を復元するために、図8
のシンドロームC(16)、図11のシンドロームCF
(16)、及び変換データAF(4,16)を用いて次
の演算を行う。
理装置は、図11の変換データAF(i,j)中で図8
の変換データA(i,j)と相違する変換データ(AF
(i’,j’)とする)は、各行、又は各列に多くとも
一つかどうかを調べる。これが成立する場合には、その
変換データAF(i’,j’)に対応する標準試料Eの
変換データは、法232のもとでの連立方程式によって容
易に求めることができる。本例では、それが成立する、
即ち相違する変換データは、第1行、第4行に一つずつ
で、かつ第16列、第17列に一つずつであるため、動
作はステップ133に移行する。そして、その情報処理
装置は、先ず変換データAF(4,16)から標準試料
Eの変換データA(4,16)を復元するために、図8
のシンドロームC(16)、図11のシンドロームCF
(16)、及び変換データAF(4,16)を用いて次
の演算を行う。
【0120】 A(4,16)=C(16) −CF(16)+AF(4,16) (mod232) =hex(7c33894d) −hex(7c3373a6) +hex(3f523cd6) (mod232) =hex(3f52527d) …(17) この結果を図8の変換データA(4,16)と比較する
と、復元が正確に行われていることが分かる。
と、復元が正確に行われていることが分かる。
【0121】続いて、情報処理装置は、変換データAF
(1,17)から標準試料Eの変換データA(1,1
7)を復元するために、図8のシンドロームC(1
7)、図11のシンドロームCF(17)、及び変換デ
ータAF(1,17)を用いて次の演算を行う。 A(1,17)=C(17) −CF(17)+AF(1,17) (mod232) =hex(31b4c2ad) −hex(6661c2ad) +hex(5a0bccad) (mod232) =hex(255eccad) …(18) この結果を図8の変換データA(1,17)と比較する
と、復元が正確に行われていることが分かる。また、復
元された変換データA(4,16),A(1,17)
が、図12中の試料FのシンドロームCF(j),B1
F(i),B2F(i)の内側に表示されている。図1
2の変換データA(4,16),A(1,17)を表1
に従って逆変換して得られる部分テキストデータは、図
7の標準試料Eの部分テキストデータT(4,16),
T(1,17)と等しいことが分かる。
(1,17)から標準試料Eの変換データA(1,1
7)を復元するために、図8のシンドロームC(1
7)、図11のシンドロームCF(17)、及び変換デ
ータAF(1,17)を用いて次の演算を行う。 A(1,17)=C(17) −CF(17)+AF(1,17) (mod232) =hex(31b4c2ad) −hex(6661c2ad) +hex(5a0bccad) (mod232) =hex(255eccad) …(18) この結果を図8の変換データA(1,17)と比較する
と、復元が正確に行われていることが分かる。また、復
元された変換データA(4,16),A(1,17)
が、図12中の試料FのシンドロームCF(j),B1
F(i),B2F(i)の内側に表示されている。図1
2の変換データA(4,16),A(1,17)を表1
に従って逆変換して得られる部分テキストデータは、図
7の標準試料Eの部分テキストデータT(4,16),
T(1,17)と等しいことが分かる。
【0122】次のステップ134において、その情報処
理装置は、復元された変換データA(i’,j’)、即
ちA(4,16),A(1,17)で、図11の試料F
のバイナリーデータBN2中の対応する変換データAF
(4,16),AF(1,17)を置き換えた後、この
置き換えによって得られるバイナリーデータBN2を表
1に基づいてテキストデータTX1’に逆変換する。更
に情報処理装置は、そのテキストデータTX1’よりM
D5ハッシュ関数を用いて128ビットの要約値AB
1’を算出し、この要約値AB1’が標準試料Eの要約
値AB1(ステップ121で一時ファイルに記録されて
いる)と等しいかどうかを確認する。本例では、AB
1’=AB1が成立するが、例えば図11の試料Fの変
換データAF(i,j)中の相違する変換データの位置
や内容によっては、その相違する位置がステップ132
で正確に検出されない可能性がある。このような場合
に、AB1’≠AB1となったときには、ステップ13
5に移行すればよい。通常は、AB1’=AB1が成立
して、動作はステップ138に移行して、情報処理装置
は、上記の第1データファイルに「試料Fの配列と標準
試料Eの配列との内で相違する部分の位置(i’,
j’)、及び相違する部分テキストデータの対」の情報
を記録する。本例では、位置(i’,j’)として位置
(4,16),(1,17)が、相違する部分テキスト
データの対としてA(4,16),AF(4,16)及
びA(1,17),AF(1,17)が記録される。
理装置は、復元された変換データA(i’,j’)、即
ちA(4,16),A(1,17)で、図11の試料F
のバイナリーデータBN2中の対応する変換データAF
(4,16),AF(1,17)を置き換えた後、この
置き換えによって得られるバイナリーデータBN2を表
1に基づいてテキストデータTX1’に逆変換する。更
に情報処理装置は、そのテキストデータTX1’よりM
D5ハッシュ関数を用いて128ビットの要約値AB
1’を算出し、この要約値AB1’が標準試料Eの要約
値AB1(ステップ121で一時ファイルに記録されて
いる)と等しいかどうかを確認する。本例では、AB
1’=AB1が成立するが、例えば図11の試料Fの変
換データAF(i,j)中の相違する変換データの位置
や内容によっては、その相違する位置がステップ132
で正確に検出されない可能性がある。このような場合
に、AB1’≠AB1となったときには、ステップ13
5に移行すればよい。通常は、AB1’=AB1が成立
して、動作はステップ138に移行して、情報処理装置
は、上記の第1データファイルに「試料Fの配列と標準
試料Eの配列との内で相違する部分の位置(i’,
j’)、及び相違する部分テキストデータの対」の情報
を記録する。本例では、位置(i’,j’)として位置
(4,16),(1,17)が、相違する部分テキスト
データの対としてA(4,16),AF(4,16)及
びA(1,17),AF(1,17)が記録される。
【0123】一方、ステップ132において、相違する
変換データAF(i’,j’)が少なくとも一行に2個
以上で、かつ列方向にも2個以上(奇数番目又は偶数番
目で2個以上を意味する)存在する場合には、変換デー
タの正確な復元は困難である。そこで、動作はステップ
135に移行して、そのユーザはそのDNA情報の供給
者から標準試料Eの完全データ、即ち図8のバイナリー
データBN1を通信ネットワーク1(インターネット)
を介して購入し、コンピュータシステム2Bの情報処理
装置は、そのバイナリーデータBN1を記憶装置の第3
データファイルに記録する。
変換データAF(i’,j’)が少なくとも一行に2個
以上で、かつ列方向にも2個以上(奇数番目又は偶数番
目で2個以上を意味する)存在する場合には、変換デー
タの正確な復元は困難である。そこで、動作はステップ
135に移行して、そのユーザはそのDNA情報の供給
者から標準試料Eの完全データ、即ち図8のバイナリー
データBN1を通信ネットワーク1(インターネット)
を介して購入し、コンピュータシステム2Bの情報処理
装置は、そのバイナリーデータBN1を記憶装置の第3
データファイルに記録する。
【0124】次のステップ136において、その情報処
理装置は、そのバイナリーデータBN1を表1に基づい
てテキストデータTX1’に逆変換(復元)し、そのテ
キストデータTX1’よりMD5ハッシュ関数を用いて
128ビットの要約値AB1’を算出し、この要約値A
B1’が標準試料Eの要約値AB1(ステップ121で
一時ファイルに記録されている)と等しいかどうかを確
認する。通常は、AB1’=AB1が成立するが、例え
ば通信エラー等によって送信されたバイナリーデータB
N1の中にエラーが生じている場合には、AB1’≠A
B1となる。このときには、例えば供給者に完全データ
の再送信を行う等の対処を行う。そして、ステップ13
6でAB1’=AB1が成立するときには、ステップ1
37に移行して情報処理装置は、標準試料Eのバイナリ
ーデータBN1中で、試料Fの相違している変換データ
AF(i’,j’)に対応する変換データA(i’,
j’)を求める。その後、動作はステップ138に移行
する。
理装置は、そのバイナリーデータBN1を表1に基づい
てテキストデータTX1’に逆変換(復元)し、そのテ
キストデータTX1’よりMD5ハッシュ関数を用いて
128ビットの要約値AB1’を算出し、この要約値A
B1’が標準試料Eの要約値AB1(ステップ121で
一時ファイルに記録されている)と等しいかどうかを確
認する。通常は、AB1’=AB1が成立するが、例え
ば通信エラー等によって送信されたバイナリーデータB
N1の中にエラーが生じている場合には、AB1’≠A
B1となる。このときには、例えば供給者に完全データ
の再送信を行う等の対処を行う。そして、ステップ13
6でAB1’=AB1が成立するときには、ステップ1
37に移行して情報処理装置は、標準試料Eのバイナリ
ーデータBN1中で、試料Fの相違している変換データ
AF(i’,j’)に対応する変換データA(i’,
j’)を求める。その後、動作はステップ138に移行
する。
【0125】このように本例のビジネスモデルによれ
ば、第1段階として標準試料Eの要約値AB1と試料F
の要約値AB2とを比較して、両者が等しいときには試
料FのDNAの構造は標準試料EのDNAの構造と同じ
とみなすため、DNA情報の供給者からそれ以上の情報
を購入する必要が無い。また、第2段階として、標準試
料EのシンドロームC(j),B1(i),B2(i)
と試料FのシンドロームCF(j),B1F(i),B
2F(i)とを比較して、相違する変換データAF
(i,j)の個数が少ない場合には、対応する標準試料
Eの変換データA(i,j)を復元するため、膨大な完
全データを購入する必要がなく、情報処理コストを低減
できる。
ば、第1段階として標準試料Eの要約値AB1と試料F
の要約値AB2とを比較して、両者が等しいときには試
料FのDNAの構造は標準試料EのDNAの構造と同じ
とみなすため、DNA情報の供給者からそれ以上の情報
を購入する必要が無い。また、第2段階として、標準試
料EのシンドロームC(j),B1(i),B2(i)
と試料FのシンドロームCF(j),B1F(i),B
2F(i)とを比較して、相違する変換データAF
(i,j)の個数が少ない場合には、対応する標準試料
Eの変換データA(i,j)を復元するため、膨大な完
全データを購入する必要がなく、情報処理コストを低減
できる。
【0126】なお、上記のステップ135では、ユーザ
はDNA情報の供給者から完全データ(バイナリーデー
タBN1)を購入しているが、別の方法として、ステッ
プ131で特定された相違する変換データAF(i’,
j’)に対応する標準試料Eの変換データA(i’,
j’)のみを購入してもよい。これによって、通信コス
トを低減できる。
はDNA情報の供給者から完全データ(バイナリーデー
タBN1)を購入しているが、別の方法として、ステッ
プ131で特定された相違する変換データAF(i’,
j’)に対応する標準試料Eの変換データA(i’,
j’)のみを購入してもよい。これによって、通信コス
トを低減できる。
【0127】また、本例のシンドロームの使用方法に関
して、本例では非配列方向(列方向)に2組のシンドロ
ームB1(i),B2(i)を求めているため、図11
の試料Fの変換データAF(i,j)において、連続す
る2列の変換データAF(i,j)、例えばAF(i,
16),AF(i,17)(i=1〜4)の全部(8
個)が標準試料Eの変換データA(i,j)と相違して
いても、その相違する部分(エラーコード)の位置を正
確に検出することができる。更に、非配列方向のシンド
ロームB1F(i),B2F(i)、及び変換データA
F(i,16),AF(i,17)(i=1〜4)を用
いて連立方程式を解くことによって、対応する標準試料
Eの変換データA(i,j)の全部を正確に復元でき
る。即ち、ヌクレオチドの配列方向に対して隣接する2
列に跨るような比較的長いエラーコード(バーストエラ
ー)が生じても、本例のシンドロームによってその位置
の検出、及び対応する配列の復元を行うことができる。
して、本例では非配列方向(列方向)に2組のシンドロ
ームB1(i),B2(i)を求めているため、図11
の試料Fの変換データAF(i,j)において、連続す
る2列の変換データAF(i,j)、例えばAF(i,
16),AF(i,17)(i=1〜4)の全部(8
個)が標準試料Eの変換データA(i,j)と相違して
いても、その相違する部分(エラーコード)の位置を正
確に検出することができる。更に、非配列方向のシンド
ロームB1F(i),B2F(i)、及び変換データA
F(i,16),AF(i,17)(i=1〜4)を用
いて連立方程式を解くことによって、対応する標準試料
Eの変換データA(i,j)の全部を正確に復元でき
る。即ち、ヌクレオチドの配列方向に対して隣接する2
列に跨るような比較的長いエラーコード(バーストエラ
ー)が生じても、本例のシンドロームによってその位置
の検出、及び対応する配列の復元を行うことができる。
【0128】また、本例のシンドロームを用いれば、S
NP(一塩基変位多型:Single Nucleotide Polymorphi
sm) のように所定の範囲内で1つのヌクレオチド(塩
基)だけが異なっているようなエラーコードは、更に容
易にその位置の検出、及び復元を行うことができる。そ
して、所定の範囲内で、即ち図11の配列中で1つ(ヌ
クレオチドの1つ分)だけ生じたエラーコードの検出、
及び復元を行えば良い場合には、非配列方向のシンドロ
ームB1F(i),B2F(i)の代わりに、それらの
和(BF(i)とする)を使用するのみで十分である。
この場合には、図8の標準試料Eについても、非配列方
向のシンドロームB1(i),B2(i)の代わりに、
それらの和(B(i)とする)を用意するのみでよい。
NP(一塩基変位多型:Single Nucleotide Polymorphi
sm) のように所定の範囲内で1つのヌクレオチド(塩
基)だけが異なっているようなエラーコードは、更に容
易にその位置の検出、及び復元を行うことができる。そ
して、所定の範囲内で、即ち図11の配列中で1つ(ヌ
クレオチドの1つ分)だけ生じたエラーコードの検出、
及び復元を行えば良い場合には、非配列方向のシンドロ
ームB1F(i),B2F(i)の代わりに、それらの
和(BF(i)とする)を使用するのみで十分である。
この場合には、図8の標準試料Eについても、非配列方
向のシンドロームB1(i),B2(i)の代わりに、
それらの和(B(i)とする)を用意するのみでよい。
【0129】また、例えば図8(図11でも同様)にお
いて、配列方向のシンドロームC(j)を、各列で前半
の1組の変換データと後半の1組の変換データとで2つ
設け、非配列方向のシンドロームB1(i),B2
(i)を一つB(i)とした場合にも、上記の隣接する
2列に跨るバーストエラーの検出及び復元を行うことが
できる。また、より多くのエラーコードの復元を行うた
めには、計算は極めて複雑になるが、シンドロームC
(j),B1(i),B2(i)の代わりに、シンドロ
ーム情報として例えばリードソロモンのCRC符号(Re
ed-Solomon Cyclic Redundancy Check Code: RSCRC Cod
e)を使用してもよい。RSCRC符号については、例え
ば文献(James S. Plank: Software-Practice & Experi
ence, 27(9), September, pp.995-1012(1997))で開示さ
れている。
いて、配列方向のシンドロームC(j)を、各列で前半
の1組の変換データと後半の1組の変換データとで2つ
設け、非配列方向のシンドロームB1(i),B2
(i)を一つB(i)とした場合にも、上記の隣接する
2列に跨るバーストエラーの検出及び復元を行うことが
できる。また、より多くのエラーコードの復元を行うた
めには、計算は極めて複雑になるが、シンドロームC
(j),B1(i),B2(i)の代わりに、シンドロ
ーム情報として例えばリードソロモンのCRC符号(Re
ed-Solomon Cyclic Redundancy Check Code: RSCRC Cod
e)を使用してもよい。RSCRC符号については、例え
ば文献(James S. Plank: Software-Practice & Experi
ence, 27(9), September, pp.995-1012(1997))で開示さ
れている。
【0130】なお、上記の実施の形態では、DNA又は
RNAを構成するヌクレオチドは4種類であるため、テ
キストデータTX1をバイナリーデータBN1に変換す
る際に、表1に示すように各ヌクレオチドを2ビットの
データで表している。これに対して、ヌクレオチド(又
は塩基)を表すテキストデータとして、以下のような1
6種類の文字a〜n(8ビットのアスキーデータ)が使
用されることがある。
RNAを構成するヌクレオチドは4種類であるため、テ
キストデータTX1をバイナリーデータBN1に変換す
る際に、表1に示すように各ヌクレオチドを2ビットの
データで表している。これに対して、ヌクレオチド(又
は塩基)を表すテキストデータとして、以下のような1
6種類の文字a〜n(8ビットのアスキーデータ)が使
用されることがある。
【0131】 a アデニン(アデニンを含むヌクレオチドと同義、以下同様) c シトシン g グアニン t チミン u ウラシル m アデニン、又はシトシン r グアニン、又はアデニン w アデニン、又はチミン(若しくはウラシル) s グアニン、又はシトシン y チミン(若しくはウラシル)、又はシトシン k グアニン、又はチミン(若しくはウラシル) v アデニン、グアニン、又はシトシン h アデニン、シトシン、又はチミン(若しくはウラシル) d アデニン、グアニン、又はチミン(若しくはウラシル) b グアニン、シトシン、又はチミン(若しくはウラシル) n (アデニン、シトシン、グアニン、又はチミン(若しくはウラシル)) 又は(不明若しくは他の塩基)。
【0132】この場合には、これら16種類の文字を互
いに異なる4ビットのコードに変換し、このコードを用
いてテキストデータを数値データ(バイナリーデータ)
に変換してもよい。これによって、データ量を1/2に
することができる。また、将来的にヌクレオチド(塩
基)の種類が増加したような場合には、これらのヌクレ
オチドを5ビット、又は6ビットのデータで表現するよ
うにしてもよい。
いに異なる4ビットのコードに変換し、このコードを用
いてテキストデータを数値データ(バイナリーデータ)
に変換してもよい。これによって、データ量を1/2に
することができる。また、将来的にヌクレオチド(塩
基)の種類が増加したような場合には、これらのヌクレ
オチドを5ビット、又は6ビットのデータで表現するよ
うにしてもよい。
【0133】また、上記の実施の形態では、図7及び図
10のヌクレオチドの配列を示すテキストデータよりハ
ッシュ関数によって要約値を算出しているが、情報量と
しては、それらのテキストデータは図8及び図11のバ
イナリーデータ(数値データ)と等価である。従って、
これらのバイナリーデータよりハッシュ関数によってそ
れぞれ要約値を算出し、これらの算出結果同士を比較す
るようにしてもよい。バイナリーデータはテキストデー
タに対して1/4程度であるため、要約値を算出する時
間が短縮できる利点がある。
10のヌクレオチドの配列を示すテキストデータよりハ
ッシュ関数によって要約値を算出しているが、情報量と
しては、それらのテキストデータは図8及び図11のバ
イナリーデータ(数値データ)と等価である。従って、
これらのバイナリーデータよりハッシュ関数によってそ
れぞれ要約値を算出し、これらの算出結果同士を比較す
るようにしてもよい。バイナリーデータはテキストデー
タに対して1/4程度であるため、要約値を算出する時
間が短縮できる利点がある。
【0134】なお、上記の実施の形態では、DNA又は
RNA中のヌクレオチドの配列(又は塩基の配列)の情
報を処理対象としているが、本発明は、遺伝子を形成す
るヌクレオチドの配列の情報を処理する場合にも適用で
きることは言うまでもない。次に、本発明の実施の形態
の他の例につき説明する。本例は、タンパク質又はペプ
チドを構成するアミノ酸の配列情報を処理する場合に本
発明を適用したものである。
RNA中のヌクレオチドの配列(又は塩基の配列)の情
報を処理対象としているが、本発明は、遺伝子を形成す
るヌクレオチドの配列の情報を処理する場合にも適用で
きることは言うまでもない。次に、本発明の実施の形態
の他の例につき説明する。本例は、タンパク質又はペプ
チドを構成するアミノ酸の配列情報を処理する場合に本
発明を適用したものである。
【0135】本例でも基本的に図1のコンピュータシス
テム2Aを使用できるが、DNAのシーケンサー4の代
わりに、タンパク質のアミノ酸の配列を決定する配列読
み取り装置としてのタンパク質用のシーケンサー(prot
ein Sequencer)が情報処理装置10に接続される点が異
なっている。なお、その配列読み取り装置としては、ア
ミノ酸の配列のデータベースも使用できる。本例でも、
例えば新規の試料Gのタンパク質のアミノ酸の配列をそ
のシーケンサーで解読した場合に、その配列を示すテキ
ストデータ(TX3とする)が情報処理装置10に供給
される。本例では一文字表記を採用するものとして、n
個のアミノ酸の配列に対応するテキストデータは、nバ
イトの長さである。本例では、その試料Gを大腸菌とし
て、そのテキストデータTX3として、図13に示すよ
うに、上記のウェブサイト1から入手した大腸菌の或る
タンパク質の820個のアミノ酸の配列を示すテキスト
データを使用する。
テム2Aを使用できるが、DNAのシーケンサー4の代
わりに、タンパク質のアミノ酸の配列を決定する配列読
み取り装置としてのタンパク質用のシーケンサー(prot
ein Sequencer)が情報処理装置10に接続される点が異
なっている。なお、その配列読み取り装置としては、ア
ミノ酸の配列のデータベースも使用できる。本例でも、
例えば新規の試料Gのタンパク質のアミノ酸の配列をそ
のシーケンサーで解読した場合に、その配列を示すテキ
ストデータ(TX3とする)が情報処理装置10に供給
される。本例では一文字表記を採用するものとして、n
個のアミノ酸の配列に対応するテキストデータは、nバ
イトの長さである。本例では、その試料Gを大腸菌とし
て、そのテキストデータTX3として、図13に示すよ
うに、上記のウェブサイト1から入手した大腸菌の或る
タンパク質の820個のアミノ酸の配列を示すテキスト
データを使用する。
【0136】試料Gのアミノ酸配列は配列番号3に示さ
れている。図13のテキストデータは、配列番号3の配
列から数字データを除いて、その配列を一文字表記で表
したものに相当する。また、図13においては、そのテ
キストデータが配列方向(アミノ酸の配列方向)に8行
で、その配列方向に直交する非配列方向に26列の4文
字の長さの部分テキストデータに分割されており、86
1番以上のアミノ酸を示すデータの位置には0が表示さ
れている。
れている。図13のテキストデータは、配列番号3の配
列から数字データを除いて、その配列を一文字表記で表
したものに相当する。また、図13においては、そのテ
キストデータが配列方向(アミノ酸の配列方向)に8行
で、その配列方向に直交する非配列方向に26列の4文
字の長さの部分テキストデータに分割されており、86
1番以上のアミノ酸を示すデータの位置には0が表示さ
れている。
【0137】次に、情報処理装置10は、供給されたテ
キストデータTX3に上記のMD5ハッシュ関数を施し
て128ビットの要約値AB3を求めると共に、そのア
ミノ酸の配列の数NA3、及び先頭と末尾との8個ずつ
のアミノ酸の配列ST3,SB3を求める。テキストデ
ータTX3に対する具体的な値は下記の通りである。 AB3=hex(0f66dc2b3024a9739d0e912fde12b8ba) …(19) 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)の関係に
あると言うことができる。
キストデータTX3に上記のMD5ハッシュ関数を施し
て128ビットの要約値AB3を求めると共に、そのア
ミノ酸の配列の数NA3、及び先頭と末尾との8個ずつ
のアミノ酸の配列ST3,SB3を求める。テキストデ
ータTX3に対する具体的な値は下記の通りである。 AB3=hex(0f66dc2b3024a9739d0e912fde12b8ba) …(19) 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)の関係に
あると言うことができる。
【0138】 ABR3=hex(e895f433e1e77f84b3cadeead1a52380) …(20) STR3=VGLKWSLT,SBR3=GGFKLVRM 次に、情報処理装置10は、試料Gの名前の情報(試料
を特定する情報)、配列の数NA3、テキストデータT
X3、配列ST3,SB3、要約値AB3、逆方向の配
列STR3,SBR3、及び逆方向の要約値ABR3を
磁気ディスク装置17のマスターファイル19に記録す
る。この際に、マスターファイル19を複数のファイル
として、テキストデータTX3と、それ以外のデータと
を別のファイルに記録してもよい。続いて、情報処理装
置10は、例えば図7と同様に図13に示すように、試
料GのテキストデータTX3を配列方向(アミノ酸の配
列方向)にN行で、その配列方向に直交する非配列方向
にM列の4文字の長さの部分テキストデータに分割す
る。なお、N,Mはそれぞれ2以上の任意の整数であ
り、一例としてN=16,M=13に設定できる。本例
ではテキストデータTX3に例えば12文字分のダミー
データ(本例では0であるが、それ以外に例えば文字A
なども使用できる)を付加して得られる832(=4・
16・13)バイトのテキストデータ(これをTX3’
と呼ぶ)を作成し、テキストデータTX3’をN=8,
M=26で分割する。本例では、ヌクレオチドの配列を
扱う場合と異なり、その4文字分の部分テキストデータ
をそのまま32ビットの変換データとして扱う。なお、
この際に表2に示すように、各アミノ酸を6ビットのデ
ータで表してもよいが、データ量は3/4程度になるだ
けであるため、本例では部分テキストデータをそのまま
変換データ(数値データ)として扱う。
を特定する情報)、配列の数NA3、テキストデータT
X3、配列ST3,SB3、要約値AB3、逆方向の配
列STR3,SBR3、及び逆方向の要約値ABR3を
磁気ディスク装置17のマスターファイル19に記録す
る。この際に、マスターファイル19を複数のファイル
として、テキストデータTX3と、それ以外のデータと
を別のファイルに記録してもよい。続いて、情報処理装
置10は、例えば図7と同様に図13に示すように、試
料GのテキストデータTX3を配列方向(アミノ酸の配
列方向)にN行で、その配列方向に直交する非配列方向
にM列の4文字の長さの部分テキストデータに分割す
る。なお、N,Mはそれぞれ2以上の任意の整数であ
り、一例としてN=16,M=13に設定できる。本例
ではテキストデータTX3に例えば12文字分のダミー
データ(本例では0であるが、それ以外に例えば文字A
なども使用できる)を付加して得られる832(=4・
16・13)バイトのテキストデータ(これをTX3’
と呼ぶ)を作成し、テキストデータTX3’をN=8,
M=26で分割する。本例では、ヌクレオチドの配列を
扱う場合と異なり、その4文字分の部分テキストデータ
をそのまま32ビットの変換データとして扱う。なお、
この際に表2に示すように、各アミノ酸を6ビットのデ
ータで表してもよいが、データ量は3/4程度になるだ
けであるため、本例では部分テキストデータをそのまま
変換データ(数値データ)として扱う。
【0139】それに続いて、情報処理装置10は、その
8行で26列の変換データに対して、図8の例と同様
に、各列の変換データの配列方向に対する法232(mo
d232)のもとでの和、即ち配列方向のシンドロームを
計算する。更に、各行の変換データの内で奇数番目の変
換データの非配列方向に対する法232のもとでの和、及
び偶数番目の変換データの非配列方向に対する法232の
もとでの和、即ち非配列方向の2組のシンドロームを計
算する。この例においては、シンドロームそれぞれ32
ビット(4バイト)であるため、全部のシンドロームの
データ量は、168(=4・42)バイトとなる。従っ
て、全部のシンドロームのデータ量は、全体の元のテキ
ストデータTX3(820バイト)に対してほぼ1/4
〜1/5に減少している。
8行で26列の変換データに対して、図8の例と同様
に、各列の変換データの配列方向に対する法232(mo
d232)のもとでの和、即ち配列方向のシンドロームを
計算する。更に、各行の変換データの内で奇数番目の変
換データの非配列方向に対する法232のもとでの和、及
び偶数番目の変換データの非配列方向に対する法232の
もとでの和、即ち非配列方向の2組のシンドロームを計
算する。この例においては、シンドロームそれぞれ32
ビット(4バイト)であるため、全部のシンドロームの
データ量は、168(=4・42)バイトとなる。従っ
て、全部のシンドロームのデータ量は、全体の元のテキ
ストデータTX3(820バイト)に対してほぼ1/4
〜1/5に減少している。
【0140】次に、情報処理装置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の配列情報を複数の供給者から誤って
重複して購入することを回避することができる。
の情報、配列の数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の配列情報を複数の供給者から誤って
重複して購入することを回避することができる。
【0141】その後、コンピュータシステム2Aの所有
者(アミノ酸情報の供給者)は、ユーザから購入要求が
来るのを待つ状態となる。そして、ユーザから試料Gに
対する簡易データの要求があったときには、情報処理装
置10は、磁気ディスク装置17のワーキングファイル
20の中の試料Gのシンドロームの情報を例えば電子メ
ールの添付ファイルとしてそのユーザに送信する。シン
ドロームの情報を購入したユーザは、試料Gと同じ種類
の自分で解読した試料のアミノ酸の配列のシンドローム
と、その購入したシンドロームとを比較することによっ
て、相違する部分の検出及び復元を或る程度行うことが
できる。
者(アミノ酸情報の供給者)は、ユーザから購入要求が
来るのを待つ状態となる。そして、ユーザから試料Gに
対する簡易データの要求があったときには、情報処理装
置10は、磁気ディスク装置17のワーキングファイル
20の中の試料Gのシンドロームの情報を例えば電子メ
ールの添付ファイルとしてそのユーザに送信する。シン
ドロームの情報を購入したユーザは、試料Gと同じ種類
の自分で解読した試料のアミノ酸の配列のシンドローム
と、その購入したシンドロームとを比較することによっ
て、相違する部分の検出及び復元を或る程度行うことが
できる。
【0142】一方、ユーザから完全データの要求があっ
たときには、情報処理装置10は、ワーキングファイル
20中のテキストデータTX3をZIPファイル等の形
式で圧縮し、この圧縮されたデータを例えば電子メール
の添付ファイルとしてそのユーザに送信する。この際に
必要に応じて、ハッシュ関数による要約値AB3を同時
に送信してもよい。本例によれば、簡易データ(シンド
ローム)はデータ量が少ないために短時間で送信するこ
とができる。
たときには、情報処理装置10は、ワーキングファイル
20中のテキストデータTX3をZIPファイル等の形
式で圧縮し、この圧縮されたデータを例えば電子メール
の添付ファイルとしてそのユーザに送信する。この際に
必要に応じて、ハッシュ関数による要約値AB3を同時
に送信してもよい。本例によれば、簡易データ(シンド
ローム)はデータ量が少ないために短時間で送信するこ
とができる。
【0143】更に、そのアミノ酸の配列情報の供給者
は、ワーキングファイル20に記録した情報、即ち試料
Gの名前の情報、配列の数NA3、テキストデータTX
3、要約値AB3,ABR3、及びシンドロームをCD
−R/RWドライブ15を介してCD−R16に記録し
てもよい。このCD−R16から、更に多数のCD−R
OMを作製してもよく、これらの記録媒体が郵送等によ
ってユーザに販売される。
は、ワーキングファイル20に記録した情報、即ち試料
Gの名前の情報、配列の数NA3、テキストデータTX
3、要約値AB3,ABR3、及びシンドロームをCD
−R/RWドライブ15を介してCD−R16に記録し
てもよい。このCD−R16から、更に多数のCD−R
OMを作製してもよく、これらの記録媒体が郵送等によ
ってユーザに販売される。
【0144】次に、本例において、アミノ酸の配列中か
ら所望の連続する部分的な配列を選択する方法の一例に
つき説明する。そのため、図13の試料Gの配列が、図
1の表示装置12の表示画面中に表示されているものと
して、その表示画面の右端のエッジ部を図13のエッジ
部51とする。図13において、試料Gのアミノ酸の配
列はエッジ部51の左側の表示領域に表示されており、
その表示領域には図1のマウス204によって制御され
るカーソル52も表示されている。この場合、図13の
第16列の第2行〜第7行の矩形枠で囲まれた領域54
内の配列を選択するものとすると、本例では先ず領域5
4の右端部の文字”A”の上にカーソル52を移動し
て、図1のマウス204の左スイッチ204aを操作す
る。その後、カーソル52がエッジ部51から更に右方
向の位置53まで仮想的に移動するように、マウス20
4を右方向に移動する。
ら所望の連続する部分的な配列を選択する方法の一例に
つき説明する。そのため、図13の試料Gの配列が、図
1の表示装置12の表示画面中に表示されているものと
して、その表示画面の右端のエッジ部を図13のエッジ
部51とする。図13において、試料Gのアミノ酸の配
列はエッジ部51の左側の表示領域に表示されており、
その表示領域には図1のマウス204によって制御され
るカーソル52も表示されている。この場合、図13の
第16列の第2行〜第7行の矩形枠で囲まれた領域54
内の配列を選択するものとすると、本例では先ず領域5
4の右端部の文字”A”の上にカーソル52を移動し
て、図1のマウス204の左スイッチ204aを操作す
る。その後、カーソル52がエッジ部51から更に右方
向の位置53まで仮想的に移動するように、マウス20
4を右方向に移動する。
【0145】本例では、そのようにカーソル52が一方
のエッジ部に達した後にも、更にカーソル52が表示領
域の外側に移動するようにマウス204を移動すると、
そのカーソル52は、そのエッジ部に対向する他方のエ
ッジ部からその表示領域内に現れるというスクリーン・
ラッピング動作が行われる。この結果、カーソル52
は、図13の表示領域の不図示の左側のエッジ部の右側
に移動して、領域54の左端部の文字”K”上に移動し
て、領域54の配列が選択される。この状態で一例とし
てマウス204の右スイッチ204bを操作することに
よって、領域54の配列のコピー等を行うことができ
る。
のエッジ部に達した後にも、更にカーソル52が表示領
域の外側に移動するようにマウス204を移動すると、
そのカーソル52は、そのエッジ部に対向する他方のエ
ッジ部からその表示領域内に現れるというスクリーン・
ラッピング動作が行われる。この結果、カーソル52
は、図13の表示領域の不図示の左側のエッジ部の右側
に移動して、領域54の左端部の文字”K”上に移動し
て、領域54の配列が選択される。この状態で一例とし
てマウス204の右スイッチ204bを操作することに
よって、領域54の配列のコピー等を行うことができ
る。
【0146】次に、図14は、図13の配列の第15列
〜第17列の配列を示し、この図14において、第16
列の第8行の領域56A、及びこれに続く第17列の第
1行の領域56Bの配列を選択するものとする。このと
き、先ず領域56Aの左端部の文字”L”の上にカーソ
ル52を移動して、図1のマウス204の左スイッチ2
04aを操作する。その後、カーソル52がエッジ部5
1から更に右下方向の位置55まで仮想的に移動するよ
うに、マウス204を右下方向に移動する。この結果、
スクリーン・ラッピング動作によって、本例のカーソル
52は、図14の表示領域の不図示の左側のエッジ部の
右側に移動して、領域56Bの右端部の文字”L”上に
移動して、領域56A,56Bの配列が選択される。こ
の状態で一例としてマウス204の右スイッチ204b
を操作することによって、領域56A,56Bの配列の
コピー等を行うことができる。
〜第17列の配列を示し、この図14において、第16
列の第8行の領域56A、及びこれに続く第17列の第
1行の領域56Bの配列を選択するものとする。このと
き、先ず領域56Aの左端部の文字”L”の上にカーソ
ル52を移動して、図1のマウス204の左スイッチ2
04aを操作する。その後、カーソル52がエッジ部5
1から更に右下方向の位置55まで仮想的に移動するよ
うに、マウス204を右下方向に移動する。この結果、
スクリーン・ラッピング動作によって、本例のカーソル
52は、図14の表示領域の不図示の左側のエッジ部の
右側に移動して、領域56Bの右端部の文字”L”上に
移動して、領域56A,56Bの配列が選択される。こ
の状態で一例としてマウス204の右スイッチ204b
を操作することによって、領域56A,56Bの配列の
コピー等を行うことができる。
【0147】このように本例によれば、カーソルのスク
リーン・ラッピング動作によって、マウス204の移動
量を少なくしてアミノ酸の配列中の一連の広い領域、及
び左右に離れた端部の連続する領域の配列を容易に選択
することができる。同様に、ヌクレオチドの配列中から
所定の部分的な領域を選択する場合にも、カーソルのス
クリーン・ラッピング動作を行うことによって、選択動
作を容易にかつ高速に行うことができる。
リーン・ラッピング動作によって、マウス204の移動
量を少なくしてアミノ酸の配列中の一連の広い領域、及
び左右に離れた端部の連続する領域の配列を容易に選択
することができる。同様に、ヌクレオチドの配列中から
所定の部分的な領域を選択する場合にも、カーソルのス
クリーン・ラッピング動作を行うことによって、選択動
作を容易にかつ高速に行うことができる。
【0148】次に、カーソルのスクリーン・ラッピング
動作の別の例につき図17を参照して説明する。この例
では、ユーザが図1のマウス204を用いて所望のアプ
リケーション・プログラムを起動する際の動作につき説
明する。ここでは、図1の表示装置12の表示領域を図
17の表示領域201aとして、表示領域201aの長
辺方向をx方向、短辺方向をy方向とする。また、カー
ソルの座標を指定できる範囲を有効座標領域201bと
する。この場合、カーソルの座標を表示領域201aの
外側で、かつ有効座標領域201bの内側に設定する
と、カーソルは表示領域201aのエッジ部に表示され
る。
動作の別の例につき図17を参照して説明する。この例
では、ユーザが図1のマウス204を用いて所望のアプ
リケーション・プログラムを起動する際の動作につき説
明する。ここでは、図1の表示装置12の表示領域を図
17の表示領域201aとして、表示領域201aの長
辺方向をx方向、短辺方向をy方向とする。また、カー
ソルの座標を指定できる範囲を有効座標領域201bと
する。この場合、カーソルの座標を表示領域201aの
外側で、かつ有効座標領域201bの内側に設定する
と、カーソルは表示領域201aのエッジ部に表示され
る。
【0149】図17(a)は、表示領域201aに表示
されるプログラムリストの一例を示し、この図17
(a)の表示領域201aには、メニューリスト221
から選択されたプログラムの第1のグループリスト22
2(第1列)、及び第2のグループリスト223(第2
列)がx方向に2列に分けて表示されている。この表示
は、メニューリスト221上で「プログラム」の表示
(反転している)上をカーソル220が通過することに
よって生成される。本例では、第2のグループリスト2
23中のグループG16中の或るアプリケーション・プ
ログラムを実行したいものとして、カーソル220を
「グループG16」の表示(反転している)上に移動さ
せる。本例の表示領域201aでは、第2のグループリ
スト223(第2列)の右側(+x方向)にはサブ情報
を表示する余地が無いため、グループG16のアプリケ
ーションリスト224は、グループリスト222(第1
列)の左側(−x方向)に表示される。ここで、実行し
たいアプリケーション・プログラムがアプリケーション
A3であるとすると、どのようにカーソル220をアプ
リケーションリスト224上に移動するかが問題とな
る。
されるプログラムリストの一例を示し、この図17
(a)の表示領域201aには、メニューリスト221
から選択されたプログラムの第1のグループリスト22
2(第1列)、及び第2のグループリスト223(第2
列)がx方向に2列に分けて表示されている。この表示
は、メニューリスト221上で「プログラム」の表示
(反転している)上をカーソル220が通過することに
よって生成される。本例では、第2のグループリスト2
23中のグループG16中の或るアプリケーション・プ
ログラムを実行したいものとして、カーソル220を
「グループG16」の表示(反転している)上に移動さ
せる。本例の表示領域201aでは、第2のグループリ
スト223(第2列)の右側(+x方向)にはサブ情報
を表示する余地が無いため、グループG16のアプリケ
ーションリスト224は、グループリスト222(第1
列)の左側(−x方向)に表示される。ここで、実行し
たいアプリケーション・プログラムがアプリケーション
A3であるとすると、どのようにカーソル220をアプ
リケーションリスト224上に移動するかが問題とな
る。
【0150】即ち、単にカーソル220をグループG1
6上から左側のグループリスト222上に移動すると、
例えばグループG2のアプリケーションリストが表示さ
れ、グループG16のアプリケーションリスト224の
表示が消えてしまう。そこで、本例では、カーソル22
0をグループG16上から右方向(+x方向)に移動さ
せる。そして、カーソル220の座標をP(m,n)と
すると、更にカーソル220の座標が、表示領域201
aを囲む有効座標領域201bの+x方向の外側の座標
P(m1,n1)となるように、図1のマウス204を
右方向に移動する。
6上から左側のグループリスト222上に移動すると、
例えばグループG2のアプリケーションリストが表示さ
れ、グループG16のアプリケーションリスト224の
表示が消えてしまう。そこで、本例では、カーソル22
0をグループG16上から右方向(+x方向)に移動さ
せる。そして、カーソル220の座標をP(m,n)と
すると、更にカーソル220の座標が、表示領域201
aを囲む有効座標領域201bの+x方向の外側の座標
P(m1,n1)となるように、図1のマウス204を
右方向に移動する。
【0151】この結果、カーソル220は、グループG
16の表示の右側の位置から、図17(b)に示すよう
に座標P(0,n1)の位置の近傍、即ちアプリケーシ
ョンリスト224上に移動する。この後、マウス204
を僅かに下方向に移動して、カーソル220をアプリケ
ーションA3の表示上に移動させた状態で、図1の左ス
イッチ204aをクリックすることによって、極めて短
時間に、かつ容易にアプリケーションA3のプログラム
を起動することができる。
16の表示の右側の位置から、図17(b)に示すよう
に座標P(0,n1)の位置の近傍、即ちアプリケーシ
ョンリスト224上に移動する。この後、マウス204
を僅かに下方向に移動して、カーソル220をアプリケ
ーションA3の表示上に移動させた状態で、図1の左ス
イッチ204aをクリックすることによって、極めて短
時間に、かつ容易にアプリケーションA3のプログラム
を起動することができる。
【0152】次に、本例では、例えば図17(a)にお
いて、カーソル220の計算上の座標が表示領域201
aの外部で、かつ有効座標領域201bの内部にある
(カーソル220は表示領域201aのエッジ部に表示
されている)とき、即ちカーソル220が不活性である
(アイドリング状態にある)ときには、図1のマウス2
04のスイッチ204a,204bに別の機能を持たせ
るようにしてもよい。このようにスイッチ204a,2
04bに別の機能を持たせるときには、カーソル220
の形状を変形させてもよい。一例として、そのようにカ
ーソル220が不活性であるときに、左スイッチ204
aを操作しながらマウス204をドラッグしたときに
は、表示領域201aの大きさを所定範囲で伸縮できる
ようにしてもよい。更に、上記の範囲のみならず、例え
ばカーソル220が表示領域201aの輪郭(エッジ
部)に対して内側に隣接する幅L1の枠状の領域にある
ときにも、スイッチ204a,204bに対して別の機
能を持たせてもよい。
いて、カーソル220の計算上の座標が表示領域201
aの外部で、かつ有効座標領域201bの内部にある
(カーソル220は表示領域201aのエッジ部に表示
されている)とき、即ちカーソル220が不活性である
(アイドリング状態にある)ときには、図1のマウス2
04のスイッチ204a,204bに別の機能を持たせ
るようにしてもよい。このようにスイッチ204a,2
04bに別の機能を持たせるときには、カーソル220
の形状を変形させてもよい。一例として、そのようにカ
ーソル220が不活性であるときに、左スイッチ204
aを操作しながらマウス204をドラッグしたときに
は、表示領域201aの大きさを所定範囲で伸縮できる
ようにしてもよい。更に、上記の範囲のみならず、例え
ばカーソル220が表示領域201aの輪郭(エッジ
部)に対して内側に隣接する幅L1の枠状の領域にある
ときにも、スイッチ204a,204bに対して別の機
能を持たせてもよい。
【0153】以上をまとめると、本例による情報選択方
法は、複数の情報(221〜223)が表示された表示
領域(201a)より、その複数の情報の何れか、又は
その複数の情報の何れかに関連する情報を選択する情報
選択方法において、移動量及び移動方向の少なくとも一
方の情報を含む制御情報を生成し、この生成された制御
情報に基づいてその表示領域内にその複数の情報に重畳
させて移動自在にカーソル(220)(ポインタ)を表
示し、このカーソルとその複数の情報の表示との位置関
係に基づいて、その複数の情報の何れか、又はその複数
の情報の何れかに関連する情報を選択できるようにして
おき、そのカーソルをその表示領域の周縁部の第1の端
部に移動させた状態で、更にそのカーソルをその表示領
域の外側に移動させるようにその制御情報を与えたとき
に、そのカーソルをその表示領域のその周縁部のその第
1の端部とは異なる第2の端部を起点としてその表示領
域内で移動させるものである。
法は、複数の情報(221〜223)が表示された表示
領域(201a)より、その複数の情報の何れか、又は
その複数の情報の何れかに関連する情報を選択する情報
選択方法において、移動量及び移動方向の少なくとも一
方の情報を含む制御情報を生成し、この生成された制御
情報に基づいてその表示領域内にその複数の情報に重畳
させて移動自在にカーソル(220)(ポインタ)を表
示し、このカーソルとその複数の情報の表示との位置関
係に基づいて、その複数の情報の何れか、又はその複数
の情報の何れかに関連する情報を選択できるようにして
おき、そのカーソルをその表示領域の周縁部の第1の端
部に移動させた状態で、更にそのカーソルをその表示領
域の外側に移動させるようにその制御情報を与えたとき
に、そのカーソルをその表示領域のその周縁部のその第
1の端部とは異なる第2の端部を起点としてその表示領
域内で移動させるものである。
【0154】即ち、本例のカーソル(220)は、ポイ
ンティングデバイスの制御情報に応じて、スクリーン・
ラッピング方式で表示領域(201a)中を周期的に移
動する。この結果、GUI(Graphical User Interface)
方式でコンピュータ等の各種装置を操作する際に、登録
してあるアプリケーション・プログラムの個数が多い場
合でも、高速にカーソルを所望のアプリケーション・プ
ログラムの位置に移動させて、そのプログラムを起動す
ることができる。
ンティングデバイスの制御情報に応じて、スクリーン・
ラッピング方式で表示領域(201a)中を周期的に移
動する。この結果、GUI(Graphical User Interface)
方式でコンピュータ等の各種装置を操作する際に、登録
してあるアプリケーション・プログラムの個数が多い場
合でも、高速にカーソルを所望のアプリケーション・プ
ログラムの位置に移動させて、そのプログラムを起動す
ることができる。
【0155】本例において、その表示領域(201a)
が所定の軸に関して実質的に軸対称の領域(矩形領域、
又は楕円形の領域等)である場合、その第2の端部は、
その表示領域内でその所定の軸に関してその第1の端部
と実質的に軸対称の位置に設定されると共に、そのカー
ソル(220)のその第2の端部からの移動方向は、そ
の制御情報によってその第1の端部から更にそのカーソ
ルを移動させようとした方向であることが望ましい。こ
れによって、カーソル(220)の周期的な動きが容易
に予測できるため、ユーザが特に習熟することなく、直
ぐにその周期的なカーソル(220)の動きを活用でき
る。
が所定の軸に関して実質的に軸対称の領域(矩形領域、
又は楕円形の領域等)である場合、その第2の端部は、
その表示領域内でその所定の軸に関してその第1の端部
と実質的に軸対称の位置に設定されると共に、そのカー
ソル(220)のその第2の端部からの移動方向は、そ
の制御情報によってその第1の端部から更にそのカーソ
ルを移動させようとした方向であることが望ましい。こ
れによって、カーソル(220)の周期的な動きが容易
に予測できるため、ユーザが特に習熟することなく、直
ぐにその周期的なカーソル(220)の動きを活用でき
る。
【0156】また、そのカーソル(220)をその表示
領域(201a)のその周縁部の第1の幅の制限領域に
移動させた状態、及びそのカーソルをその制限領域から
更に第2の幅(L)だけ外側(201b)に移動させる
ようにその制御情報を与えた状態では、そのカーソルに
対してその情報の選択以外の別の機能を与えることが望
ましい。通常は、その表示領域(201a)の周縁部に
はアプリケーション・プログラムのアイコン等は表示さ
れていない。そこで、そのカーソル(220)がその表
示領域(201a)の周縁部に有る状態では、アプリケ
ーション・プログラムの選択以外の機能、例えばその表
示領域の伸縮機能等を持たせても、アプリケーション・
プログラムの選択には実質的に影響が無いと共に、カー
ソル(220)(ポインティングデバイス)の用途が広
がる利点がある。
領域(201a)のその周縁部の第1の幅の制限領域に
移動させた状態、及びそのカーソルをその制限領域から
更に第2の幅(L)だけ外側(201b)に移動させる
ようにその制御情報を与えた状態では、そのカーソルに
対してその情報の選択以外の別の機能を与えることが望
ましい。通常は、その表示領域(201a)の周縁部に
はアプリケーション・プログラムのアイコン等は表示さ
れていない。そこで、そのカーソル(220)がその表
示領域(201a)の周縁部に有る状態では、アプリケ
ーション・プログラムの選択以外の機能、例えばその表
示領域の伸縮機能等を持たせても、アプリケーション・
プログラムの選択には実質的に影響が無いと共に、カー
ソル(220)(ポインティングデバイス)の用途が広
がる利点がある。
【0157】また、本例では図17に示すように、その
表示領域(201a)内にその複数の情報、及びこれら
の情報に関連する情報が複数列(222,223)に表
示されているときに、そのカーソル(220)がその複
数列の一方の端部の列(223)の所定の情報の表示を
通過しているときに、その表示領域内のその複数列の他
方の端部の列(222)の外側にその所定の情報に関連
する複数のサブ情報(224)を表示し、更にそのカー
ソルをその複数列の一方の端部の列(223)からその
表示領域の外側に移動させるようにその制御情報を与え
たときに、そのカーソル(220)をその表示領域のそ
の複数列の他方の端部の列(222)に近い端部P
(0,n1)を起点として、その複数のサブ情報(22
4)の表示上に移動させて、その複数のサブ情報の何れ
かを選択可能としている。
表示領域(201a)内にその複数の情報、及びこれら
の情報に関連する情報が複数列(222,223)に表
示されているときに、そのカーソル(220)がその複
数列の一方の端部の列(223)の所定の情報の表示を
通過しているときに、その表示領域内のその複数列の他
方の端部の列(222)の外側にその所定の情報に関連
する複数のサブ情報(224)を表示し、更にそのカー
ソルをその複数列の一方の端部の列(223)からその
表示領域の外側に移動させるようにその制御情報を与え
たときに、そのカーソル(220)をその表示領域のそ
の複数列の他方の端部の列(222)に近い端部P
(0,n1)を起点として、その複数のサブ情報(22
4)の表示上に移動させて、その複数のサブ情報の何れ
かを選択可能としている。
【0158】即ち、図17に示すように、その表示領域
(201a)内に表示すべきアプリケーション・プログ
ラムの個数が多い場合には、例えばその右側の端部の列
(223)のサブ情報(224)が左側の端部の列(2
22)の外側に表示される。このときに、本例の周期的
な移動を行うカーソル(220)を適用すると、そのサ
ブ情報(224)中のアプリケーション・プログラムを
選択するためには、ポインティングデバイスによってそ
のカーソル(220)をその列(223)から更に右方
向に移動させるようにすればよい。これによって、アプ
リケーション・プログラムの個数が多く、プログラムリ
ストが複数列になるような場合でも、GUI方式で容易
にカーソルを所望のアプリケーション・プログラムの位
置に移動できる。
(201a)内に表示すべきアプリケーション・プログ
ラムの個数が多い場合には、例えばその右側の端部の列
(223)のサブ情報(224)が左側の端部の列(2
22)の外側に表示される。このときに、本例の周期的
な移動を行うカーソル(220)を適用すると、そのサ
ブ情報(224)中のアプリケーション・プログラムを
選択するためには、ポインティングデバイスによってそ
のカーソル(220)をその列(223)から更に右方
向に移動させるようにすればよい。これによって、アプ
リケーション・プログラムの個数が多く、プログラムリ
ストが複数列になるような場合でも、GUI方式で容易
にカーソルを所望のアプリケーション・プログラムの位
置に移動できる。
【0159】ここで、DNA又はRNAのヌクレオチド
の配列(塩基の配列)に対応するテキストデータ(又は
これを表1等に基づいて変換した数値データ)の要約値
を算出するためのハッシュ関数について更に説明する。
例えばハッシュ関数の演算対象を、人間のDNAのヌク
レオチドの配列とすると、そのテキストデータ又は数値
データのファイル(以下、「原ファイル」と言う)は1
00Mバイト程度にも達する膨大なファイルである。そ
こで、本発明で使用するハッシュ関数(ハッシュ演算ア
ルゴリズム)は、演算対象の原ファイルを分割した後の
複数の分割ファイルを順次処理することによって、全体
の要約値を算出する機能を持つことが望ましい。
の配列(塩基の配列)に対応するテキストデータ(又は
これを表1等に基づいて変換した数値データ)の要約値
を算出するためのハッシュ関数について更に説明する。
例えばハッシュ関数の演算対象を、人間のDNAのヌク
レオチドの配列とすると、そのテキストデータ又は数値
データのファイル(以下、「原ファイル」と言う)は1
00Mバイト程度にも達する膨大なファイルである。そ
こで、本発明で使用するハッシュ関数(ハッシュ演算ア
ルゴリズム)は、演算対象の原ファイルを分割した後の
複数の分割ファイルを順次処理することによって、全体
の要約値を算出する機能を持つことが望ましい。
【0160】また、ハッシュ関数は、一例として所定ビ
ット数m1(m1は例えば32,64等)のデータを1
ワードとして、所定ワード数m2(m2は例えば16,
32,64等)単位で、原ファイルの要約値を算出して
いく。この際に、データの処理単位は、m1・m2ビッ
トとなる。例えばm1=32,m2=16では、処理単
位は512ビットとなる。そこで、その原ファイルを複
数の分割ファイルに分割する際には、最初はm1・m2
ビットの整数倍(例えば10000倍程度)を単位とし
て分割していき、端数として残ったデータに所定データ
(長さを表すデータ、区切りデータ等)を付加してm1
・m2ビットの整数倍のファイルとすることで、要約値
の演算を効率的に実行することができる。
ット数m1(m1は例えば32,64等)のデータを1
ワードとして、所定ワード数m2(m2は例えば16,
32,64等)単位で、原ファイルの要約値を算出して
いく。この際に、データの処理単位は、m1・m2ビッ
トとなる。例えばm1=32,m2=16では、処理単
位は512ビットとなる。そこで、その原ファイルを複
数の分割ファイルに分割する際には、最初はm1・m2
ビットの整数倍(例えば10000倍程度)を単位とし
て分割していき、端数として残ったデータに所定データ
(長さを表すデータ、区切りデータ等)を付加してm1
・m2ビットの整数倍のファイルとすることで、要約値
の演算を効率的に実行することができる。
【0161】更に、暗号理論で使用されるハッシュ関数
は、テキストデータ中のスペースコード及び改行コード
等も全て演算処理対象としているが、ヌクレオチド及び
アミノ酸の配列情報については見やすくするために、例
えば配列番号1〜3で示すように、途中にスペースコー
ド、順序を示す数字コード、及び改行コードを挿入する
場合がある。そこで、ヌクレオチドの配列情報(アミノ
酸の配列情報も同様)を演算処理対象とするハッシュ関
数においては、テキストデータ中の所定コードとしての
スペースコード、数字コード、及び改行コードを無視す
る機能を付加することが望ましい。また、隣接する文字
を”−”(ハイフン)で分けることも考えられるが、こ
の場合には、更に”−”記号も無視する必要がある。
は、テキストデータ中のスペースコード及び改行コード
等も全て演算処理対象としているが、ヌクレオチド及び
アミノ酸の配列情報については見やすくするために、例
えば配列番号1〜3で示すように、途中にスペースコー
ド、順序を示す数字コード、及び改行コードを挿入する
場合がある。そこで、ヌクレオチドの配列情報(アミノ
酸の配列情報も同様)を演算処理対象とするハッシュ関
数においては、テキストデータ中の所定コードとしての
スペースコード、数字コード、及び改行コードを無視す
る機能を付加することが望ましい。また、隣接する文字
を”−”(ハイフン)で分けることも考えられるが、こ
の場合には、更に”−”記号も無視する必要がある。
【0162】更に、原ファイルを複数の分割ファイルに
分割する際には、複数の分割ファイルの順序等を示すデ
ータ(以下、「コメントデータ」と言う)を各分割ファ
イルに付加することが望ましいことがある。このように
分割ファイル、又は1つの原ファイルにコメントデータ
を付加する場合にも、コメントデータはハッシュ関数で
無視する必要がある。そのため、例えばコメントデータ
は所定の開始記号(例えば /* )及び終了記号(例
えば */)の間に記録し、ハッシュ関数で処理する際
に開始記号から終了記号までのデータは無視するように
すればよい。
分割する際には、複数の分割ファイルの順序等を示すデ
ータ(以下、「コメントデータ」と言う)を各分割ファ
イルに付加することが望ましいことがある。このように
分割ファイル、又は1つの原ファイルにコメントデータ
を付加する場合にも、コメントデータはハッシュ関数で
無視する必要がある。そのため、例えばコメントデータ
は所定の開始記号(例えば /* )及び終了記号(例
えば */)の間に記録し、ハッシュ関数で処理する際
に開始記号から終了記号までのデータは無視するように
すればよい。
【0163】また、上記の実施の形態では、例えば生物
のDNAのヌクレオチドの配列(又はタンパク質のアミ
ノ酸の配列)内の先頭の一部、及び末尾の一部の配列、
並びにその配列のテキストデータの要約値をインターネ
ット上で公開することがある。この場合には、その公開
されている一部の配列と、その要約値とからそのテキス
トデータの内容が推定される可能性もある。これを回避
するために、そのテキストデータをハッシュ関数で処理
する際に、その公開されている配列を除いた部分につい
てのみ、そのハッシュ関数を施して要約値を求めるよう
にしてもよい。
のDNAのヌクレオチドの配列(又はタンパク質のアミ
ノ酸の配列)内の先頭の一部、及び末尾の一部の配列、
並びにその配列のテキストデータの要約値をインターネ
ット上で公開することがある。この場合には、その公開
されている一部の配列と、その要約値とからそのテキス
トデータの内容が推定される可能性もある。これを回避
するために、そのテキストデータをハッシュ関数で処理
する際に、その公開されている配列を除いた部分につい
てのみ、そのハッシュ関数を施して要約値を求めるよう
にしてもよい。
【0164】次に、例えば核酸や遺伝子のヌクレオチド
の配列が見易いように順序を示す数字、スペース、及び
改行を含んでテキストデータとして記録されたファイル
(ファイルFD1とする)の要約値(message digest)を
計算するための方法の一例につき図15を参照して説明
する。なお、以下の要約値の計算は、例えば図1の情報
処理装置10において実行される。
の配列が見易いように順序を示す数字、スペース、及び
改行を含んでテキストデータとして記録されたファイル
(ファイルFD1とする)の要約値(message digest)を
計算するための方法の一例につき図15を参照して説明
する。なお、以下の要約値の計算は、例えば図1の情報
処理装置10において実行される。
【0165】図15において、先ずステップ151で
は、ファイルFD1中のテキストデータから数字コー
ド、スペースコード、及び改行コードを取り除いたテキ
ストデータをファイルFD2に記録する。その次のステ
ップ152では、例えばMD5ハッシュ関数を用いてフ
ァイルFD2中のテキストデータの128ビットの要約
値を算出する。この方法は処理は単純であるが、ファイ
ルFD1が例えば100Mバイト程度であるとすると、
ファイルFD2もほぼ100Mバイト程度になるため、
記憶装置の容量を大きくする必要がある。
は、ファイルFD1中のテキストデータから数字コー
ド、スペースコード、及び改行コードを取り除いたテキ
ストデータをファイルFD2に記録する。その次のステ
ップ152では、例えばMD5ハッシュ関数を用いてフ
ァイルFD2中のテキストデータの128ビットの要約
値を算出する。この方法は処理は単純であるが、ファイ
ルFD1が例えば100Mバイト程度であるとすると、
ファイルFD2もほぼ100Mバイト程度になるため、
記憶装置の容量を大きくする必要がある。
【0166】MD5ハッシュ関数のアルゴリズムについ
ては、上記のウェブサイト2で詳細に開示されている
が、ここでそのアルゴリズムについて簡単に説明する。
先ず、ここでは1ワード"word"とは、32ビットの量で
あり、1バイト"byte"とは、8ビットの量である。そし
て、一列のビットは、自然に一列のバイトと解釈するこ
とができ、ここではそれぞれ8ビットのデータの集まり
を、MSB(most significant bit)、即ち上位ビットが
最初に表示される1バイトのデータとして解釈すること
ができる。同様に、一列のバイトは、一列の32ビット
のワードと解釈することができ、ここではそれぞれ4バ
イトのデータの集まりを、LSB(least significant b
yte)、即ち下位バイトが最初に表示される1ワードのデ
ータとして解釈することができる。
ては、上記のウェブサイト2で詳細に開示されている
が、ここでそのアルゴリズムについて簡単に説明する。
先ず、ここでは1ワード"word"とは、32ビットの量で
あり、1バイト"byte"とは、8ビットの量である。そし
て、一列のビットは、自然に一列のバイトと解釈するこ
とができ、ここではそれぞれ8ビットのデータの集まり
を、MSB(most significant bit)、即ち上位ビットが
最初に表示される1バイトのデータとして解釈すること
ができる。同様に、一列のバイトは、一列の32ビット
のワードと解釈することができ、ここではそれぞれ4バ
イトのデータの集まりを、LSB(least significant b
yte)、即ち下位バイトが最初に表示される1ワードのデ
ータとして解釈することができる。
【0167】また、次のように演算等を定義する。即
ち、" x_i " は x に下付き文字 iを付加した表現を意
味し、その下付き文字が一つの式であるときには、例え
ば"x_[i+1]"のようにその式を括弧で囲むものとする。
同様に、上付き文字(べき乗)としては ^ を用いる。
従って、"x^i" はx のi 乗を意味する。また、記号"+"
は、ワードの加算、即ち法 2^32 の加算を意味する。そ
して、" X <<< s " は、X をs ビットだけ左側に循環的
にシフトして(回転して)得られる32ビットの値を意
味する。また、 not(X) は、X のビット毎の補数(compl
ement)を意味し、" X v Y"は、X とY とにビット毎のO
R演算を施して得られる値を意味し、" X xor Y"はX と
Y とにビット毎のXOR(排他的論理和)演算を施して
得られる値を意味し、"XY"はX とY とにビット毎のAN
D演算を施して得られる値を意味する。
ち、" x_i " は x に下付き文字 iを付加した表現を意
味し、その下付き文字が一つの式であるときには、例え
ば"x_[i+1]"のようにその式を括弧で囲むものとする。
同様に、上付き文字(べき乗)としては ^ を用いる。
従って、"x^i" はx のi 乗を意味する。また、記号"+"
は、ワードの加算、即ち法 2^32 の加算を意味する。そ
して、" X <<< s " は、X をs ビットだけ左側に循環的
にシフトして(回転して)得られる32ビットの値を意
味する。また、 not(X) は、X のビット毎の補数(compl
ement)を意味し、" X v Y"は、X とY とにビット毎のO
R演算を施して得られる値を意味し、" X xor Y"はX と
Y とにビット毎のXOR(排他的論理和)演算を施して
得られる値を意味し、"XY"はX とY とにビット毎のAN
D演算を施して得られる値を意味する。
【0168】次に、上記のファイルFD2に記録されて
いるテキストデータ(ファイルFD1から数字コード、
スペースコード、及び改行コードを取り除いたテキスト
データ)を、要約値を求めるべきbビットのメッセージ
であるとする。その値bは、任意の非負整数であり、b
は0であってもよい。その値bは8の倍数である必要は
なく、更に任意に大きい値であってもよい。そのbビッ
トのメッセージの一連のビットは次のように表すことが
できる。
いるテキストデータ(ファイルFD1から数字コード、
スペースコード、及び改行コードを取り除いたテキスト
データ)を、要約値を求めるべきbビットのメッセージ
であるとする。その値bは、任意の非負整数であり、b
は0であってもよい。その値bは8の倍数である必要は
なく、更に任意に大きい値であってもよい。そのbビッ
トのメッセージの一連のビットは次のように表すことが
できる。
【0169】m_0 m_1 ... m_[b-1] そのメッセージの要約値は、次の5つのステップA〜E
の処理で計算することができる。 [ステップA](追加ビットの付加) そのメッセージには、そのメッセージをビット列で表現
したときの長さが法512のもとで448に合同となる
ように追加ビットが付加(拡張)される。即ち、そのメ
ッセージは、その長さが512の倍数のビットよりも6
4ビットだけ少ない長さになるように拡張される。追加
ビットの付加は、たとえそのメッセージの長さが既に法
512のもとで448に合同である場合でも常に実行さ
れる。
の処理で計算することができる。 [ステップA](追加ビットの付加) そのメッセージには、そのメッセージをビット列で表現
したときの長さが法512のもとで448に合同となる
ように追加ビットが付加(拡張)される。即ち、そのメ
ッセージは、その長さが512の倍数のビットよりも6
4ビットだけ少ない長さになるように拡張される。追加
ビットの付加は、たとえそのメッセージの長さが既に法
512のもとで448に合同である場合でも常に実行さ
れる。
【0170】追加ビットの付加は、単一のビット"1" を
付加した後に、ビットの長さが法512のもとで448
に合同となるようにビット"0" を付加することによって
実行される。全ての場合に、少なくとも1ビット、そし
て最大で512ビットが付加される。 [ステップB](長さ情報の付加) そのメッセージのビット数であるb(ステップAにおけ
る追加ビットの付加が行われる前の長さ)の64ビット
の表現が、ステップAで得られたメッセージに付加され
る。実際には起こりそうもないが、仮にbが64ビット
よりも大きいときには、bの表現の下位の64ビット分
だけが付加される。これらのビットは、2つの32ビッ
トのワードとして、上述の内容に対応して下位のワード
が最初になるように付加される。
付加した後に、ビットの長さが法512のもとで448
に合同となるようにビット"0" を付加することによって
実行される。全ての場合に、少なくとも1ビット、そし
て最大で512ビットが付加される。 [ステップB](長さ情報の付加) そのメッセージのビット数であるb(ステップAにおけ
る追加ビットの付加が行われる前の長さ)の64ビット
の表現が、ステップAで得られたメッセージに付加され
る。実際には起こりそうもないが、仮にbが64ビット
よりも大きいときには、bの表現の下位の64ビット分
だけが付加される。これらのビットは、2つの32ビッ
トのワードとして、上述の内容に対応して下位のワード
が最初になるように付加される。
【0171】このようにして得られたメッセージのビッ
ト表現の長さは、正確に512の倍数、即ち512ビッ
トの倍数となる。言い換えると、このようにして得られ
たメッセージの長さは、正確に16個の(32ビット
の)ワードの倍数となる。そこで、このようにして得ら
れたメッセージの各ワードを M[0 ... N-1] とする。こ
こで、Nは16の倍数である。
ト表現の長さは、正確に512の倍数、即ち512ビッ
トの倍数となる。言い換えると、このようにして得られ
たメッセージの長さは、正確に16個の(32ビット
の)ワードの倍数となる。そこで、このようにして得ら
れたメッセージの各ワードを M[0 ... N-1] とする。こ
こで、Nは16の倍数である。
【0172】 [ステップC](要約値バッファの初期化) 要約値を計算するために4ワードのバッファ (A,B,C,D)
を使用する。ここで、A, B, C, D はそれぞれ32ビッ
トのレジスタであり、これらのレジスタは下位バイトを
最初に記載する16進表現で次の値に初期化される。 ワード A: 01 23 45 67 ワード B: 89 ab cd ef ワード C: fe dc ba 98 ワード D: 76 54 32 10 [ステップD]16ワードブロック毎のメッセージの処
理 ここでは、それぞれ入力として3個の32ビットのワー
ドを受け取って出力として1個の32ビットのワードを
生成する4個の補助的な関数を次のように定義する。
を使用する。ここで、A, B, C, D はそれぞれ32ビッ
トのレジスタであり、これらのレジスタは下位バイトを
最初に記載する16進表現で次の値に初期化される。 ワード A: 01 23 45 67 ワード B: 89 ab cd ef ワード C: fe dc ba 98 ワード D: 76 54 32 10 [ステップD]16ワードブロック毎のメッセージの処
理 ここでは、それぞれ入力として3個の32ビットのワー
ドを受け取って出力として1個の32ビットのワードを
生成する4個の補助的な関数を次のように定義する。
【0173】 F(X,Y,Z) = XY v not(X) Z G(X,Y,Z) = XZ v Y not(Z) H(X,Y,Z) = X xor Y xor Z I(X,Y,Z) = Y xor (X v not(Z)) 各ビット位置で、関数Fは、Xが真ならばYで、そうで
なければZという条件式として作用する。関数Fは、v
の代わりに+を使って定義することもできた。なぜな
ら、 XY と not(X)Z とは、同じビット位置で共に1と
なることが決してないからである。
なければZという条件式として作用する。関数Fは、v
の代わりに+を使って定義することもできた。なぜな
ら、 XY と not(X)Z とは、同じビット位置で共に1と
なることが決してないからである。
【0174】関数G,H,Iは、X,Y,Z のビットからビ
ット毎に並行に出力を生成する点で関数Fと同様であ
る。また、関数Hは、その入力に対してビット毎のXO
R演算、又はパリティ演算を施す関数である。更にこの
ステップDでは、正弦関数から導かれる64個の要素を
持つテーブルT[1 ... 64]を用いる。即ち、そのテーブ
ルのi番目の要素を T[i] として、iの単位をラジアン
とすると、次のようになる。
ット毎に並行に出力を生成する点で関数Fと同様であ
る。また、関数Hは、その入力に対してビット毎のXO
R演算、又はパリティ演算を施す関数である。更にこの
ステップDでは、正弦関数から導かれる64個の要素を
持つテーブルT[1 ... 64]を用いる。即ち、そのテーブ
ルのi番目の要素を T[i] として、iの単位をラジアン
とすると、次のようになる。
【0175】 T[i]= {4294967296 × abs(sin(i))}の整数部 なお、abs(sin(i)) は sin(i) の絶対値である。これら
の関数及びテーブルを用いて以下の演算を行う。各16
ワードのブロックを処理するために、変数iについて0
から(N/16−1)まで以下の[iに関するループの
始まり]から[iに関するループの終わり]までの処理
を繰り返して行う。
の関数及びテーブルを用いて以下の演算を行う。各16
ワードのブロックを処理するために、変数iについて0
から(N/16−1)まで以下の[iに関するループの
始まり]から[iに関するループの終わり]までの処理
を繰り返して行う。
【0176】[iに関するループの始まり]先ず変数j
について0から15まで、1ワードのメッセージ M[i*1
6+j]を X[j] にコピーする。続いて、バッファA,B,C,D
の値をそれぞれ次のようにバッファAA,BB,CC,DD にコピ
ーする。
について0から15まで、1ワードのメッセージ M[i*1
6+j]を X[j] にコピーする。続いて、バッファA,B,C,D
の値をそれぞれ次のようにバッファAA,BB,CC,DD にコピ
ーする。
【0177】AA = A, BB = B, CC = C, DD = D [ラウンド1]ここで、[abcd k s i] は次の処理を行
うものと定義する。 a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s) そして、次の16回の処理を行う。
うものと定義する。 a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s) そして、次の16回の処理を行う。
【0178】 [ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4] [ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8] [ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12] [ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16] [ラウンド2]ここで、[abcd k s i] は次の処理を行
うものと定義する。
うものと定義する。
【0179】 a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s) そして、次の16回の処理を行う。 [ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20] [ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24] [ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28] [ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32] [ラウンド3]ここで、[abcd k s t] は次の処理を行
うものと定義する。
うものと定義する。
【0180】 a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s) そして、次の16回の処理を行う。 [ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36] [ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40] [ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44] [ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48] [ラウンド4]ここで、[abcd k s t] は次の処理を行
うものと定義する。
うものと定義する。
【0181】 a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s) そして、次の16回の処理を行う。 [ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52] [ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56] [ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60] [ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64] 次に、バッファA,B,C,D の値にそれぞれ次のようにバッ
ファAA,BB,CC,DD の値(このブロックの処理が始まる前
のバッファA,B,C,D の値)を加算する。
ファAA,BB,CC,DD の値(このブロックの処理が始まる前
のバッファA,B,C,D の値)を加算する。
【0182】 A = A + AA, B = B + BB, C = C + CC, D = D + DD [iに関するループの終わり] [ステップE]出力 出力として計算された要約値はバッファA, B, C, D の
値そのものである。即ち、バッファA の下位バイトから
始まって、バッファD の上位バイトで終わる値がその要
約値である。なお、要約値が32ビット又は64ビット
でよいような場合には、それぞれ例えばバッファA 、又
はバッファA,B の値のみを要約値として用いてもよい。
値そのものである。即ち、バッファA の下位バイトから
始まって、バッファD の上位バイトで終わる値がその要
約値である。なお、要約値が32ビット又は64ビット
でよいような場合には、それぞれ例えばバッファA 、又
はバッファA,B の値のみを要約値として用いてもよい。
【0183】また、MD5ハッシュ関数は、元のデータ
の推定が困難となるように複雑な処理を行っているが、
ヌクレオチドやアミノ酸の配列データの要約値を計算す
る場合には元のデータが或る程度推定されても特に不都
合がないことがある。この場合には、メッセージに対応
する一連の所定ビット数s(sはMD5ハッシュ関数で
は512)のブロックBi(i=1〜I)毎の演算を、
順次次のような簡単な演算で行うことも考えられる。
の推定が困難となるように複雑な処理を行っているが、
ヌクレオチドやアミノ酸の配列データの要約値を計算す
る場合には元のデータが或る程度推定されても特に不都
合がないことがある。この場合には、メッセージに対応
する一連の所定ビット数s(sはMD5ハッシュ関数で
は512)のブロックBi(i=1〜I)毎の演算を、
順次次のような簡単な演算で行うことも考えられる。
【0184】 M1 =(a・B1+b)mod2s Mi =(Mi-1 ・Bi+b)mod2s (i=2〜I) この場合、a,bは0以外のsビットの数であり、MI
が最終的な要約値となる。次に、上記のファイルFD1
の要約値を計算するための別の方法につき図16を参照
して説明する。ここではMD5ハッシュ関数を用いて要
約値を計算するものとする。以下の計算も一例として図
1の情報処理装置10で実行される。
が最終的な要約値となる。次に、上記のファイルFD1
の要約値を計算するための別の方法につき図16を参照
して説明する。ここではMD5ハッシュ関数を用いて要
約値を計算するものとする。以下の計算も一例として図
1の情報処理装置10で実行される。
【0185】先ず図16のステップ161において、ヌ
クレオチド自体を表すコードの個数を表す変数NX,N
Yの値をそれぞれ0に設定し、要約値を表す32ビット
ずつのバッファA,B,C,Dの値を所定の初期値(上
記のステップCで設定した値)に設定し、要約値の計算
対象のテキストデータを空にする。次のステップ162
において、ファイルFD1中のテキストデータの先頭か
ら1文字分(ここでは1バイト)の文字コード(ここで
は全ての種類のコードを含む意味である)を読み取り、
それに続くステップ163において、読み取った文字コ
ードが数字コード、スペースコード、又は改行コードか
をチェックする。そして、読み取った文字コードが数
字、スペース、改行の何れのコードでもない、即ち本例
ではA〜Z,a〜zの何れかのコードであるときには、
ステップ164に移行して、変数NXの値に1を加算す
ると共に、読み取った文字コードを要約値の計算対象の
テキストデータに加える。続いてステップ165におい
て、変数NX(読み取られた有効な文字コードの個数)
が、要約値の計算単位である文字数NA に達したかどう
かを調べる。本例では、NA =512/8=64であ
る。
クレオチド自体を表すコードの個数を表す変数NX,N
Yの値をそれぞれ0に設定し、要約値を表す32ビット
ずつのバッファA,B,C,Dの値を所定の初期値(上
記のステップCで設定した値)に設定し、要約値の計算
対象のテキストデータを空にする。次のステップ162
において、ファイルFD1中のテキストデータの先頭か
ら1文字分(ここでは1バイト)の文字コード(ここで
は全ての種類のコードを含む意味である)を読み取り、
それに続くステップ163において、読み取った文字コ
ードが数字コード、スペースコード、又は改行コードか
をチェックする。そして、読み取った文字コードが数
字、スペース、改行の何れのコードでもない、即ち本例
ではA〜Z,a〜zの何れかのコードであるときには、
ステップ164に移行して、変数NXの値に1を加算す
ると共に、読み取った文字コードを要約値の計算対象の
テキストデータに加える。続いてステップ165におい
て、変数NX(読み取られた有効な文字コードの個数)
が、要約値の計算単位である文字数NA に達したかどう
かを調べる。本例では、NA =512/8=64であ
る。
【0186】NX=NA であるときには、ステップ16
6に移行して、変数NXを0に戻すと共に、変数NY
(NA 個の文字単位のブロック数)に1を加算した後、
ステップ167に移行して、計算対象のテキストデータ
(NA 個の文字コードを含んでいる)の要約値(A,
B,C,D)を計算する。これは、上記のステップDを
1回実行することを意味する。その後、計算対象のテキ
ストデータを空にしてから、動作はステップ168に移
行して、ファイルFD1中に読み取り対象となる文字コ
ードがまた有るかどうかがチェックされる。また、ステ
ップ163で読み取られた文字コードが数字、スペー
ス、改行の何れかのコードであるときには、ステップ1
69で読み取った文字コードを無視した後、ステップ1
68に移行する。更に、ステップ165で変数NXがN
A に達していないときにも、動作はステップ168に移
行する。
6に移行して、変数NXを0に戻すと共に、変数NY
(NA 個の文字単位のブロック数)に1を加算した後、
ステップ167に移行して、計算対象のテキストデータ
(NA 個の文字コードを含んでいる)の要約値(A,
B,C,D)を計算する。これは、上記のステップDを
1回実行することを意味する。その後、計算対象のテキ
ストデータを空にしてから、動作はステップ168に移
行して、ファイルFD1中に読み取り対象となる文字コ
ードがまた有るかどうかがチェックされる。また、ステ
ップ163で読み取られた文字コードが数字、スペー
ス、改行の何れかのコードであるときには、ステップ1
69で読み取った文字コードを無視した後、ステップ1
68に移行する。更に、ステップ165で変数NXがN
A に達していないときにも、動作はステップ168に移
行する。
【0187】そして、ステップ168において、読み取
り対象となる文字コードがまだ有るときには、動作はス
テップ162に戻り、ファイルFD1中のテキストデー
タから次の1文字分の文字コードが読み取られて、以下
ステップ163〜168の動作が繰り返される。一方、
ステップ168において、読み取り対象となる文字コー
ドが無くなったときには、動作はステップ170に移行
して、要約値(A,B,C,D)が計算される。この際
に、変数NX,NYの値より読み取られた有効な文字コ
ードの全個数が分かるため、上記のステップA、ステッ
プB、ステップD、ステップEが実行される。得られた
要約値(A,B,C,D)が最終的な要約値となる。
り対象となる文字コードがまだ有るときには、動作はス
テップ162に戻り、ファイルFD1中のテキストデー
タから次の1文字分の文字コードが読み取られて、以下
ステップ163〜168の動作が繰り返される。一方、
ステップ168において、読み取り対象となる文字コー
ドが無くなったときには、動作はステップ170に移行
して、要約値(A,B,C,D)が計算される。この際
に、変数NX,NYの値より読み取られた有効な文字コ
ードの全個数が分かるため、上記のステップA、ステッ
プB、ステップD、ステップEが実行される。得られた
要約値(A,B,C,D)が最終的な要約値となる。
【0188】具体的にMD5ハッシュ関数を用いて図1
5、及び図16の計算方法で、配列番号1、2のヌクレ
オチドの配列を示すテキストデータ、及び配列番号3の
アミノ酸の配列を示すテキストデータの要約値を計算し
た結果は、16進数表示で以下のようになる。これらの
要約値は、配列の改行方法等を変えても変化しない一定
の値である。
5、及び図16の計算方法で、配列番号1、2のヌクレ
オチドの配列を示すテキストデータ、及び配列番号3の
アミノ酸の配列を示すテキストデータの要約値を計算し
た結果は、16進数表示で以下のようになる。これらの
要約値は、配列の改行方法等を変えても変化しない一定
の値である。
【0189】 MD5の要約値(配列番号1)=hex(1c0a0b1d72e256bb10556a2fb52d28ae) MD5の要約値(配列番号2)=hex(ec8c3c9af5630f61f3d0cd2bd13b0f0d) MD5の要約値(配列番号3)=hex(164f14406ac21158e20ba72666a033ab) この要約値の計算方法によれば、ファイルFD1から逐
次関係の無い文字コードを取り除きながら要約値を計算
しているため、記憶装置の記憶容量を殆ど増加する必要
がないという利点がある。従って、ファイルFD1の情
報量が大きくなる程、この計算方法は有利になる。ま
た、上記のステップ151、163では、所定コードと
しての数字コード、スペースコード、改行コードを取り
除いているが、それ以外にコメント文などを取り除くよ
うにしてもよい。
次関係の無い文字コードを取り除きながら要約値を計算
しているため、記憶装置の記憶容量を殆ど増加する必要
がないという利点がある。従って、ファイルFD1の情
報量が大きくなる程、この計算方法は有利になる。ま
た、上記のステップ151、163では、所定コードと
しての数字コード、スペースコード、改行コードを取り
除いているが、それ以外にコメント文などを取り除くよ
うにしてもよい。
【0190】なお、本発明は上述の実施の形態に限定さ
れず、本発明の要旨を逸脱しない範囲で種々の構成を取
り得ることは勿論である。
れず、本発明の要旨を逸脱しない範囲で種々の構成を取
り得ることは勿論である。
【0191】
【発明の効果】本発明によれば、核酸や遺伝子中のヌク
レオチドの配列情報、又はタンパク質やペプチド中のア
ミノ酸の配列情報を、それらの配列が所定の長さを超え
たときに、それらの配列を示すテキストデータよりも少
ないデータ量で記録することができる。従って、それら
の配列情報を通信回線を介して短時間に送信することが
可能となる。
レオチドの配列情報、又はタンパク質やペプチド中のア
ミノ酸の配列情報を、それらの配列が所定の長さを超え
たときに、それらの配列を示すテキストデータよりも少
ないデータ量で記録することができる。従って、それら
の配列情報を通信回線を介して短時間に送信することが
可能となる。
【0192】また、それらの配列を示すテキストデー
タ、又はこれに対応する数値データの数学的な要約値を
用いた場合には、膨大な長さの2つのヌクレオチドの配
列同士、又は2つのアミノ酸の配列同士の同一性を少な
いデータ量で高精度に確認することができる。また、同
一の複数の配列情報を誤って購入することも防止でき
る。
タ、又はこれに対応する数値データの数学的な要約値を
用いた場合には、膨大な長さの2つのヌクレオチドの配
列同士、又は2つのアミノ酸の配列同士の同一性を少な
いデータ量で高精度に確認することができる。また、同
一の複数の配列情報を誤って購入することも防止でき
る。
【0193】また、シンドローム情報を用いた場合に
は、2つのヌクレオチドの配列(又は2つのアミノ酸の
配列)の間の相違する部分を少ないデータ量で容易に検
出できると共に、必要に応じてその相違する部分の情報
を復元することができる。従って、例えばSNP(一塩
基変位多型:Single Nucleotide Polymorphism)を少な
いデータ量で容易に発見することができる。
は、2つのヌクレオチドの配列(又は2つのアミノ酸の
配列)の間の相違する部分を少ないデータ量で容易に検
出できると共に、必要に応じてその相違する部分の情報
を復元することができる。従って、例えばSNP(一塩
基変位多型:Single Nucleotide Polymorphism)を少な
いデータ量で容易に発見することができる。
【0194】また、本発明によれば、ヌクレオチドの配
列情報、又はアミノ酸の配列情報を少ないデータ量でユ
ーザに供給できるビジネスモデルを提供することができ
る。この場合に、更に数学的な要約値、又はシンドロー
ム情報を用いることによって、ユーザが提供された配列
情報と情報供給者が保持している配列情報との同一性の
確認、又は相違する部分の検出や復元を容易に行うこと
ができる。
列情報、又はアミノ酸の配列情報を少ないデータ量でユ
ーザに供給できるビジネスモデルを提供することができ
る。この場合に、更に数学的な要約値、又はシンドロー
ム情報を用いることによって、ユーザが提供された配列
情報と情報供給者が保持している配列情報との同一性の
確認、又は相違する部分の検出や復元を容易に行うこと
ができる。
【0195】また、本発明の要約値の計算方法によれ
ば、例えばヌクレオチドの配列を見易くするための数値
コードやスペースコードなど、又はその配列の内容を説
明するためのコメント文などの所定コードを無視して、
必要な情報のみの要約値を算出できるため、その所定コ
ードの内容が変化しても、常に同一の要約値を算出でき
る利点がある。従って、その要約値の計算方法は、特に
ヌクレオチドやアミノ酸の配列情報の要約値を算出する
場合に有効である。
ば、例えばヌクレオチドの配列を見易くするための数値
コードやスペースコードなど、又はその配列の内容を説
明するためのコメント文などの所定コードを無視して、
必要な情報のみの要約値を算出できるため、その所定コ
ードの内容が変化しても、常に同一の要約値を算出でき
る利点がある。従って、その要約値の計算方法は、特に
ヌクレオチドやアミノ酸の配列情報の要約値を算出する
場合に有効である。
【図1】 本発明の実施の形態の一例で使用されるコン
ピュータシステムを示す概略構成図である。
ピュータシステムを示す概略構成図である。
【図2】 その実施の形態の一例で処理対象とするDN
A、及びそのヌクレオチドの配列のバイナリーデータに
よる表現の例を示す図である。
A、及びそのヌクレオチドの配列のバイナリーデータに
よる表現の例を示す図である。
【図3】 その実施の形態の一例におけるDNA情報の
供給者の動作の一部を示すフローチャートである。
供給者の動作の一部を示すフローチャートである。
【図4】 図3の動作に続くDNA情報の供給者の動作
を示すフローチャートである。
を示すフローチャートである。
【図5】 その実施の形態の一例におけるDNA情報の
ユーザの動作の一部を示すフローチャートである。
ユーザの動作の一部を示すフローチャートである。
【図6】 図5の動作に続くDNA情報のユーザの動作
を示すフローチャートである。
を示すフローチャートである。
【図7】 標準試料E(DNA)のヌクレオチド(20
48個)の配列を表すテキストデータを4行で32列の
部分テキストデータT(i,j)に分割した状態を示す
図である。
48個)の配列を表すテキストデータを4行で32列の
部分テキストデータT(i,j)に分割した状態を示す
図である。
【図8】 標準試料Eの変換データA(i,j)、及び
これらから算出されるシンドロームC(j),B1
(i),B2(i)を示す図である。
これらから算出されるシンドロームC(j),B1
(i),B2(i)を示す図である。
【図9】 標準試料EのシンドロームC(j),B1
(i),B2(i)を示す図である。
(i),B2(i)を示す図である。
【図10】 試料F(DNA)のヌクレオチド(204
8個)の配列を表すテキストデータを4行で32列の部
分テキストデータTF(i,j)に分割した状態を示す
図である。
8個)の配列を表すテキストデータを4行で32列の部
分テキストデータTF(i,j)に分割した状態を示す
図である。
【図11】 試料Fの変換データAF(i,j)、及び
これらから算出されるシンドロームCF(j),B1F
(i),B2F(i)を示す図である。
これらから算出されるシンドロームCF(j),B1F
(i),B2F(i)を示す図である。
【図12】 試料FのシンドロームCF(j),B1F
(i),B2F(i)、及び復元された変換データを示
す図である。
(i),B2F(i)、及び復元された変換データを示
す図である。
【図13】 試料G(タンパク質)のアミノ酸(820
個)の配列を表すテキストデータを8行で26列の部分
テキストデータに分割した状態を示す図である。
個)の配列を表すテキストデータを8行で26列の部分
テキストデータに分割した状態を示す図である。
【図14】 図13中の一部のデータを示す図である。
【図15】 本発明の実施の形態の第1の要約値計算シ
ーケンスを示すフローチャートである。
ーケンスを示すフローチャートである。
【図16】 本発明の実施の形態の第2の要約値計算シ
ーケンスを示すフローチャートである。
ーケンスを示すフローチャートである。
【図17】 本発明の実施の形態の表示画面内でのカー
ソルの移動方法の一例を示す図である。
ソルの移動方法の一例を示す図である。
1…通信ネットワーク、2A,2B…コンピュータシス
テム、3…コンテンツのプロバイダ、4…DNAのシー
ケンサー、10…情報処理装置、15…CD−R/RW
ドライブ、16…CD−R、17…磁気ディスク装置、
19…マスターファイル、20…ワーキングファイル、
21…コンテンツファイル、31…コンテンツファイル
テム、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 of nucleotide sequence and amino acid sequence <130> 2001A09 <140> <141> <150> JP 2000-117343 <151> 2000-04-19 <150> JP 2000-149122 <151> 2000-05-19 <160> 3 <170> PatentIn Ver. 2.0 <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 (40)
- 【請求項1】 一列のヌクレオチドの配列情報の記録方
法であって、 前記一列のヌクレオチドの配列に対応するテキストデー
タよりも少ないデータ量で、前記一列のヌクレオチドの
配列に関する情報を記録することを特徴とするヌクレオ
チドの配列情報の記録方法。 - 【請求項2】 請求項1記載の記録方法であって、 前記一列のヌクレオチドは4種類のヌクレオチドよりな
り、 前記4種類のヌクレオチドを互いに異なる6ビット以下
のデータで表すことを特徴とするヌクレオチドの配列情
報の記録方法。 - 【請求項3】 請求項2記載の記録方法であって、 前記4種類のヌクレオチドを互いに異なる2ビットのデ
ータで表すことを特徴とするヌクレオチドの配列情報の
記録方法。 - 【請求項4】 請求項2、又は3記載の記録方法であっ
て、 前記一列のヌクレオチドは、一つのDNAを構成する1
対の重合体の鎖の内の1本の鎖の全部又は一部であり、 前記4種類のヌクレオチド中の互いに相補的な2対のヌ
クレオチドをそれぞれ互いにビット反転の関係にある1
対のデータで表すことを特徴とするヌクレオチドの配列
情報の記録方法。 - 【請求項5】 請求項2、又は3記載の記録方法であっ
て、 前記一列のヌクレオチドは、一つのRNAを構成する一
つの重合体の鎖の全部又は一部であることを特徴とする
ヌクレオチドの配列情報の記録方法。 - 【請求項6】 請求項1記載の記録方法であって、 前記一列のヌクレオチドの配列に関する情報を、前記配
列を表すテキストデータ又は数値データの数学的な要約
値で表すことを特徴とするヌクレオチドの配列情報の記
録方法。 - 【請求項7】 請求項6記載の記録方法であって、 前記一列のヌクレオチドは25個以上のヌクレオチドの
配列であり、 前記一列のヌクレオチドの配列に関する情報を40ビッ
ト以上で192ビット以下の長さの数学的な要約値で表
すことを特徴とするヌクレオチドの配列情報の記録方
法。 - 【請求項8】 請求項7記載の記録方法であって、 前記数学的な要約値は、前記一列のヌクレオチドの配列
に対応するテキストデータ又は数値データにMD5ハッ
シュ関数、又はSHSハッシュ関数の演算を施して得ら
れることを特徴とするヌクレオチドの配列情報の記録方
法。 - 【請求項9】 請求項1〜6の何れか一項記載の記録方
法であって、 前記一列のヌクレオチドは遺伝子の少なくとも一部であ
ることを特徴とするヌクレオチドの配列情報の記録方
法。 - 【請求項10】 請求項1記載の記録方法であって、 前記一列のヌクレオチドの配列に対応するテキストデー
タを、前記ヌクレオチドの配列方向に複数行で、かつ前
記配列方向に交差する非配列方向に複数列の部分テキス
トデータに分割し、 前記部分テキストデータを、それぞれ複数種類のヌクレ
オチドに対して互いに異なる6ビット以下の数値データ
を割り当てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求め、 前記第1組及び第2組のシンドローム情報で前記一列の
ヌクレオチドの配列を表すことを特徴とするヌクレオチ
ドの配列情報の記録方法。 - 【請求項11】 請求項10記載の記録方法であって、 複数行の前記変換データの各行の変換データをそれぞれ
前記非配列方向に交互に第1群の変換データ及び第2群
の変換データに分けたとき、 前記第1の演算は、所定の整数Kを用いて前記第1群の
変換データ、及び前記第2群の変換データのそれぞれの
法Kのもとの和を求める演算であり、 前記第2の演算は、複数列の前記変換データの各列の変
換データに対する法Kのもとの和を求める演算であるこ
とを特徴とするヌクレオチドの配列情報の記録方法。 - 【請求項12】 請求項10、又は11記載の記録方法
であって、 前記一列のヌクレオチドの配列を基準配列として、該基
準配列の2組の前記シンドローム情報に対応させて、検
査対象の一列のヌクレオチドの配列の2組のシンドロー
ム情報を求め、 前記4組のシンドローム情報より前記基準配列に対する
前記検査対象の一列のヌクレオチドの配列の相違部を求
めることを特徴とするヌクレオチドの配列情報の記録方
法。 - 【請求項13】 一列のヌクレオチドの配列情報の記録
装置であって、 一つの核酸の少なくとも一部に含まれる一列のヌクレオ
チドの配列情報を読み取る配列読み取り装置と、 該配列読み取り装置で読み取られた配列の情報をテキス
トデータとして第1ファイルに記録する第1記録手段
と、 前記第1ファイルのテキストデータよりも少ないデータ
量で、前記配列読み取り装置で読み取られた配列の情報
を表し、該配列の情報を第2ファイルに記録する第2記
録手段とを有することを特徴とするヌクレオチドの配列
情報の記録装置。 - 【請求項14】 請求項13記載の記録装置であって、 前記第2記録手段は、前記配列読み取り装置で読み取ら
れた一列のヌクレオチドの配列を、該配列を表すテキス
トデータ又は数値データの数学的な要約値で表すことを
特徴とするヌクレオチドの配列情報の記録装置。 - 【請求項15】 請求項13記載の記録装置であって、 前記第2記録手段は、前記配列読み取り装置で読み取ら
れた一列のヌクレオチドの配列に対応するテキストデー
タを、前記ヌクレオチドの配列方向に複数行で、かつ前
記配列方向に交差する非配列方向に複数列の部分テキス
トデータに分割し、 前記部分テキストデータを、それぞれ複数種類のヌクレ
オチドに対して互いに異なる6ビット以下の数値データ
を割り当てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求め、 前記第1組及び第2組のシンドローム情報を前記第2フ
ァイルに記録することを特徴とするヌクレオチドの配列
情報の記録装置。 - 【請求項16】 一列のヌクレオチドの配列情報を記録
したコンピュータ読み取り可能な記録媒体であって、 前記一列のヌクレオチドの配列に対応するテキストデー
タよりも少ないデータ量で、前記一列のヌクレオチドの
配列に関する情報が記録されたことを特徴とするコンピ
ュータ読み取り可能な記録媒体。 - 【請求項17】 請求項16記載の記録媒体であって、 前記一列のヌクレオチドは25個以上のヌクレオチドの
配列であり、 前記一列のヌクレオチドの配列に関する情報は、40ビ
ット以上で192ビット以下の長さの数学的な要約値で
前記記録媒体に記録されたことを特徴とするコンピュー
タ読み取り可能な記録媒体。 - 【請求項18】 請求項16記載の記録媒体であって、 前記一列のヌクレオチドの配列に対応するテキストデー
タを、前記ヌクレオチドの配列方向に複数行で、かつ前
記配列方向に交差する非配列方向に複数列の部分テキス
トデータに分割し、 前記部分テキストデータを、それぞれ複数種類のヌクレ
オチドに対して互いに異なる6ビット以下の数値データ
を割り当てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求めてお
き、 前記一列のヌクレオチドの配列に関する情報は、前記第
1組及び第2組のシンドローム情報として前記記録媒体
に記録されたことを特徴とするコンピュータ読み取り可
能な記録媒体。 - 【請求項19】 一列のヌクレオチドの配列情報の供給
方法であって、 前記一列のヌクレオチドの配列に対応するテキストデー
タ、又は複数種類のヌクレオチドに対して互いに異なる
6ビット以下の数値データを割り当てることによって前
記テキストデータを変換して得られる数値データを保持
する供給者が、 前記一列のヌクレオチドの配列の長さの情報、及び前記
配列を表すテキストデータ又は前記数値データの数学的
な要約値の情報を通信回線を介して閲覧可能な状態にし
ておき、 前記通信回線を介して前記配列の長さの情報及び前記数
学的な要約値の情報を閲覧したユーザより、前記テキス
トデータ又は前記数値データの少なくとも一部の情報に
対する取得要求が前記供給者に届いた後に、 前記供給者が前記ユーザに前記テキストデータ又は前記
数値データの少なくとも一部の情報を供給することを特
徴とするヌクレオチドの配列情報の供給方法。 - 【請求項20】 請求項19記載の供給方法であって、 前記一列のヌクレオチドは25個以上のヌクレオチドの
配列であり、 前記数学的な要約値は、40ビット以上で192ビット
以下のデータであり、 前記供給者は、更に前記一列のヌクレオチドの所定の一
部の配列の情報を通信回線を介して閲覧可能な状態にし
ておくことを特徴とするヌクレオチドの配列情報の供給
方法。 - 【請求項21】 請求項19、又は20記載の供給方法
であって、 前記供給者は、前記一列のヌクレオチドの配列に対応す
るテキストデータ、又はこれに対応する前記数値データ
を第1ファイルに記録して保持し、 前記供給者は、前記テキストデータ、又は前記数値デー
タを、前記ヌクレオチドの配列方向に複数行で、かつ前
記配列方向に交差する非配列方向に複数列の部分データ
に分割し、 前記部分データを、それぞれ複数種類のヌクレオチドに
対して互いに異なる6ビット以下の数値データを割り当
てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求め、 前記第1組及び第2組のシンドローム情報を第2ファイ
ルに記録して保持し、 第1段階として前記ユーザは、前記供給者より前記第2
ファイルに記録されている2組のシンドローム情報を受
け取り、 前記2組のシンドローム情報に基づいて検査対象の一列
のヌクレオチドの配列の内の前記供給者の一列のヌクレ
オチドの配列との相違部を特定し、 該相違部の配列の復元ができない場合に、第2段階とし
て前記ユーザは前記供給者より前記第1ファイルに記録
されている前記テキストデータ、又は前記数値データの
内の前記配列の復元ができない部分の情報の提供を要求
することを特徴とするヌクレオチドの配列情報の供給方
法。 - 【請求項22】 一列のアミノ酸の配列情報の記録方法
であって、 前記一列のアミノ酸の配列に対応するテキストデータよ
りも少ないデータ量で、前記一列のアミノ酸の配列に関
する情報を記録することを特徴とするアミノ酸の配列情
報の記録方法。 - 【請求項23】 請求項22記載の記録方法であって、 前記一列のアミノ酸は、一つのタンパク質を構成する1
本のアミノ酸の鎖の全部又は一部であり、 前記一列のアミノ酸の配列に対応するテキストデータ
を、20種類のアミノ酸に対して互いに異なる6ビット
以下のデータを割り当てることによって変換することを
特徴とするアミノ酸の配列情報の記録方法。 - 【請求項24】 請求項22記載の記録方法であって、 前記一列のアミノ酸の配列に関する情報を、前記配列を
表すテキストデータの数学的な要約値で表すことを特徴
とするアミノ酸の配列情報の記録方法。 - 【請求項25】 請求項24記載の記録方法であって、 前記一列のアミノ酸は25個以上のアミノ酸の配列であ
り、 前記一列のアミノ酸の配列に関する情報を16ビット以
上で192ビット以下の長さの数学的な要約値で表すこ
とを特徴とするアミノ酸の配列情報の記録方法。 - 【請求項26】 請求項24、又は25記載の記録方法
であって、 前記数学的な要約値は、前記一列のアミノ酸の配列に対
応するテキストデータにMD5ハッシュ関数、又はSH
Sハッシュ関数の演算を施して得られることを特徴とす
るアミノ酸の配列情報の記録方法。 - 【請求項27】 請求項22記載の記録方法であって、 前記一列のアミノ酸の配列に対応するテキストデータ
を、前記アミノ酸の配列方向に複数行で、かつ前記配列
方向に交差する非配列方向に複数列の部分テキストデー
タに分割し、 前記部分テキストデータを、それぞれ複数種類のアミノ
酸に対して互いに異なる8ビット以下の数値データを割
り当てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求め、 前記第1組及び第2組のシンドローム情報で前記一列の
アミノ酸の配列を表すことを特徴とするアミノ酸の配列
情報の記録方法。 - 【請求項28】 請求項27記載の記録方法であって、 複数行の前記変換データの各行の変換データをそれぞれ
前記非配列方向に交互に第1群の変換データ及び第2群
の変換データに分けたとき、 前記第1の演算は、所定の整数Kを用いて前記第1群の
変換データ、及び前記第2群の変換データのそれぞれの
法Kのもとの和を求める演算であり、 前記第2の演算は、複数列の前記変換データの各列の変
換データに対する法Kのもとの和を求める演算であるこ
とを特徴とするアミノ酸の配列情報の記録方法。 - 【請求項29】 一列のアミノ酸の配列情報の記録装置
であって、 一つのタンパク質の少なくとも一部に含まれる一列のア
ミノ酸の配列情報をテキストデータとして第1ファイル
に記録する第1記録手段と、 前記第1ファイルのテキストデータよりも少ないデータ
量で、前記一列のアミノ酸の配列の情報を表し、該配列
の情報を第2ファイルに記録する第2記録手段とを有す
ることを特徴とするアミノ酸の配列情報の記録装置。 - 【請求項30】 請求項29記載の記録装置であって、 前記第2記録手段は、前記一列のアミノ酸の配列を、該
配列を表すテキストデータの数学的な要約値で表すこと
を特徴とするアミノ酸の配列情報の記録装置。 - 【請求項31】 一列のアミノ酸の配列情報の供給方法
であって、 前記一列のアミノ酸の配列に対応するテキストデータ、
又は複数種類のアミノ酸に対して互いに異なる8ビット
以下の数値データを割り当てることによって前記テキス
トデータを変換して得られる数値データを保持する供給
者が、 前記一列のアミノ酸の配列の長さの情報、及び前記配列
を表すテキストデータ又は前記数値データの数学的な要
約値の情報を通信回線を介して閲覧可能な状態にしてお
き、 前記通信回線を介して前記配列の長さの情報及び前記数
学的な要約値の情報を閲覧したユーザより、前記テキス
トデータ又は前記数値データの少なくとも一部の情報に
対する取得要求が前記供給者に届いた後に、 前記供給者が前記ユーザに前記テキストデータ又は前記
数値データの少なくとも一部の情報を供給することを特
徴とするアミノ酸の配列情報の供給方法。 - 【請求項32】 請求項31記載の供給方法であって、 前記一列のアミノ酸は25個以上のアミノ酸の配列であ
り、 前記数学的な要約値は、16ビット以上で192ビット
以下のデータであることを特徴とするアミノ酸の配列情
報の供給方法。 - 【請求項33】 請求項31、又は32記載の供給方法
であって、 前記供給者は、前記一列のアミノ酸の配列に対応するテ
キストデータ、又はこれに対応する前記数値データを第
1ファイルに記録して保持し、 前記供給者は、前記テキストデータ、又は前記数値デー
タを、前記アミノ酸の配列方向に複数行で、かつ前記配
列方向に交差する非配列方向に複数列の部分データに分
割し、 前記部分データを、それぞれ複数種類のアミノ酸に対し
て互いに異なる8ビット以下の数値データを割り当てる
ことによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第
1の演算を施して第1組のシンドローム情報を求めると
共に、 複数列の前記変換データに各列毎に前記配列方向に第2
の演算を施して第2組のシンドローム情報を求め、 前記第1組及び第2組のシンドローム情報を第2ファイ
ルに記録して保持し、 第1段階として前記ユーザは、前記供給者より前記第2
ファイルに記録されている2組のシンドローム情報を受
け取り、 前記2組のシンドローム情報に基づいて検査対象の一列
のアミノ酸の配列の内の前記供給者の一列のアミノ酸の
配列との相違部を特定し、 該相違部の配列の復元ができない場合に、第2段階とし
て前記ユーザは前記供給者より前記第1ファイルに記録
されている前記テキストデータ、又は前記数値データの
情報の提供を前記供給者に要求することを特徴とするア
ミノ酸の配列情報の供給方法。 - 【請求項34】 一つ又は複数のファイルに記録された
データの要約値を計算するための要約値の計算方法であ
って、 前記一つ又は複数のファイルに記録されたデータの内で
所定のコードを無視して要約値を計算することを特徴と
する要約値の計算方法。 - 【請求項35】 請求項34記載の要約値の計算方法で
あって、 前記無視する所定のコードは、数字コード、スペースコ
ード、及び改行コードであることを特徴とする要約値の
計算方法。 - 【請求項36】 請求項34記載の要約値の計算方法で
あって、 前記無視する所定のコードは、同一又は互いに異なる2
組のコード、及びこれら2組のコードに挟まれたデータ
であることを特徴とする要約値の計算方法。 - 【請求項37】 請求項34記載の要約値の計算方法で
あって、 前記一つ又は複数のファイルから1文字分のコードデー
タを読み出す毎に、 該読み出されたコードデータが前記所定のコードである
ときには、該読み出されたコードデータを無視して、次
の1文字分のコードデータの読み出しを行い、 該読み出しによって得られた前記所定のコード以外のコ
ードデータが予め定められた個数になるか、又は読み出
すべきデータがなくなったときに、要約値の計算を行う
ことを特徴とする要約値の計算方法。 - 【請求項38】 一連のテキストデータの要約値を計算
するための要約値の計算方法であって、 前記一連のテキストデータを先頭から順に所定個数ずつ
のコードデータを含む複数の部分テキストデータと、前
記所定個数よりも少ない個数のコードデータを含む端数
のテキストデータとに分割し、 前記複数の部分テキストデータ、及び端数のテキストデ
ータをそれぞれ分割する順序を含むデータとともに互い
に異なる複数のファイルに記録し、 該複数のファイルに記録されたテキストデータから分割
の順序に従って順次要約値を計算することを特徴とする
要約値の計算方法。 - 【請求項39】 請求項38記載の要約値の計算方法で
あって、 前記所定個数ずつのコードデータ、及び前記所定個数よ
りも少ない個数のコードデータからは、所定のコードデ
ータが除外されていることを特徴とする要約値の計算方
法。 - 【請求項40】 請求項39記載の要約値の計算方法で
あって、 前記所定個数は、要約値を計算する際のデータ量の単位
に応じて定められることを特徴とする要約値の計算方
法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001120335A JP2002041528A (ja) | 2000-04-19 | 2001-04-18 | ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 |
EP02720452A EP1391832A1 (en) | 2001-04-18 | 2002-04-17 | Method and apparatus of recording sequencial data of biological substances |
PCT/JP2002/003801 WO2002086761A1 (fr) | 2001-04-18 | 2002-04-17 | Procede et appareil d'enregistrement de donnees sequentielles de substances biologiques |
US10/689,395 US7308452B2 (en) | 2001-04-18 | 2003-10-20 | Method and device for recording sequence information on biological compounds |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-117343 | 2000-04-19 | ||
JP2000117343 | 2000-04-19 | ||
JP2000149122 | 2000-05-19 | ||
JP2000-149122 | 2000-05-19 | ||
JP2001120335A JP2002041528A (ja) | 2000-04-19 | 2001-04-18 | ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 |
US10/272,107 US20040086861A1 (en) | 2000-04-19 | 2002-10-16 | Method and device for recording sequence information on nucleotides and amino acids |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004101541A Division JP2004280843A (ja) | 2000-04-19 | 2004-03-30 | ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 |
JP2004107911A Division JP2004265429A (ja) | 2000-04-19 | 2004-03-31 | 情報選択方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002041528A true JP2002041528A (ja) | 2002-02-08 |
JP2002041528A5 JP2002041528A5 (ja) | 2005-03-03 |
Family
ID=32854400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001120335A Pending JP2002041528A (ja) | 2000-04-19 | 2001-04-18 | ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002041528A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006163734A (ja) * | 2004-12-06 | 2006-06-22 | Dainippon Printing Co Ltd | 生物情報の検索装置 |
JP2006163546A (ja) * | 2004-12-03 | 2006-06-22 | Dainippon Printing Co Ltd | 生物情報の解析装置および圧縮装置 |
-
2001
- 2001-04-18 JP JP2001120335A patent/JP2002041528A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006163546A (ja) * | 2004-12-03 | 2006-06-22 | Dainippon Printing Co Ltd | 生物情報の解析装置および圧縮装置 |
JP2006163734A (ja) * | 2004-12-06 | 2006-06-22 | Dainippon Printing Co Ltd | 生物情報の検索装置 |
JP4638721B2 (ja) * | 2004-12-06 | 2011-02-23 | 大日本印刷株式会社 | 生物情報の検索装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lopez et al. | DNA assembly for nanopore data storage readout | |
Zielezinski et al. | Alignment-free sequence comparison: benefits, applications, and tools | |
Cook et al. | INfrastructure for a PHAge REference database: identification of large-scale biases in the current collection of cultured phage genomes | |
Cerveau et al. | Combining independent de novo assemblies optimizes the coding transcriptome for nonconventional model eukaryotic organisms | |
McInerney | GCUA: general codon usage analysis. | |
Song et al. | New developments of alignment-free sequence comparison: measures, statistics and next-generation sequencing | |
Liu et al. | High-speed and high-ratio referential genome compression | |
Zhang et al. | A scalable and accurate targeted gene assembly tool (SAT-Assembler) for next-generation sequencing data | |
Pratas et al. | XS: a FASTQ read simulator | |
EP4029190A1 (en) | Genetic data in transactions | |
Hurgobin | Short read alignment using SOAP2 | |
Cevallos et al. | A brief review on DNA storage, compression, and digitalization | |
Zhang et al. | A FASTQ compressor based on integer-mapped k-mer indexing for biologist | |
Garcillán-Barcia et al. | The facts and family secrets of plasmids that replicate via the rolling-circle mechanism | |
US20040086861A1 (en) | Method and device for recording sequence information on nucleotides and amino acids | |
Hall et al. | Building phylogenetic trees from genome sequences With kSNP4 | |
Gupta et al. | Benchmarking and assessment of eight de novo genome assemblers on viral next-generation sequencing data, including the SARS-CoV-2 | |
Wang et al. | Mainstream encoding–decoding methods of DNA data storage | |
Zhang et al. | CRISPR-powered quantitative keyword search engine in DNA data storage | |
Dagher et al. | Data storage in cellular DNA: contextualizing diverse encoding schemes | |
JP2002041528A (ja) | ヌクレオチド等の配列情報の記録方法及び装置、前記配列情報の供給方法、前記配列情報を記録した記録媒体、並びに要約値の計算方法 | |
EP1313225A1 (en) | Nucleotide sequence information, and method and device for recording information on sequence of amino acid | |
May et al. | Coding theory based models for protein translation initiation in prokaryotic organisms | |
Liu et al. | Amino acid based de Bruijn graph algorithm for identifying complete coding genes from metagenomic and metatranscriptomic short reads | |
US7308452B2 (en) | Method and device for recording sequence information on biological compounds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040330 |