WO2001080431A1 - Informations relatives a des sequences nucleotidiques et procede et dispositif permettant d'enregistrer des informations relatives a la sequence d'un acide amine - Google Patents

Informations relatives a des sequences nucleotidiques et procede et dispositif permettant d'enregistrer des informations relatives a la sequence d'un acide amine Download PDF

Info

Publication number
WO2001080431A1
WO2001080431A1 PCT/JP2001/003324 JP0103324W WO0180431A1 WO 2001080431 A1 WO2001080431 A1 WO 2001080431A1 JP 0103324 W JP0103324 W JP 0103324W WO 0180431 A1 WO0180431 A1 WO 0180431A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
data
information
nucleotides
recording
Prior art date
Application number
PCT/JP2001/003324
Other languages
English (en)
French (fr)
Inventor
Satoshi Omori
Original Assignee
Satoshi Omori
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Satoshi Omori filed Critical Satoshi Omori
Priority to EP01921886A priority Critical patent/EP1313225A4/en
Priority to AU48784/01A priority patent/AU4878401A/en
Publication of WO2001080431A1 publication Critical patent/WO2001080431A1/ja
Priority to US10/272,107 priority patent/US20040086861A1/en
Priority claimed from US10/272,107 external-priority patent/US20040086861A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention relates to, for example, sequence information of a group of nucleotides constituting at least a part of a nucleic acid or a gene such as DNA (deoxyribonucleic acid) or RNA (liponucleic acid: ribonucleic acid), and at least part of a protein.
  • the present invention relates to a method and an apparatus for recording sequence information of a group of constituent amino acids.
  • the present invention provides a method for supplying sequence information suitable as a business model for supplying the sequence information, a computer-readable recording medium on which the sequence information is recorded, and a method for recording the sequence information.
  • the present invention relates to a suitable summary value calculation method. Background art
  • nucleotide chains or base chains constituting DNA of humans and other organisms (animals, plants, microorganisms, etc.)
  • the four types of nucleotides conventionally constituting DNA include the letters A, G, C, and T as nucleotides containing adenine, nucleotides containing guanine, nucleotides containing cytosine, and nucleotides containing thymine as bases, respectively.
  • the sequence of one DNA consists of the sequence of nucleotides (assumed to be n) of one of the pairs of polymer chains that constitute it, with the letters A, G, C, T (Or a, g, c, t) to represent n bytes of textual data.
  • make up one RNA The sequence of one n nucleotides was represented by n bytes of text data by assigning the letter U (or u) to nucleotides containing uracil instead of nucleotides containing thymine.
  • the largest human sequence of DNA in chromosome 1 is a sequence of about 250 million nucleotides
  • the smallest sequence of DNA in chromosome 22 is about 50 million nucleotides. Since it is a nucleotide sequence, the DNA sequence in each human chromosome can be represented by about 250 Mbytes to 50 Mbytes of text data.
  • the entire DNA information (genome) of a single human can be represented by a sequence of about 300 billion nucleotides, so that the genome can be recorded in about 3 GB of text data.
  • DNA information As described above, for example, to record one person's DNA information as text data Requires a total storage capacity of about 3 Gbytes, and a storage capacity of about 1 Gbyte even if ordinary compression file technology is applied.
  • DNA information on non-human Escherichia coli and various viruses has been analyzed and gradually released.However, if such DNA information is collected in a large amount in the form of text data, it can be several hundred megabytes. Storage capacity is required. This is the same for the sequence information of RNA.
  • the communication speed of the current general communication line is about 1 Mbps at the maximum, so if, for example, about 1 Gbyte of DNA information is transmitted via the communication line, the transmission time is at least about It takes about 2 hours, which is not very practical.
  • the DNA information is transmitted via a digital mobile phone system, but since the current communication speed of the mobile phone system is at most about 100 kbPs, at least human DNA information can be transmitted. It is difficult to use for transmission.
  • the nucleotide sequence of the DNA (or gene) that is the standard held by multiple researchers
  • the question is how to guarantee the identity of the two.
  • the nucleotide sequence of the DNA is recorded in text data of several megabytes (several million characters in length), for example, multiple researchers can write their own text data and other people's text data with each other. It is not always easy to confirm the identity (exact match) with the data in a short time.
  • the use of DNA information from humans or other organisms may involve searching for differences between the standard DNA sequence and the DNA sequence to be detected. Can be considered.
  • SNP Single Nucleotide Polymorphism
  • the amino acid sequence of one protein can be recorded in a text file of at most about 1 kbyte, but the number of types of protein is theoretically about 100,000. If the sequence information of a protein is expressed in a text file, it will be a huge amount, equivalent to the sequence information of the entire DNA. Therefore, it is desirable that the sequence of each protein can be recorded with as little information as possible. There is also a need for a system that can easily confirm the identity of the sequence information of two proteins.
  • the present invention has been made to provide a recording method and a recording apparatus capable of recording sequence information of a row of nucleotides in a nucleic acid or a gene and sequence information of a row of amino acids in a protein with a data amount as small as possible. The purpose of 1.
  • a second object of the present invention is to provide a recording method and a recording apparatus capable of confirming the identity of sequence information of two nucleotides or sequence information of two amino acids with a small amount of data with high accuracy. I do.
  • the present invention provides a recording method and a recording apparatus which can easily detect a difference between sequence information of two nucleotides with a small amount of data and can restore the information of the difference as required. Is the third purpose.
  • a fourth object of the present invention is to provide a business model that can provide a user with sequence information of a single nucleotide sequence or amino acid sequence information in a small amount of data.
  • the present invention provides a business model that enables a user to easily confirm the identity or difference between sequence information provided by a user and sequence information held by an information supplier with a small amount of data. The purpose is also to do.
  • Another object of the present invention is to provide a computer-readable recording medium in which nucleotide sequence information is recorded in a small amount of data.
  • Another object of the present invention is to provide an efficient method of calculating a summary value that can be used when recording nucleotide or amino acid sequence information. Disclosure of the invention
  • the method for recording nucleotide sequence information is a method for recording sequence information of a single nucleotide sequence, wherein the data amount of the single nucleotide sequence is less than the text data corresponding to the sequence of the single nucleotide sequence. It records information about the sequence.
  • the sequence of nucleotides is, for example, DNA (deoxyr ibonucle ic ac id), at least a part of one strand of a pair of polymer chains, RNA (ribonucleic ic ac id), at least a portion of a single-row polymer chain, or a gene. It is at least a part of a sequence of nucleotides representing a constitution.
  • the sequence of nucleotides in the row can be regarded as a sequence of bases contained in each nucleotide.
  • the sequence of nucleotides is recorded as a file with less data than the text data. Therefore, as a recording medium, in addition to a large-capacity medium such as DVD-ROM, a medium such as a CD-ROM or a flash ROM that can be easily reproduced by a normal computer can be used.
  • array information with a small data amount can be transmitted in a short time via a communication line, it is possible to supply array information at substantially low cost.
  • the nucleotides in one row are composed of four types of nucleotides, and the four types of nucleotides are desirably represented by different data of 6 bits or less, which are different from each other.
  • each nucleotide is represented by an 8-bit ASCII code (ASCI I CODE), that is, any of the letters A, G, C, T (or U).
  • ASCI I CODE ASCI I CODE
  • the file in which the data of the present invention is recorded is further compressed by a normal compression technique so that the file in which the text data is recorded can be compressed by a normal compression technique (ZIP file, LHA file, etc.). Needless to say, it can be recorded.
  • ZIP file LHA file, etc.
  • it can be recorded.
  • it is necessary to decompress it, and eventually it is necessary to restore the original file, so it is extremely effective to reduce the data amount of the original file itself It is.
  • the four types of nucleotides be represented by different 2-bit data. With two bits of data, four types of nucleotides (or bases) can be represented with the least amount of data. Further, when the nucleotides in one row are all or a part of one strand of a pair of polymer strands constituting one DNA, they are complementary to each other in the four nucleotides. It is desirable that two pairs of nucleotides be represented by a pair of bits that are in a bit-inverted relationship with each other. Two pairs of nucleotides complementary to each other have substantially the same meaning as two pairs of bases complementary to each other.
  • nucleotide (7A) containing adenine is represented by bin (00) as shown in DNA (5) in FIG.
  • the nucleotide (7T) containing the complementary thymine is denoted by bin (11).
  • a nucleotide containing guanine (7G) is represented by bin (01)
  • a nucleotide (7C) containing a cytosine complementary thereto is represented by bin (10).
  • the corresponding binary data can be obtained very quickly by simply inverting the binary data bit by bit using a computer.
  • a more specific first recording method is to store information on the sequence of nucleotides in a column by a text digest representing the sequence or a mathematical digest of numerical data (message digest).
  • This mathematical summary value is mathematically equivalent to the value obtained by applying a predetermined hash function to the transmitted file in cryptography to confirm the identity of the creator of the transmitted file.
  • a summary value of data representing the sequence of nucleotides original data is used, for example, for asserting the earliest reader and for confirming the identity of the two vast original data. The points are essentially different.
  • a person who first decodes a nucleotide sequence of a certain DNA is disclosed without disclosing the original data by disclosing the summary value of the original data showing the sequence on, for example, Internet. Can claim that it was decrypted earlier.
  • a user who has purchased DNA sequence information from an information supplier may obtain a summary value of the purchased sequence information as an example. For example, the identity of purchased sequence information can be confirmed with a high probability by comparing it with the summary value of the DNA published on the Internet.
  • the length of the vast amount of sequence information of the nucleotides of the DNA held by each researcher and the summary value are determined, and these are compared. This makes it easy to confirm the identity of the research object with a high probability.
  • sequence of nucleotides is a sequence of 25 or more nucleotides
  • the DNA sequence information will be about 10 billion. 1 Q.
  • the mathematical summary value is obtained by performing an MD5 hash function or SHS (Secure Has h Standard) hash function operation on the text data or the numerical data corresponding to the sequence of nucleotides in the row.
  • the MD5 hash function has the advantage that it can be operated at high speed and the obtained digest value is 128 bits, so that it can be easily processed by an ordinary computer.
  • SHS Hearts Although it is more difficult to estimate the original data, the summary value obtained is considered to be 160 bits, which is longer than necessary for ordinary DNA or RNA nucleotide sequence representation. Can be Therefore, it is considered that the MD5 hash function is more practical for expressing a normal nucleotide sequence.
  • the hash function used in cryptography is designed so that the contents of the transmitted file cannot be estimated and the probability of content collision is extremely low. A length of about 8 bits is required, and complicated operations are repeatedly executed.
  • the hash function used in the present invention only needs to have almost no collision with ordinary sequences of different nucleotides, so it is considered that it is not necessary to repeat a very complicated operation.
  • the file for which the summary value is to be calculated in the ordinary No. theory is at most about 1 Mbyte in length, whereas the calculation target of the hash function used in the present invention is, for example, a human. It is a huge data file that can reach up to about 100 Mbytes in the sequence of DNA nucleotides. Therefore, the hash function (h calculation program) used in the present invention may have a function of calculating an overall summary value by sequentially processing a plurality of divided files after dividing the original file to be calculated. desirable.
  • a more specific second recording method is that a text data corresponding to the sequence of nucleotides in a row is written in a plurality of lines in the sequence direction of the nucleotide and in the sequence direction of the nucleotides. It is divided into multiple columns of partial text data T (i, j) in the direction of non-array that intersects, and the partial text data is converted to numerical data of 6 bits or less that are different from each other for multiple types of nucleotides.
  • the first and second sets of syndrome information indicate the sequence of nucleotides in the single row.
  • the text data is divided into partial text data of a plurality of lines and a plurality of columns, and then each of the partial text data is converted into conversion data.
  • This is practically equivalent to dividing the numerical data into the converted data in a plurality of rows and a plurality of columns after converting the data into the numerical data.
  • a large part of the information of the text data including the partial text data T (i, j) shown in FIG. (i), B 2 (i), and the second set of syndrome information C (j).
  • each partial text data T (i, j) includes text data of 16 nucleotides
  • the data amount DT 1 of the original text data is as follows.
  • each nucleotide is represented by 2-bit data
  • each partial text data T (i, j) is converted into 32-bit conversion data A (i, j), respectively, and the syndrome information B l ( i), B2 (i) and C (j) are also 32-bit data.
  • the syndrome information in the non-arrangement direction has two columns B 1 (i) and B 2 (i)
  • the data amount DS 1 of the syndrome information is as follows.
  • the amount of syndrome information can be reduced to approximately 1100 of the original text data.
  • the DNA sequence of one human chromosome is represented by a text data of about 50 Mbytes to 250 Mbytes, and the text data is divided into about 500 to 2500 blocks in advance.
  • the syndrome information for each block the total amount of the syndrome information is compressed to about 1100 of the text data, that is, about 50 Okbytes to about 2.5 Mbytes.
  • data can be transmitted in a short period of time even through a low-speed communication line such as a mobile phone system, and the recording medium such as a CD-ROM with a smaller capacity than a DVD-ROM can afford. Can be recorded.
  • the converted data of each row of the converted data of a plurality of rows are alternately alternately arranged in the non-arrangement direction in the first group (for example, odd-numbered converted data A (i, 1), A (i, 3),...) and the second group of transformed data (eg, even-numbered transformed data — evening A (i, 2), A (i, 4),...)
  • the first operation is This is an operation to obtain the original sum of the transformed data of the first group and the transformed data of the second group using the constant integer ⁇ under the respective modulo ⁇ .
  • This is an operation to obtain the original sum of the modulus of the transformed data of each column of the transformed data.
  • the integer K is as follows, for example.
  • sequence of nucleotides in the row is used as a reference sequence, and two sets of the syndrome information (B 1 (i), B 2 (i), C (j)) of the reference sequence are associated with the sequence of the test target.
  • Sequence of nucleotides (TF (i, j)) ROHM information (B1F (i), B2F (i), CF (j)) is obtained, and the difference between the sequence of nucleotides in the single row of the test target with respect to the reference sequence is determined from the four sets of syndrome information. It is desirable to ask. For example, assuming that the sequence of FIG. 7 is a reference sequence and the sequence of FIG. 10 is a sequence to be inspected, the syndrome information of the reference sequence of FIG. 7 is shown in FIG.
  • the syndrome information (B 1 F (i), B 2F (i)) shown in FIG. 11 is compared with the syndrome information (B 1 (i), B 2 (i), C (j)) shown in FIG. , CF (j)) have different values of B 1 F (1), B 2 F (4), CF (16), and CF (17).
  • 4, 16) and TF (1, 17) can be detected to be different from the reference sequence in FIG. That is, by comparing the four sets of syndrome information, it is possible to detect which partial text data of the sequence to be detected differs from the reference sequence by comparing a small amount of data.
  • a part different from the reference sequence is called an error code. If the error code is one for each line or each column of the partial text data, the four sets of syndromes are used. From the addition and subtraction of the modulo K of the conversion data corresponding to the information and the error code to be inspected, the conversion data of the reference array A (4, 16), A (1, 17), and further the partial text data One night, T (4, 16) and ⁇ (1, 17) can be accurately restored. Therefore, for example, SNPs (Single Nucleotide Polymorphism) differing only by one base (nucleotide) in a gene can be easily detected by the present invention, and the corresponding normal sequence can be easily restored.
  • SNPs Single Nucleotide Polymorphism
  • a long error code (hereinafter, referred to as “bast error code”) that extends over partial text data TF (4, 16) and TF (1, 17) of two adjacent columns.
  • burst error) j there is only one syndrome in each non-array direction (ie, the sum of B1F (i) and B2F (i)) in each row. Then, an error code is detected in two partial text data in one line and two partial text data in one column. Therefore, erroneous detection of the position of the error code occurs, and it becomes difficult to restore the corresponding reference sequence.
  • by obtaining two pieces of syndrome information in each row as in the present invention it is possible to accurately detect and restore a burst error.
  • two sets of syndrome information may be obtained in the array direction (each column) for two groups of converted data, for example, the first half and the second half. It is only necessary to select whether or not to use the data so as to reduce the entire data amount.
  • the recording device of the present invention is a device for recording sequence information of a single nucleotide sequence, comprising a sequence reading device (4) for reading sequence information of a single nucleotide sequence contained in at least a part of one nucleic acid; A first recording means (steps 102 to 104) for recording the sequence information read by the sequence reading device in a first file (19) as text data, and a text data of the first file.
  • the second recording means (step 10) which represents the information of the array read by the array reading device with a smaller data amount than the evening, and records the information of this array in the second file (20, 21). 5 to 107). This enables the method for recording sequence information of the present invention to be implemented.
  • the second recording means expresses, as an example, a sequence of nucleotides read by the sequence reading device by textual data representing the sequence or a mathematical summary value of numerical data.
  • the second recording means stores text data corresponding to a sequence of nucleotides read by the sequence reading device in a plurality of rows in the sequence direction of the nucleotides and in the sequence direction. Divide into multiple columns of partial text data in the direction of non-sequencing that intersects, and assign the different partial text data to different types of nucleotides, each with a different numeric data of 6 bits or less.
  • the recording medium of the present invention is a computer-readable recording medium that records sequence information of one row of nucleotides, and has a smaller data volume than text data corresponding to the sequence of nucleotides. This records information about the sequence of nucleotides in the row.
  • an easy-to-use medium such as CD-ROM, CD-R, or flash ROM is used as a recording medium.
  • CD-ROM compact disc-read only memory
  • CD-R Compact Disc-read only memory
  • flash ROM flash ROM
  • a large-capacity recording medium such as a DVD-ROM or a hard disk device is used as a recording medium, nucleotide sequence information of an extremely large number of samples can be recorded.
  • sequence of nucleotides is a sequence of 25 or more nucleotides
  • information on the sequence of nucleotides in the sequence is, for example, a length of 40 bits or more and 192 bits or less. It is a mathematical summary value recorded on the recording medium.
  • a flexible disk can be used as a recording medium.
  • the text data corresponding to the sequence of nucleotides in the single row is divided into multiple lines in the sequence direction of the nucleotides and multiple columns in the non-sequence direction crossing the sequence direction.
  • the partial text data is converted into converted data by assigning different types of numerical data of 6 bits or less to a plurality of types of nucleotides, and the converted data is converted into multiple lines for each line.
  • a first operation is performed in the non-array direction to obtain a first set of syndrome information, and a second set of syndrome information is obtained in the array direction for each column over the conversion data of a plurality of columns.
  • the second set of syndrome information is obtained by performing the above operation, and the information on the sequence of nucleotides in a row is recorded on the recording medium as the first and second sets of syndrome information.
  • this recording medium it is possible to detect, for example, the position of the nucleotide sequence difference between the two samples, and to restore the corresponding sequence when the number of the difference portions is small. You.
  • the method for supplying sequence information of the present invention is a method for supplying sequence information of one row of nucleotides, the text data corresponding to the sequence of nucleotides in the row, or different types of nucleotides from each other.
  • the supplier (2A) who holds the numerical data obtained by converting the text data by assigning numerical data of bits or less, obtains information on the length of the sequence of nucleotides in the sequence and the sequence thereof.
  • the information on the length of the array and the information on the length of the array via the communication line (1) are kept in a state where the information on the text data representing the data or the mathematical summary value of the numerical data can be viewed via the communication line (1).
  • the user (2B) who browsed the information on the mathematical summary value received a request to acquire the text data or at least a part of the numerical data from the supplier. Later, the supplier will provide the user with at least some information about the text data or the numerical data.
  • This supply method is an application of the above-described method for recording nucleotide sequence information of the present invention to a business model for supplying (selling) the sequence information. That is, in the business model of the present invention, the supplier who first decrypts the nucleotide sequence of the DNA of a certain organism X uses the hash value from the text data of the sequence (or the numerical data obtained by converting the text data) to obtain a summary value ( Calculate the message diges t) and make this summary value available, for example, on the Internet. This allows the supplier to assert that he first sequenced the DNA of organism X without ever publishing the text data itself. In addition, the user can use the same Accidental purchases from different suppliers can be prevented.
  • the digest value is calculated from the purchased sequence information by the hash function, and the length of the sequence is also obtained. Then, by comparing the sequence length and the summary value with the values published on the Internet, it is possible to confirm with extremely high probability whether or not the purchased sequence information is accurate.
  • the sequence of nucleotides is a sequence of 25 or more nucleotides
  • the mathematical summary value is data of 40 bits or more and 192 bits or less
  • the supplier further keep the information of a predetermined part of the sequence of nucleotides accessible through the communication line.
  • the identity can be confirmed with higher accuracy by comparing, for example, the first eight sequences and the last eight sequences of the sequence. Can be done.
  • the supplier records and retains the text data corresponding to the sequence of nucleotides in the row or the numerical data corresponding thereto in the first file (19), and the supplier ,
  • the text data, or the numerical data is divided into a plurality of rows in a plurality of rows in the sequence direction of the nucleotide and a plurality of columns in a non-array direction crossing the arrangement direction, and the partial data is divided into
  • the first operation is performed on each row of the converted data in the non-array direction for each row.
  • the first set of syndrome information is obtained, and the second set of syndrome information is obtained by performing a second operation on the converted data of a plurality of columns for each column in the array direction to obtain the second set of syndrome information.
  • the second set of syndrome information is recorded and held in a second file (20), and as a first step, the user receives the two sets of syndrome information recorded in the second file from the supplier. , Based on the two sets of syndrome information, As a second step, the user is recorded in the first file by the supplier if the difference between the nucleotide sequence of the supplier and the sequence of nucleotides in the supplier cannot be determined. It is desirable to request the provision of information on the text data or the part of the numerical data that cannot be restored.
  • the syndrome information having a small data amount can be received in a short time through the communication line. If it is possible to identify and restore the error of the sequence to be inspected using only the syndrome information, there is no need to purchase further sequence information. On the other hand, if there are many error codes and it is not possible to restore all of the exact data using the syndrome information alone, only the text data of the part that cannot be restored is purchased, and the necessary sequence information is transmitted via the communication line. Can be purchased in a short time. Therefore, a relatively low-speed communication line such as a mobile phone system can be used as the communication line.
  • the method for recording amino acid sequence information of the present invention is a method for recording amino acid sequence information of a single row, the data amount of which is smaller than the text data corresponding to the amino acid sequence of the single row. It records information about the amino acid sequence.
  • the one-line amino acids are, for example, at least a part of the sequence of amino acids constituting a certain protein.
  • the amino acid sequence is recorded as a file with a smaller amount of data than the text data. Therefore, as a recording medium, a medium that can be easily reproduced by a normal computer even with a small capacity can be used, and the time required for transmission via a communication line can be reduced.
  • the amino acids in one row are all or a part of a chain of one amino acid constituting one protein
  • 20 types of text data corresponding to the sequence of the amino acids in the single row are used. Are converted by assigning different data of 6 bits or less to different amino acids. Text day If one-letter notation is used in the evening format (1-Le Uer Code), the 20 types of amino acids are represented by 8-bit ASCII codes (ASCI I CODE), and the characters are represented by, for example, A, C, E, etc. Therefore, the amount of data can be reduced by expressing each amino acid with less than 6 bits of data.
  • the type of one amino acid is determined by the sequence of three nucleotides in one row, that is, one gene codon.
  • one gene codon is represented by 6-bit data. Therefore, the 6-bit data of each gene codon may be regarded as the 6-bit data of the corresponding amino acid.
  • the smallest data among the amino acids for each amino acid is assigned to the amino acid. You may do it. This has the advantage that a common code can be used for nucleotides and amino acids.
  • the 20 kinds of amino acids can be represented by 5-bit data with the least amount of data.
  • a more specific first recording method is to express the information on the sequence of the amino acid in a row by a mathematical summary value (message digest) of text data representing the sequence. is there.
  • a summary value of the text data is obtained using a predetermined hash function, and the summary value is made public on the Internet, so that the array is solved first without disclosing the text data. You can claim (proof) that you have read.
  • the user who purchased the text data obtains the summary value of the purchased data, and compares the summary value with the published summary value, thereby confirming the identity of the purchased data.
  • the amino acid in the row is a sequence of 25 or more amino acids
  • information on the sequence of the amino acid in the row is expressed as a mathematical summary value having a length of 16 bits or more and 192 bits or less.
  • the mathematical summary value is converted into text data corresponding to the sequence of amino acids in an MD5 hash function (summarized value is 128 bits) or an SHS (Secure Hash Standard) hash function (summarized value is used). (160 bits).
  • the MD5 eight hash function is preferable because the summary value does not become longer than necessary.
  • the number of amino acid sequences constituting the protein is about 20 to 100, and the original text data may be estimated from the summary value. Therefore, when calculating summary values of amino acid sequences and wanting to increase the confidentiality of the original text data, use the SHS hash function, which increases the summary value obtained by performing more complicated calculations. It is desirable to do.
  • a more specific second recording method is that the text data corresponding to the sequence of the amino acid in one line is arranged in a plurality of rows in the sequence direction of the amino acid and the non- It is divided into multiple columns of partial text data in the sequence direction, and the partial text data is converted into conversion data by assigning different numeric data of 8 bits or less to different types of amino acids.
  • a first operation is performed on the converted data of each row in the non-array direction for each row to obtain a first set of syndrome information
  • a second operation is performed on the converted data of a plurality of columns for each column in the array direction.
  • the first and second sets of syndrome information represent the sequence of amino acids in a row It is.
  • the present invention is substantially equivalent to converting the text data (referred to as one-character notation) into one-column numerical data in advance, and then dividing the numerical data into plural-column converted data in a plurality of rows. is there.
  • T (i, j) and if each partial text data T (i, j) includes text data of four amino acids, the data amount DT 2 of the original text data is as follows: Become.
  • the converted data A (i, j) becomes 32-bit numerical data
  • the syndrome information is also 32 bits. It will be overnight. Assuming that there are two columns of syndrome information in the non-arrangement direction, the amount DS2 of the syndrome information is as follows.
  • the amount of syndrome information can be reduced to approximately 1 to 5 times the data amount of the original text data.
  • the amount of text data of each protein sequence is less than about 1 kbyte, but for example, the sum of about 10,000 types of protein text data is about 10 Mbytes.
  • approximate information can be transmitted in a short time through a communication line.
  • the difference (error code) between the amino acid sequence of the sample and the amino acid sequence of the test object can be efficiently detected. Furthermore, when the error code is only one conversion data in each row or each column, the corresponding exact array can be restored.
  • the first operation is performed. Is an operation for calculating the sum of the first group of converted data and the second group of converted data using the predetermined integer K under the respective modulo K.
  • the second operation is In the case of an operation to find the sum of the converted data of each column and the converted data of each column under the modulus K, even if there is a long array difference (burst error) that extends over two columns, it is accurately detected. , And restoration can be performed.
  • the apparatus for recording sequence information of one line of amino acids of the present invention comprises a first recording means for recording sequence information of one line of amino acids contained in at least a part of one protein as a text data in a first file. And a second recording means for representing the information of the sequence of amino acids in the single file with a data amount smaller than the text data of the first file, and recording the information of the sequence in the second file.
  • the method for recording amino acid sequence information of the present invention can be performed.
  • the second recording means expresses the sequence of the amino acids in a row as a mathematical summary of text data representing the sequence.
  • the method for supplying sequence information of a row of amino acids may include assigning different numeric data of 8 bits or less to text data corresponding to the sequence of amino acids in the row, or different types of amino acids.
  • the supplier who holds the numerical data obtained by converting the text data according to the information of the sequence of amino acids in the row, and the text data representing the sequence or the mathematical summary value of the numerical data The information on the length of the array and the information on its mathematical summary value are browsed via the communication line.
  • the supplier After the user receives an acquisition request for the text data or at least a part of the information of the numerical data from the user, the supplier provides the user with the text data or the numerical data. It provides at least some information.
  • the above-described method for recording amino acid sequence information of the present invention is applied to a business model for supplying (selling) the sequence information. That is, in the business model of the present invention, the supplier who first determines the amino acid sequence of a certain novel protein uses the hash function to summarize the text data (or the converted numerical data) of that sequence using the hash function. message digest), and make this summary value viewable, for example, on the Internet. This allows the supplier to assert (certify) that it first determined the sequence of the protein without disclosing the text data itself. Furthermore, users can be prevented from accidentally purchasing the same sequence information from different suppliers, and competitors can avoid duplicate investments.
  • the digest value is calculated by the hash function from the purchased sequence information, and the length of the sequence is also obtained. Then, by comparing the sequence length and the summary value with the values published on the Internet, it is possible to confirm with high probability whether or not the purchased sequence information is accurate.
  • the mathematical summary value is data of 16 bits or more and 192 bits or less.
  • a first summary value calculation method of the present invention is a summary value calculation method for calculating a summary value of data recorded in one or a plurality of files.
  • the summary value is calculated by ignoring a predetermined code in the data recorded in the file.
  • the present invention for example, when calculating a summary value of text data representing a nucleotide sequence, in order to make the sequence easier to see, spaces, line feeds, and numbers indicating the number of nucleotides up to that point are used. Even if is added, a summary value corresponding to the original nucleotide sequence can be calculated by ignoring these added codes.
  • another example of the predetermined code to be ignored is two sets of codes that are the same or different from each other, and data that is sandwiched between these two sets of codes.
  • the digest value corresponding to the original nucleotide sequence can be calculated even if the content of the comment sentence is arbitrarily described.
  • the summary value is 40 bits or more and 19 2 bits.
  • the following is a digital show.
  • an MD5 hash function (the digest value is 128 bits), an SHS hash function (the digest value is 160 bits), or the like can be used.
  • each time code data for one character is read from the one or more files, if the read code data is the predetermined code, the read code data is read. Ignore and read the next one-character code data, and the code data other than the predetermined code obtained by this read becomes the predetermined number or the data to be read.
  • the summary value may be calculated when the evening is gone.
  • the predetermined code is extracted from one or more files. Creates a new file and calculates the summary value of this new file. There is an advantage that can be done.
  • a second summary value calculation method is a summary value calculation method for calculating a summary value of a series of text data, and the series of text data is sequentially determined in order from the top. It is divided into a plurality of partial text data including code data for each number, and a fractional text data including a number of code data less than the predetermined number. Even and the fractional text data are recorded in a plurality of different files together with the data including the order in which they are to be divided, and summary values are sequentially calculated from the text data recorded in the plurality of files in accordance with the division order. Is what you do.
  • the text data when obtaining an enormous amount of summary values of text data such as human genome information, the text data is divided into a plurality of files and recorded.
  • the arithmetic processing can be sequentially performed on the data of the divided files. Therefore, even when a relatively small-capacity recording medium such as a CD-ROM or a flexible disk is used, it is possible to easily and accurately calculate an enormous amount of text-data summary values.
  • the predetermined code data (for example, a numeric code, a space code, a line feed code, etc.) may be excluded from the code data of the predetermined number and the code data of a number smaller than the predetermined number. .
  • the predetermined number is determined according to the unit of the data amount when calculating the summary value.
  • the MD5 hash function calculates a digest value in 512-bit (64-bit) data units. If one code data is 8-bit (1-byte), the predetermined number is: By setting it to an integral multiple of 64, it becomes easy to calculate a summary value for each partial text data.
  • FIG. 1 shows a computer system used in an example of an embodiment of the present invention.
  • FIG. FIG. 2 is a diagram showing an example of a representation of a DNA to be processed and its nucleotide sequence in binary data in one example of the embodiment.
  • FIG. 3 is a flowchart showing a part of the operation of the provider of the DNA information in one example of the embodiment.
  • FIG. 4 is a flowchart showing the operation of the supplier of the DNA information following the operation of FIG.
  • FIG. 5 is a flowchart showing a part of a user operation of DNA information according to an example of the embodiment.
  • FIG. 6 is a flowchart showing the operation of the user of the DNA information following the operation of FIG.
  • FIG. 7 shows a state where the text data representing the nucleotide sequence (2048) of the standard sample E (DNA) is divided into 32 rows of partial text data T (i, j) in 4 rows. is there.
  • FIG. 8 is a diagram showing the conversion data A (i, j) of the standard sample E, and the syndromes C (j), B 1 (i), and B 2 (i) calculated therefrom.
  • FIG. 9 is a diagram showing the syndromes C (j), B1 (i), and B2 (i) of the standard sample E.
  • FIG. 10 is a diagram showing a state in which text data representing the nucleotide sequence (2048) of the sample F (DNA) is divided into 4 rows and 32 columns of partial text data TF (i, j).
  • FIG. 10 is a diagram showing a state in which text data representing the nucleotide sequence (2048) of the sample F (DNA) is divided into 4 rows and 32 columns of partial text data TF (i, j).
  • FIG. 11 is a diagram showing conversion data AF (i, j) of the sample F and syndromes CF (j), B1F (i), and B2F (i) calculated from the data.
  • FIG. 12 is a view showing the syndromes CF (j), B1F (i), B2F (i) of the sample F, and the restored converted data.
  • FIG. 13 is a diagram showing a state in which text data representing the sequence of amino acids (820) of sample G (protein) is divided into 8 rows and 26 columns of partial text data.
  • FIG. 14 is a diagram showing a part of the data in FIG.
  • FIG. 15 is a flowchart showing a first summary value calculation sequence according to the embodiment of the present invention.
  • FIG. 16 is a flowchart illustrating a second summary value calculation sequence according to the embodiment of this invention.
  • FIG. 17 is a diagram illustrating an example of a method of moving a cursor on a display screen according to the embodiment of the present invention.
  • the present invention is applied to the case where the sequence information of the nucleotide of a predetermined DNA (deoxyribonucleic acid) is processed by a computer system.
  • FIG. 1 shows a schematic configuration of a computer system 2A of the present embodiment.
  • the center of the computer system 2A is a CPU (central processing unit), memories such as RAM and ROM, and a hard disk device.
  • An information processing apparatus 10 including a storage device and the like.
  • a display device 12 composed of a CRT display is connected to the information processing device 10 via a video RAM (VRAM) 11, and a recordable CD—Recordable disk via an IZO unit (input / output device) 14.
  • VRAM video RAM
  • IZO unit input / output device
  • CD-R CD-RZ RW drive 15 capable of writing data to 16 and reading data from CD-R or CD-ROM is connected .
  • the information processing apparatus 10 is connected via an I / O unit 14 to a magnetic disk device 17 having a storage capacity of about several tens of gigabytes as a storage device having a larger capacity.
  • CD-RZRW drive 15 an operating system and an application program for processing DNA sequence information as described later are provided via a CD-RZRW drive 15 in advance.
  • CD-R16 corresponds to the recording medium of the present invention.
  • recording media in addition to CD-R and CD-ROM, flash ROM, flexible disk, magneto-optical disk (M ⁇ ), digital A video disk (DVD) or a hard disk device (for example, provided on a server that can be connected via Internet) can be used.
  • the information processing device 10 further includes a keyboard 13 as a character information input device, an optical mouse 204 as a pointing device (input device), and A communication control unit 18 consisting of a router (or a modem or the like) is connected.
  • the mouse 204 includes a displacement signal generation unit 207 that generates a signal that specifies a position of a cursor on the display screen of the display device 12, and a left switch 204 that generates a signal that specifies information to be selected, various commands, and the like. a and the right switch 204b (signal generator).
  • Computer system 2 A from information processing device 10, VRAM11, display device 12, keyboard 13, mouse 204, I / O unit 14, CD-R / RW drive 15, magnetic disk device 17, communication control unit 18, etc. Is configured.
  • Windows registered trademark of Microsoft Corporation
  • UN IX a registered trademark of X / Open
  • OSZ2 a registered trademark of IBM Corporatin
  • MacOS a registered trademark of Apple Computer
  • Linux a trademark of Linus Torvalds
  • the computer system 2A (information processing device 10) is connected to a communication network 1 composed of a general telephone line via a communication control unit 18, and the communication network 1 has various content providers 3 and another computer.
  • System 2B and many servers and computer systems (not shown) are connected.
  • the computer systems 2 A and 2 B and the provider 3 of this example are connected to each other by the Internet via the communication network 1.
  • the owner of computer system 2A is the supplier (seller) of the DNA information
  • the owner of computer system 2B is the user (purchaser) of the DNA information.
  • the latter computer system 2B is pre-installed with an application program for processing DNA sequence information similar to the former computer system 2A.
  • the information processing device 10 of the computer system 2A of the present example is provided with the sequence of nucleotides (or the sequence of bases) in DNA via the IZO unit 14.
  • a sequencer (DNA Seauencer) 4 is connected as a sequence reading device for reading DNA.
  • the sequencer 4 reads the nucleotide sequence of one strand of a pair of polymer strands constituting DNA by the Sanger method (Sanger method). Sanger's method is described, for example, in Reference 1 (Maxim D. Frank-Kamen etskii: Unraveling DNA (the most important molecule of life, revised a nd updated), trans lated by Lev Liapin, Chapter 6 (pp.
  • the sequencer 4 stores the read sequence of nucleotides in a text data format in an internal large-capacity storage device, and in response to a request from the information processing device 10, reads a predetermined nucleotide in the storage device.
  • the text data of the array is supplied to the information processing device 10 via the I / O unit 14.
  • the information processing apparatus 10 performs the following processing based on an application program for processing DNA sequence information.
  • sequencer 4 a database of information on the sequence of nucleotides (or base sequences) constituting nucleic acids such as DNA and RNA (liponucleic acid: ribonucleic acid) is connected. You may.
  • the information processing device 10 records the text data indicating the nucleotide sequence of the predetermined DNA supplied from the sequencer 4 on the master file 19 in the magnetic disk device 17 as it is, The evening is converted into a numerical data having a smaller data amount, and the converted numeric data is recorded in the working file 20 in the magnetic disk device 17.
  • the number k in binary notation is represented by bin (k)
  • the number k in hexadecimal notation is represented by hex (k).
  • the DNA is composed of four types of nucleotides.
  • nucleotides containing adenine as a base nucleotides containing guanine as a base, and cytosine (cytosine) are contained.
  • nucleotides containing thymine They are represented by the letters A, G, C, and T, respectively.
  • the characters A, G, C, and T have a 1-byte (8-bit) ASCII code consisting of hex (41), hex (47), hex (43), and hex (54), respectively. One night has been assigned.
  • nucleotides containing uracil instead of thymine-containing nucleotides are represented by the letter U (hex (55)). Therefore, the data amount of the text data indicating the array of n nucleotides is n bytes.
  • the sequence of these n nucleotides can also be regarded as the sequence of n bases (adenine, guanine, cytosine, thymine (or peracil)).
  • nucleotides in DNA are represented by different 2-bit data in order to represent the text data with the smallest data amount without reducing the amount of information.
  • one pair of bases (adenine and thymine) are complementary to each other, and another pair of bases (guanine and cytosine) are complementary to each other. Therefore, assuming that a pair of nucleotides containing a complementary base is complementary to each other, a pair of mutually complementary nucleotides, that is, a nucleotide containing adenine and a nucleotide containing thymine, have a bit-inverted relationship with each other.
  • a pair of data is assigned, and another pair of mutually complementary nucleotides, that is, a nucleotide containing guanine and a nucleotide containing cytosine, is assigned another pair of data that are in a bit-reversed relationship with each other.
  • Table 1 conversion table
  • Table 1 the letters A, T (or U), G, and C in the text data indicating the nucleotide sequence are represented by bin (00), bin (11), bin (01), and bin (10), respectively. Means to replace with.
  • Nucleotide 2-bit data Nucleotide containing adenine (A) b in (00) Nucleotide containing thymine (peracyl) (T or U) bin (11) Nucleotide containing guanine (G) bin (01) Nucleotides containing cytosine (C) bin (10).
  • each nucleotide is represented by 2-bit data, which is equivalent to representing each base by 2-bit data.
  • the data allocation is not limited to Table 1.
  • the nucleotide containing thymine is bin (00)
  • the nucleotide containing adenine is bin (ll)
  • the nucleotide containing guanine is bin (lO)
  • cytosine. May be bin (Ol).
  • a pair of bins (01) and bin (10) are assigned to nucleotides containing adenine and nucleotides containing thymine
  • one pair of data bin (bin) is assigned to nucleotides containing guanine and nucleotides containing cytosine.
  • bin (11) may also be assigned.
  • In the case of RNA, the data assigned to nucleotides containing thymine is assigned to nucleotides containing ⁇ racil, and other nucleotides are assigned. Should be assigned the same data as the nucleotide of DNA.
  • a DNA molecule 5 is composed of a pair of polymer chains 6 A and 6 B (double helix), and one polymer chain 6 A is composed of nucleotide 7 A containing adenine and nucleotide 7 A containing guanine. G, nucleotide 7C containing cytosine, and nucleotide 7T containing thymine.
  • the sequence of four types of nucleotides is the same as that of the other polymer. Is an array.
  • the information processing apparatus 10 of FIG. 1 is supplied with text data indicating the sequence of one polymer chain 6A, that is, data of a character string of “AGCTTT ′.
  • the information processing apparatus 10 divides the text data into N rows and M columns (N and M are integers of 2 or more) blocks as described below, and then outputs the text in each block.
  • N and M are integers of 2 or more
  • the binary data BNA bin (00 01101111...) )
  • the binary data BNA is recorded in the peaking file 20 of the magnetic disk device 17 in FIG.
  • the data volume of the binary data BNA is 14 times that of the original text data.
  • the data of the file 20 is supplied to the computer system 2B as an e-mail attachment via the communication network 1 and a provider (not shown).
  • the data of the working file 20 may be further transmitted as a compressed file (ZIP file, LHA file, or the like).
  • ZIP file ZIP file, LHA file, or the like.
  • the original text data even when a compressed file is used itself is compared with the case of transmitting the original text data itself.
  • the transmission time is approximately 14 and communication costs on both the supplier side and the user side can be reduced.
  • Binary directory in working file 20 Evening BNA may be converted back to any of the letters A, G, C, T (or U) using Table 1.
  • This inverted binary data NOT (BNA) is the same as the binary data BNB obtained by converting the text data (character string "TCGAAA * ⁇ ⁇ ") indicating the nucleotide sequence of the 6B nucleotide of the other polymer according to Table 1. is there. Therefore, the inverse binary data NOT (BNA) is converted only to one of the characters A, G, C, T (or U) in sequence using Table 1, and the complementary polymer Text data of the sequence of chain 6B can be obtained.
  • the inversion operation for each bit can be executed at extremely high speed.
  • the bit-by-bit inversion operation may be replaced by an exclusive OR operation with bin (1111117), For example.
  • the contents of the working file 20 are recorded on the CD-R16 by the CD-RZRW drive 15 and the CD-R16 is recorded.
  • R 16 may be supplied to the user by mail or the like.
  • the sequence information (genome) of all the DNAs of a single human is about 3 GB in the text data.
  • this is converted into binary data as numerical data in this example using Table 1, It is about 34 Gbytes, or about 750 Mbytes. Since the current capacity of CD-R and CD-ROM is about 650 Mbytes, the binary data of about 750 Mbytes can be converted to CD_R 1 6 can be recorded.
  • the transmission time may be too long at present.
  • the type of one amino acid is determined by the sequence of three nucleotides in a row, that is, one gene codon. Therefore, among the 6-bit data obtained when each of the three nucleotides corresponding to one amino acid is represented by 2-bit data, the amino acid is represented by the smallest data. . Specifically, when each nucleotide is represented as shown in Table 1, the expression of 6 bits obtained for some amino acids is shown in Table 2 below. In Table 1, data in ⁇ > is used as data for that amino acid. This has the advantage that a common code can be used for nucleotides and amino acids.
  • a mathematical digest value (message digest) is calculated from a huge amount of text data indicating the nucleotide sequence (or numerical data obtained by converting it based on Table 1) using a predetermined hash function.
  • a supplier of DNA sequence information (information processing device 10) reads a nucleotide sequence of DNA of a predetermined organism, and reads the corresponding hash value from the text data.
  • a summary value is calculated using the function and the summary value is made available on the Internet together with information indicating the name of the organism and the location of the DNA. This would allow the supplier to claim that the sequence information of the DNA of the organism was decoded first without disclosing the text data itself. Then, when a request for purchase of the sequence information comes from a user, the supplier converts the text data of the nucleotide sequence into a binary data using Table 1, and converts the binary data into a binary data.
  • the evening is sent to the user, for example, via communication network 1 in the form of an e-mail.
  • the user converts the binary data back to the text data using Table 1.
  • the hash function is applied to the inversely converted text data to obtain a summary value.
  • the user can prevent duplicate purchases of the same sequence information from a plurality of different suppliers by comparing digest values disclosed by a plurality of suppliers.
  • the identity of the sequence information can be increased by comparing the length of the nucleotide sequence and the short sequence at the top or the end.
  • the nucleotide sequence held by the first researcher and the nucleotide sequence held by the second researcher It is necessary to guarantee the identity with the sequence.
  • the DNA sequence of the DNA to be studied is, for example, about 100 million
  • the text data of the sequence is about 100 Mbytes. It is not easy to confirm the identity by comparing one character at a time between two such long texts.
  • the first researcher calculates the length of the text data and the digest value by the hash function, and transmits this to the second researcher by e-mail or the like.
  • the second researcher also calculates the length of his / her text data and the digest value by the hash function, and compares these values with the values sent from the first researcher.
  • the two huge texts can be easily guaranteed with high probability.
  • the identity of the nucleotide sequence can be further enhanced by comparing the sequences of a predetermined length at the leading end and the end of the nucleotide sequence.
  • an SHS (Secure Hash Standard) hash function proposed by NBS (National Bureau of Standards) is used. May be.
  • S The HS hash function performs more complicated operations than the MD5 hash function, and provides a 160-bit summary value.
  • the number of amino acids constituting a protein is about 20 to 1,000, and when using single-letter notation, the corresponding text data is also as short as about 20 to 1 kbyte. Therefore, it is considered that the original text data can be easily estimated from the summary value. Therefore, it may be desirable to use the SHS hash function when calculating the summary value of amino acid sequence information.
  • step 101 of FIG. 3 the DNA information supplier reads the sequence of one row of nucleotides in the DNA of the standard sample (referred to as standard sample E) using sequencer 14.
  • the text data TX 1 representing the read array is supplied to the information processing device 10.
  • the standard sample E is E. coli
  • the text data is TX1
  • the first 2048 of the E. coli DNA sequence information obtained from website 1 above are shown.
  • Use text data that shows the sequence of nucleotides up to.
  • the information processing apparatus 10 performs the above MD5 hash function on the supplied text data TX1 to obtain a 128-bit summary value AB1 and obtains the number NA1 of the nucleotide sequence. , And the sequence ST1, SB1 of 8 nucleotides each at the beginning and end.
  • Specific values for the text data TX1 are as follows.
  • the summary value ABR 1 by the function and the sequence STR 1 and S BR 1 of eight nucleotides each at the beginning and end of the text data TXR 1 are obtained.
  • the arrays STR 1 and SBR 1 can be easily obtained by rearranging the above arrays SB 1 and ST 1 in the opposite directions.
  • ABR 1 hex (4eblfeae30f522642b912ce3ea09652b)... (12)
  • the information processing apparatus 10 transmits the information on the name of the standard sample E (information for identifying the sample), the number of sequences NA1, the text data TX1, the sequence S ⁇ 1, SB1, and the summary value AB 1.
  • the reverse array STR1, SBR1, and the reverse summary value ABR1 are recorded in the master file 19 of the magnetic disk drive 17.
  • the master file 19 is divided into a plurality of files, and the text data TXI and However, other data may be recorded in another file. If the text data TX1 is, for example, about 100 Mbytes or more, the text data One day TX 1 may be divided into a plurality of cells and recorded.
  • N and M are arbitrary integers of 2 or more, respectively, and as described above using Equations (1) and (2), the text data TX 1 is about 100 kbytes (or an integer multiple thereof).
  • the value of N is set to 64 and the value of M is set to 128.
  • no fraction is generated in this example, but, for example, in FIG. 7, if the number of characters in the last partial text data T (4, 32) is less than 16, a predetermined character is included in the missing portion. (For example, the letter A) may be added as a dummy data.
  • the length of the partial text data T (i, j) may be any length other than 16 characters, but a multiple of 8 characters is efficient to increase the processing speed.
  • the information processing apparatus 10 converts each of the partial text data T (i, j) in FIG. 7 into conversion data A (i, j) composed of 32-bit binary data (numerical data) based on Table 1 (conversion table). ).
  • conversion data A (i, j) (in hexadecimal notation) of 32 rows and 4 rows shown in FIG. 8 is obtained.
  • the aggregate (numerical data) when the converted data A (i, j) be continuously arranged in the sequence direction of the corresponding nucleotide be binary data BN1.
  • This binary data overnight BN 1 is the same as one binary data overnight BNA in FIG. 2, but the binary data BNA in FIG. 2 is represented in binary, and the binary data BNA in FIG.
  • C (j) can be expressed as follows.
  • B 1 (i) A (i, 1) + A (i, 3) ten ... + A (i, 31) (mod2 32 )-(14)
  • B 2 (i) A (i, 2) + A (i, 4) ten ... + A (i, 32) (mod2 32 )-(15)
  • the actual calculation result for the converted data A (i, j) is , Are shown as syndromes C (j), Bl (i), and B2 (i) in FIG.
  • FIG. 9 shows only the syndromes C (j), B1 (i), and B2 (i) extracted from the data of the standard sample E in FIG.
  • the syndromes C (j), Bl (i), and B2 (i) are each 32 bits (4 bytes)
  • the information processing apparatus 10 outputs the name information of the standard sample E, the number of sequences NA1, the binary data BN1, the syndromes C (j), B1 (i), ⁇ 2 (i). Is recorded in the working file 20 of the magnetic disk drive 17.
  • the binary file BN1 and the syndromes C (j), B1 (i), and ⁇ 2 (i) may be recorded in separate files using the working file 20 as a plurality of files.
  • the summary value AB1 calculated in step 102 may be recorded in the working file 20 together with the binary data BN1.
  • the binary data BN1 When the binary data BN1 is long, the binary data BN1 may be divided into a plurality of files and recorded. Furthermore, when the text data TX 1 in FIG. 7 (and thus the binary data BN 1 in FIG. 8) is considerably long, the text data TX 1 is divided into a plurality of data groups in units of, for example, about 100 kbytes. Alternatively, the syndromes C (j), B1 (i), and B2 (i) may be obtained for each data group.
  • the DNA information supplier records the information recorded in the working file 20, that is, the information on the name of the standard sample E, the number of sequences NA1, the binary data BN1, the syndrome C (j), B1 (i), B 2 (i) and the summary values AB 1 and ABR 1 recorded in the master file 17 are recorded on the CD-R 16 via the CD-R ZRW drive 15. Good. From this CD-R16, more CD-ROMs may be produced, and these recording media are sold to users by mail or the like.
  • the information processing device 10 Information, number of arrays NA1, arrays ST1, SB1, summary value AB1, reverse array STR1, SBR1, and reverse summary value ABR1 are recorded in content file 21 of magnetic disk drive 17. I do. Even if the text data TX1 in FIG. 7 is huge, about 100 Mbytes, the data recorded in the content file 21 is only about 500 bytes. Further, the information processing apparatus 10 transmits the information in the content file 21 to the content provider 3 via the communication network 1. As a result, the information in the content file 21 is recorded in the viewable content file 31 in the server of the provider 3, and can be freely viewed by a third party via the Internet.
  • step 109 the DNA information supplier waits for a purchase request from the user. Then, (a) when the user requests simple data for the standard sample E, the process proceeds to step 110 and the information processing device 10 transmits the syndrome C in the peaking file 20 of the magnetic disk device 17. The information of (j), B 1 (i), and B 2 (i) is transmitted to the user as, for example, an e-mail attachment. On the other hand, in step 109, (b) when there is a request for complete data from the user, the process proceeds to step 111, and the information processing apparatus 10 converts the binary data BN1 in the working file 20 into a ZIP file or the like. The compressed data is sent to the user as an e-mail attachment, for example.
  • the digest value AB1 by the hash function may be transmitted at the same time.
  • simple data can be transmitted in a short time because the amount of data is small.
  • complete data can be transmitted in a relatively short time because the data amount is 14 times smaller than the original text data.
  • step 109 the user may, if necessary, select the partial data, that is, desired data among all the converted data A (i, j) in FIG. 8, for example, two converted data A (4, 16). And only A (1, 17) from its supplier It may be. As a result, it is possible to obtain only the necessary exact data in a short time.
  • the server of the provider 3 is connected via the communication network 1 (internal network) in FIG.
  • the reverse array STR1, SBR1, and the reverse summary value ABR1 are read, and the read information is recorded in a temporary file in a storage device in the computer system 2B.
  • the user reads the sequence of one row of nucleotides in the DNA of the sample F to be tested using the same type of the standard sample E using a DNA sequencer (not shown).
  • the text data TX2 indicating the read sequence is taken into the information processing device in the computer system 2B.
  • the sample F to be tested is, for example, Escherichia coli which is considered to have a mutation, and the text data TX 2 of the sample F is similar to the text data TX 1 of the standard sample E.
  • the sequence of the nucleotide shall be indicated.
  • the DNA sequence of Sample F is shown in SEQ ID NO: 2.
  • the text data in Fig. 10 described below is equivalent to the sequence of SEQ ID NO: 2 except that the characters a, g, c, and t are replaced with A, G, C, and T, respectively, except for the digits.
  • FIG. 10 shows the text data TX2 corresponding to the nucleotide sequence of DN ⁇ of sample F. Only the underlined part of the sequence of FIG. 10 is the same as that of standard sample E of FIG. Different from the array. That is, the sequence of sample F differs only in the partial text data T (4, 16) and T (1, 17) of the standard sample E as follows. At this stage, the user does not know which part of the sequence of the sample F is different from the sequence of the standard sample E. Standard sample E Sample F
  • T (4, 16) ATTTGGACGGACGTTG ⁇ ATTTGGACATTATGGC
  • T (l, 17) ACGGGGTCTATACCTG ⁇ GGCCAACTTATACCTG
  • An application program for processing the DNA sequence information is also activated in the information processing device on the user's computer system 2B side. Then, in step 123, the information processing device performs the above MD5 hash function on the read text data TX2 to obtain a 128-bit summary value AB2, and also obtains the number of nucleotide sequences NA2, Then, a sequence ST2, SB2 of eight nucleotides each at the beginning and end is obtained, and these are recorded in the first data file of the internal storage device.
  • Specific values for text data TX2 (Fig. 10) are as follows.
  • the information processing device of the computer system 2B writes, in its first data file, "the DNA structure of sample F is It is the same as the DNA structure of sample E. "
  • the information processing apparatus converts each partial text data TF (i, j) in FIG. 10 into a 32-bit binary data based on Table 1 (conversion table).
  • conversion data AF (i, j) (in hexadecimal notation) of 32 rows and 4 rows shown in Fig. 11 is obtained.
  • an aggregate (numerical value data) in which converted data data AF (i, j) are continuously arranged is defined as binary data data BN2.
  • CF (j) is calculated by replacing A (i, j) with AF (i, j) in equation (13).
  • Fig. 12 shows mainly the syndrome C F from the overnight of sample F in Fig. 11.
  • step 131 the information processing device sets a set of syndromes of simple data purchased from the supplier, that is, a set of syndromes C (j) and B1 (i) in FIG. 8 (standard sample E). ), B 2 (i) and a set of syndromes CF (j), B 1 F (i), and ⁇ 2 F (i) of sample F determined as described above, Search.
  • the syndromes CF (16) and CF (17) and the syndromes B1F (1) and B2F (4) in FIG. 11 are specified as different syndromes.
  • the information processing apparatus determines that the conversion data AF (i, j) in FIG. 11 differs from the conversion data A (i, j) in FIG. ', j')) to see if there is at most one for each row or column. If this is true, the conversion de Isseki AF (i ', j') converted data in the standard sample E corresponding to the can and this easily determined by simultaneous equations modulo 2 32. In this example, this is true, that is, the different conversion data is one for each of the first and fourth rows, and one for each of the 16th and 17th columns. Transition.
  • the information processing apparatus first restores the converted data A (4, 16) of the standard sample E from the converted data AF (4, 16) by using the syndrome C (16) in FIG. 8 and the syndrome C in FIG. The following calculation is performed using CF (16) and conversion data AF (4, 16).
  • a (4, 16) C (16) -CF (16) + AF (4, 16) (mod2 32 )
  • the information processing device reconstructs the conversion data A (1, 17) of the standard sample E from the conversion data AF (1, 17), and the syndrome C (17) in FIG. 11.
  • the following operation is performed using the syndrome CF (17) and the converted data AF (1, 17).
  • a (1, 17) C (17) -CF (17) + AF (1, 17) (mod2 32 )
  • the restored transformed data A (4, 16) and A (1, 17) are inside the syndromes CF (j), B 1 F (i), and B2 F (i) of sample F in FIG. Is displayed.
  • the partial text data obtained by inverting the converted data A (4, 16) and A (1, 17) in Fig. 12 according to Table 1 is the partial text data T (4 , 16) and T (1, 17).
  • the information processing apparatus converts the restored transformed data A (i ', j'), that is, A (4, 16), A (1, 17), into a binary
  • the binary data BN2 obtained by this replacement is converted to text data TX1 'based on Table 1.
  • the information processing apparatus calculates a 128-bit summary value AB 1 'using the MD5 hash function from the text data TX 1 ′, and the summary value AB 1 ′ is used as the summary value AB 1 (step (Recorded in the temporary file at 121).
  • AB 1 ′ AB 1 holds, but for example, it depends on the position and contents of different conversion data in conversion data AF (i, j) of sample F in FIG. Te, when c as this that the difference position may not be accurately detected in step 132, AB 1, when a ⁇ AB 1 may be migrating to step 135.
  • AB1, AB1 is established, and the operation proceeds to step 138, where the information processing apparatus stores “the sequence of the sample F and the sequence of the standard sample E in the first data file. Record the positions of the different parts U ', j'), and the different partial text data pairs.
  • position (4, 16), (1, 17) force as position (i ', j') A (4, 16), AF (4, 16) and AF (4, 16) A (1, 17) and AF (1, 17) are recorded.
  • step 132 there are at least two different conversion data AF (i ', j') in one row and two or more in the column direction (meaning two or more in odd or even number). If so, accurate recovery of the converted data is difficult. Then, the operation proceeds to step 135, where the user purchases the complete data of the standard sample E, that is, the binary data BN 1 in FIG. 8 from the supplier of the DNA information via the communication network 1 (Internet), The information processing device of the computer system 2B records the binary data BN1 in the third data file of the storage device.
  • the standard sample E that is, the binary data BN 1 in FIG. 8
  • the information processing device of the computer system 2B records the binary data BN1 in the third data file of the storage device.
  • the information processing device inversely converts (restores) the binary data BN1 into text data TX1 ′ based on Table 1, and obtains an MD5 hash function from the text data TX1.
  • Calculate a 128-bit summary value ⁇ 1 ′ using this method, and check whether this summary value AB 1 ′ is equal to the summary value ⁇ 1 of standard sample ⁇ (recorded in the temporary file in step 121). Normally, AB 1 ′ ⁇ 1 holds. However, if an error occurs in the binary data BN 1 transmitted by a communication error or the like, ⁇ 1, ⁇ B l. At this time, measures such as re-transmission of the data completely to the supplier are performed.
  • step 137 the information processing apparatus determines in the binary data B N1 of the standard sample E that the conversion data A (, j) corresponding to the conversion data AF (, j ′) of the sample F which is different. '). Thereafter, the operation moves to step 138.
  • the summary value AB1 of the standard sample E is compared with the summary value AB2 of the sample F, and when the two are equal, the DNA structure of the sample F is There is no need to purchase further information from the supplier of DNA information, as it is assumed to be the same as the DNA structure of standard sample E.
  • the syndromes C (j), B1 (i), B2 (i) of the standard sample E and the syndromes CF (j), BlF (i), B2F (i) of the sample F If the number of different conversion data AF (i, j) is small, a large amount of complete data is used to restore the corresponding conversion data A (i, j) of the standard sample E. It is not necessary to purchase a computer, and information processing costs can be reduced.
  • step 135 the user has purchased the complete data (binary data BN 1) from the provider of the DNA information.
  • the user may have purchased the different conversion data AF identified in step 131. Only the conversion data A (i ', j') of the standard sample E corresponding to (, j ') may be purchased. This can reduce communication costs.
  • two sets of syndromes B l (i) and B 2 (i) are obtained in the non-array direction (column direction).
  • all the converted data A (i, j) of the corresponding standard sample E can be accurately restored.
  • the syndrome of this example detects the position and restores the corresponding sequence. be able to.
  • an error code in which only one nucleotide (base) differs within a predetermined range such as SNP (—Single Nucleotide Polymorphism)
  • SNP Single Nucleotide Polymorphism
  • each nucleotide is represented by 2-bit data as shown in Table 1.
  • text data representing nucleotides (or bases) the following 16 types of characters a to n (8-bit ASCII data) may be used.
  • Adenine (Synonymous with nucleotides containing adenine; the same applies hereinafter)
  • Thymine or peracyl
  • n (adenine, cytosine, guanine, or thymine (or peracyl)) or (unknown or other base).
  • these 16 kinds of characters may be converted into mutually different 4-bit codes, and the text data may be converted into numerical data (binary data) using this code.
  • the amount of data can be reduced to 12. If the number of nucleotides (bases) increases in the future, these nucleotides may be represented by 5-bit or 6-bit data. No.
  • the digest value is calculated by the hash function from the text data showing the nucleotide sequences in FIGS. 7 and 10, but the amount of information is as follows. It is equivalent to the binary data (numerical data) in Figs. 8 and 11. Therefore, a summary value may be calculated by a hash function from these binary data, and these calculation results may be compared with each other. Since binary data is about 1 to 4 times that of text data, it has the advantage of reducing the time to calculate summary values.
  • the present invention is applicable to the case where information on the nucleotide sequence forming a gene is processed. Needless to say, this is also applicable.
  • the present invention is applied when processing sequence information of amino acids constituting a protein or a peptide.
  • the computer system 2A shown in Fig. 1 can be basically used.
  • the protein sequencer protein sequencer
  • the protein sequencer protein sequencer
  • a database of amino acid sequences can also be used as the sequence reader.
  • text data TX3 indicating the sequence is supplied to the information processing device 10.
  • the sample G was used as E. coli and its text data as TX3.
  • the amino acid sequence of Sample G is shown in SEQ ID NO: 3.
  • the text data in FIG. 13 corresponds to the one-letter representation of the sequence of SEQ ID NO: 3, excluding the numeric data.
  • the text data is divided into eight lines in the sequence direction (the amino acid sequence direction) and 26 columns in the non-sequence direction orthogonal to the sequence direction. It is divided, and 0 is tentatively displayed at the position of the data indicating the 86th amino acid or more (the part that is not exactly included in TX3).
  • the information processing device 10 performs the above MD5 hash function on the supplied text data TX 3 to obtain a 128-bit summary value AB 3, and also obtains the number NA 3 of amino acid sequences, and Find the sequence ST3, SB3 of 8 amino acids at the beginning and end.
  • Specific values for TX3 are as follows.
  • the arrays STR 3 and SBR 3 can be easily obtained by rearranging the above arrays SB 3 and ST 3 in the reverse direction.
  • the information processing apparatus 10 includes information on the name of the sample G (information for identifying the sample), the number of sequences NA3, text data TX3, sequences ST3 and SB3, summary values AB3, and reverse sequences STR3 and SBR3. , And the summary value ABR 3 in the reverse direction are recorded in the master file 19 of the magnetic disk device 17.
  • the master file 19 may be a plurality of files, and the text data TX 3 and other data may be recorded in separate files.
  • the information processing device 10 arranges the text data TX 3 of the sample G in the N rows in the arrangement direction (the arrangement direction of the amino acid) and the arrangement direction thereof.
  • N and M are each an arbitrary integer of 2 or more.
  • the partial text data of the four characters is handled as it is as 32-bit conversion data.
  • each amino acid may be represented by 6-bit data.However, since the data amount is only about 34, in this example, the partial text data is left as it is. Treated as converted data (numerical data).
  • the information processing device 10 applies a modulo 2 32 (mod 2 32 ) to the array direction of the converted data in each column for the converted data of 26 columns in the 8 rows as in the example of FIG. And the syndrome in the array direction is calculated. Furthermore, the under modulo 2 32 for non-array direction of the odd-numbered conversion data within each row of the conversion data sum, and the even-numbered conversion de non against the arrangement direction of the modulo 2 32 Isseki Calculate the sum, ie, two sets of syndromes in the non-array direction.
  • the information processing apparatus 10 records the name information of the sample G, the number of sequences NA3, the text data TX3, the summary value ⁇ 3, the ABR3, and the syndrome in the working file 20 of the magnetic disk device 17.
  • the working file 20 may be a plurality of files.
  • the information processing apparatus 10 transmits the information on the name of the sample G, the number of sequences NA3, the sequences ST3, SB3, the summary value AB3, the reverse sequences STR3, SBR3, and the reverse summary value ABR3 to a magnetic disk.
  • the content is recorded in the content file 21 of the device 17. Further, the information processing apparatus 10 transmits the information in the content file 21 to the content provider 3 via the communication network 1.
  • the information in the content file 21 is recorded in the viewable content file 31 in the server of the provider 3, and can be freely viewed by a third party via the Internet.
  • the third party compares the published number of sequences in sample G, NA3, and the summary value, AB3 (or ABR3, if necessary) with the number of sequences in the amino acid sequence held by him, and the summary value. By comparing, it is possible to determine whether the sample G is new to oneself. In addition, the user can avoid erroneously purchasing the sequence information of the sample G from a plurality of suppliers.
  • the owner of computer system 2A (supplier of amino acid information) waits for a purchase request from the user. Then, when the user makes a request for simple data collection for the sample G, the information processing apparatus 10 attaches the information of the syndrome of the sample G in the working file 20 of the magnetic disk device 17 to an electronic mail, for example. Send to the user as a file.
  • the user who purchases the information of the syndrome must use the same type of amino acid in the sample By comparing the syndrome of the sequence with the purchased syndrome, the difference can be detected and restored to some extent.
  • the information processing device 10 compresses the text data TX 3 in the working file 20 in a format such as a ZIP file, and compresses the compressed data into, for example, an electronic file. Send to the user as an email attachment.
  • the digest value A B 3 by the hash function may be transmitted at the same time. According to this example, simple data (syndrome) can be transmitted in a short time because the amount of data is small.
  • the supplier of the amino acid sequence information is the information recorded in the working file 20, ie, the information on the name of sample G, the number of sequences NA 3, the text data TX 3, the summary values AB 3, ABR 3, And the syndrome may be recorded on the CD-R 16 via the CD-R / RW drive 15. From the CD-R 16, a larger number of CD-ROMs may be produced, and these recording media are sold to users by mail or the like.
  • the amino acid sequence of sample G is displayed in the display area to the left of the edge 51, and the display area also displays the force sol 52 controlled by the mouse 204 in Fig. 1.
  • the right end of the area 54 is first selected. Move the cursor 52 over the letter "A” and operate the left switch 204a of the mouse 204 in Fig. 1. Thereafter, the mouse 204 is moved rightward so that the cursor 52 moves virtually from the edge portion 51 to a position 53 located further rightward.
  • the cursor In the step 52 a screen wrapping operation is performed in which the other edge part facing the edge part appears in the display area.
  • the cursor 52 moves to the right of the not-shown left edge of the display area in FIG. 13 and moves over the letter “K” at the left end of the area 54, and Is selected.
  • the sequence of the region 54 can be copied.
  • FIG. 14 shows an array of the 15th to 17th columns of the array of FIG. 13.
  • an area 56 A of the 16th column and the 8th row and After that, the array of the area 56 B in the first row of the 17th column is selected.
  • the cursor 52 is moved over the character "L" at the left end of the area 56A, and the left switch 204a of the mouse 204 in FIG. 1 is operated. Thereafter, the mouse 204 is moved to the lower right so that the cursor 52 is virtually moved from the edge 51 to the position 55 in the lower right direction.
  • the cursor 52 in this example moves to the right of the left edge (not shown) of the display area in FIG.
  • the sequence of regions 56A and 56B is selected.
  • the sequence of the regions 56A and 56B can be copied.
  • the moving amount of the mouse 204 is reduced by the screen wrapping operation of the force sol, and a series of large areas in the amino acid sequence, and a continuous portion of the left and right ends are separated.
  • the sequence of the region can be easily selected.
  • the selection operation can be performed easily and at high speed by performing the screen wrapping operation of the cursor.
  • the display area of the display device 12 in FIG. 1 is defined as the display area 201a in FIG. 17, the long side direction of the display area 201a is defined as the X direction, and the short side direction is defined as the y direction.
  • the range in which the coordinates of the cursor can be specified is defined as an effective coordinate area 201b. In this case, if the coordinates of the cursor are set outside the display area 201a and inside the effective coordinate area 201b, the cursor is displayed at the edge of the display area 201a.
  • Fig. 17 (a) shows an example of the program list displayed in the display area 201a.
  • the menu list 22 1 is selected.
  • the first group list 2 2 2 (first column) and the second group list 2 2 3 (second column) of the program are displayed in two columns in the X direction. This display is generated when the cursor 220 passes over the display (inverted) of "Program" on the menu list 222.
  • the cursor 22 0 is displayed as “group G 16”.
  • the application list of group G 16 2 2 4 is displayed on the left (1-X direction) of the group list 2 2 (first column).
  • the application program to be executed is the application A3
  • the problem is how to move the force solver 220 to the application list 222.
  • the cursor 220 is simply moved from the group G16 to the left group list 222, for example, the application list of the group G2 is displayed, and the application list 222 of the group G16 is displayed. The display disappears. Therefore, in this example, the cursor 2 20 is moved rightward (+ x direction) from above the group G 16. Move to Then, assuming that the coordinates of the force solver 220 are P (m, n), the coordinates of the cursor 220 are further outside the effective coordinate area 210b surrounding the display area 201a in the + X direction. The mouse 204 in FIG. 1 is moved to the right so that the coordinates P (ml, n 1) of.
  • the cursor 220 moves from the position on the right side of the display of the group G16 to the vicinity of the position of the coordinate P (0, n1) as shown in FIG. 17 (b), that is, the application list.
  • Move up 2 2 4 After that, by moving the mouse 204 slightly downward and moving the cursor 220 on the display of the application A3, by clicking the left switch 204a of FIG. It is possible to start the application A3 program in a very short time and easily.
  • the calculated coordinates of the force solver 220 are outside the display area 201 a and inside the effective coordinate area 201 b.
  • the force sol 220 is displayed at the edge of the display area 201 a).
  • the mouse in Figure 1
  • the switches 204 and 204b of 204 may have different functions.
  • the shape of the force solver 220 may be deformed.
  • the size of the display area 201a is reduced. You may make it expandable in a predetermined range.
  • the switch 2 Another function may be provided for 04a and 204b.
  • the information selection method uses the display area (201a) in which a plurality of pieces of information (221 to 223) are displayed to select one or a plurality of pieces of information.
  • an information selection method for selecting information related to any of the The control information including at least one of the movement amount and the movement direction is generated, and the cursor (220) (pointer) is movably superimposed on the plurality of pieces of information in the display area based on the generated control information.
  • the cursor (220) pointer
  • any of the plurality of pieces of information or information related to any of the plurality of pieces of information can be selected.
  • the force is reduced.
  • the sol is moved in the display area starting from a second end of the peripheral edge of the display area different from the first end.
  • the cursor (220) in this example moves periodically in the display area (201a) in a screen or wrapping manner according to the control information of the pointing device.
  • the second end is In the display area, it is set at a position substantially axially symmetric with respect to the first end with respect to the predetermined axis, and the direction of movement of the cursor (220) from the second end is It is desirable that the direction is such that the force is further moved from the first end by the control information. This makes it possible to easily predict the periodic movement of the cursor (220), so that the user can immediately utilize the movement of the periodic force sol (220) without special skill. .
  • the plurality of pieces of information and the information related to these pieces of information are displayed in a plurality of columns (222, 223) in the display area (201a).
  • the cursor (220) is passing through the display of predetermined information in the column (223) at one end of the plurality of columns, the other end of the plurality of columns in the display area is displayed.
  • the sub-information (224) related to the predetermined information is displayed outside the column (222), and the cursor is moved out of the display area from the column (223) at one end of the plurality of columns.
  • the control information is given to be moved, the cursor (220) is moved from the end P (0, n1) near the other end column (222) of the plurality of columns in the display area. Is moved on the display of the plurality of sub-information (224), and any of the plurality of sub-information can be selected.
  • a hash function for calculating a summary value of text data (or numerical data obtained by converting the data based on Table 1 or the like) corresponding to a nucleotide sequence (base sequence) of DNA or RNA is further described.
  • the hash function is operated on a nucleotide sequence of human DNA
  • the text data file or numerical data file (hereinafter referred to as the “original file”) is a huge file of about 100 Mbytes. It is. Therefore, the hash function (hash calculation algorithm) used in the present invention may have a function of calculating an overall summary value by sequentially processing a plurality of divided files after dividing the original file to be calculated. desirable.
  • the hash function is defined as a unit of a predetermined number of words m2 (m2 is, for example, 16, 32, 64, etc.) in units of a predetermined number of bits ml (ml is, for example, 32, 64, etc.) as one word.
  • the summary value of is calculated.
  • Summarizing values can be performed efficiently by adding a file (length data, delimiter data, etc.) to make the file an integral multiple of ml or m2 bits.
  • the hash function used in cryptography also targets all space codes and line feed codes in text data, but for the sake of clarity, nucleotide and amino acid sequence information is represented by SEQ ID Nos. 1-3. Insert a space code, a numeric code indicating the array order, and a line feed code in the middle as shown. May enter. Therefore, in a hash function that targets nucleotide sequence information (as well as amino acid sequence information) as an arithmetic processing target, if necessary, a numeric code and a space code as predetermined codes in the text data are used. It is desirable to add a function to ignore line feed codes. It is also possible to separate adjacent characters with a "one" (hyphen), but in this case it is necessary to ignore the "one" symbol.
  • comment data data indicating the order of the plurality of divided files
  • comment data is recorded between a predetermined start symbol (for example, Z *) and an end symbol (for example, * Z), and when processing with the hash function, the data from the start symbol to the end symbol is You can ignore it.
  • a partial sequence at the beginning and a partial sequence at the nucleotide sequence (or amino acid sequence of a protein) of an organism's DNA, and a summary of the text data of the sequence may be published on the Internet.
  • the contents of the text data may be inferred from the published part of the sequence and the summary value.
  • the hash function may be applied only to the portion excluding the published array to obtain a summary value.
  • the digest of the file (file FD1) recorded as text data, including numbers, spaces, and line breaks indicating the order, for example, to make the nucleotide sequences of nucleic acids and genes easier to read, is calculated (message digest).
  • An example of a method for performing this will be described with reference to FIG.
  • the calculation of the following summary value is, for example, This is executed in the information processing device 10 of FIG.
  • step 151 the text data in the file FD1 in which the numeric code, the space code, and the line feed code have been removed from the text data are recorded in the file FD2.
  • step 152 a 128-bit summary value of the text data in the file FD2 is calculated using, for example, an MD5 hash function. This method is simple, but if the file FD1 is about 100 Mbytes, for example, the file FD2 will be about 100 Mbytes, so the storage capacity must be increased.
  • one word "word” is a 32-bit quantity
  • one byte "byte” is an 8-bit quantity.
  • a row of bits can be naturally interpreted as a row of bytes, where each set of 8 bits of data is referred to as the most significant bit (MSB), the 1 byte of data with the most significant bit displayed first. —Can be interpreted as evening.
  • MSB most significant bit
  • a row of bytes can be interpreted as a row of 32-bit words, where each 4-byte data set is the least significant byte (LSB), the lower byte first. It can be interpreted as a one-word date displayed.
  • X—i means an expression in which the subscript i is added to X.
  • the expression is enclosed in parentheses, for example, "x—ii + 1".
  • ' is used as a superscript (power), so "x'i” means X to the power i.
  • the symbol "+” means addition of words, '32 means addition, and
  • X ku s means a 32-bit value obtained by rotating (rotating) X to the left by s bits, and not ( X) means the bitwise complement (c0 immediate complement) of X, and "XvY” is obtained by performing a bitwise OR operation on X and Y.
  • "X xor Y” means a value obtained by performing a bitwise XOR (exclusive OR) operation on X and ⁇
  • " ⁇ " means a bitwise XOR with X and ⁇ It means the value obtained by performing D operation.
  • the text data recorded in file FD2 (text data obtained by removing the numeric code, space code, and line feed code from file FD1) is a b-bit message for which a summary value is to be obtained.
  • Its value b is any non-negative integer, and b may be zero.
  • the value b does not need to be a multiple of 8, but may be an arbitrarily large value.
  • the sequence of bits in the b-bit message can be expressed as:
  • the summary value of the message can be calculated by the following five steps A to E.
  • Additional bits are added (extended) to the message so that the length of the message when expressed as a bit string is congruent to 448 under modulo 5 12. That is, the message is extended so that its length is 64 bits less than a multiple of 5 12 bits. The addition of additional bits is always performed, even if the message length is already congruent to 448 under modulo 512.
  • Addition of additional bits is performed by adding a single bit "1” and then adding a bit "0" so that the bit length is congruent to 448 under modulo 5 1 2 Is done. In all cases, at least one bit and at most 5 112 bits are added.
  • the 64 bit representation of the number of bits in the message, b (the length before any additional bits are added in step A), is Attached to the page. This is unlikely to happen, but if b is larger than 64 bits, only the lower 64 bits of the representation of b are added. These bits are added as two 32-bit words, corresponding to the above, with the lower bits first.
  • the length of the bit representation of the message thus obtained is exactly a multiple of 512, ie a multiple of 512 bits.
  • the length of the message thus obtained is exactly a multiple of 16 (32-bit) words. Therefore, each word of the message obtained in this way is M [0 ... N-1]. Where N is a multiple of 16.
  • A, B, C, D Use a 4-word buffer (A, B, C, D) to calculate summary values.
  • A, B, C, and D are 32-bit registers, respectively, and these registers are initialized to the next value in hexadecimal notation with the low-order byte first.
  • Step D Message processing for each 16 word block
  • auxiliary functions that receive three 32-bit words as input and generate one 32-bit word as output are defined as follows.
  • the function F evaluates to Y if X is true and ⁇ ⁇ ⁇ ⁇ otherwise. Acts as a conditional expression. Function F could also be defined using + instead of V. Because XY and not (X) Z never become 1 at the same bit position.
  • the functions G, H, and I are similar to the function F in that the bits of ⁇ , ⁇ , and ⁇ ⁇ ⁇ are output in parallel for each bit.
  • the function ⁇ ⁇ is a function that performs an XOR operation or a parity operation for each bit on the input.
  • a table T [l ... 64] having 64 elements derived from a sine function is used. That is, assuming that the ith element of the table is T [i] and the unit of i is radian,
  • T [i] integer part of ⁇ 4294967296 x abs (sin (i)) ⁇
  • buffers A, B, C, and D are copied to buffers AA, BB, CC, and DD, respectively, as follows.
  • AA A
  • BB B
  • CC C
  • DD D
  • [abed k s i] is defined to perform the following processing.
  • [abed k s i] is defined to perform the following processing.
  • [abed k st] is defined to perform the following processing.
  • [abed k st] is defined to perform the following processing.
  • the summary value calculated as output is the value of buffer A, B, C, D itself. That is, the summary value is the value that starts with the low byte of buffer A and ends with the high byte of buffer D. If the summary value can be 32 bits or 64 bits, for example, only the value of buffer A or buffers A and B, respectively, may be used as the summary value.
  • the MD5 hash function performs complicated processing to make it difficult to estimate the original data, but when calculating a summary value of a sequence of nucleotides and amino acids, the original data is Even if it is estimated to some extent, there may be no particular inconvenience.
  • a and b are non-zero s-bit numbers, and is the final summary value.
  • step 161 in FIG. Set the values of the variables NX and NY that represent numbers to 0, respectively, and set the values of the buffers A, B, C, and D in 32-bit units that represent the summary value to the predetermined initial values (the values set in step C above). Set to and empty the text data for which the summary value is calculated.
  • step 162 the character code of one character (here, one byte) from the beginning of the text file in the file FD1 (here, meaning including all types of codes) is read.
  • Step 1 6 When a New Alpha, the process moves to Step 1 6 6, with to return the variable NX to 0, after adding 1 to the variable NY (number of blocks ⁇ number of character units), scan Tetsupu 1 6 7 Then, calculate the summary value (A, B, C, D) of the text data to be calculated (including NA character codes). This means that step D above is performed once. Then, after the text data to be calculated is emptied, the operation proceeds to step 168 to check whether or not there is another character code to be read in the file FD1. If the character code read in step 163 is any one of a number, a space, and a line feed code, the character code read in step 169 is ignored, and the process proceeds to step 168. Further, even when the variable NX has not reached NA in step 165, the operation proceeds to step 168.
  • step 168 there is still a character code to be read.
  • the operation returns to step 162, the next one character code is read from the text data in the file FD1, and the operations of steps 163 to 168 are repeated thereafter.
  • step 168 the operation proceeds to step 170, where the summary values (A, B, C, D) are calculated.
  • the above-described Step A, Step 8, Step D, and Step E are executed.
  • the obtained summary value (A, B, C, D) is the final summary value.
  • the text data indicating the nucleotide sequence of SEQ ID NOS: 1 and 2 and the text data indicating the amino acid sequence of SEQ ID NO: 3 are calculated by the calculation methods shown in FIGS.
  • the result of calculating the summary value in the evening is as follows in hexadecimal notation. These summary values are constant values that do not change even if the line feed method of the array is changed.
  • the numeric code, the space code, and the line feed code as the predetermined codes are removed, but a comment sentence or the like may be removed.
  • the method for calculating the digest value in FIGS. 15 and 16 may be not only the MD5 hash function but also any other function.
  • sequence information of nucleotides in a nucleic acid or a gene, or sequence information of amino acids in a protein or a peptide, and a text indicating the sequence when the sequence exceeds a predetermined length Data can be recorded with a smaller amount of data than overnight. Therefore, it becomes possible to transmit such arrangement information in a short time via a communication line.
  • the difference between the two nucleotide sequences can be easily detected with a small amount of data, and if necessary, the difference can be detected. Therefore, for example, SNP (Single Nucleotide Polymorphism) can be easily found with a small amount of data.
  • nucleotide sequence information it is possible to provide a business model capable of supplying nucleotide sequence information or amino acid sequence information to a user with a small data amount.
  • identity of the sequence information provided by the user and the sequence information held by the information supplier can be confirmed, or the difference can be determined by using a mathematical summary value or syndrome information. Detection and restoration can be easily performed.
  • summary value calculation method of the present invention for example, nucleotide sequences are checked.
  • the summary value calculation method is particularly effective when calculating a summary value of nucleotide or amino acid sequence information.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Evolutionary Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Chemical & Material Sciences (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Description

明 細 書 ヌクレオチドの配列情報及びアミノ酸の配列情報を記録するための方法及び装
技術分野 本発明は、 例えば DNA (デォキシリポ核酸: deoxyribonucleic acid)又は RNA (リポ核酸: ribonucleic acid) 等の核酸や遺伝子の少なくとも一部を 構成する一群のヌクレオチドの配列情報、 及びタンパク質の少なくとも一部を 構成する一群のアミノ酸の配列情報の記録方法及び装置に関する。 更に本発明 は、 その配列情報を供給するためのビジネスモデルとして好適な配列情報の供 給方法、 その配列情報を記録したコンピュータ読み取り可能な記録媒体、 及び その配列情報の記録方法を使用する場合に好適な要約値算出方法に関する。 背景技術
人間、 及び他の生物 (動物、 植物、 微生物等) の DNAを構成する 1対のヌ クレオチドの鎖 (又は塩基の鎖) の配列情報の解読が世界的に行われている。 この場合、 従来より DNAを構成する 4種類のヌクレオチドは、 塩基としてァ デニンを含むヌクレオチド、 グァニンを含むヌクレオチド、 シトシンを含むヌ クレオチド、 及びチミンを含むヌクレオチドにそれぞれ文字 A, G, C, 及び Tを割り当てることによって、 それぞれ 1バイト (=8ビット) のテキストデ 一夕で表わされている。 その結果として一つの DN Aの配列は、 それを構成す る 1対の重合体の鎖の内の一方の鎖のヌクレオチド (n個とする) の配列を順 次文字 A, G, C, T (又は a, g, c, t) の何れかで表すことによって、 nバイトのテキストデ一夕で表されていた。 同様に、 一つの RNAを構成する 1本の n個のヌクレオチドの配列は、 チミンを含むヌクレオチドの代わりにゥ ラシルを含むヌクレオチドに文字 U (又は u) を割り当てることによって、 n バイ卜のテキストデータで表されていた。
これに関して、 例えば人間の最も大きい第 1染色体中の DNAの配列は、 約 2億 5千万個のヌクレオチドの配列であり、 最も小さい第 22染色体中の DN Aの配列は、 約 5000万個のヌクレオチドの配列であるため、 人間の各染色 体中の DNAの配列は、 約 250Mバイト〜 50 Mバイトのテキストデータで 表すことができる。 更に、 一人の人間の全部の DNA情報 (ゲノム) は、 約 3 0億個のヌクレオチドの配列で表すことができるため、 そのゲノムは、 約 3G バイトのテキストデ一夕で記録することができる。 なお、 それらのテキストデ —夕に対して通常のファイル圧縮技術を適用することによって、 それらのテキ ストデ一夕は、 例えば元のデ一夕の 50%程度の圧縮ファイルとしても記録、 又は送信することができる。
また、 DNAの配列の解読に続いて、 DNA中の多数の遺伝子の情報に基づ いてそれぞれ合成されるタンパク質の機能の研究も広く行われている。 この場 合、 タンパク質を構成する 20種類のアミノ酸は、 三文字表記 (3-Letter Cod e) ではそれぞれ 3文字 (例えば A l a, Cy s , G 1 u等) のテキストデー 夕で表され、 一文字表記 (卜 Letter Code) ではそれぞれ 1文字のテキストデ 一夕 (例えば A, C, E等) で表されるため、 n個のアミノ酸よりなるタンパ ク質の配列は、 nバイトのテキストデ一夕で表すことができる。 そして、 種々 のタンパク質は、 それらのアミノ酸が約 20個〜約 1000個程度所定の順序 で配列されたものであるため、 それらのタンパク質の配列は、 最大でも約 l k バイ卜程度のテキストデ一夕で記録することができる。 また、 例えば人間の遺 伝子の総数は約 3万個と予想されており、 それに対して夕ンパク質は理論的な ものも含めて約 10万種類の存在が可能であると言われている。
上記の如く例えば一人の人間の DN A情報をテキストデータで記録するため には、 全部で 3 Gバイト程度の記憶容量が必要であり、 仮に通常の圧縮フアイ ルの技術を適用しても 1 Gバイト程度の記憶容量が必要である。 また、 人間以 外の大腸菌や各種ウィルス等の DN A情報も解析されて次第に公開されるよう になっているが、 これらの DNA情報をテキストデ一夕の形で多く集めると、 数 100Mバイト程度の記憶容量が必要である。 これは RN Aの配列情報につ いても同様である。
このように人間又は他の生物の DNA情報をテキストデ一夕、 又はこの通常 の圧縮ファイルの形で記録するものとすると、 例えば 1枚の記憶容量が 5 Gバ ィト程度の DVD— ROM (digital video disc- ROM)ディスクのように膨大な 記憶容量を持つ記録媒体が必要である。 更に、 その DNA情報を利用する場合 にその記録媒体からの読み出し時間が長くなり、 処理時間が長くなるという不 都合がある。
また、 現状の一般の通信回線の通信速度は、 最大で 1Mb p s程度であるた め、 例えば 1 Gバイト程度の DNA情報をその通信回線を介して送信するもの とすると、 送信時間は最短でも約 2時間程度となり、 あまり実用的ではない。 特に最近はその DN A情報をデジタルの携帯電話システムを介して送信する場 合も考えられるが、 現在の携帯電話システムの通信速度はせいぜい 100 k b P s程度であるため、 少なくとも人間の DNA情報の伝送で使用することは困 難である。
次に、 例えば或る微生物の DNA中の遺伝子について複数の研究者が並行し て研究するような場合に、 複数の研究者が保有している標準となる DNA (又 は遺伝子) のヌクレオチドの配列の同一性をどのように保証するのかという問 題がある。 即ち、 その DNAのヌクレオチドの配列が例えば数 Mバイト (文字 数で数 100万文字) 程度のテキストデ一夕で記録されている場合に、 複数の 研究者が互いに自分のテキストデータと他人のテキストデータとの同一性 (完 全一致性) を短時間に確認するのは必ずしも容易ではない。 これに関連して、 例えば人間又は他の生物の D NA情報の利用方法としては、 標準的な D N Aの配列と、 検查対象の D N Aの配列との間の相違する部分をサ ーチする場合が考えられる。 これは、 いわゆる S N P (—塩基変位多型: Sing le Nuc leot ide Polymorphi sm) の可能性を検査するような場合に必要になると 考えられる。 しかしながら、 両方の D N Aのヌクレオチドの配列がそれぞれ膨 大なテキストデ一夕で表わされている場合に、 それら 2つのテキストデ一夕を 比較して相違点を検出するにはかなりの長い時間が必要となり、 検査時間が長 くなるという不都合がある。
更に、 人間又は他の生物の D N A情報を製薬会社の研究者等のユーザに提供 するビジネスも行われつつあるが、 この場合に、 複数の情報供給者間で重複し た情報の提供をできるだけ避けることが望ましい。 このためには、 複数の情報 供給者間で、 D NAのヌクレオチドの全体の配列情報を公開することなく、 ヌ クレオチドの配列の実質的な同一性を容易に確認できるようにすることが望ま しい。 更に、 情報供給者が例えば通信回線を介して D NA情報をユーザに提供 する場合には、 できるだけ少ない情報量で、 即ち短い送信時間で必要な情報を ユーザに提供できるビジネスモデルが必要である。 また、 ユーザ側では、 提供 された D N A情報に伝送エラ一等が無いかどうかを容易に確認できることが望 ましい。 上記の各課題は R N Aや遺伝子のヌクレオチドの配列情報についても 同様に当てはまるものである。
更に、 一つのタンパク質のアミノ酸の配列は、 最大でも約 1 kバイト程度の テキストデ一夕で記録することができるが、 タンパク質の種類は理論的に約 1 0万個程度にもなるため、 全部のタンパク質の配列情報をテキストデ一夕で表 すと、 全部の D N Aの配列情報程度の膨大な量となる。 従って、 個々のタンパ ク質の配列は、 できるだけ少ない情報量で記録できることが望ましい。 また、 2つのタンパク質の配列情報の同一性を容易に確認できるシステムも必要であ る。 本発明は斯かる点に鑑み、 核酸や遺伝子中の一列のヌクレオチドの配列情報、 及びタンパク質中の一列のアミノ酸の配列情報をできるだけ少ないデータ量で 記録できる記録方法及び記録装置を提供することを第 1の目的とする。
また、 本発明は、 2つのヌクレオチドの配列情報同士、 又は 2つのアミノ酸 の配列情報同士の同一性を少ないデータ量で高精度に確認できる記録方法及び 記録装置を提供することを第 2の目的とする。
更に本発明は、 2つのヌクレオチドの配列情報の間の相違する部分を少ない データ量で容易に検出できると共に、 必要に応じてその相違する部分の情報を 復元できる記録方法及び記録装置を提供することを第 3の目的とする。
また、 本発明は、 一列のヌクレオチドの配列情報、 又は一列のアミノ酸の配 列情報を少ないデータ量でユーザに提供できるビジネスモデルを提供すること を第 4の目的とする。
更に本発明は、 そのビジネスモデルにおいて、 ユーザが提供された配列情報 と情報供給者が保持している配列情報との同一性、 又は相違する部分を少ない デ一夕量で容易に確認できるようにすることをも目的とする。
また、 本発明は、 ヌクレオチドの配列情報が少ないデ一夕量で記録されたコ ンピュー夕読み取り可能な記録媒体を提供することをも目的とする。
また、 本発明は、 ヌクレオチド又はアミノ酸の配列情報を記録する場合に使 用できる効率的な要約値の計算方法を提供することを目的とする。 発明の開示
本発明によるヌクレオチドの配列情報の記録方法は、 一列のヌクレオチドの 配列情報の記録方法であって、 その一列のヌクレオチドの配列に対応するテキ ストデ一夕よりも少ないデータ量で、 その一列のヌクレオチドの配列に関する 情報を記録するものである。
斯かる本発明によれば、 その一列のヌクレオチドは、 例えば D N A (deoxyr ibonucle ic ac id ) を構成する 1対の重合体の鎖の一方の鎖の少なくとも一部、 R N A (ribonuc le ic ac id) を構成する 1列の重合体の鎖の少なくとも一部、 又は遺伝子の構成を表す一列のヌクレオチドの配列の少なくとも一部である。 そして、 その一列のヌクレオチドの配列は、 各ヌクレオチドに含まれる塩基の 配列ともみなすことができる。 本発明によれば、 そのヌクレオチドの配列が、 そのテキストデ一夕以外のより少ないデ一夕量のファイルとして記録される。 従って、 記録媒体として、 D VD— R OMのような大容量の媒体の他に、 C D 一 R O Mやフラッシュ R O Mのような小容量でも通常のコンピュータで手軽に 再生できる媒体を使用できる。
更に、 少ないデータ量の配列情報であれば、 通信回線を介して短時間に送信 できるため、 実質的に安価に配列情報の供給を行うことが可能となる。
本発明において、 その一列のヌクレオチドは 4種類のヌクレオチドよりなり、 その 4種類のヌクレオチドを互いに異なる 6ビット以下のデ一夕で表すことが 望ましい。 テキストデータ形式では、 各ヌクレオチドは、 それぞれ 8ビットの アスキーコード (ASCI I CODE) 、 即ち文字 A, G, C , T (又は U) の何れか で表されるため、 各ヌクレオチドを 6ビッ卜以下のデ一夕で表すことによって、 デ一夕量を減らすことができる。
なお、 テキストデ一夕が記録されたファイルが通常の圧縮技術 (Z I Pファ ィル、 L H Aファイル等) で圧縮できるように、 本発明のデータが記録された ファイルも更に通常の圧縮技術で圧縮して記録できることは言うまでもない。 但し、 圧縮されたファイルを使用する場合には、 解凍作業が必要になり、 最終 的には元のファイルを復元する必要があるため、 元のファイル自体のデータ量 を減らしておくことは極めて有効である。
また、 その 4種類のヌクレオチドを互いに異なる 2ビットのデ一夕で表すこ とが望ましい。 2ビットのデータによって、 最も少ないデータ量で 4種類のヌ クレオチド (又は塩基) を表すことができる。 また、 その一列のヌクレオチドが、 一つの DN Aを構成する 1対の重合体の 鎖の内の 1本の鎖の全部又は一部であるときに、 その 4種類のヌクレオチド中 の互いに相補的な 2対のヌクレオチドをそれぞれ互いにビット反転の関係にあ る 1対のデ一夕で表すことが望ましい。 互いに相補的な 2対のヌクレオチドと は、 互いに相補的な 2対の塩基と実質的に同じ意味である。 ここで、 2進数で 表現した数 kを bin(k)として、 例えば図 2の DNA (5) に示すように、 アデ ニンを含むヌクレオチド (7A) を bin (00) で表したとき、 それに対して相補 的なチミンを含むヌクレオチド (7T) を bin (11) で表す。 更に、 グァニンを 含むヌクレオチド (7G) を bin (01) で表したとき、 それに対して相補的なシ トシンを含むヌクレオチド (7C) を bin(10) で表す。 この結果、 DNA (5) の一方のヌクレオチドの鎖 (6A) 力^ ίη(00(Η101111··) (=ΒΝΑとする) で表されて、 それと相補的な他方のヌクレオチドの鎖 (6Β) に対応する 2進 数のデ一夕 ΒΝΒは、 コンピュータによって 2進数 ΒΝΑをビット毎に反転す るだけで極めて高速に求めることができる。
次に、 本発明において、 より具体的な第 1の記録方法は、 その一列のヌクレ ォチドの配列に関する情報を、 その配列を表すテキストデ一夕又は数値データ の数学的な要約値 (message digest) で表すものである。 この数学的な要約値 は、 暗号理論において、 送信ファイルの作成者の本人確認を行うために、 送信 ファイルに所定のハッシュ関数を施すことによって得られる値と数学的には同 等のものである。 しかしながら、 本発明においては、 一列のヌクレオチドの配 列を表すデータ (原データ) の要約値を、 例えば最先の解読者の主張や、 2つ の膨大な原データの同一性の確認に使用する点が本質的に異なっている。 即ち、 或る DN Aのヌクレオチドの配列を最初に解読した者が、 その配列を示す原デ 一夕の要約値を例えばィン夕ーネット上で公開することによって、 原データを 公開することなく最先に解読したことを主張できる。 また、 例えば情報供給者 から DNAの配列情報を購入したユーザは、 購入した配列情報の要約値を、 例 えばインターネット上で公開されているその DNAの要約値と比較することに よって、 購入した配列情報の同一性を高い確率で確認できる。 更に、 複数の研 究者が同一の DN Aについて研究を行う場合に、 各研究者が保持している DN Aのヌクレオチドの膨大な配列情報の長さ、 及び要約値を求め、 これらを比較 することによって、 研究対象の同一性を容易に高い確率で確認することができ る。
この場合、 その一列のヌクレオチドが 25個以上のヌクレオチドの配列であ るときに、 その一列のヌクレオチドの配列に関する情報を 40ビット以上で 1 92ビッ卜以下の長さの数学的な要約値で表すことが望ましい。 25個以上の ヌクレオチドの配列のテキストデータは、 200ビット (=25 · 8ビット) 以上になるため、 その要約値を 192ビット以下とすることで、 テキストデー 夕よりも少ないデ一夕量となる。 また、 特に処理単位が 64ビットのコンビュ —夕を使用する場合には、 要約値の長さは 64ビットの倍数、 即ち 64ビット、 1 28ビット、 又は 1 92ビッ卜が望ましいと考えられる。
また、 例えば将来的に全人類の DN Aの配列情報を必要に応じて解読するよ うな状況を想定して、 世界人口を 1 00億人程度と仮定すると、 その DNAの 配列情報は約 1 01 Q通りにもなる。 更に、 安全係数を 1 00倍程度とすると、 その要約値は、 1 012 (= 101。 · 100) 通り、 即ち約 239 86 通り以上の 値を取る必要がある。 このためには、 その要約値を 40ビット以上の長さとす ればよい。 これによつて、 2つの DNA又は RNAの配列情報同士の同一性を 1 0— 12 以上の精度で高精度に確認できる。
更に、 その数学的な要約値は、 その一列のヌクレオチドの配列に対応するテ キストデ一夕又は数値デ一夕に MD 5ハッシュ関数、 又は SHS (Secure Has h Standard) ハッシュ関数の演算を施して得ることができる。 この場合、 MD 5ハッシュ関数は、 高速演算が可能であると共に、 得られる要約値が 128ビ ットであり、 通常のコンピュータで処理し易い利点がある。 一方、 SHSハツ シュ関数は、 元のデ一夕の推定がより困難であるが、 得られる要約値が 1 6 0 ビッ卜と、 通常の D N A又は R N Aのヌクレオチドの配列の表現に関しては必 要以上に長いと考えられる。 従って、 通常のヌクレオチドの配列の表現につい ては、 MD 5ハッシュ関数がより実用的と考えられる。
また、 暗号理論で使用されるハッシュ関数は、 送信ファイルの内容が推定さ れないように、 かつ内容の衝突の確率が極めて低くなるように設計されるため, その要約値は例えば最低でも 1 2 8ビット程度の長さが必要とされると共に、 複雑な演算が繰り返して実行される。 これに対して本発明で使用するハッシュ 関数は、 通常の互いに異なるヌクレオチドの配列に対してほぼ衝突が無ければ よいため、 あまり複雑な演算を繰り返して行う必要は無いと考えられる。 但し、 通常の喑号理論で要約値の演算対象となるファイルは、 せいぜい 1 Mバイト程 度の長さであるのに対して、 本発明で使用するハッシュ関数の演算対象は、 例 えば人間の D N Aのヌクレオチドの配列とすると、 1 0 0 Mバイト程度にも達 する膨大なデータのファイルである。 そこで、 本発明で使用するハッシュ関数 (ハッシュ演算プログラム) は、 演算対象の原ファイルを分割した後の複数の 分割ファイルを順次処理することによって、 全体の要約値を算出する機能を持 つことが望ましい。
次に、 本発明において、 より具体的な第 2の記録方法は、 その一列のヌクレ ォチドの配列に対応するテキストデ一夕を、 そのヌクレオチドの配列方向に複 数行で、 かつその配列方向に交差する非配列方向に複数列の部分テキストデー 夕 T ( i, j ) に分割し、 その部分テキストデ一夕を、 それぞれ複数種類のヌ クレオチドに対して互いに異なる 6ビッ卜以下の数値データを割り当てること によって変換データ A ( i , j ) に変換し、 複数行のその変換データに各行毎 にその非配列方向に第 1の演算を施して第 1組のシンドローム (syndrome) 情 報 B l ( i ) , B 2 ( i ) を求めると共に、 複数列のその変換データに各列毎 にその配列方向に第 2の演算を施して第 2組のシンドローム情報 C ( j ) を求 め、 その第 1組及び第 2組のシンドローム情報でその一列のヌクレオチドの配 列を表すものである。
本発明においては、 テキストデ一夕を複数行で複数列の部分テキストデータ に分割した後に、 各部分テキストデ一夕をそれぞれ変換データに変換している が、 これは予めそのテキストデータを一列の数値デ一夕に変換した後に、 その 数値デ一夕を複数行で複数列の変換データに分割することと実質的に等価であ る。 本発明によれば、 例えば図 7に示す部分テキストデータ T ( i , j ) を集 めたテキストデ一夕の情報の大部分を、 例えば図 9に示す第 1組のシンドロ一 ム情報 B l (i) , B 2 (i) 、 及び第 2組のシンドローム情報 C (j ) で表 すことができる。 具体的に、 図 7のテキストデータを配列方向に N個 (i = l 〜N) で、 非配列方向に M個 (j =l〜M) の部分テキストデータ T ( i , j ) に分割し、 各部分テキストデータ T ( i , j ) が 16個分のヌクレオチドのテ キストデ一夕を含むものとすると、 元のテキストデ一夕のデータ量 DT 1は、 以下のようになる。
DT 1 = 16 · N · M (バイト) "' (1)
更に、 各ヌクレオチドを 2ビットのデータで表すものとすると、 各部分テキ ストデ一夕 T ( i , j ) は、 それぞれ 32ビットの変換データ A (i, j ) に 変換され、 シンドローム情報 B l ( i ) , B 2 ( i ) , C ( j ) も 32ビット のデータとなる。 また、 非配列方向のシンドローム情報が 2列 B 1 ( i ) , B 2 ( i ) あるとすると、 シンドローム情報のデータ量 DS 1は、 以下のように なる。
D S 1 = 32 (2 · N + M) (ビット)
= 4 (2 · N + M) (バイト) … (2)
従って、 仮に N=64, M= 128とすると、 (1) 式及び (2) 式よりデ —夕量 DT 1, DS 1は以下のようになる。
DT 1 = 131072 (バイト) 130 kバイト … (3) DS 1 = 1024 (バイト) =DT1Z128 … (4) 従って、 シンドローム情報のデ一夕量は、 元のテキス卜データのデータ量の ほぼ 1 100程度に圧縮できる。 この場合、 例えば人間の 1本の染色体の D N Aの配列は、 50Mバイト〜 250Mバイト程度のテキストデ一夕で表され るため、 予めそのテキストデータを 500個〜 2500個程度のブロックに分 割し、 各ブロック毎にシンドローム情報を求めることによって、 全部のシンド ローム情報のデ一夕量はそのテキストデータのほぼ 1 100程度、 即ち 50 O kバイト〜 2. 5 Mバイト程度に圧縮される。 この程度のデータ量であれば、 例えば携帯電話システムのような低速の通信回線を介しても短時間に送信でき ると共に、 DVD— ROMよりも容量の少ない CD— ROM等の記録媒体にも 余裕を持って記録することができる。
この場合、 複数行のその変換データの各行の変換データをそれぞれその非配 列方向に交互に第 1群の変換デ一夕 (例えば奇数番目の変換データ A ( i , 1) , A (i, 3) , …) 及び第 2群の変換データ (例えば偶数番目の変換デ —夕 A ( i , 2) , A ( i , 4) , …) に分けたとき、 その第 1の演算は、 所 定の整数 Κを用いてその第 1群の変換デ一夕、 及びその第 2群の変換データの それぞれの法 Κのもとの和を求める演算であり、 その第 2の演算は、 複数列の その変換データの各列の変換デ一夕に対する法 Κのもとの和を求める演算であ る。 その変換データ A ( i , j ) を sビット (例えば s = 32, s = 64等) とすると、 その整数 Kは一例として次のようになる。
K=2S … (5)
通常のコンピュータでは、 その法 Kのもとの和演算は極めて高速に実行する ことができる。
また、 その一列のヌクレオチドの配列を基準配列として、 この基準配列の 2 組のそのシンドローム情報 (B 1 ( i ) , B 2 ( i ) , C ( j ) ) に対応させ て、 検査対象の一列のヌクレオチドの配列 (TF (i, j ) ) の 2組のシンド ローム情報 (B 1 F ( i ) , B 2 F ( i ) , CF ( j ) ) を求め、 その 4組の シンドローム情報よりその基準配列に対するその検査対象の一列のヌクレオチ ドの配列の相違部を求めることが望ましい。 例えば図 7の配列を基準配列、 図 10の配列を検査対象の配列として、 図 7の基準配列のシンドローム情報が図 8に、 図 10の配列のシンドローム情報が図 1 1に表されている。 このとき、 図 8のシンドローム情報 (B 1 ( i ) , B 2 ( i ) , C ( j ) ) に対して、 図 1 1のシンドローム情報 (B 1 F ( i ) , B 2 F ( i ) , C F ( j ) ) は、 B 1 F (1) , B 2 F (4) , CF (16) , CF (17) の値が異なるため、 それらの交点として、 図 10の部分テキストデータ TF (4, 16) , TF (1, 17) が図 7の基準配列と異なっていることを検出できる。 即ち、 4組 のシンドローム情報を比較することによって、 少ないデータ量の比較で、 検查 対象の配列のどの部分テキストデ一夕が基準配列と異なっているかを検出でき る。
この際に、 基準配列と異なっている部分をエラ一コード (error code) と呼 ぶと、 エラーコードが部分テキストデータの各行、 又は各列に一つである場合 には、 それら 4組のシンドローム情報、 及びその検査対象のエラ一コードに対 応する変換デ一夕の法 Kの加減算より、 基準配列の変換デ一夕 A (4, 16) , A (1, 17) 、 ひいては部分テキストデ一夕 T (4, 16) , Τ (1, 17) が正確に復元できる。 従って、 例えば遺伝子中の一つの塩基 (ヌクレオチド) だけが異なる SNP (—塩基変位多型: Single Nucleotide Polymorphism) は 本発明によって容易に検出できると共に、 それに対応する正常な配列も容易に 復元できる。
なお、 図 10の場合のように隣接する 2つの列の部分テキストデ一夕 TF (4, 16) , TF (1, 17) に跨るような長いエラ一コード (以下、 「バ —ストエラ一 (burst error) j と呼ぶ) が存在する場合に、 非配列方向のシン ドロームが各行に 1つ (即ち、 B 1 F ( i ) と B2F ( i ) との和) のみであ るとすると、 1行中の 2箇所の部分テキス卜データ、 及び 1列中の 2箇所の部 分テキストデータにエラーコードが検出されてしまう。 従って、 エラーコード の位置の誤検出が生じて、 それに対応する基準配列の復元も困難となる。 これ に対して本発明のように各行で 2つのシンドローム情報を求めることによって、 バーストエラーの検出及び復元を正確に行うことができる。 なお、 各行で 2つ のシンドローム情報を求める代わりに、 配列方向 (各列) で例えば前半分と後 半分との 2群の変換データに対して 2つのシンドローム情報を求めるようにし てもよく、 どちらを採用するかは全体のデータ量が少なくなるように選択すれ ばよい。
次に、 本発明の記録装置は、 一列のヌクレオチドの配列情報の記録装置であ つて、 一つの核酸の少なくとも一部に含まれる一列のヌクレオチドの配列情報 を読み取る配列読み取り装置 (4 ) と、 この配列読み取り装置で読み取られた 配列の情報をテキストデ一夕として第 1ファイル (1 9 ) に記録する第 1記録 手段 (ステップ 1 0 2〜1 0 4 ) と、 その第 1ファイルのテキストデ一夕より も少ないデータ量で、 その配列読み取り装置で読み取られた配列の情報を表し、 この配列の情報を第 2ファイル (2 0, 2 1 ) に記録する第 2記録手段 (ステ ップ 1 0 5〜 1 0 7 ) とを有するものである。 これによつて、 本発明の配列情 報の記録方法が実施できる。
この場合、 その第 2記録手段は、 一例としてその配列読み取り装置で読み取 られた一列のヌクレオチドの配列を、 この配列を表すテキストデータ又は数値 デー夕の数学的な要約値で表すものである。
また、 その第 2記録手段は、 別の例としてその配列読み取り装置で読み取ら れた一列のヌクレオチドの配列に対応するテキス卜データを、 そのヌクレオチ ドの配列方向に複数行で、 かつその配列方向に交差する非配列方向に複数列の 部分テキストデ一夕に分割し、 その部分テキストデ一夕を、 それぞれ複数種類 のヌクレオチドに対して互いに異なる 6ビッ卜以下の数値デ一夕を割り当てる ことによって変換データに変換し、 複数行のその変換データに各行毎にその非 配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、 複 数列のその変換データに各列毎にその配列方向に第 2の演算を施して第 2組の シンドローム情報を求め、 その第 1組及び第 2組のシンドローム情報をその第 2ファイルに記録するものである。
また、 本発明の記録媒体は、 一列のヌクレオチドの配列情報を記録したコン ピュー夕読み取り可能な記録媒体であって、 その一列のヌクレオチドの配列に 対応するテキストデ一夕よりも少ないデ一夕量で、 その一列のヌクレオチドの 配列に関する情報が記録されたものである。 本発明によれば、 例えば人間の D N A又は遺伝子のヌクレオチドの配列情報を、 少ないデータ量で記録できるた め、 記録媒体として C D— R OM, C D - R , フラッシュ R OM等の使い勝手 の良い媒体を使用できる。 また、 記録媒体として D VD— R OMやハードディ スク装置等の大容量の記録媒体を使用した場合には、 極めて多くの試料のヌク レオチドの配列情報を記録することができる。
この場合、 その一列のヌクレオチドが 2 5個以上のヌクレオチドの配列であ るときに、 その一列のヌクレオチドの配列に関する情報は、 一例として 4 0ビ ッ卜以上で 1 9 2ビット以下の長さの数学的な要約値でその記録媒体に記録さ れるものである。 この場合には、 記録媒体としてフレキシブルディスクであつ ても使用できる。
また、 別の例として、 その一列のヌクレオチドの配列に対応するテキストデ —夕を、 そのヌクレオチドの配列方向に複数行で、 かつその配列方向に交差す る非配列方向に複数列の部分テキストデ一夕に分割し、 その部分テキストデ一 夕を、 それぞれ複数種類のヌクレオチドに対して互いに異なる 6ビット以下の 数値データを割り当てることによって変換データに変換し、 複数行のその変換 データに各行毎にその非配列方向に第 1の演算を施して第 1組のシンドローム 情報を求めると共に、 複数列のその変換デ一夕に各列毎にその配列方向に第 2 の演算を施して第 2組のシンドローム情報を求めておき、 その一列のヌクレオ チドの配列に関する情報は、 その第 1組及び第 2組のシンドローム情報として その記録媒体に記録される。 この記録媒体を用いることによって、 例えば 2つ の試料のヌクレオチドの配列の相違する部分の位置の検出ができると共に、 そ の相違する部分が少ない場合にはそれに対応する配列の復元を行うことができ る。
次に、 本発明の配列情報の供給方法は、 一列のヌクレオチドの配列情報の供 給方法であって、 その一列のヌクレオチドの配列に対応するテキストデータ、 又は複数種類のヌクレオチドに対して互いに異なる 6ビット以下の数値データ を割り当てることによってそのテキストデ一夕を変換して得られる数値デ一夕 を保持する供給者 (2 A) が、 その一列のヌクレオチドの配列の長さの情報、 及びその配列を表すテキストデ一夕又はその数値データの数学的な要約値の情 報を通信回線 (1 ) を介して閲覧可能な状態にしておき、 その通信回線を介し てその配列の長さの情報及びその数学的な要約値の情報を閲覧したユーザ (2 B ) より、 そのテキストデ一夕又はその数値データの少なくとも一部の情報に 対する取得要求がその供給者に届いた後に、 その供給者がそのユーザにそのテ キストデ一夕又はその数値デ一夕の少なくとも一部の情報を供給するものであ る。
この供給方法は、 上記の本発明のヌクレオチドの配列情報の記録方法を、 そ の配列情報を供給 (販売) する際のビジネスモデルに適用したものである。 即 ち、 本発明のビジネスモデルでは、 或る生物 Xの D N Aのヌクレオチドの配列 を最初に解読した供給者は、 その配列のテキストデータ (又はこれを変換した 数値データ) よりハッシュ関数によって要約値 (message diges t) を算出し、 この要約値を例えばインターネット上で閲覧可能にする。 これによつて、 その 供給者は、 そのテキストデ一夕自体を公開することなく、 最初にその生物 Xの D N Aの配列を解読したことを主張できる。 更に、 ユーザが同じ配列情報を異 なる供給者から誤って購入することも防止できる。
また、 或るユーザが、 その供給者よりその生物 Xの D N Aの配列情報を購入 した後、 購入した配列情報よりそのハッシュ関数によって要約値を算出し、 そ の配列の長さも求める。 そして、 この配列の長さ、 及び要約値をインタ一ネッ 卜上で公開されている値と比較することによって、 購入した配列情報が正確な ものであるかどうかを極めて高い確率で確認できる。
この場合、 その一列のヌクレオチドは 2 5個以上のヌクレオチドの配列であ るときに、 一例として、 その数学的な要約値は、 4 0ビット以上で 1 9 2ビッ ト以下のデータであり、 その供給者は、 更にその一列のヌクレオチドの所定の 一部の配列の情報をその通信回線を介して閲覧可能な状態にしておくことが望 ましい。 その要約値、 及びその配列の長さの他に、 そのように例えばその配列 の先頭の 8個程度、 及び後端の 8個程度の配列を比較することによって、 同一 性の確認をより高精度に行うことができる。
また、 その供給者は、 その一列のヌクレオチドの配列に対応するテキストデ —夕、 又はこれに対応するその数値デ一夕を第 1ファイル (1 9 ) に記録して 保持し、 その供給者は、 そのテキストデータ、 又はその数値データを、 そのヌ クレオチドの配列方向に複数行で、 かつその配列方向に交差する非配列方向に 複数列の部分デ一夕に分割し、 その部分データを、 それぞれ複数種類のヌクレ ォチドに対して互いに異なる 6ビット以下の数値データを割り当てることによ つて変換データに変換し、 複数行のその変換データに各行毎にその非配列方向 に第 1の演算を施して第 1組のシンドローム情報を求めると共に、 複数列のそ の変換データに各列毎にその配列方向に第 2の演算を施して第 2組のシンドロ —ム情報を求め、 その第 1組及び第 2組のシンドローム情報を第 2ファイル ( 2 0 ) に記録して保持し、 第 1段階としてそのユーザは、 その供給者よりそ の第 2ファイルに記録されている 2組のシンドローム情報を受け取り、 その 2 組のシンドローム情報に基づいて検査対象の一列のヌクレオチドの配列の内の その供給者の一列のヌクレオチドの配列との相違部を特定し、 この相違部の配 列の復元ができない場合に、 第 2段階としてそのユーザはその供給者よりその 第 1ファイルに記録されているそのテキストデ一夕、 又はその数値データの内 のその配列の復元ができない部分の情報の提供を要求することが望ましい。 このようにそのユーザが最初は、 希望するヌクレオチドの配列情報のシンド ローム情報のみを購入する場合には、 そのデータ量の小さいシンドローム情報 はその通信回線を介して短時間で受信することができる。 そして、 シンドロ一 ム情報だけで検査対象の配列のエラ一コ一ドの特定、 及び復元ができる場合に は、 それ以上の配列情報を購入する必要が無い。 一方、 エラーコードが多く存 在し、 シンドローム情報のみでは全部の正確なデ一夕が復元できない場合には、 復元できない部分のテキストデータのみを購入することによって、 通信回線を 介して必要な配列情報を短時間に購入できる。 従って、 通信回線として、 携帯 電話システムのような比較的低速の通信回線も使用できる。
次に、 本発明のアミノ酸の配列情報の記録方法は、 一列のアミノ酸の配列情 報の記録方法であって、 その一列のアミノ酸の配列に対応するテキストデータ よりも少ないデータ量で、 その一列のアミノ酸の配列に関する情報を記録する ものである。
斯かる本発明によれば、 その一列のアミノ酸は、 例えば或るタンパク質を構 成するアミノ酸の配列の少なくとも一部である。 そのアミノ酸の配列が、 その テキストデ一夕以外のより少ないデータ量のファイルとして記録される。 従つ て、 記録媒体として、 小容量でも通常のコンピュータで手軽に再生できる媒体 を使用できると共に、 通信回線を介して送信する際の時間を短縮できる。
本発明において、 その一列のアミノ酸は、 一つのタンパク質を構成する 1本 のアミノ酸の鎖の全部又は一部である場合に、 一例としてその一列のアミノ酸 の配列に対応するテキストデータが、 2 0種類のアミノ酸に対して互いに異な る 6ビット以下のデ一夕を割り当てることによって変換される。 テキストデー 夕形式で一文字表記 (1-Le Uer Code) を行うものとすると、 2 0種類のアミ ノ酸は、 それぞれ 8ビットのアスキーコード (ASCI I CODE) 、 文字では例えば A, C , E等で表されるため、 各アミノ酸を 6ビット以下のデ一夕で表すこと によって、 デ一夕量を減らすことができる。
なお、 一つのアミノ酸の種類は一列の 3個のヌクレオチドの配列、 即ち一つ の遺伝子コドン (codon ) によって決定される。 これに関して、 上記のヌクレ ォチドの配列情報の記録方法において、 各ヌクレオチドを 2ビッ卜のデータで 表した場合に、 1つの遺伝子コドンは 6ビットのデータで表される。 そこで、 この各遺伝子コドンの 6ビットのデ一夕を、 対応するアミノ酸の 6ビットのデ 一夕とみなしてもよい。 この場合には、 所定のアミノ酸を表すデータが複数存 在する、 即ちコードの縮重 (degeneracy) が生じるため、 一例として各ァミノ 酸のデ一夕の内で最も小さいデータをそのアミノ酸に割り当てるようにしても よい。 これによつて、 ヌクレオチドとアミノ酸とで共通のコードを使用できる 利点がある。 また、 2 0種類のアミノ酸は、 最も少ないデータ量では、 5ビッ トのデ一夕で表すことができる。
また、 本発明において、 より具体的な第 1の記録方法は、 その一列のァミノ 酸の配列に関する情報を、 その配列を表すテキストデータの数学的な要約値 (message d iges t) で表すものである。 例えば所定のハッシュ関数を用いてそ のテキス卜データの要約値を求め、 この要約値をィン夕ーネット上で公開する ことによって、 そのテキストデータを公開することなく、 その配列を最先に解 読したことを主張 (証明) できる。 更にそのテキストデータを購入したユーザ が、 購入したデータの要約値を求め、 この要約値を公開されている要約値と比 較することによって、 購入したデータの同一性を確認できる。
この場合、 その一列のアミノ酸は 2 5個以上のアミノ酸の配列であるときに、 その一列のアミノ酸の配列に関する情報を 1 6ビット以上で 1 9 2ビット以下 の長さの数学的な要約値で表すことが望ましい。 タンパク質の種類は、 仮想的 なものも含めて 1 0万 (= 1 0 5 ) 種類程度と言われており、 次の関係が成立 している。
1 0 5 = 2 1 6' 6 … ( 6 )
従って、 例えばァミノ酸の配列の個数も識別データに用いるものとすると、 1 6ビット以上の要約値を用いることによって、 ほぼ全てのタンパク質を識別 することができる。 また、 2 5個以上のアミノ酸の配列のテキストデータは、 一文字表記でも 2 0 0ビッ卜以上になるため、 1 9 2ビット以下の要約値のデ 一夕量はテキストデ一夕のデータ量よりも少なくなる。
また、 その数学的な要約値は、 その一列のアミノ酸の配列に対応するテキス トデータに例えば MD 5ハッシュ関数 (要約値は 1 2 8ビット) 、 又は S H S (Secure Hash Standard) ハッシュ関数 (要約値は 1 6 0ビッ卜) の演算を施 して得られる。 この場合、 要約値が必要以上に長くならない点では MD 5八ッ シュ関数が望ましい。 但し、 タンパク質を構成するアミノ酸の配列の数は 2 0 個〜 1 0 0 0個程度であり、 要約値から元のテキストデータが推定される恐れ がある。 そこで、 アミノ酸の配列の要約値を算出する場合で、 かつ元のテキス トデ一夕の秘匿性を高めたい場合には、 より複雑な演算を行って得られる要約 値も長くなる S H Sハッシュ関数を使用することが望ましい。
また、 本発明において、 より具体的な第 2の記録方法は、 その一列のァミノ 酸の配列に対応するテキス卜データを、 そのアミノ酸の配列方向に複数行で、 かつその配列方向に交差する非配列方向に複数列の部分テキストデ一夕に分割 し、 その部分テキストデータを、 それぞれ複数種類のアミノ酸に対して互いに 異なる 8ビット以下の数値デ一夕を割り当てることによって変換データに変換 し、 複数行のその変換データに各行毎にその非配列方向に第 1の演算を施して 第 1組のシンドローム情報を求めると共に、 複数列のその変換データに各列毎 にその配列方向に第 2の演算を施して第 2組のシンドローム情報を求め、 その 第 1組及び第 2組のシンドローム情報でその一列のアミノ酸の配列を表すもの である。
本発明は、 予めそのテキストデータ (一文字表記とする) を一列の数値デ一 夕に変換した後に、 その数値デ一夕を複数行で複数列の変換データに分割する ことと実質的に等価である。 本発明によれば、 例えばアミノ酸の配列に対応す るテキストデータを配列方向に N個 (i = l〜N) で、 非配列方向に M個 (j = 1〜M) の部分テキストデ一夕 T ( i , j ) に分割し、 各部分テキストデー 夕 T ( i, j ) が 4個分のアミノ酸のテキストデータを含むものとすると、 元 のテキストデータのデータ量 DT 2は、 以下のようになる。
DT 2 = 4 · N · M (バイト) … (7)
更に、 その部分テキストデータ T ( i , j ) をそのまま変換データ A (i, j ) とみなすと、 変換デ一夕 A ( i , j ) はそれぞれ 32ビットの数値データ となり、 シンドローム情報も 32ビットのデ一夕となる。 また、 非配列方向の シンドローム情報が 2列あるとすると、 シンドローム情報のデ一夕量 DS 2は、 以下のようになる。
DS 2 = 32 (2 - N + M) (ビット)
= 4 (2 · N + M) (バイト) … (8)
従って、 仮に N= 16, M= 16とすると、 (7) 式及び (8) 式よりデ一 夕量 DT2, DS 2は以下のようになる。
DT2 = 1024 (バイ卜) … (9)
DS 2 = 192 (バイト) =DT2Z5. 3 … (10)
従って、 シンドローム情報のデ一夕量は、 元のテキストデータのデータ量の ほぼ 1ノ 5程度に圧縮できる。 個々のタンパク質の配列のテキス卜データのデ —夕量は 1 kバイト程度以下であるが、 例えば 10000種類程度のタンパク 質のテキストデ一夕をまとめると 10Mバイト程度になる。 この際にシンドロ —ム情報を用いることによって、 通信回線を介して短時間で近似的な情報を送 信することができる。 また、 シンドローム情報を比較することによって、 標準 試料のアミノ酸の配列と検査対象のアミノ酸の配列との相違部 (エラ一コード) を効率的に検出することができる。 更に、 エラ一コードが各行、 又は各列に 1 つの変換データのみであるときには、 それに対応する正確な配列を復元できる。 特に、 複数行のその変換データの各行の変換データをそれぞれその非配列方 向に交互に第 1群の変換デ一夕及び第 2群の変換デ一夕に分けたとき、 その第 1の演算は、 所定の整数 Kを用いてその第 1群の変換データ、 及びその第 2群 の変換データのそれぞれの法 Kのもとの和を求める演算であり、 その第 2の演 算は、 複数列のその変換データの各列の変換データに対する法 Kのもとの和を 求める演算である場合には、 2列に跨るような長い配列の相違 (バーストエラ ―) であっても正確に検出、 及び復元を行うことができる。
次に、 本発明の一列のアミノ酸の配列情報の記録装置は、 一つのタンパク質 の少なくとも一部に含まれる一列のアミノ酸の配列情報をテキストデ一夕とし て第 1ファイルに記録する第 1記録手段と、 その第 1ファイルのテキストデー 夕よりも少ないデータ量で、 その一列のアミノ酸の配列の情報を表し、 この配 列の情報を第 2ファイルに記録する第 2記録手段とを有するものである。 この 発明によって、 本発明のアミノ酸の配列情報の記録方法を実施することができ る。
この場合、 そのその第 2記録手段は、 その一列のアミノ酸の配列を、 この配 列を表すテキストデ一夕の数学的な要約値で表すことが望ましい。
また、 本発明の一列のアミノ酸の配列情報の供給方法は、 その一列のァミノ 酸の配列に対応するテキストデ一夕、 又は複数種類のアミノ酸に対して互いに 異なる 8ビット以下の数値データを割り当てることによってそのテキストデ一 夕を変換して得られる数値データを保持する供給者が、 その一列のアミノ酸の 配列の長さの情報、 及びその配列を表すテキストデータ又はその数値データの 数学的な要約値の情報を通信回線を介して閲覧可能な状態にしておき、 その通 信回線を介してその配列の長さの情報及びその数学的な要約値の情報を閲覧し たュ一ザより、 そのテキストデータ又はその数値データの少なくとも一部の情 報に対する取得要求がその供給者に届いた後に、 その供給者がそのユーザにそ のテキストデ一夕又はその数値データの少なくとも一部の情報を供給するもの である。
この供給方法は、 上記の本発明のアミノ酸の配列情報の記録方法を、 その配 列情報を供給 (販売) する際のビジネスモデルに適用したものである。 即ち、 本発明のビジネスモデルでは、 或る新規のタンパク質のアミノ酸の配列を最初 に決定した供給者は、 その配列のテキストデータ (又はこれを変換した数値デ 一夕) よりハッシュ関数によって要約値 (message d i ges t) を算出し、 この要 約値を例えばイン夕一ネット上で閲覧可能にする。 これによつて、 その供給者 は、 そのテキストデータ自体を公開することなく、 最初にそのタンパク質の配 列を決定したことを主張 (証明) できる。 更に、 ユーザが同じ配列情報を異な る供給者から誤って購入することも防止でき、 競合メーカは重複投資を避ける ことができる。
また、 或るユーザが、 その供給者よりそのタンパク質の配列情報を購入した 後、 購入した配列情報よりそのハッシュ関数によって要約値を算出し、 その配 列の長さも求める。 そして、 この配列の長さ、 及び要約値をイン夕一ネット上 で公開されている値と比較することによって、 購入した配列情報が正確なもの であるかどうかを極めて高い確率で確認できる。
この場合、 その一列のアミノ酸が 2 5個以上のアミノ酸の配列であるときに、 その数学的な要約値は、 1 6ビット以上で 1 9 2ビッ卜以下のデータであるこ とが望ましい。
次に、 本発明の第 1の要約値の計算方法は、 一つ又は複数のファイルに記録 されたデータの要約値を計算するための要約値の計算方法であって、 その一つ 又は複数のファイルに記録されたデータの内で所定のコードを無視して要約値 を計算するものである。 本発明によれば、 例えばヌクレオチドの配列を表すテキストデ一夕の要約値 を計算する場合に、 その配列を見やすくするために所々にスペース、 改行、 及 びそれまでのヌクレオチドの数を示す数字等が付加されていても、 これらの付 加されたコ一ドを無視することによって、 本来のヌクレオチドの配列に対応す る要約値を計算することができる。
この場合、 その無視する所定のコードの別の例は、 同一又は互いに異なる 2 組のコード、 及びこれら 2組のコードに挟まれたデ一夕である。 即ち、 例えば いわゆるコメント文を要約値の計算対象から除去することによって、 コメント 文の内容を任意に記載しても、 本来のヌクレオチドの配列に対応する要約値を 計算することができる。
この場合、 そのテキストデータは、 その所定のコードの他に 2 5個以上のヌ クレオチドの配列に関するデ一夕を含むものとすると、 一例として、 その要約 値は、 4 0ビット以上で 1 9 2ビット以下のデジタルデ一夕である。 また、 そ の要約値を計算するための関数としては、 MD 5ハッシュ関数 (要約値は 1 2 8ビット) 、 又は S H Sハッシュ関数 (要約値は 1 6 0ビット) 等を使用する ことができる。
また、 本発明において、 その一つ又は複数のファイルから 1文字分のコード データを読み出す毎に、 この読み出されたコードデータがその所定のコードで あるときには、 この読み出されたコードデ一夕を無視して、 次の 1文字分のコ 一ドデ一夕の読み出しを行い、 この読み出しによって得られたその所定のコー ド以外のコードデータが予め定められた個数になるか、 又は読み出すべきデー 夕がなくなったときに、 要約値の計算を行うようにしてもよい。
このように部分的に読み出されたデータ毎にその所定のコードを無視して順 次要約値の計算を行うことによって、 例えば最初にその一つ又は複数のフアイ ルからその所定のコードを取り出した新たなファイルを作成して、 この新たな ファイルの要約値を計算する方法と比べて、 記憶装置の容量がほぼ 1 2程度 で済む利点がある。
次に、 本発明の第 2の要約値の計算方法は、 一連のテキストデータの要約値 を計算するための要約値の計算方法であって、 その一連のテキストデ一夕を先 頭から順に所定個数ずつのコードデータを含む複数の部分テキストデ一夕と、 その所定個数よりも少ない個数のコ一ドデ一夕を含む端数のテキストデ一夕と に分割し、 その複数の部分テキストデ一夕、 及び端数のテキストデータをそれ ぞれ分割する順序を含むデータとともに互いに異なる複数のファイルに記録し、 この複数のフアイルに記録されたテキストデ一夕からその分割の順序に従って 順次要約値を計算するものである。
斯かる本発明によれば、 例えば人間のゲノム情報のような膨大な量のテキス トデ一夕の要約値を求める場合に、 そのテキストデ一夕を複数のファイルに分 割して記録しておき、 分割されたファイルのデータに順次演算処理を施すこと ができる。 従って、 C D— R O Mやフレキシブルディスクのように比較的容量 の少ない記録媒体を用いる場合にも、 その膨大な量のテキストデ一夕の要約値 を容易に、 かつ正確に計算できる。
この場合、 そのその所定個数ずつのコードデ一夕、 及びその所定個数よりも 少ない個数のコードデータからは、 所定のコードデ一夕 (例えば数字コード、 スペースコード、 改行コード等) を除外してもよい。
また、 その所定個数は、 要約値を計算する際のデータ量の単位に応じて定め ることが望ましい。 例えば MD 5ハッシュ関数は、 5 1 2ビット (6 4ノ イト) のデータ単位で要約値を計算するため、 一つのコードデータが 8ビット (1バ イト) であるとすると、 その所定個数は、 6 4の整数倍に設定することによつ て、 各部分テキストデ一夕毎の要約値の計算が容易になる。 図面の簡単な説明
図 1は、 本発明の実施の形態の一例で使用されるコンピュータシステムを示 す概略構成図である。 図 2は、 その実施の形態の一例で処理対象とする DNA、 及びそのヌクレオチドの配列のバイナリ一データによる表現の例を示す図であ る。 図 3は、 その実施の形態の一例における DN A情報の供給者の動作の一部 を示すフローチャートである。 図 4は、 図 3の動作に続く DN A情報の供給者 の動作を示すフローチャートである。 図 5は、 その実施の形態の一例における DNA情報のユーザの動作の一部を示すフローチャートである。 図 6は、 図 5 の動作に続く DN A情報のュ一ザの動作を示すフローチャートである。 図 7は、 標準試料 E (DNA) のヌクレオチドの配列 (2048個) を表すテキストデ 一夕を 4行で 32列の部分テキストデ一夕 T ( i , j ) に分割した状態を示す 図である。 図 8は、 標準試料 Eの変換デ一夕 A (i, j ) 、 及びこれらから算 出されるシンドローム C ( j ) , B 1 ( i ) , B 2 ( i ) を示す図である。 図 9は、 標準試料 Eのシンドローム C ( j ) , B 1 ( i ) , B 2 ( i ) を示す図 である。 図 10は、 試料 F (DNA) のヌクレオチドの配列 (2048個) を 表すテキストデータを 4行で 32列の部分テキストデータ TF ( i , j ) に分 割した状態を示す図である。 図 1 1は、 試料 Fの変換データ AF ( i , j ) 、 及びこれらから算出されるシンドローム C F (j ) , B 1 F ( i ) , B 2 F ( i ) を示す図である。 図 12は、 試料 Fのシンドローム CF ( j ) , B 1 F (i) , B2F ( i) 、 及び復元された変換データを示す図である。 図 13は、 試料 G (タンパク質) のアミノ酸 (820個) の配列を表すテキストデータを 8行で 26列の部分テキストデータに分割した状態を示す図である。 図 14は、 図 13中の一部のデータを示す図である。 図 15は、 本発明の実施の形態の第 1の要約値計算シーケンスを示すフローチャートである。 図 16は、 本発明の 実施の形態の第 2の要約値計算シーケンスを示すフローチャートである。 図 1 7は、 本発明の実施の形態の表示画面内でのカーソルの移動方法の一例を示す 図である。 発明を実施するための最良の形態
以下、 本発明の好ましい実施の形態の一例につき図面を参照して説明する。 本例は、 所定の DNA (デォキシリポ核酸: deoxyribonucleic acid) のヌク レオチドの配列情報をコンピュータシステムで処理する場合に、 本発明を適用 したものである。
図 1は、 本例のコンピュータシステム 2 Aの概略構成を示し、 この図 1にお いて、 コンピュータシステム 2 Aの中心は、 CPU (中央演算処理ユニット) 、 RAM, ROM等のメモリ、 及びハードディスク装置等の記憶装置等からなる 情報処理装置 10である。 情報処理装置 10には、 ビデオ RAM (VRAM) 1 1を介して CRTディスプレイよりなる表示装置 12が接続されると共に、 IZOユニット (入出力装置) 14を介して、 記録可能な CD— Recordableデ イスク (以下、 「CD— R」 と言う) 16に対するデ一夕の書き込み、 及び C D— Rや CD— ROMからのデ一夕の読み込みを行うことができる CD— RZ RWドライブ 15が接続されている。 情報処理装置 10には、 I/Oユニット 14を介して更に大容量の記憶装置としての記憶容量が数 10Gバイト程度の 磁気ディスク装置 17が接続されている。
本例の情報処理装置 10中のハードディスク装置には、 予め CD— RZRW ドライド 15を介してオペレーティングシステム、 及び後述のように DNAの 配列情報を処理するためのアプリケ一ション ·プログラムがィンス 1 ^一ルされ ている。 また、 CD— R 16が本発明の記録媒体に対応しているが、 記録媒体 としては、 CD— Rや CD— ROMの他に、 フラッシュ ROM、 フレキシブル ディスク、 光磁気ディスク (M〇) 、 デジタルビデオディスク (DVD) 、 又 はハードディスク装置 (例えばィン夕ーネットを介して接続できるサーバに備 えられたもの) 等を使用することができる。
情報処理装置 10には更に、 文字情報の入力装置としてのキーポード 13、 ポインティング ·デバイス (入力装置) としての光学式のマウス 204、 及び ルー夕 (又はモデム等でもよい) よりなる通信制御ユニット 18が接続されて いる。 マウス 204は、 表示装置 12の表示画面上のカーソルの位置を指定す る信号を発生する変位信号発生部 207、 選択すべき情報を指定する信号や各 種コマンド等を発生するための左スィッチ 204 a及び右スィッチ 204 b (信号発生装置) を備えている。 情報処理装置 10、 VRAM1 1、 表示装置 12、 キーボード 13、 マウス 204、 Iノ Oユニット 14、 CD-R/RW ドライブ 15、 磁気ディスク装置 17、 及び通信制御ユニット 18等よりコン ピュー夕システム 2 Aが構成されている。 オペレーティングシステムとして本 例では Wi ndows (Microsoft Corporation の登録商標) を使用している。 なお、 オペレーティングシステムとして、 それ以外の UN I X (X/Open の登 録商標) 、 OSZ2 (IBM Corporatin の登録商標) 、 Ma cOS (Apple Co mputer の登録商標) 、 又は L i nux (Linus Torvalds の商標又は登録商 標) 等を使用する場合にも本発明が適用できることは言うまでもない。
そして、 コンピュータシステム 2A (情報処理装置 10) は、 通信制御ュニ ット 18を介して一般電話回線よりなる通信ネットワーク 1に接続され、 通信 ネットワーク 1には各種コンテンツのプロバイダ 3、 及び別のコンピュータシ ステム 2 B、 及び不図示の多くのサーバやコンピュータシステムが接続されて いる。 また、 本例のコンピュータシステム 2 A, 2 B及びプロバイダ 3は、 通 信ネッ卜ワーク 1を介するインターネッ卜によって相互に接続されている。 こ の場合、 コンピュータシステム 2 Aの所有者が DN A情報の供給者 (販売者) であり、 コンピュータシステム 2 Bの所有者がその DNA情報のユーザ (購入 者) である。 そして、 後者のコンピュータシステム 2Bには、 予め前者のコン ピュー夕システム 2 Aと同様の DN Aの配列情報を処理するためのアプリケ一 シヨン ·プログラムがィンストールされている。
さて、 本例のコンピュータシステム 2 Aの情報処理装置 10には、 IZOュ ニット 14を介して DN A中の一列のヌクレオチドの配列 (又は塩基の配列) を読み取るための配列読み取り装置としてのシーケンサ一 (DNA Seauencer) 4 が接続されている。 シーケンサー 4は、 一例としてサンガーの方法 (Sanger m e thod)によって D N Aを構成する 1対の重合体の鎖の一方の鎖のヌクレオチド の配列を読み取る。 サンガーの方法は、 例えば文献 1 (Maxim D. Frank-Kamen e tski i: Unrave l ing DNA (the mos t important molecule of l i fe, revi sed a nd updated) , trans lated by Lev Liapin, Chapter 6 (pp. 59-70) (Perseus Book s, 1997) ) に開示されている。 シーケンサー 4は、 読み取った一列のヌクレオ チドの配列をテキストデータ形式で内部の大容量の記憶装置に記憶すると共に、 情報処理装置 1 0からの要求に応じて、 その記憶装置中の所定のヌクレオチド の配列のテキストデ一夕を Iノ Oュニット 1 4を介して情報処理装置 1 0に供 給する。 これに対して情報処理装置 1 0は、 D N Aの配列情報を処理するため のアプリケーション ·プログラムに基づいて以下の処理を行う。 なお、 シ一ケ ンサー 4の代わりに、 D NA及び R NA (リポ核酸: ribonucle ic ac id) 等の 核酸を構成する一列のヌクレオチドの配列 (又は塩基の配列) の情報のデータ ベースを接続してもよい。
先ず、 本例の情報処理装置 1 0の第 1の基本的な処理動作につき説明する。 情報処理装置 1 0は、 シーケンサー 4から供給される所定の D N Aのヌクレオ チドの配列を示すテキストデ一夕を磁気ディスク装置 1 7中のマスターフアイ ル 1 9にそのまま記録すると共に、 そのテキストデ一夕をよりデータ量の少な い数値デ一夕に変換し、 この変換後の数値データを磁気ディスク装置 1 7中の ワーキングファイル 2 0に記録する。 なお、 以下の説明において、 2進数表示 の数 kは bin (k) で、 1 6進数表示の数 kは hex (k) で表すものとする。
この場合、 D N Aは 4種類のヌクレオチドより構成されており、 シーケンサ —4から供給されるテキストデータ中では、 塩基としてアデニン (adenine) を含むヌクレオチド、 グァニン (guanine) を含むヌクレオチド、 シトシン (c ytos ine) を含むヌクレオチド、 及びチミン (thymine) を含むヌクレオチドが それぞれ文字 A, G, C , 及び Tで表されている。 そして、 文字 A, G , C , 及び Tには、 デ一夕上ではそれぞれ hex (41), hex (47) , hex (43), hex (54)よりな る 1バイト (8ビット) のアスキーデ一夕が割り当てられている。 また、 R N Aの場合には、 チミンを含むヌクレオチドの代わりにゥラシル (urac i l) を含 むヌクレオチドが、 文字 U (hex (55) )で表されている。 従って、 n個のヌクレ ォチドの配列を示すテキストデータのデータ量は nバイトとなる。 なお、 それ らの n個のヌクレオチドの配列は、 n個の塩基 (アデニン、 グァニン、 シトシ ン、 チミン (又はゥラシル) ) の配列ともみなすことができる。
本例ではそのテキストデ一夕を、 情報量を少なくすることなく最も少ないデ 一夕量で表すために、 D N A中の 4種類のヌクレオチドを互いに異なる 2ビッ トのデ一夕で表す。 この際に、 D N Aにおいては、 1対の塩基 (アデニン及び チミン) が互いに相補的であり、 別の 1対の塩基 (グァニン及びシトシン) が 互いに相補的である。 そこで、 相補的な塩基を含む 1対のヌクレオチドを互い に相補的であるとして、 1対の互いに相補的なヌクレオチド、 即ちアデニンを 含むヌクレオチド及びチミンを含むヌクレオチドに、 互いにビット反転の関係 にある 1対のデータを割り当て、 別の 1対の互いに相補的なヌクレオチド、 即 ちグァニンを含むヌクレオチド及びシトシンを含むヌクレオチドに、 互いにビ ット反転の関係にある別の 1対のデータを割り当てる。 本例ではそのデータの 割り当てとして表 1 (変換テーブル) を用いる。 なお、 表 1は、 ヌクレオチド の配列を示すテキストデータ中の文字 A, T (又は U) , G , C , をそれぞれ b in (00) , bin (11) , bin (01) , bin (10) で置換することを意味している。
《表 1》
ヌクレオチド 2ビットのデータ アデニンを含むヌクレオチド (A) b in (00) チミン (ゥラシル) を含むヌクレオチド (T又は U) bin (11) グァニンを含むヌクレオチド (G) bin (01) シトシンを含むヌクレオチド (C) bin (10) 。
なお、 本例では各ヌクレオチドを 2ビットのデータで表しているが、 これは 各塩基を 2ビットのデータで表すのと等価である。 また、 データの割り当ては 表 1には限定されず、 例えばチミンを含むヌクレオチドを bin (00) 、 アデニン を含むヌクレオチドを bin(ll) とするか、 又はグァニンを含むヌクレオチドを bin(lO) 、 シトシンを含むヌクレオチドを bin(Ol) としてもよい。 それ以外に、 アデニンを含むヌクレオチド及びチミンを含むヌクレオチドに、 1対のデ一夕 bin(01),bin(10) を割り当て、 グァニンを含むヌクレオチド及びシトシンを含 むヌクレオチドに 1対のデータ bin (00), bin (11) を割り当てるようにしてもよ レ^ また、 RNAの場合には、 チミンを含むヌクレオチドに割り当てられてい るデ—夕をゥラシルを含むヌクレオチドに割り当てて、 それ以外のヌクレオチ ドには DN Aのヌクレオチドと同じデ一夕を割り当てればよい。
本例では図 2に示す DN A分子 5のヌクレオチドの配列情報を扱うものとす る。 その配列情報は、 NCB I (The National Center for Biotechnology In formation ) より提供されているウェブサイト 1 (f tp:〃ncbi. nlm. nih. gov/g enbank/genomes/bacteria/) より入手した大腸菌 (Escherichia col i: E. col i) の DN Aの一列のヌクレオチドの配列の一部である。
図 2において、 DNA分子 5は、 1対の重合体の鎖 6 A, 6 B (二重らせん) より構成され、 一方の重合体の鎖 6Aは、 アデニンを含むヌクレオチド 7A、 グァニンを含むヌクレオチド 7 G、 シトシンを含むヌクレオチド 7 C、 及びチ ミンを含むヌクレオチド 7 Tよりなる 4種類のヌクレオチドの配列であり、 他 方の重合体の鎖 6 Bは、 鎖 6 Aに対して相補的なヌクレオチドの配列である。 この際に、 図 1の情報処理装置 10には一方の重合体の鎖 6 Aの配列を示すテ キストデ一夕、 即ち" AGCTTT ' · · " の文字列のデータが供給される。 それに対して、 情報処理装置 10は、 そのテキストデ一夕を後述のように N行 で M列 (N, Mは 2以上の整数) のブロックに分割した後、 各ブロック中の文 字 A, G, C, Tを表 1の変換テーブルに基づいて順次 2ビットのデ一夕に変 換することによって、 数値デ一夕としてのバイナリ一データ BNA (=bin(00 01101111···)) を得る。 そして、 このバイナリーデータ BNAが図 1の磁気デ イスク装置 1 7のヮ一キングファイル 20に記録される。 そのバイナリ一デー 夕 BNAのデータ量は、 元のテキストデータの 1 4となっている。
この場合、 そのヮ一キングファイル 20の先頭の所定数のバイ卜の領域に、 例えばその配列が DNA又は RNAのどちらかを示すデータ (即ち、 bin (11) を文字 T又は文字 Uの何れに解釈するかを示すデ一夕) 、 ヌクレオチドの個数 を示すデータ、 及びその他の必要なデータを記録しておけばよい。 また、 その ワーキングファイル 20の長さが 1バイト (8ビット) 単位で規定されている 場合に、 バイナリーデータ BN Aの末尾で 1バイ卜の端数のデ一夕が生じたと きには、 予め定めておいたダミーデータを付加すればよい。 これでもデータ量 は殆ど増加しない。 そして、 一例としてユーザ (コンピュータシステム 2 Bの 所有者) から供給者 (コンピュータシステム 2 Aの所有者) に対して図 2の D N A分子 5の配列情報の購入希望が届いたときに、 ヮ一キングファイル 20の デ一夕が通信ネットワーク 1及び不図示のプロバイダを介して、 電子メールの 添付ファイルとしてコンピュータシステム 2 B側に供給される。 この際に、 そ のワーキングファイル 20のデータを更に圧縮ファイル (Z I Pファイル、 又 は LHAファイル等) として送信してもよい。 この際に、 ヮ一キングファイル 20のデータ量はもとのテキストデータのほぼ 1 4であるため、 元のテキス トデ一夕 (更に圧縮ファイルとした場合も同様) 自体を送信する場合に比べて 送信時間はほぼ 1 4となり、 供給者側及びユーザ側双方の通信コス卜が低減 できる。
そして、 ュ一ザ側で、 その受信したワーキングファイル 20のデータから図 2の一方の重合体の鎖 6 Aの配列のテキストデ一夕を復元する場合には、 コン ピュー夕システム 2 Bにおいて、 ワーキングファイル 20中のバイナリ一デ一 夕 BNAを、 表 1を用いて文字 A, G, C, T (又は U) の何れかに順次逆変 換すればよい。 また、 その際に例えば図 2の他方の相補的な重合体の鎖 6 Bの ヌクレオチドの配列を示すテキストデ一夕が必要になった場合には、 コンビュ —夕システム 2 Bにおいて、 図 2に示すように、 バイナリーデ一夕 BNAのビ ット毎の反転操作を行って反転バイナリーデ一夕 NOT (BNA) (=bin(1110010000 ···)) を得る。 この反転バイナリ一データ NOT (BNA)は、 他方の重合体の鎖 6 B のヌクレオチドの配列を示すテキストデータ (文字列" TCGAAA * · · " ) を表 1に従って変換したバイナリ一データ BNBと同一である。 従って、 その 反転バイナリ一データ NOT (BNA)を、 表 1を用いて文字 A, G, C, T (又は U) の何れかに順次逆変換するのみで、 極めて高速に相補的な重合体の鎖 6 Bの配 列のテキストデータを得ることができる。 この際に、 通常のコンピュータにお いては、 ビット毎の反転操作は、 極めて高速に実行することができる。 なお、 そのビット毎の反転操作は、 例えば bin (111111···)との排他的論理和演算で代 用してもよい。
なお、 ヮ一キングファイル 20のデータを通信ネットワーク 1を介してュ一 ザ側に送信する代わりに、 ワーキングファイル 20の内容を CD— RZRWド ライブ 1 5によって CD— R 16に記録し、 この CD— R 16を郵送等によつ てユーザ側に供給してもよい。 例えば一人の人間の全部の DN Aの配列情報 (ゲノム) は、 テキストデータでは 3 Gバイト程度になるが、 これを表 1を用 いて本例の数値データとしてのバイナリーデ一夕に変換すると、 3 4Gバイ ト程度、 即ち 7 50Mバイト程度になる。 現在の CD— R, CD— ROMの容 量は約 650Mバイ卜であるため、 その 750Mバイト程度のバイナリーデー 夕は例えば一部又は全部を圧縮ファイルとすることによって、 余裕を持って C D_R 1 6に記録することができる。 これに対して、 その 750Mバイト程度 のデータを通信ネットワーク 1を介して送信しょうとすると、 現状でも送信時 間がかかり過ぎる場合がある。 また、 一つのアミノ酸の種類は一列の 3個のヌクレオチドの配列、 即ち一つ の遺伝子コドン (codon ) によって決定される。 そこで、 1つのアミノ酸に対 応する 3個のヌクレオチドをそれぞれ 2ビットのデータで表したときに得られ る 6ビッ卜のデ一夕の内で、 最も小さいデータでそのアミノ酸を表すものとす る。 具体的に、 各ヌクレオチドを表 1のように表した場合に、 いくつかのアミ ノ酸について得られる 6ビッ卜の表現を以下の表 2に示す。 表 1中で <>の中 のデ一夕がそのアミノ酸のデ一夕として使用される。 これによつて、 ヌクレオ チドとアミノ酸とで共通のコードを使用できる利点がある。
《表 2》
アミノ酸 遺伝子コドン 6ビットのデ一夕
ァラニン(Ala GCA <bin
GCG bin
GCC bin
GCU bin
XCys UGC <bin
UGU bin 110111)
グルタミン酸 (Glu GAA <bin
GAG bin
ヒスチジン(His CAC ぐ bin
CAU bin 100011)
イソロイシン(lie AUA <bin
AUC bin
AUU bin
リジン(Lys AAA ぐ bin
AAG bin
次に、 本例の情報処理装置 10の第 2の基本的な処理動作につき説明する, 本例では、 ヌクレオチドの配列を示す膨大な量のテキストデータ (又はこれを 表 1に基づいて変換して得られる数値データより、 所定のハッシュ関数を用い て数学的な要約値 (message digest) を算出する。 本例ではそのハッシュ関数 として、 ライべスト (R. Rivest)によって提案された MD 5ハッシュ関数を使 用する。 MD 5ハッシュ関数のアルゴリズムについては、 ネットワークヮ一キ ンググループ及びライべストによって開設されているウェブサイト 2 (http:// www. kleinscmidt. com/edi/md5. htm)に開示されている。 或るテキストデータ (テキストファイル) にその MD 5ハッシュ関数を施すことによって、 128 ビットの要約値が得られる。 通常のコンピュータでも今後は 64ビッ卜の CP Uが使用されるようになると考えられるが、 この場合に 128 (=2 · 64) ビットの要約値は非常に扱い易い長さである。 この場合には、 192 (=3 · 64) ビットの要約値も比較的扱い易いと考えられる。
また、 本例では、 その MD 5ハッシュ関数のプログラムとして、 そのウェブ サイト 2において公開されている、 RS Aデータセキュリティ一社 (RSA Data Security Inc. ) によって開発されたプログラムを使用した。
その要約値の使用方法の一例として、 DNAの配列情報の供給者 (情報処理 装置 10) は、 所定の生物の DNAのヌクレオチドの配列を読み取り、 これに 対応するテキストデ一夕より、 上記のハッシュ関数を用いて要約値を算出し、 この要約値をその生物の名称、 及び DNAの位置を示す情報と共にィン夕ーネ ット上で閲覧可能にする。 これによつて、 その供給者は、 そのテキス卜データ 自体を公開することなく、 その生物の DNAの配列情報を最先に解読したこと を主張できると考えられる。 その後、 或るユーザからのその配列情報の購入希 望が来たときに、 その供給者は、 そのヌクレオチドの配列のテキストデータを 表 1を用いてバイナリーデ一夕に変換し、 このバイナリーデ一夕を例えば通信 ネットワーク 1を介して電子メールの形でそのユーザに送信する。 これに対し てユーザ側では、 そのバイナリーデ一夕を表 1を用いてテキストデ一夕に逆変 換し、 この逆変換されたテキストデ一夕に上記のハッシュ関数を施して要約値 を求める。
そして、 この要約値とその供給者によって公開されている要約値とが等しい ときには、 購入した配列情報が、 供給の保持している配列情報と等しいことが 極めて高い確率で保証される。 更に、 ユーザ側では、 複数の供給者が公開して いる要約値を比較することによって、 同じ配列情報を異なる複数の供給者から 重複して購入することを防止することができる。 これらの際に、 ヌクレオチド の配列の長さ、 及び先端部や末尾の一部の短い配列の比較を行うことによって、 その配列情報の同一性を高めることができる。
また、 例えば所定の生物について複数の研究者が並行して研究を行っている 場合に、 第 1の研究者が保持しているヌクレオチドの配列と第 2の研究者が保 持しているヌクレオチドの配列との同一性を保証する必要がある。 この際に、 研究対象とする D N Aのヌクレオチドの配列数が例えば 1億個程度とすると、 その配列のテキス卜データは 1 0 0 Mバイト程度になる。 このような長い 2つ のテキストデ一夕に対して 1文字ずつの比較によって、 同一性を確認するのは 容易ではない。 これに対して本例では、 先ず第 1の研究者側で、 テキストデ一 夕の長さ、 及びハッシュ関数による要約値を算出し、 これを電子メール等で第 2研究者側に送信する。 これに対して、 第 2の研究者側でも自分のテキストデ 一夕の長さ及びハッシュ関数による要約値を算出し、 これらの値を第 1の研究 者から送信された値と比較することによって、 2つの膨大な長さのテキストデ 一夕の同一性を容易に高い確率で保証できる。 この際にも、 更に例えばヌクレ ォチドの配列の先端部及び末尾の所定長さの配列同士を比較することによって、 その同一性を高めることができる。
なお、 ハッシュ関数としては、 例えば文献 2 (FIPS Publ icat ion 180, 1993) で開示されているように、 N B S (Nat ional Bureau of Standards)によって提 案された S H S (Secure Hash Standard) ハッシュ関数を使用してもよい。 S HSハッシュ関数は、 MD 5ハッシュ関数よりも複雑な演算を行うと共に、 1 60ビットの要約値が得られる。 これに関して、 例えばタンパク質を構成する アミノ酸の配列数は 20個〜 1 000個程度であり、 特に一文字表記を使用す る際にはそれに対応するテキストデ一夕も 20バイト〜 1 kバイト程度に短く なるため、 要約値から元のテキストデータが推定し易いと考えられる。 そこで、 アミノ酸の配列情報の要約値を求める際には、 SHSハッシュ関数を使用する 方が望ましいことがある。
また、 例えばヌクレオチドの配列を示す 2つの膨大な長さのテキストデ一夕 の同一性を確認するために、 ハッシュ関数の要約値を算出するような場合には、 それ程複雑な計算を繰り返して行う必要は無いと考えられる。 そこで、 このよ うな用途では、 例えば文献 3 ( . L. Rivest:"The MD4 message digest algor ithm", Lecture Notes in Co即 uter Science, 537, 303- 311 (1991) )で開示され ている MD4ハッシュ関数を使用してもよいと考えられる。 また、 そのように 単に同一性を確認する用途では、 要約値の長さも 40ビット〜 1 28ビット程 度でよい場合がある。
次に、 本例の DN A情報の供給者 (コンピュータシステム 2 A) と、 ユーザ (コンピュータシステム 2 B) との間で DNAの配列情報を受け渡す際のビジ ネスモデルの一例につき図 3〜図 6のフローチャートを参照して詳細に説明す る。 先ず、 DNA情報の供給者側では、 図 3のステップ 10 1において、 シー ケンサ一 4を使用して標準となる試料 (標準試料 Eとする) の DNA中の一方 の一列のヌクレオチドの配列を読み取り、 読み取った配列を表すテキストデー 夕 TX 1を情報処理装置 1 0に供給する。 本例では、 その標準試料 Eを大腸菌 として、 そのテキストデ一夕 TX 1として、 図 7に示すように、 上記のウェブ サイト 1から入手した大腸菌の DNAの配列情報の内の、 最初から 2048個 までのヌクレオチドの配列を示すテキストデ一夕を使用する。
標準試料 Eの DNA配列は配列番号 1に示されている。 図 7のテキストデ一 夕は、 配列番号 1の配列から数字データを除いて、 a, g, c, tの文字をそ れぞれ A, G, C, Tで置き換えたものに相当する。
次のステップ 102において、 情報処理装置 10は、 供給されたテキストデ 一夕 TX 1に上記の MD 5ハッシュ関数を施して 128ビッ卜の要約値 A B 1 を求めると共に、 そのヌクレオチドの配列の数 NA1、 及び先頭と末尾との 8 個ずつのヌクレオチドの配列 ST 1, SB 1を求める。 テキストデータ TX1 に対する具体的な値は下記の通りである。
AB 1 =hex (849339ac244cde42b5346ab5989aab61) … (1 1)
NA 1 = 2048
S T 1 =AGCTTTTC, S B 1 =CGCGAAGG
次のステップ 103において、 情報処理装置 10は、 テキストデータ TX1 を逆方向に並べ替えたテキストデータ TXR 1 (=GGAAGC · · · · TT TCGA) を求め、 このテキストデ一夕 TXR 1の MD 5ハッシュ関数による 要約値 ABR 1、 及びこのテキストデ一夕 TXR 1の先頭と末尾との 8個ずつ のヌクレオチドの配列 STR 1, S BR 1を求める。 配列 STR 1, SBR 1 は、 上記の配列 SB 1, ST 1をそれぞれ逆方向に並べ替えることによって容 易に求めることができる。 これらの具体的な値は以下の通りである。
ABR 1 =hex (4eblfeae30f522642b912ce3ea09652b) … (12)
S TR 1 =GGAAGCGC, S BR 1 =CTTTTCGA
次のステップ 104において、 情報処理装置 10は、 標準試料 Eの名前の情 報 (試料を特定する情報) 、 配列の数 NA1、 テキストデ一夕 TX1、 配列 S Τ 1, SB 1、 要約値 AB 1、 逆方向の配列 STR 1, SBR 1、 及び逆方向 の要約値 ABR 1を磁気ディスク装置 17のマスターファイル 19に記録する この際に、 マスターファイル 19を複数のファイルとして、 テキストデータ T XIと、 それ以外のデ一夕とを別のファイルに記録してもよい。 また、 テキス トデ一夕 TX1が例えば 100Mバイト程度以上になる場合には、 テキストデ 一夕 TX 1を複数のマス夕一ファイルに分割して記録してもよい。
次のステップ 105において、 情報処理装置 10は、 図 7に示すように、 標 準試料 Eのテキストデータ TX 1を配列方向 (ヌクレオチドの配列方向) に N 行で、 その配列方向に直交する方向 (以下、 「非配列方向」 という) に M列の 16文字の長さの部分テキストデ一夕 T ( i, j ) (i = l〜N, j = 1〜M) に分割する。 なお、 N, Mはそれぞれ 2以上の任意の整数であり、 (1) 式、 (2) 式を用いて既に説明したように、 テキストデータ TX 1が 100 kバイ 卜程度 (又はこの整数倍) であるときに、 このテキストデータ TX 1に対して 1/100程度のデータ量のシンドローム情報を得たい場合には、 例えば Nの 値が 64、 Mの値が 128に設定される。 以下では説明を簡単にするために、 テキストデ一夕 TX 1を 4行で、 かつ 32列に分割した場合を想定する。 即ち、 N=4, M=32とする。 この場合、 本例では端数は生じないが、 例えば図 7 において、 最後の部分テキストデータ T (4, 32) 中の文字が 16個より少 ない場合には、 足りない部分には予め定めた文字 (例えば文字 A) をダミーデ 一夕として付加すればよい。 また、 部分テキストデータ T ( i , j ) の長さは、 16文字以外の任意の長さでよいが、 処理速度を高めるためには、 8文字の倍 数が効率的である。
更に、 情報処理装置 10は、 図 7の各部分テキストデータ T ( i , j ) を表 1 (変換テーブル) に基づいてそれぞれ 32ビットのバイナリーデータ (数値 データ) よりなる変換データ A ( i , j ) に変換する。 この結果、 図 8に示す 4行で、 32列の変換データ A (i, j ) (16進数表示) が得られる。 また、 変換データ A (i, j ) を対応するヌクレオチドの配列方向に連続して配列し たときの集合体 (数値データ) をバイナリーデータ BN 1とする。 このバイナ リーデ一夕 BN 1は、 図 2の一方のバイナリ一デ一夕 BNAと同じものである が、 図 2のバイナリーデータ BNAは 2進数表示されており、 図 8のバイナリ 一データ (変換デ一夕 A ( i , j ) ) は 16進数表示されている。 この場合、 各部分テキストデ一夕 T ( i , j ) の長さは 16バイト (=128ビット) で あるため、 図 7の全体のテキストデータ TX 1に対して、 図 8の全体のバイナ リーデ一夕 BN1のデ一夕量は 1 4に減少している。 なお、 図 7の部分テキ ストデータ T ( i , j ) と図 8の変換デ一夕 A ( i , j ) とは等価であるため、 上記の方法の代わりに、 元のテキストデータ TX 1を表 1に基づいてバイナリ 一データ BN 1に変換した後、 このバイナリ一デ一夕 BN 1を N行で、 M列の 変換データ A (i, j ) に分割してもよい。
次のステップ 106において、 情報処理装置 10は、 図 8の全部の変換デ一 夕 A (i, j ) の内で、 各列の変換データ A ( i , j ) の配列方向に対する法 232 (mod 232) のもとでの和、 即ち配列方向のシンドローム (syndrome) C (j ) (j = l〜32) を計算する。 C (j ) は以下のように表すことがで さる。
C ( j ) =A(1, j) +A(2, j)十… +A(4, j) (mod232) - (13 )
更に、 情報処理装置 10は、 各行の変換データ A ( i, j ) (i = l〜4) の内で奇数番目の変換デ一夕 A ( i , 2 j ' - 1 ) (j ' =l〜16) の非配 列方向に対する法 232のもとでの和、 及び偶数番目の変換データ A ( i , 2 j ' ) の非配列方向に対する法 232のもとでの和、 即ち非配列方向のシンドロー ム B l (i) , B 2 ( i ) (i = l〜4) を次式より計算する。
B 1 (i) =A(i, 1)+A(i,3)十… +A(i, 31) (mod232) - (14)
B 2 (i) =A(i,2) +A(i,4)十… +A(i,32) (mod232) - (15) 変換データ A ( i, j ) に対する実際の計算結果が、 図 8のシンドローム C ( j ) , B l ( i ) , B 2 ( i ) として表示されている。
また、 図 9は、 図 8の標準試料 Eのデータ中からシンドローム C ( j ) , B 1 (i) , B 2 ( i ) だけを取り出して表示したものである。 この例において は、 シンドローム C (j ) , B l ( i) , B 2 ( i ) はそれぞれ 32ビット (4バイト) であるため、 全部のシンドロームのデータ量は、 160 (=4 · 40) バイトとなる。 従って、 全部のシンドロームのデータ量は、 図 7の全体 のテキストデータ TX1 (2048バイト) に対してほぼ 1ノ13に減少して おり、 図 8の全体のバイナリーデータ BN 1に対してもほぼ 1 3に減少して いる。
次に図 4のステップ 107において、 情報処理装置 10は、 標準試料 Eの名 前の情報、 配列の数 NA1、 バイナリーデータ BN1、 シンドローム C ( j ) , B 1 ( i ) , Β 2 ( i ) を磁気ディスク装置 17のワーキングファイル 20に 記録する。 この際に、 ワーキングファイル 20を複数のファイルとして、 バイ ナリーデ一夕 BN1と、 シンドローム C ( j ) , B 1 ( i ) , Β 2 ( i ) とを 別のファイルに記録してもよい。 更に、 バイナリ一データ BN 1と共に、 ステ ップ 102で算出した要約値 AB 1をワーキングファイル 20に記録してもよ レ^
また、 バイナリ一デ一夕 BN 1が長いときには、 バイナリ一データ BN1を 複数のファイルに分割して記録してもよい。 更に、 図 7のテキストデータ TX 1 (ひいては図 8のバイナリ一デ一夕 BN 1) がかなり長い場合には、 テキス トデ一夕 TX 1を例えば 100 kバイト程度を単位として複数のデータ群に分 割し、 各データ群毎にシンドローム C ( j ) , B 1 ( i ) , B 2 (i) を求め るようにしてもよい。
更に、 ステップ 107において、 DNA情報の供給者は、 ワーキングフアイ ル 20に記録した情報、 即ち標準試料 Eの名前の情報、 配列の数 NA1、 バイ ナリーデ一夕 BN1、 シンドローム C ( j ) , B 1 ( i ) , B 2 ( i ) と、 マ ス夕一ファイル 17に記録した要約値 AB 1, ABR 1の情報とを、 CD— R ZRWドライブ 15を介して CD— R 16に記録してもよい。 この CD— R 1 6から、 更に多数の CD— ROMを作製してもよく、 これらの記録媒体が郵送 等によってユーザに販売される。
次の、 ステップ 108において、 情報処理装置 10は、 標準試料 Eの名前の 情報、 配列の数 NA1、 配列 ST1, SB 1、 要約値 AB 1、 逆方向の配列 S TR 1, SBR 1、 及び逆方向の要約値 ABR 1を磁気ディスク装置 17のコ ンテンッファイル 21に記録する。 図 7のテキストデ一夕 TX1が仮に 100 Mバイト程度の膨大なものであっても、 コンテンツファイル 21に記録される デ一夕は 500バイト程度の僅かなものである。 更に、 情報処理装置 10は、 コンテンツファイル 21中の情報を通信ネットワーク 1を介してコンテンツの プロバイダ 3に送信する。 これによつて、 コンテンツファイル 21中の情報は プロバイダ 3のサーバ内の閲覧可能なコンテンツファイル 31に記録されて、 第 3者がインターネットを介して自由に閲覧できるようになる。
次のステップ 109において、 DNA情報の供給者は、 ユーザから購入要求 が来るのを待つ状態となる。 そして、 (a) ユーザから標準試料 Eに対する簡 易データの要求があったときには、 ステップ 1 10に移行して、 情報処理装置 10は、 磁気ディスク装置 17のヮ一キングファイル 20の中のシンドローム C ( j ) , B 1 ( i ) , B 2 ( i ) の情報を例えば電子メールの添付ファイル としてそのユーザに送信する。 一方、 ステップ 109において、 (b) ユーザ から完全データの要求があったときには、 ステップ 1 1 1に移行して、 情報処 理装置 10は、 ワーキングファイル 20中のバイナリ一データ BN 1を Z I P フアイル等の形式で圧縮し、 この圧縮されたデ一夕を例えば電子メールの添付 ファイルとしてそのユーザに送信する。 この際に必要に応じて、 ハッシュ関数 による要約値 AB 1を同時に送信してもよい。 本例によれば、 簡易データ (シ ンドローム) はデ一夕量が少ないために短時間で送信することができる。 また、 完全デ一夕 (バイナリーデータ BN 1) でも元のテキストデータに比べて 1 4のデ一夕量であるため、 比較的短時間に送信することができる。
また、 ステップ 109において、 ユーザは、 必要に応じて部分データ、 即ち 図 8の全部の変換デ一夕 A ( i , j ) の内の所望のデータ、 例えば 2つの変換 データ A (4, 16) 及び A (1, 17) のみをその供給者から購入するよう にしてもよい。 これによつて、 必要な正確なデ一夕のみを短時間に入手するこ とができる。
次に、 DNA情報のユーザ (図 1のコンピュータシステム 2Bの所有者とす る) 側では、 図 5のステップ 121において、 図 1の通信ネットワーク 1 (ィ ン夕ーネット) を介してプロバイダ 3のサーバ内のコンテンツファイル 31の 内容を閲覧し、 その中からステップ 108で供給者から送信された情報、 即ち 標準試料 Eの名前の情報、 ヌクレオチドの配列の数 NA1、 配列 ST1, SB 1、 要約値 AB 1、 逆方向の配列 STR 1, SBR 1、 及び逆方向の要約値 A BR 1を読み取り、 読み取った情報をコンピュータシステム 2 B内の記憶装置 の一時ファイルに記録する。
次の、 ステップ 122において、 そのユーザは、 不図示の DNAのシ一ケン サ一を用いて、 標準試料 Eと同じ種類で検査対象の試料 Fの DNA中の一方の 一列のヌクレオチドの配列を読み取り、 読み取られた配列を示すテキストデ一 夕 TX 2をコンピュータシステム 2 B内の情報処理装置に取り込む。 その検査 対象の試料 Fとは、 例えば突然変異を起こしていると思われる大腸菌であり、 そのテキストデータ TX 2は、 標準試料 Eのテキストデ一夕 TX 1と同様に最 初から 2048個までのヌクレオチドの配列を示すものとする。
試料 Fの DNA配列は配列番号 2に示されている。 後述の図 10のテキスト データは、 配列番号 2の配列から数字デ一夕を除いて、 a, g, c, tの文字 をそれぞれ A, G, C, Tで置き換えたものに相当する。
図 10は、 その試料 Fの DN Αのヌクレオチドの配列に対応するテキストデ 一夕 TX 2を示し、 この図 10の配列の内のアンダーラインを付した部分のみ が、 図 7の標準試料 Eの配列と異なっている。 即ち、 試料 Fの配列は、 標準試 料 Eの部分テキストデ一夕 T (4, 16) , T (1, 17) の部分だけが以下 のように異なっている。 なお、 この段階では、 ユーザは、 試料 Fの配列と標準 試料 Eの配列とのどの部分が相違しているのかは分からない。 標準試料 E 試料 F
T(4, 16)=ATTTGGACGGACGTTG → ATTTGGACATTATGGC
T(l, 17)=ACGGGGTCTATACCTG → GGCCAACTTATACCTG
そして、 ユーザのコンピュータシステム 2 B側の情報処理装置においても、 DN Aの配列情報を処理するためのアプリケーション ·プログラムが起動され ている。 そして、 その情報処理装置は、 ステップ 123において、 読み取られ たテキストデータ TX 2に上記の MD 5ハッシュ関数を施して 1 28ビットの 要約値 AB 2を求めると共に、 そのヌクレオチドの配列の数 NA 2、 及び先頭 と末尾との 8個ずつのヌクレオチドの配列 ST2, SB 2を求め、 これらを内 部の記憶装置の第 1データファイルに記録する。 テキストデータ TX2 (図 1 0) に対する具体的な値は下記の通りである。
AB 2=hex(1457b51222a83c3222e87cb4d4e63305) … (1 6)
NA 2 = 2048
S T 2 =AGCTTTTC, SB 2 = CGCGAAGG
次のステップ 1 24において、 情報処理装置は、 試料 Fの配列数 NA2と標 準試料 Eの配列数 NA 1とが等しいかどうかを調べ、 両者が異なっている場合 には、 ユーザはステップ 1 25に移行して、 別の DNA情報を検索し、 NA2 と同じ配列数の DNA情報をサーチする。 本例では、 ステップ 124において、 NA2=NA 1であるため、 動作はステップ 1 26に移行して、 試料 Fの先頭 と末尾との一部の配列 ST2, S B 2力、 標準試料 Eの配列 S T 1 , SB 1と 等しいかどうか、 更に試料 Fの要約値 AB 2が標準試料 Eの要約値 AB 1 (ス テツプ 1 2 1で一時ファイルに記録されている) と等しいかどうかを調べる。 これらが共に等しい場合には、 試料 Fの配列と標準試料 Eの配列とは非常に高 い確率 (ほぼ 1 2128 ^ 1 1038程度の確率) で一致しているとみなすこ とができる。 従って、 ステップ 127に移行して、 コンピュータシステム 2 B の情報処理装置は、 その第 1データファイルに 「試料 Fの DNA構造は、 標準 試料 Eの DNA構造と同一」 との情報を記録する。
但し、 本例では、 ST2 = ST1, SB2 = SB 1が成立する力 (1 1) 式及び (16) 式より AB 2≠AB 1であるため、 動作はステップ 126から ステップ 128に移行して、 その情報処理装置は、 試料 Fの先頭と末尾との一 部の配列 ST2, SB 2力 標準試料 Eを逆に並べた配列の一部の配列 ST R 1, S BR 1と等しいかどう力、 更に試料 Fの要約値 AB 2が標準試料 Eを逆 に並べた配列の要約値 ABR 1と等しいかどうかを調べる。 これらが共に等し い場合には、 試料 Fの配列と標準試料 Eを逆に並べた配列とは非常に高い確率 で一致しているとみなすことができる。 従って、 ステップ 139に移行して、 コンピュータシステム 2 Bの情報処理装置は、 その第 1データファイルに 「試 料 Fの DNA構造は、 標準試料 Eの DNA構造と回文 (palindrome) の関係に ある」 との情報を記録する。
本例では、 ST2≠STR2, SB2≠SBR2、 かつ (12) 式及び ( 1 6) 式より AB 2≠ABR 1であるため、 動作はステップ 128からステップ 129に移行して、 そのユーザは、 通信ネットワーク 1 (イン夕一ネット) を 介して DNA情報の供給者から上記の簡易データ、 即ち標準試料 Eのシンドロ ーム C (j ) , B l (i) , B2 (i) の情報 (図 9の情報) を購入し、 購入 した情報をコンピュータシステム 2 B (情報処理装置) 内の記憶装置の第 2デ 一夕ファイルに記録する。
次に、 図 6のステップ 130において、 コンピュータシステム 2 Bの情報処 理装置は、 図 10に示すように、 試料 Fのテキストデータ TX 2を配列方向 (ヌクレオチドの配列方向) に N行で、 非配列方向に M列の 16文字の長さの 部分テキストデータ TF ( i, j ) (i = l〜N, j =l〜M) に分割する。 分割数 N, Mは標準試料 Eの分割数と同じであり、 本例では、 N=4, M=3 2である。 更に、 情報処理装置は、 図 10の各部分テキストデ一夕 TF ( i , j ) を表 1 (変換テーブル) に基づいてそれぞれ 32ビットのバイナリーデー 夕 (数値デ一夕) よりなる変換デ一夕 AF ( i , j ) に変換する。 この結果、 図 1 1に示す 4行で、 32列の変換デ一夕 AF (i, j ) (16進数表示) が 得られる。 また、 変換デ一夕 AF (i, j ) を連続して配列した集合体 (数値 デ一夕) をバイナリ一デ一夕 BN 2とする。
次に、 情報処理装置は、 ステップ 106の動作と同様にして、 図 1 1の全部 の変換デ一夕 AF ( i , j ) の内で、 各列の変換データ AF ( i , j ) の配列 方向に対する法 232 (mod 232) のもとでの和、 即ち配列方向のシンドロー ム CF ( j ) ( j = 1〜32) を計算する。 CF ( j ) は、 (13) 式で A (i, j ) を AF (i, j ) で置き換えた式で計算される。 更に、 情報処理装 置は、 各行の変換デ一夕 AF ( i , j ) (i = l〜4) の内で奇数番目の変換 デ一夕 AF ( i , 2 j ' - 1 ) ( j ' =1〜16) の非配列方向に対する法 2 32のもとでの和、 及び偶数番目の変換データ AF ( i , 2 j ' ) の非配列方向 に対する法 232のもとでの和、 即ち非配列方向のシンドローム B 1 F ( i ) , B 2 F ( i ) ( i = l〜4) を計算する。 B 1 F ( i ) , B 2 F ( i ) は、 (14) 式、 (15) 式で A ( i , j ) を AF ( i, j ) で置き換えた式で計 算される。 変換データ AF ( i , j ) に対する実際の計算結果が、 図 1 1のシ ンドローム CF ( j ) , B 1 F ( i ) , B2F ( i ) として表示されている。 図 8 (標準試料 E) と図 11 (試料 F) とを比較すると、 図 8の変換データ A (4, 16) , A (1, 17) に対して図 1 1の変換データ A F (4, 1 6 ) , AF (1, 17) の値が異なっている。 従って、 それに対応して図 1 1 にアンダーラインを付して示すように、 図 1 1の配列方向の 2つのシンドロー ム CF (16) , CF (17) , 及び非配列方向の 2つのシンドローム Β 1 F (1) , Β 2 F (4) の値が、 図 8の対応するシンドローム C (16) , C (17) , B 1 (1) , B 2 (4) の値と異なっている。
また、 図 1 2は、 主に図 1 1の試料 Fのデ一夕中からシンドローム C F
( j ) , B 1 F ( i ) , B 2 F ( i ) だけを取り出して表示したものである。 次に、 ステップ 131において、 その情報処理装置は、 供給者から購入した 簡易データの 1組のシンドローム、 即ち図 8 (標準試料 E) の 1組のシンドロ —ム C ( j ) , B 1 ( i ) , B 2 ( i ) と、 上記のように求めた試料 Fの 1組 のシンドローム CF ( j ) , B 1 F ( i ) , Β 2 F ( i ) とを比較して、 相違 するシンドロームをサーチする。 本例では、 図 1 1のシンドローム CF ( 1 6) , CF ( 17) 、 及びシンドローム B 1 F (1) , B2F (4) が相違す るシンドロームとして特定される。 この場合、 配列方向の相違するシンドロ一 ム CF (16) , CF (17) の列と、 非配列方向の相違するシンドローム B 1 F (1) , B 2 F (4) の行との交点が、 標準試料 Eに対して相違する変換 データの位置となる。 従って、 図 1 1の第 4行で第 16列の変換デ一夕 AF (4, 16) 、 及び第 1行で第 17列の変換デ一夕 AF (1, 17) が相違す る変換データとして特定される。
次のステップ 132において、 その情報処理装置は、 図 1 1の変換デ一夕 A F ( i , j ) 中で図 8の変換データ A ( i , j ) と相違する変換デ一夕 (AF ( i ' , j ' ) とする) は、 各行、 又は各列に多くとも一つかどうかを調べる。 これが成立する場合には、 その変換デ一夕 AF ( i ' , j ' ) に対応する標準 試料 Eの変換データは、 法 232のもとでの連立方程式によって容易に求めるこ とができる。 本例では、 それが成立する、 即ち相違する変換データは、 第 1行、 第 4行に一つずつで、 かつ第 16列、 第 17列に一つずつであるため、 動作は ステップ 133に移行する。 そして、 その情報処理装置は、 先ず変換データ A F (4, 16) から標準試料 Eの変換データ A (4, 16) を復元するために、 図 8のシンドローム C (16) 、 図 1 1のシンドローム CF (16) 、 及び変 換デ一夕 AF (4, 16) を用いて次の演算を行う。
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) と比較すると、 復元が正確に行 われていることが分かる。
続いて、 情報処理装置は、 変換デ一夕 AF (1, 17) から標準試料 Eの変 換デ一夕 A (1, 17) を復元するために、 図 8のシンドローム C (17) 、 図 1 1のシンドローム 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 ) , B 1 F ( i ) , B2 F ( i ) の内側に表示されている。 図 12の変換データ A (4, 16) , A (1, 17) を表 1に従って逆変換して得られる部分テキストデ一夕は、 図 7の標準試料 Eの部分テキストデ一夕 T (4, 16) , T (1, 17) と等し いことが分かる。
次のステップ 134において、 その情報処理装置は、 復元された変換データ A ( i ' , j ' ) 、 即ち A (4, 16) , A (1, 17 ) で、 図 1 1の試料 F のバイナリーデータ BN 2中の対応する変換データ AF (4, 16) , AF (1, 17) を置き換えた後、 この置き換えによって得られるバイナリ一デー 夕 BN2を表 1に基づいてテキストデ一夕 TX1 ' に逆変換する。 更に情報処 理装置は、 そのテキストデータ TX 1 ' より MD5ハッシュ関数を用いて 12 8ビットの要約値 AB 1' を算出し、 この要約値 AB 1 ' が標準試料 Eの要約 値 AB 1 (ステップ 121で一時ファイルに記録されている) と等しいかどう かを確認する。 本例では、 AB 1 ' =AB 1が成立するが、 例えば図 1 1の試 料 Fの変換データ AF ( i , j ) 中の相違する変換デ一夕の位置や内容によつ ては、 その相違する位置がステップ 132で正確に検出されない可能性がある c このような場合に、 AB 1, ≠AB 1となったときには、 ステップ 135に移 行すればよい。 通常は、 AB 1, =AB 1が成立して、 動作はステップ 138 に移行して、 情報処理装置は、 上記の第 1データファイルに 「試料 Fの配列と 標準試料 Eの配列との内で相違する部分の位置 U ' , j ' ) 、 及び相違する 部分テキストデ一夕の対」 の情報を記録する。 本例では、 位置 (i ' , j ' ) として位置 (4, 16) , (1, 17) 力 相違する部分テキストデ一夕の対 として A (4, 16) , AF (4, 16) 及び A (1, 17) , AF ( 1 , 1 7) が記録される。
一方、 ステップ 132において、 相違する変換データ AF ( i ' , j ' ) が 少なくとも一行に 2個以上で、 かつ列方向にも 2個以上 (奇数番目又は偶数番 目で 2個以上を意味する) 存在する場合には、 変換データの正確な復元は困難 である。 そこで、 動作はステップ 135に移行して、 そのユーザはその DNA 情報の供給者から標準試料 Eの完全データ、 即ち図 8のバイナリ一データ B N 1を通信ネットワーク 1 (インターネット) を介して購入し、 コンピュータシ ステム 2 Bの情報処理装置は、 そのバイナリーデータ BN 1を記憶装置の第 3 デ一夕ファイルに記録する。
次のステップ 136において、 その情報処理装置は、 そのバイナリ一データ BN1を表 1に基づいてテキストデ一夕 TX1 ' に逆変換 (復元) し、 そのテ キストデ一夕 TX1, より MD 5ハッシュ関数を用いて 128ビットの要約値 ΑΒ 1 ' を算出し、 この要約値 AB 1 ' が標準試料 Εの要約値 ΑΒ 1 (ステツ プ 121で一時ファイルに記録されている) と等しいかどうかを確認する。 通 常は、 AB 1 ' =ΑΒ 1が成立するが、 例えば通信エラ一等によって送信され たバイナリ一デ一夕 BN 1の中にエラ一が生じている場合には、 ΑΒ 1, ≠Α B lとなる。 このときには、 例えば供給者に完全デ一夕の再送信を行う等の対 処を行う。 そして、 ステップ 136で AB 1 ' ==AB 1が成立するときには、 ステップ 137に移行して情報処理装置は、 標準試料 Eのバイナリ一データ B N1中で、 試料 Fの相違している変換データ AF ( , j ' ) に対応する変 換デ一夕 A ( , j ' ) を求める。 その後、 動作はステップ 138に移行す る。
このように本例のビジネスモデルによれば、 第 1段階として標準試料 Eの要 約値 AB 1と試料 Fの要約値 AB 2とを比較して、 両者が等しいときには試料 Fの D N Aの構造は標準試料 Eの D N Aの構造と同じとみなすため、 D N A情 報の供給者からそれ以上の情報を購入する必要が無い。 また、 第 2段階として、 標準試料 Eのシンドローム C ( j ) , B 1 (i) , B 2 ( i ) と試料 Fのシン ドローム CF (j ) , B l F (i) , B2F (i) とを比較して、 相違する変 換デ一夕 AF ( i , j ) の個数が少ない場合には、 対応する標準試料 Eの変換 データ A ( i , j ) を復元するため、 膨大な完全データを購入する必要がなく、 情報処理コストを低減できる。
なお、 上記のステップ 135では、 ユーザは DN A情報の供給者から完全デ —夕 (バイナリーデータ BN 1) を購入している力 別の方法として、 ステツ プ 131で特定された相違する変換データ AF ( , j ' ) に対応する標準 試料 Eの変換データ A ( i ' , j ' ) のみを購入してもよい。 これによつて、 通信コストを低減できる。
また、 本例のシンドロームの使用方法に関して、 本例では非配列方向 (列方 向) に 2組のシンドローム B l ( i ) , B 2 ( i ) を求めているため、 図 1 1 の試料 Fの変換デ一夕 AF ( i , j ) において、 連続する 2列の変換デ一夕 A F ( i , j ) 、 例えば AF ( i, 16) , AF ( i , 17) ( i = 1〜4) の 全部 (8個) が標準試料 Eの変換データ A (i, j ) と相違していても、 その 相違する部分 (エラーコード) の位置を正確に検出することができる。 更に、 非配列方向のシンドローム B 1 F (i) , B2F (i) 、 及び変換データ A F (i, 16) , AF (i , 17) (i = l〜4) を用いて連立方程式を解くこ とによって、 対応する標準試料 Eの変換データ A (i, j ) の全部を正確に復 元できる。 即ち、 ヌクレオチドの配列方向に対して隣接する 2列に跨るような 比較的長いエラーコード (バーストエラ一) が生じても、 本例のシンドローム によってその位置の検出、 及び対応する配列の復元を行うことができる。
また、 本例のシンドロームを用いれば、 SNP (—塩基変位多型: Single N ucleotide Polymorphism) のように所定の範囲内で 1つのヌクレオチド (塩基) だけが異なっているようなエラ一コードは、 更に容易にその位置の検出、 及び 復元を行うことができる。 そして、 所定の範囲内で、 即ち図 1 1の配列中で 1 つ (ヌクレオチドの 1つ分) だけ生じたエラ一コードの検出、 及び復元を行え ば良い場合には、 非配列方向のシンドローム B 1 F ( i ) , B 2 F ( i ) の代 わりに、 それらの和 (BF ( i ) とする) を使用するのみで十分である。 この 場合には、 図 8の標準試料 Eについても、 非配列方向のシンドローム B 1 ( i ) , B 2 ( i ) の代わりに、 それらの和 (B ( i) とする) を用意するの みでよい。
また、 例えば図 8 (図 1 1でも同様) において、 配列方向のシンドローム C ( j ) を、 各列で前半の 1組の変換デ一夕と後半の 1組の変換データとで 2つ 設け、 非配列方向のシンドローム B 1 ( i ) , B 2 ( i ) を一つの B (i) と した場合にも、 上記の隣接する 2列に跨るバーストエラーの検出及び復元を行 うことができる。 また、 より多くのエラーコードの復元を行うためには、 計算 は極めて複雑になるが、 シンドローム C ( j ) , B 1 ( i ) , B 2 (i) の代 わりに、 シンドローム情報として例えばリードソロモンの CRC符号 (Reed - S olomon Cyclic Redundancy Check Code: RSCRC Code)を使用してもよい。 RS CRC符号については、 例えば文献 (James S. Plank: Software-Practice & Experience, 27(9), September, pp.995-1012 (1997) )で開示されている。
なお、 上記の実施の形態では、 DNA又は RN Aを構成するヌクレオチドは 4種類であるため、 テキストデ一夕 TX 1をバイナリ一データ BN 1に変換す る際に、 表 1に示すように各ヌクレオチドを 2ビッ卜のデータで表している。 これに対して、 ヌクレオチド (又は塩基) を表すテキストデ一夕として、 以下 のような 1 6種類の文字 a〜n ( 8ビットのアスキーデ一夕) が使用されるこ とがある。
a アデニン (アデニンを含むヌクレオチドと同義、 以下同様)
c シ.トシン
g グァニン
t チミン
U ゥラシ レ
m アデニン、 又はシトシン
r グァニン、 又はアデニン
w アデニン、 又はチミン (若しくはゥラシル)
s グァニン、 又はシトシン
y チミン (若しくはゥラシル) 、 又はシトシン
k グァニン、 又はチミン (若しくはゥラシル)
V アデニン、 グァニン、 又はシトシン
h アデニン、 シトシン、 又はチミン (若しくはゥラシル)
d アデニン、 グァニン、 又はチミン (若しくはゥラシル)
b グァニン、 シトシン、 又はチミン (若しくはゥラシル)
n (アデニン、 シトシン、 グァニン、 又はチミン (若しくはゥラシル) ) 又は (不明若しくは他の塩基) 。
この場合には、 これら 1 6種類の文字を互いに異なる 4ビットのコードに変 換し、 このコードを用いてテキストデータを数値デ一夕 (バイナリーデ一夕) に変換してもよい。 これによつて、 デ一夕量を 1 2にすることができる。 ま た、 将来的にヌクレオチド (塩基) の種類が増加したような場合には、 これら のヌクレオチドを 5ビット、 又は 6ビットのデ一夕で表現するようにしてもよ い。
また、 上記の実施の形態では、 図 7及び図 1 0のヌクレオチドの配列を示す テキストデ一夕よりハッシュ関数によって要約値を算出しているが、 情報量と しては、 それらのテキストデータは図 8及び図 1 1のバイナリ一デ一夕 (数値 デ一夕) と等価である。 従って、 これらのバイナリ一デ一夕よりハッシュ関数 によってそれぞれ要約値を算出し、 これらの算出結果同士を比較するようにし てもよい。 バイナリーデ一夕はテキストデ一夕に対して 1ノ4程度であるため、 要約値を算出する時間が短縮できる利点がある。
なお、 上記の実施の形態では、 D N A又は R N A中のヌクレオチドの配列 (又は塩基の配列) の情報を処理対象としているが、 本発明は、 遺伝子を形成 するヌクレオチドの配列の情報を処理する場合にも適用できることは言うまで もない。
次に、 本発明の実施の形態の他の例につき説明する。 本例は、 タンパク質又 はペプチドを構成するアミノ酸の配列情報を処理する場合に本発明を適用した ものである。
本例でも基本的に図 1のコンピュータシステム 2 Aを使用できるが、 D N A のシーケンサ一 4の代わりに、 タンパク質のアミノ酸の配列を決定する配列読 み取り装置としてのタンパク質用のシーケンサ一 (protein Sequencer)が情報 処理装置 1 0に接続される点が異なっている。 なお、 その配列読み取り装置と しては、 アミノ酸の配列のデータベースも使用できる。 本例でも、 例えば新規 の試料 Gのタンパク質のアミノ酸の配列をそのシーケンサ一で解読した場合に、 その配列を示すテキストデータ (T X 3とする) が情報処理装置 1 0に供給さ れる。 本例では一文字表記を採用するものとして、 n個のアミノ酸の配列に対 応するテキストデータは、 nバイトの長さである。 本例では、 その試料 Gを大 腸菌として、 そのテキストデ一夕 T X 3として、 図 1 3に示すように、 上記の ウェブサイト 1から入手した大腸菌の或るタンパク質の 8 2 0個のアミノ酸の 配列を示すテキストデ一夕を使用する。
試料 Gのアミノ酸配列は配列番号 3に示されている。 図 1 3のテキストデ一 夕は、 配列番号 3の配列から数字データを除いて、 その配列を一文字表記で表 したものに相当する。 また、 図 1 3においては、 そのテキストデータが配列方 向 (アミノ酸の配列方向) に 8行で、 その配列方向に直交する非配列方向に 2 6列の 4文字の長さの部分テキストデータに分割されており、 86 1番以上の アミノ酸を示すデータ (テキストデ一夕 TX 3には正確には含まれない部分) の位置には仮に 0が表示されている。
次に、 情報処理装置 10は、 供給されたテキストデータ TX 3に上記の MD 5ハッシュ関数を施して 1 28ビットの要約値 A B 3を求めると共に、 そのァ ミノ酸の配列の数 N A 3、 及び先頭と末尾との 8個ずつのアミノ酸の配列 S T 3, SB 3を求める。 テキストデ一夕 TX 3に対する具体的な値は下記の通り である。
AB 3=hex (0f66dc2b3024a9739d0e912fdel2b8ba) … (1 9)
NA3 = 820
S T 3 =MRVLKFGG, S B 3=TL SWKLGV
次に、 情報処理装置 1 0は、 テキストデータ TX 3を逆方向に並べ替えたテ キストデ一夕 TXR 3 (=VGLKWS - · · - FKLVRM) を求め、 この テキストデ一夕 TXR 3の MD 5ハッシュ関数による要約値 ABR 3、 及びこ のテキストデ一夕 TXR 3の先頭と末尾との 8個ずつのアミノ酸の配列 STR 3, SBR 3を求める。 配列 STR 3, S B R 3は、 上記の配列 SB 3, ST 3をそれぞれ逆方向に並べ替えることによって容易に求めることができる。 こ れらの具体的な値は以下の通りである。 テキストデータ TXR 3の配列は元の テキストデ一夕 TX 3に対して回文 (palindrome) の関係にあると言うことが できる。
ABR 3 =hex (e895f433ele77f84b3cadeeadla52380) … (20) STR3=VGLKWSLT, S B R 3 =GG F KL VRM
次に、 情報処理装置 10は、 試料 Gの名前の情報 (試料を特定する情報) 、 配列の数 NA3、 テキストデータ TX 3、 配列 ST3, SB 3、 要約値 AB3, 逆方向の配列 STR3, SBR3、 及び逆方向の要約値 ABR 3を磁気ディス ク装置 17のマスターファイル 19に記録する。 この際に、 マスターファイル 19を複数のファイルとして、 テキストデ一夕 TX 3と、 それ以外のデータと を別のファイルに記録してもよい。 続いて、 情報処理装置 10は、 例えば図 7 と同様に図 13に示すように、 試料 Gのテキストデ一夕 TX 3を配列方向 (ァ ミノ酸の配列方向) に N行で、 その配列方向に直交する非配列方向に M列の 4 文字の長さの部分テキストデータに分割する。 なお、 N, Mはそれぞれ 2以上 の任意の整数であり、 一例として N= 16, M= 13などとしてもよい。 本例 ではテキストデ一夕 TX 3に例えば 12文字分のダミーデータ (本例では 0を 用いるが、 例えば文字 Aなども使用できる) を付加して得られる 832 (=4 • 16 · 13) バイ卜のテキストデータ (これを TX 3 ' と呼ぶ) を用い、 テ キストデ一夕 TX3' を一例として N=8, M=26で分割する。 本例では、 ヌクレオチドの配列を扱う場合と異なり、 その 4文字分の部分テキストデ一夕 をそのまま 32ビットの変換データとして扱う。 なお、 この際に表 2に示すよ うに、 各アミノ酸を 6ビットのデータで表してもよいが、 データ量は 3 4程 度になるだけであるため、 本例では部分テキストデ一夕をそのまま変換データ (数値デ一夕) として扱う。
それに続いて、 情報処理装置 10は、 その 8行で 26列の変換データに対し て、 図 8の例と同様に、 各列の変換データの配列方向に対する法 232 (mod 232) のもとでの和、 即ち配列方向のシンドロームを計算する。 更に、 各行の 変換データの内で奇数番目の変換データの非配列方向に対する法 232のもとで の和、 及び偶数番目の変換デ一夕の非配列方向に対する法 232のもとでの和、 即ち非配列方向の 2組のシンドロームを計算する。 この例においては、 シンド ロームそれぞれ 32ビット (4ノ イト) であるため、 全部のシンドロームのデ —夕量は、 168 (=4 · 42) バイトとなる。 従って、 全部のシンドローム のデータ量は、 全体の元のテキストデータ TX 3 (820バイト) に対してほ ぼ 1 4〜 1ノ5に減少している。
次に、 情報処理装置 10は、 試料 Gの名前の情報、 配列の数 NA3、 テキス トデ一夕 TX3、 要約値 ΑΒ3, ABR3、 及びシンドロームを磁気ディスク 装置 17のワーキングファイル 20に記録する。 この際に、 ワーキングフアイ ル 20を複数のファイルとしてもよい。 その後、 情報処理装置 10は、 試料 G の名前の情報、 配列の数 NA3、 配列 ST 3, SB 3、 要約値 AB3、 逆方向 の配列 STR3, SBR3、 及び逆方向の要約値 A B R 3を磁気ディスク装置 17のコンテンツファイル 21に記録する。 更に、 情報処理装置 10は、 コン テンッファイル 21中の情報を通信ネットワーク 1を介してコンテンツのプロ バイダ 3に送信する。 これによつて、 コンテンツファイル 21中の情報はプロ バイダ 3のサーバ内の閲覧可能なコンテンツファイル 31に記録されて、 第 3 者がインターネットを介して自由に閲覧できるようになる。 この結果、 第 3者 は、 公開されている試料 Gの配列の数 NA3、 及び要約値 AB 3 (又は必要に 応じて ABR3) を自分の保有するアミノ酸の配列の配列数、 及び要約値と比 較することによって、 その試料 Gが自分にとって新規かどうかを判定できる。 また、 ユーザは、 その試料 Gの配列情報を複数の供給者から誤って重複して購 入することを回避することができる。
その後、 コンピュータシステム 2 Aの所有者 (アミノ酸情報の供給者) は、 ユーザから購入要求が来るのを待つ状態となる。 そして、 ユーザから試料 Gに 対する簡易デ一夕の要求があったときには、 情報処理装置 10は、 磁気ディス ク装置 17のワーキングファイル 20の中の試料 Gのシンドロームの情報を例 えば電子メールの添付ファイルとしてそのユーザに送信する。 シンドロームの 情報を購入したユーザは、 試料 Gと同じ種類の自分で解読した試料のアミノ酸 の配列のシンドロームと、 その購入したシンドロームとを比較することによつ て、 相違する部分の検出及び復元を或る程度行うことができる。
一方、 ユーザから完全データの要求があったときには、 情報処理装置 1 0は、 ワーキングファイル 2 0中のテキストデ一夕 T X 3を Z I Pファイル等の形式 で圧縮し、 この圧縮されたデータを例えば電子メールの添付ファイルとしてそ のユーザに送信する。 この際に必要に応じて、 ハッシュ関数による要約値 A B 3を同時に送信してもよい。 本例によれば、 簡易データ (シンドローム) はデ —夕量が少ないために短時間で送信することができる。
更に、 そのアミノ酸の配列情報の供給者は、 ワーキングファイル 2 0に記録 した情報、 即ち試料 Gの名前の情報、 配列の数 NA 3、 テキストデ一夕 T X 3、 要約値 A B 3, A B R 3、 及びシンドロームを C D— R/RWドライブ 1 5を 介して C D— R 1 6に記録してもよい。 この C D— R 1 6から、 更に多数の C D— R OMを作製してもよく、 これらの記録媒体が郵送等によってユーザに販 兀 3 る。
次に、 本例において、 アミノ酸の配列中から所望の連続する部分的な配列を 選択する方法の一例につき説明する。 そのため、 図 1 3の試料 Gの配列が、 図 1の表示装置 1 2の表示画面中に表示されているものとして、 その表示画面の 右端のエッジ部を図 1 3のエッジ部 5 1とする。
図 1 3において、 試料 Gのアミノ酸の配列はエッジ部 5 1の左側の表示領域 に表示されており、 その表示領域には図 1のマウス 2 0 4によって制御される 力一ソル 5 2も表示されている。 この場合、 図 1 3の第 1 6列の第 2行〜第 7 行の矩形枠で囲まれた領域 5 4内の配列を選択するものとすると、 本例では先 ず領域 5 4の右端部の文字" A" の上にカーソル 5 2を移動して、 図 1のマウ ス 2 0 4の左スィッチ 2 0 4 aを操作する。 その後、 カーソル 5 2がエッジ部 5 1から更に右方向の位置 5 3まで仮想的に移動するように、 マウス 2 0 4を 右方向に移動する。 本例では、 そのように力一ソル 5 2がー方のエッジ部に達した後にも、 更に 力一ソル 5 2が表示領域の外側に移動するようにマウス 2 0 4を移動すると、 そのカーソル 5 2は、 そのエッジ部に対向する他方のエッジ部からその表示領 域内に現れるというスクリーン · ラッピング動作が行われる。 この結果、 カー ソル 5 2は、 図 1 3の表示領域の不図示の左側のエッジ部の右側に移動して、 領域 5 4の左端部の文字" K" 上に移動して、 領域 5 4の配列が選択される。 この状態で一例としてマウス 2 0 4の右スィッチ 2 0 4 bを操作することによ つて、 領域 5 4の配列のコピー等を行うことができる。
次に、 図 1 4は、 図 1 3の配列の第 1 5列〜第 1 7列の配列を示し、 この図 1 4において、 第 1 6列の第 8行の領域 5 6 A、 及びこれに続く第 1 7列の第 1行の領域 5 6 Bの配列を選択するものとする。 このとき、 先ず領域 5 6 Aの 左端部の文字" L " の上にカーソル 5 2を移動して、 図 1のマウス 2 0 4の左 スィッチ 2 0 4 aを操作する。 その後、 カーソル 5 2がエッジ部 5 1から更に 右下方向の位置 5 5まで仮想的に移動するように、 マウス 2 0 4を右下方向に 移動する。 この結果、 スクリーン ·ラッピング動作によって、 本例のカーソル 5 2は、 図 1 4の表示領域の不図示の左側のエッジ部の右側に移動して、 領域 5 6 Bの右端部の文字" L " 上に移動して、 領域 5 6 A, 5 6 Bの配列が選択 される。 この状態で一例としてマウス 2 0 4の右スィッチ 2 0 4 bを操作する ことによって、 領域 5 6 A, 5 6 Bの配列のコピー等を行うことができる。 このように本例によれば、 力一ソルのスクリーン · ラッピング動作によって、 マウス 2 0 4の移動量を少なくしてアミノ酸の配列中の一連の広い領域、 及び 左右に離れた端部の連続する領域の配列を容易に選択することができる。 同様 に、 ヌクレオチドの配列中から所定の部分的な領域を選択する場合にも、 カー ソルのスクリーン · ラッピング動作を行うことによって、 選択動作を容易にか つ高速に行うことができる。
次に、 カーソルのスクリーン ' ラッピング動作の別の例につき図 1 7を参照 して説明する。 この例では、 ユーザが図 1のマウス 2 0 4を用いて所望のアブ リケーシヨン ·プログラムを起動する際の動作につき説明する。 ここでは、 図 1の表示装置 1 2の表示領域を図 1 7の表示領域 2 0 1 aとして、 表示領域 2 0 1 aの長辺方向を X方向、 短辺方向を y方向とする。 また、 カーソルの座標 を指定できる範囲を有効座標領域 2 0 1 bとする。 この場合、 カーソルの座標 を表示領域 2 0 1 aの外側で、 かつ有効座標領域 2 0 1 bの内側に設定すると、 カーソルは表示領域 2 0 1 aのエッジ部に表示される。
図 1 7 ( a ) は、 表示領域 2 0 1 aに表示されるプログラムリストの一例を 示し、 この図 1 7 ( a ) の表示領域 2 0 1 aには、 メニューリスト 2 2 1から 選択されたプログラムの第 1のグループリスト 2 2 2 (第 1列) 、 及び第 2の グループリスト 2 2 3 (第 2列) が X方向に 2列に分けて表示されている。 こ の表示は、 メニューリスト 2 2 1上で 「プログラム」 の表示 (反転している) 上をカーソル 2 2 0が通過することによって生成される。 本例では、 第 2のグ ループリスト 2 2 3中のグループ G 1 6中の或るアプリケ一ション ·プロダラ ムを実行したいものとして、 カーソル 2 2 0を 「グループ G 1 6」 の表示 (反 転している) 上に移動させる。 本例の表示領域 2 0 1 aでは、 第 2のグループ リスト 2 2 3 (第 2列) の右側 (+ x方向) にはサブ情報を表示する余地が無 いため、 グループ G 1 6のアプリケーションリスト 2 2 4は、 グループリスト 2 2 2 (第 1列) の左側 (一 X方向) に表示される。 ここで、 実行したいアブ リケーシヨン 'プログラムがアプリケーション A 3であるとすると、 どのよう に力一ソル 2 2 0をアプリケーションリスト 2 2 4上に移動するかが問題とな る。
即ち、 単にカーソル 2 2 0をグループ G 1 6上から左側のグループリスト 2 2 2上に移動すると、 例えばグループ G 2のアプリケーションリス卜が表示さ れ、 グループ G 1 6のアプリケーションリスト 2 2 4の表示が消えてしまう。 そこで、 本例では、 カーソル 2 2 0をグループ G 1 6上から右方向 (+ x方向) に移動させる。 そして、 力一ソル 2 2 0の座標を P (m, n ) とすると、 更に カーソル 2 2 0の座標が、 表示領域 2 0 1 aを囲む有効座標領域 2 0 1 bの + X方向の外側の座標 P (m l , n 1 ) となるように、 図 1のマウス 2 0 4を右 方向に移動する。
この結果、 カーソル 2 2 0は、 グループ G 1 6の表示の右側の位置から、 図 1 7 ( b ) に示すように座標 P ( 0 , n 1 ) の位置の近傍、 即ちアプリケ一シ ヨンリスト 2 2 4上に移動する。 この後、 マウス 2 0 4を僅かに下方向に移動 して、 カーソル 2 2 0をアプリケーション A 3の表示上に移動させた状態で、 図 1の左スィッチ 2 0 4 aをクリックすることによって、 極めて短時間に、 か つ容易にアプリケ一ション A 3のプログラムを起動することができる。
次に、 本例では、 例えば図 1 7 ( a ) において、 力一ソル 2 2 0の計算上の 座標が表示領域 2 0 1 aの外部で、 かつ有効座標領域 2 0 1 bの内部にある (力一ソル 2 2 0は表示領域 2 0 1 aのエッジ部に表示されている) とき、 即 ち力一ソル 2 2 0が不活性である (アイドリング状態にある) ときには、 図 1 のマウス 2 0 4のスィッチ 2 0 4 a , 2 0 4 bに別の機能を持たせるようにし てもよい。 このようにスィッチ 2 0 4 a, 2 0 4 bに別の機能を持たせるとき には、 力一ソル 2 2 0の形状を変形させてもよい。 一例として、 そのように力 一ソル 2 2 0が不活性であるときに、 左スィッチ 2 0 4 aを操作しながらマウ ス 2 0 4をドラッグしたときには、 表示領域 2 0 1 aの大きさを所定範囲で伸 縮できるようにしてもよい。 更に、 上記の範囲のみならず、 例えばカーソル 2 2 0が表示領域 2 0 1 aの輪郭 (エッジ部) に対して内側に隣接する幅 L 1の 枠状の領域にあるときにも、 スィッチ 2 0 4 a , 2 0 4 bに対して別の機能を 持たせてもよい。
以上をまとめると、 本例による情報選択方法は、 複数の情報 (2 2 1〜2 2 3 ) が表示された表示領域 (2 0 1 a ) より、 その複数の情報の何れか、 又は その複数の情報の何れかに関連する情報を選択する情報選択方法において、 移 動量及び移動方向の少なくとも一方の情報を含む制御情報を生成し、 この生成 された制御情報に基づいてその表示領域内にその複数の情報に重畳させて移動 自在にカーソル (2 2 0 ) (ポインタ) を表示し、 このカーソルとその複数の 情報の表示との位置関係に基づいて、 その複数の情報の何れか、 又はその複数 の情報の何れかに関連する情報を選択できるようにしておき、 その力一ソルを その表示領域の周縁部の第 1の端部に移動させた状態で、 更にそのカーソルを その表示領域の外側に移動させるようにその制御情報を与えたときに、 その力 一ソルをその表示領域のその周縁部のその第 1の端部とは異なる第 2の端部を 起点としてその表示領域内で移動させるものである。
即ち、 本例のカーソル (2 2 0 ) は、 ポインティングデバイスの制御情報に 応じて、 スクリーン, ラッピング方式で表示領域 (2 0 1 a ) 中を周期的に移 動する。
この結果、 G U I (Graphical User Interface)方式でコンピュータ等の各種 装置を操作する際に、 登録してあるアプリケーション ·プログラムの個数が多 い場合でも、 高速に力一ソルを所望のアプリケーション 'プログラムの位置に 移動させて、 そのプログラムを起動することができる。
本例において、 その表示領域 (2 0 1 a ) が所定の軸に関して実質的に軸対 称の領域 (矩形領域、 又は楕円形の領域等) である場合、 その第 2の端部は、 その表示領域内でその所定の軸に関してその第 1の端部と実質的に軸対称の位 置に設定されると共に、 そのカーソル (2 2 0 ) のその第 2の端部からの移動 方向は、 その制御情報によってその第 1の端部から更にその力一ソルを移動さ せようとした方向であることが望ましい。 これによつて、 カーソル (2 2 0 ) の周期的な動きが容易に予測できるため、 ユーザが特に習熟することなく、 直 ぐにその周期的な力一ソル (2 2 0 ) の動きを活用できる。
また、 そのカーソル (2 2 0 ) をその表示領域 (2 0 1 a ) のその周縁部の 第 1の幅の制限領域に移動させた状態、 及びそのカーソルをその制限領域から 更に第 2の幅 (L) だけ外側 (20 1 b) に移動させるようにその制御情報を 与えた状態では、 そのカーソルに対してその情報の選択以外の別の機能を与え ることが望ましい。 通常は、 その表示領域 (20 1 a) の周縁部にはアプリケ ーシヨン 'プログラムのアイコン等は表示されていない。 そこで、 そのカーソ ル (220) がその表示領域 (20 1 a) の周縁部に有る状態では、 アプリケ —ション ·プログラムの選択以外の機能、 例えばその表示領域の伸縮機能等を 持たせても、 アプリケーション ·プログラムの選択には実質的に影響が無いと 共に、 力一ソル (220) (ポインティングデバイス) の用途が広がる利点が ある。
また、 本例では図 1 7に示すように、 その表示領域 (20 1 a) 内にその複 数の情報、 及びこれらの情報に関連する情報が複数列 (222, 223) に表 示されているときに、 そのカーソル (220) がその複数列の一方の端部の列 (223) の所定の情報の表示を通過しているときに、 その表示領域内のその 複数列の他方の端部の列 (222) の外側にその所定の情報に関連する複数の サブ情報 (224) を表示し、 更にそのカーソルをその複数列の一方の端部の 列 (223) からその表示領域の外側に移動させるようにその制御情報を与え たときに、 そのカーソル (220) をその表示領域のその複数列の他方の端部 の列 (222) に近い端部 P (0, n 1) を起点として、 その複数のサブ情報 (224) の表示上に移動させて、 その複数のサブ情報の何れかを選択可能と している。
即ち、 図 1 7に示すように、 その表示領域 (20 1 a) 内に表示すべきアブ リケ一シヨン ·プログラムの個数が多い場合には、 例えばその右側の端部の列 (223) のサブ情報 (224) が左側の端部の列 (222) の外側に表示さ れる。 このときに、 本例の周期的な移動を行うカーソル (220) を適用する と、 そのサブ情報 (224) 中のアプリケーション ·プログラムを選択するた めには、 ポインティングデバイスによってそのカーソル ( 220) をその列 (223) から更に右方向に移動させるようにすればよい。 これによつて、 ァ プリケ一シヨン,プログラムの個数が多く、 プログラムリストが複数列になる ような場合でも、 GU I方式で容易にカーソルを所望のアプリケ一ション ·プ ログラムの位置に移動できる。
ここで、 DNA又は RNAのヌクレオチドの配列 (塩基の配列) に対応する テキストデ一夕 (又はこれを表 1等に基づいて変換した数値データ) の要約値 を算出するためのハッシュ関数について更に説明する。 例えばハッシュ関数の 演算対象を、 人間の DN Aのヌクレオチドの配列とすると、 そのテキストデ一 夕又は数値データのファイル (以下、 「原ファイル」 と言う) は 100Mバイ ト程度にも達する膨大なファイルである。 そこで、 本発明で使用するハッシュ 関数 (ハッシュ演算アルゴリズム) は、 演算対象の原ファイルを分割した後の 複数の分割ファイルを順次処理することによって、 全体の要約値を算出する機 能を持つことが望ましい。
また、 ハッシュ関数は、 一例として所定ビット数 ml (mlは例えば 32, 64等) のデ一夕を 1ワードとして、 所定ワード数 m2 (m2は例えば 16, 32, 64等) 単位で、 原ファイルの要約値を算出していく。 この際に、 デー 夕の処理単位は、 ml *m2ビットとなる。 例えば ml =32, m2=16で は、 処理単位は 512ビットとなる。 そこで、 その原ファイルを複数の分割フ アイルに分割する際には、 最初は ml *m2ビットの整数倍 (例えば 1000 0倍程度) を単位として分割していき、 端数として残ったデータに所定デ一夕 (長さを表すデータ、 区切りデータ等) を付加して ml ,m2ビットの整数倍 のファイルとすることで、 要約値の演算を効率的に実行することができる。 更に、 暗号理論で使用されるハッシュ関数は、 テキストデータ中のスペース コード及び改行コード等も全て演算処理対象としているが、 ヌクレオチド及び アミノ酸の配列情報については見やすくするために、 配列番号 1〜 3で示すよ うに途中にスペースコード、 配列順序を示す数字コード、 及び改行コードを挿 入する場合がある。 そこで、 ヌクレオチドの配列情報 (アミノ酸の配列情報も 同様) を演算処理対象とするハッシュ関数においては、 必要に応じてテキスト デ一夕中の所定コ一ドとしての数字コ一ド、 スペースコ一ド及び改行コードを 無視する機能を付加することが望ましい。 また、 隣接する文字を" 一" (ハイ フン) で分けることも考えられるが、 この場合には、 更に" 一" 記号も無視す る必要がある。
更に、 原ファイルを複数の分割ファイルに分割する際には、 複数の分割ファ ィルの順序等を示すデータ (以下、 「コメントデータ」 と言う) を各分割ファ ィルに付加することが望ましいことがある。 このように分割ファイル、 又は 1 つの原ファイルにコメントデータを付加する場合にも、 コメントデ一夕はハツ シュ関数で無視する必要がある。 そのため、 例えばコメントデータは所定の開 始記号 (例えば Z * ) 及び終了記号 (例えば * Z) の間に記録し、 八ッ シュ関数で処理する際に開始記号から終了記号までのデ一夕は無視するように すればよい。
また、 上記の実施の形態では、 例えば生物の D N Aのヌクレオチドの配列 (又はタンパク質のアミノ酸の配列) 内の先頭の一部、 及び末尾の一部の配列、 並びにその配列のテキストデ一夕の要約値をィン夕ーネッ卜上で公開すること がある。 この場合には、 その公開されている一部の配列と、 その要約値とから そのテキストデ一夕の内容が推定される可能性もある。 これを回避するために、 そのテキストデータをハッシュ関数で処理する際に、 その公開されている配列 を除いた部分についてのみ、 そのハッシュ関数を施して要約値を求めるように してもよい。
次に、 例えば核酸や遺伝子のヌクレオチドの配列が見易いように順序を示す 数字、 スペース、 及び改行を含んでテキストデータとして記録されたファイル (ファイル F D 1とする) の要約値(message digest)を計算するための方法の 一例につき図 1 5を参照して説明する。 なお、 以下の要約値の計算は、 例えば 図 1の情報処理装置 10において実行される。
図 15において、 先ずステップ 151では、 ファイル FD 1中のテキストデ 一夕から数字コード、 スペースコード、 及び改行コードを取り除いたテキスト デ一夕をファイル FD 2に記録する。 その次のステップ 152では、 例えば M D 5ハッシュ関数を用いてファイル FD 2中のテキストデ一夕の 128ビット の要約値を算出する。 この方法は処理は単純であるが、 ファイル FD 1が例え ば 100Mバイト程度であるとすると、 ファイル FD 2もほぼ 100Mバイト 程度になるため、 記憶装置の容量を大きくする必要がある。
MD 5ハッシュ関数のアルゴリズムについては、 上記のウェブサイト 2で詳 細に開示されているが、 ここでそのアルゴリズムについて簡単に説明する。 先ず、 ここでは 1ワード" word"とは、 32ビットの量であり、 1バイト" byt e"とは、 8ビッ卜の量である。 そして、 一列のビットは、 自然に一列のバイト と解釈することができ、 ここではそれぞれ 8ビットのデータの集まりを、 MS B (most significant bit) 即ち上位ビットが最初に表示される 1バイトのデ —夕として解釈することができる。 同様に、 一列のバイトは、 一列の 32ビッ 卜のワードと解釈することができ、 ここではそれぞれ 4バイトのデ一夕の集ま りを、 LSB (least significant byte)、 即ち下位バイトが最初に表示される 1ヮードのデ一夕として解釈することができる。
また、 次のように演算等を定義する。 即ち、 " X— i " は X に下付き文字 i を付加した表現を意味し、 その下付き文字が一つの式であるときには、 例え ば" x—ii + 1にのようにその式を括弧で囲むものとする。 同様に、 上付き文字 (べき乗) としては ' を用いる。 従って、 "x'i" は X の i 乗を意味する。 また、 記号" +" は、 ワードの加算、 即ち法 2'32 の加算を意味する。 そして、 " Xくくく s " は、 X を s ビットだけ左側に循環的にシフトして (回転して) 得 られる 32ビットの値を意味する。 また、 not(X) は、 X のビット毎の補数(c 0即 lement)を意味し、 " X v Y"は、 X と Y とにビット毎の OR演算を施して得 られる値を意味し、 " X xor Y"は X と Υ とにビット毎の X O R (排他的論理和) 演算を施して得られる値を意味し、 "ΧΓは X と Υ とにビット毎の AN D演算を 施して得られる値を意味する。
次に、 上記のファイル F D 2に記録されているテキストデータ (ファイル F D 1から数字コード、 スペースコード、 及び改行コードを取り除いたテキスト データ) を、 要約値を求めるべき bビットのメッセ一ジであるとする。 その値 bは、 任意の非負整数であり、 bは 0であってもよい。 その値 bは 8の倍数で ある必要はなく、 更に任意に大きい値であってもよい。 その bビットのメッセ ージの一連のビットは次のように表すことができる。
m_0 m_l . . . m_ (b-l)
そのメッセージの要約値は、 次の 5つのステップ A〜Eの処理で計算するこ とができる。
[ステップ A] (追加ビッ卜の付加)
そのメッセージには、 そのメッセージをビット列で表現したときの長さが法 5 1 2のもとで 4 4 8に合同となるように追加ビットが付加 (拡張) される。 即ち、 そのメッセージは、 その長さが 5 1 2の倍数のビットよりも 6 4ビット だけ少ない長さになるように拡張される。 追加ビットの付加は、 たとえそのメ ッセージの長さが既に法 5 1 2のもとで 4 4 8に合同である場合でも常に実行 される。
追加ビットの付加は、 単一のビット" 1" を付加した後に、 ビットの長さが法 5 1 2のもとで 4 4 8に合同となるようにビット" 0" を付加することによって 実行される。 全ての場合に、 少なくとも 1ビット、 そして最大で 5 1 2ビット が付加される。
[ステップ B ] (長さ情報の付加)
そのメッセージのビット数である b (ステップ Aにおける追加ビットの付加 が行われる前の長さ) の 6 4ビットの表現が、 ステップ Aで得られたメッセ一 ジに付加される。 実際には起こりそうもないが、 仮に bが 64ビットよりも大 きいときには、 bの表現の下位の 64ビット分だけが付加される。 これらのビ ットは、 2つの 32ビットのワードとして、 上述の内容に対応して下位のヮ一 ドが最初になるように付加される。
このようにして得られたメッセージのビット表現の長さは、 正確に 5 1 2の 倍数、 即ち 5 1 2ビットの倍数となる。 言い換えると、 このようにして得られ たメッセージの長さは、 正確に 1 6個の (32ビットの) ワードの倍数となる。 そこで、 このようにして得られたメッセージの各ワードを M[0 ... N-1] とす る。 ここで、 Nは 1 6の倍数である。
[ステップ C] (要約値バッファの初期化)
要約値を計算するために 4ワードのバッファ (A, B, C, D)を使用する。 ここで、 A, B, C, D はそれぞれ 32ビットのレジス夕であり、 これらのレジスタは下 位バイトを最初に記載する 1 6進表現で次の値に初期化される。
ワード A: 01 23 45 67
ワード B: 89 ab cd ef
ヮード C: fe dc ba 98
ワード D: 76 54 32 10
[ステップ D] 1 6ワードブロック毎のメッセージの処理
ここでは、 それぞれ入力として 3個の 32ビッ卜のワードを受け取って出力 として 1個の 32ビッ卜のワードを生成する 4個の補助的な関数を次のように 定義する。
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で、 そうでなければ Ζという条 件式として作用する。 関数 Fは、 V の代わりに +を使って定義することもでき た。 なぜなら、 XY と not(X)Z とは、 同じビット位置で共に 1となることが 決してないからである。
関数 G, H, Iは、 Χ,Υ,Ζ のビットからビット毎に並行に出力を生成する点 で関数 Fと同様である。
また、 関数 Ηは、 その入力に対してビット毎の XOR演算、 又はパリティ演 算を施す関数である。
更にこのステップ Dでは、 正弦関数から導かれる 64個の要素を持つテープ ル T[l ... 64]を用いる。 即ち、 そのテ一ブルの i番目の要素を T[i] として、 iの単位をラジアンとすると、 次のようになる。
T[i]= {4294967296 x abs(sin(i))} の整数部
なお、 abs(sin(i)) は sin(i) の絶対値である。 これらの関数及びテ一ブル を用いて以下の演算を行う。
各 16ワードのブロックを処理するために、 変数 iについて 0から (NZ1 6— 1) まで以下の [ iに関するループの始まり] から [iに関するループの 終わり] までの処理を繰り返して行う。
[ iに関するループの始まり]
先ず変数 jについて 0から 15まで、 1ワードのメッセージ M[i*16+j]を X [j] にコピーする。
続いて、 バッファ A, B,C, D の値をそれぞれ次のようにバッファ AA, BB, CC,DD にコピーする。
AA = A, BB = B, CC = C, DD = D
[ラウンド 1]
ここで、 [abed k s i] は次の処理を行うものと定義する。
a = b + ( (a I F (b, c, d) + X [k] + T[i]) <« s)
そして、 次の 16回の処理を行う。 [ABCD 0 7 1] [DABC 1 12 2] [CDAB 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 ]
ここで、 [abed k s i] は次の処理を行うものと定義する。
a = b + ( (a + G (b, c, d) + X [k] + T [U ) «< s)
そして、 次の 1 6回の処理を行う。
[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 ]
ここで、 [abed k s t] は次の処理を行うものと定義する。
a = b + ( (a + H (b, c, d) + X [k] + T [i] ) «< s)
そして、 次の 1 6回の処理を行う。
[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 ]
ここで、 [abed k s t] は次の処理を行うものと定義する。
a = b + ( (a + I (b, c, d) + X [k] + T [i] ) «< s)
そして、 次の 1 6回の処理を行う。
[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 の値) を加算する。
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 の値のみを要約 値として用いてもよい。
また、 MD 5ハッシュ関数は、 元のデータの推定が困難となるように複雑な 処理を行っているが、 ヌクレオチドやアミノ酸の配列デ一夕の要約値を計算す る場合には元のデータが或る程度推定されても特に不都合がないことがある。 この場合には、 メッセージに対応する一連の所定ビット数 s ( 3は1^05ハッ シュ関数では 512) のブロック B i (i = l〜I) 毎の演算を、 順次次のよ うな簡単な演算で行うことも考えられる。
Figure imgf000071_0001
M, = (M.-! · B i +b) mo d 2 s ( i =2〜I)
この場合、 a, bは 0以外の sビットの数であり、 が最終的な要約値と なる。
次に、 上記のファイル FD 1の要約値を計算するための別の方法につき図 1 6を参照して説明する。 ここでは MD 5ハッシュ関数を用いて要約値を計算す るものとする。 以下の計算も一例として図 1の情報処理装置 10で実行される c 先ず図 16のステップ 161において、 ヌクレオチド自体を表すコードの個 数を表す変数 NX, NYの値をそれぞれ 0に設定し、 要約値を表す 3 2ビット ずつのバッファ A, B, C, Dの値を所定の初期値 (上記のステップ Cで設定 した値) に設定し、 要約値の計算対象のテキストデータを空にする。
次のステップ 1 6 2において、 ファイル FD 1中のテキストデ一夕の先頭か ら 1文字分 (ここでは 1バイト) の文字コード (ここでは全ての種類のコード を含む意味である) を読み取り、 それに続くステップ 1 6 3において、 読み取 つた文字コードが数字コード、 スペースコード、 又は改行コードかをチェック する。 そして、 読み取った文字コードが数字、 スペース、 改行の何れのコード でもない、 即ち本例では A〜Z, a〜zの何れかのコードであるときには、 ス テツプ 1 6 4に移行して、 変数 NXの値に 1を加算すると共に、 読み取った文 字コードを要約値の計算対象のテキストデータに加える。 続いてステップ 1 6 5において、 変数 NX (読み取られた有効な文字コードの個数) が、 要約値の 計算単位である文字数 NA に達したかどうかを調べる。 本例では、 ΝΛ = 5 1 2/8 = 6 4である。
ΝΧ = ΝΑ であるときには、 ステップ 1 6 6に移行して、 変数 NXを 0に戻 すと共に、 変数 NY (ΝΛ 個の文字単位のブロック数) に 1を加算した後、 ス テツプ 1 6 7に移行して、 計算対象のテキストデ一夕 (NA 個の文字コードを 含んでいる) の要約値 (A, B, C, D) を計算する。 これは、 上記のステツ プ Dを 1回実行することを意味する。 その後、 計算対象のテキストデ一夕を空 にしてから、 動作はステップ 1 6 8に移行して、 ファイル FD 1中に読み取り 対象となる文字コードがまた有るかどうかがチェックされる。 また、 ステップ 1 6 3で読み取られた文字コードが数字、 スペース、 改行の何れかのコードで あるときには、 ステップ 1 6 9で読み取った文字コードを無視した後、 ステツ プ 1 6 8に移行する。 更に、 ステップ 1 6 5で変数 NXが NA に達していない ときにも、 動作はステップ 1 68に移行する。
そして、 ステップ 1 6 8において、 読み取り対象となる文字コードがまだ有 るときには、 動作はステップ 1 62に戻り、 ファイル FD 1中のテキストデ一 夕から次の 1文字分の文字コードが読み取られて、 以下ステップ 1 63〜1 6 8の動作が繰り返される。 一方、 ステップ 1 68において、 読み取り対象とな る文字コードが無くなったときには、 動作はステップ 1 70に移行して、 要約 値 (A, B, C, D) が計算される。 この際に、 変数 NX, NYの値より読み 取られた有効な文字コードの全個数が分かるため、 上記のステップ A、 ステツ プ8、 ステップ D、 ステップ Eが実行される。 得られた要約値 (A, B, C, D) が最終的な要約値となる。
具体的に MD 5ハッシュ関数を用いて図 1 5、 及び図 16の計算方法で、 配 列番号 1、 2のヌクレオチドの配列を示すテキストデータ、 及び配列番号 3の アミノ酸の配列を示すテキストデ一夕の要約値を計算した結果は、 16進数表 示で以下のようになる。 これらの要約値は、 配列の改行方法等を変えても変化 しない一定の値である。
MD 5の要約値 (配列番号 1) =hex(lc0a0bld72e256bbl0556a2fb52d28ae) MD 5の要約値 (配列番号 2) =hex (ec8c3c9af 5630f 61f 3d0cd2bdl3b0f Od) MD 5の要約値 (配列番号 3) =hex(164fl4406ac21158e20ba72666a033ab) この要約値の計算方法によれば、 ファイル FD 1から逐次関係の無い文字コ —ドを取り除きながら要約値を計算しているため、 記憶装置の記憶容量を殆ど 増加する必要がないという利点がある。 従って、 ファイル FD 1の情報量が大 きくなる程、 この計算方法は有利になる。 また、 上記のステップ 1 5 1、 1 6 3では、 所定コードとしての数字コード、 スペースコード、 改行コードを取り 除いているが、 それ以外にコメント文などを取り除くようにしてもよい。 また、 図 1 5、 図 1 6で要約値を計算するための方法は、 MD 5ハッシュ関数のみな らず、 他のどのような関数であってもよい。
なお、 本発明は上述の実施の形態に限定されず、 本発明の要旨を逸脱しない 範囲で種々の構成を取り得ることは勿論である。 また、 明細書、 特許請求の範 囲、 図面、 及び要約を含む 2 0 0 0年 4月 1 9日付け提出の日本国特願 2 0 0 0 - 1 1 7 3 4 3の開示内容の要部、 及び 2 0 0 0年 5月 1 9日付け提出の日 本国特願 2 0 0 0 - 1 4 9 1 2 2の開示内容の全ては本願に組み込まれている c 産業上の利用の可能性
本発明によれば、 核酸や遺伝子中のヌクレオチドの配列情報、 又はタンパク 質やべプチド中のアミノ酸の配列情報を、 それらの配列が所定の長さを超えた ときに、 それらの配列を示すテキストデ一夕よりも少ないデータ量で記録する ことができる。 従って、 それらの配列情報を通信回線を介して短時間に送信す ることが可能となる。
また、 それらの配列を示すテキストデータ、 又はこれに対応する数値データ の数学的な要約値を用いた場合には、 膨大な長さの 2つのヌクレオチドの配列 同士、 又は 2つのアミノ酸の配列同士の同一性を少ないデータ量で高精度に確 認することができる。 また、 同一の複数の配列情報を誤って購入することも防 止できる。
また、 シンドローム情報を用いた場合には、 2つのヌクレオチドの配列 (又 は 2つのアミノ酸の配列) の間の相違する部分を少ないデータ量で容易に検出 できると共に、 必要に応じてその相違する部分の情報を復元することができる 従って、 例えば S N P (—塩基変位多型: Single Nucleot ide Polymorphism) を少ないデータ量で容易に発見することができる。
また、 本発明によれば、 ヌクレオチドの配列情報、 又はアミノ酸の配列情報 を少ないデータ量でユーザに供給できるビジネスモデルを提供することができ る。 この場合に、 更に数学的な要約値、 又はシンドローム情報を用いることに よって、 ユーザが提供された配列情報と情報供給者が保持している配列情報と の同一性の確認、 又は相違する部分の検出や復元を容易に行うことができる。 また、 本発明の要約値の計算方法によれば、 例えばヌクレオチドの配列を見 易くするための数値コードやスペースコードなど、 又はその配列の内容を説明 するためのコメント文などの所定コードを無視して、 必要な情報のみの要約値 を算出できるため、 その所定コードの内容が変化しても、 常に同一の要約値を 算出できる利点がある。 従って、 その要約値の計算方法は、 特にヌクレオチド やアミノ酸の配列情報の要約値を算出する場合に有効である。

Claims

請 求 の 範 囲
1 . 一列のヌクレオチドの配列情報の記録方法であって、
前記一列のヌクレオチドの配列に対応するテキストデ一夕よりも少ないデ一 夕量で、 前記一列のヌクレオチドの配列に関する情報を記録することを特徴と するヌクレオチドの配列情報の記録方法。
2 . 請求の範囲 1記載の記録方法であって、
前記一列のヌクレオチドは 4種類のヌクレオチドよりなり、
前記 4種類のヌクレオチドを互いに異なる 6ビット以下のデータで表すこと を特徴とするヌクレオチドの配列情報の記録方法。
3 . 請求の範囲 2記載の記録方法であって、
前記 4種類のヌクレオチドを互いに異なる 2ビッ卜のデータで表すことを特 徴とするヌクレオチドの配列情報の記録方法。
4 . 請求の範囲 2、 又は 3記載の記録方法であって、
前記一列のヌクレオチドは、 一つの D N Aを構成する 1対の重合体の鎖の内 の 1本の鎖の全部又は一部であり、
前記 4種類のヌクレオチド中の互いに相補的な 2対のヌクレオチドをそれぞ れ互いにビット反転の関係にある 1対のデータで表すことを特徴とするヌクレ ォチドの配列情報の記録方法。
5 . 請求の範囲 2、 又は 3記載の記録方法であって、
前記一列のヌクレオチドは、 一つの R N Aを構成する一つの重合体の鎖の全 部又は一部であることを特徴とするヌクレオチドの配列情報の記録方法。
6 . 請求の範囲 1記載の記録方法であって、
前記一列のヌクレオチドの配列に関する情報を、 前記配列を表すテキストデ 一夕又は数値データの数学的な要約値で表すことを特徴とするヌクレオチドの 配列情報の記録方法。
7 . 請求の範囲 6記載の記録方法であって、
前記一列のヌクレオチドは 2 5個以上のヌクレオチドの配列であり、 前記一列のヌクレオチドの配列に関する情報を 4 0ビット以上で 1 9 2ビッ 卜以下の長さの数学的な要約値で表すことを特徴とするヌクレオチドの配列情 報の記録方法。
8 . 請求の範囲 7記載の記録方法であって、
前記数学的な要約値は、 前記一列のヌクレオチドの配列に対応するテキスト データ又は数値データに MD 5ハッシュ関数、 又は S H Sハッシュ関数の演算 を施して得られることを特徴とするヌクレオチドの配列情報の記録方法。
9 . 請求の範囲 1記載の記録方法であって、
前記一列のヌクレオチドの配列に対応するテキストデータを、 前記ヌクレオ チドの配列方向に複数行で、 かつ前記配列方向に交差する非配列方向に複数列 の部分テキストデータに分割し、
前記部分テキストデ一夕を、 それぞれ複数種類のヌクレオチドに対して互い に異なる 6ビット以下の数値データを割り当てることによって変換デ一夕に変 換し、
複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、
複数列の前記変換データに各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求め、
前記第 1組及び第 2組のシンドローム情報で前記一列のヌクレオチドの配列 を表すことを特徴とするヌクレオチドの配列情報の記録方法。
1 0 . 請求の範囲 9記載の記録方法であって、
複数行の前記変換データの各行の変換データをそれぞれ前記非配列方向に交 互に第 1群の変換データ及び第 2群の変換データに分けたとき、
前記第 1の演算は、 所定の整数 Kを用いて前記第 1群の変換データ、 及び前 記第 2群の変換データのそれぞれの法 Kのもとの和を求める演算であり、 前記第 2の演算は、 複数列の前記変換データの各列の変換データに対する法 Κのもとの和を求める演算であることを特徴とするヌクレオチドの配列情報の 記録方法。
1 1 . 請求の範囲 9、 又は 1 0記載の記録方法であって、
前記一列のヌクレオチドの配列を基準配列として、 該基準配列の 2組の前記 シンドロ一ム情報に対応させて、 検査対象の一列のヌクレオチドの配列の 2組 のシンドロ一ム情報を求め、
前記 4組のシンドローム情報より前記基準配列に対する前記検査対象の一列 のヌクレオチドの配列の相違部を求めることを特徴とするヌクレオチドの配列 情報の記録方法。
1 2 . 一列のヌクレオチドの配列情報の記録装置であって、
一つの核酸の少なくとも一部に含まれる一列のヌクレオチドの配列情報を読 み取る配列読み取り装置と、
該配列読み取り装置で読み取られた配列の情報をテキストデ一夕として第 1 ファイルに記録する第 1記録手段と、
前記第 1ファイルのテキストデ一夕よりも少ないデ一夕量で、 前記配列読み 取り装置で読み取られた配列の情報を表し、 該配列の情報を第 2ファイルに記 録する第 2記録手段と
を有することを特徴とするヌクレオチドの配列情報の記録装置。
1 3 . 請求の範囲 1 2記載の記録装置であって、
前記第 2記録手段は、 前記配列読み取り装置で読み取られた一列のヌクレオ チドの配列を、 該配列を表すテキストデ一夕又は数値データの数学的な要約値 で表すことを特徴とするヌクレオチドの配列情報の記録装置。
1 4 . 請求の範囲 1 2記載の記録装置であって、
前記第 2記録手段は、 前記配列読み取り装置で読み取られた一列のヌクレオ チドの配列に対応するテキストデータを、 前記ヌクレオチドの配列方向に複数 行で、 かつ前記配列方向に交差する非配列方向に複数列の部分テキストデ一夕 に分割し、
前記部分テキストデータを、 それぞれ複数種類のヌクレオチドに対して互い に異なる 6ビッ卜以下の数値デ一夕を割り当てることによって変換データに変 換し、
複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、
複数列の前記変換データに各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求め、
前記第 1組及び第 2組のシンドローム情報を前記第 2ファイルに記録するこ とを特徴とするヌクレオチドの配列情報の記録装置。
1 5 . 一列のヌクレオチドの配列情報を記録したコンピュータ読み取り可能な 記録媒体であって、
前記一列のヌクレオチドの配列に対応するテキストデータよりも少ないデー 夕量で、 前記一列のヌクレオチドの配列に関する情報が記録されたことを特徴 とするコンピュータ読み取り可能な記録媒体。
1 6 . 請求の範囲 1 5記載の記録媒体であって、
前記一列のヌクレオチドは 2 5個以上のヌクレオチドの配列であり、 前記一列のヌクレオチドの配列に関する情報は、 4 0ビット以上で 1 9 2ビ ッ卜以下の長さの数学的な要約値で前記記録媒体に記録されたことを特徴とす るコンピュータ読み取り可能な記録媒体。
1 7 . 請求の範囲 1 5記載の記録媒体であって、
前記一列のヌクレオチドの配列に対応するテキス卜データを、 前記ヌクレオ チドの配列方向に複数行で、 かつ前記配列方向に交差する非配列方向に複数列 の部分テキストデ一夕に分割し、 前記部分テキストデータを、 それぞれ複数種類のヌクレオチドに対して互い に異なる 6ビット以下の数値デ一夕を割り当てることによつて変換デー夕に変 換し、
複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドロ一ム情報を求めると共に、
複数列の前記変換データに各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求めておき、
前記一列のヌクレオチドの配列に関する情報は、 前記第 1組及び第 2組のシ ンドローム情報として前記記録媒体に記録されたことを特徴とするコンビユー 夕読み取り可能な記録媒体。
1 8 . 一列のヌクレオチドの配列情報の供給方法であって、
前記一列のヌクレオチドの配列に対応するテキストデ一夕、 又は複数種類の ヌクレオチドに対して互いに異なる 6ビット以下の数値デ一夕を割り当てるこ とによって前記テキストデ一夕を変換して得られる数値データを保持する供給 者が、
前記一列のヌクレオチドの配列の長さの情報、 及び前記配列を表すテキスト データ又は前記数値データの数学的な要約値の情報を通信回線を介して閲覧可 能な状態にしておき、
前記通信回線を介して前記配列の長さの情報及び前記数学的な要約値の情報 を閲覧したユーザより、 前記テキストデータ又は前記数値データの少なくとも 一部の情報に対する取得要求が前記供給者に届いた後に、
前記供給者が前記ユーザに前記テキストデ一夕又は前記数値データの少なく とも一部の情報を供給することを特徴とするヌクレオチドの配列情報の供給方 法。
1 9 . 請求の範囲 1 8記載の供給方法であって、
前記一列のヌクレオチドは 2 5個以上のヌクレオチドの配列であり、 前記数学的な要約値は、 4 0ビット以上で 1 9 2ビット以下のデータであり、 前記供給者は、 更に前記一列のヌクレオチドの所定の一部の配列の情報を通 信回線を介して閲覧可能な状態にしておくことを特徴とするヌクレオチドの配 列情報の供給方法。
2 0 . 請求の範囲 1 8、 又は 1 9記載の供給方法であって、
前記供給者は、 前記一列のヌクレオチドの配列に対応するテキストデータ、 又はこれに対応する前記数値データを第 1ファイルに記録して保持し、
前記供給者は、 前記テキストデータ、 又は前記数値データを、 前記ヌクレオ チドの配列方向に複数行で、 かつ前記配列方向に交差する非配列方向に複数列 の部分デ一夕に分割し、
前記部分データを、 それぞれ複数種類のヌクレオチドに対して互いに異なる 6ビット以下の数値デ一夕を割り当てることによって変換デ一夕に変換し、 複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、
複数列の前記変換デ一夕に各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求め、
前記第 1組及び第 2組のシンドローム情報を第 2フアイルに記録して保持し、 第 1段階として前記ユーザは、 前記供給者より前記第 2ファイルに記録され ている 2組のシンドローム情報を受け取り、
前記 2組のシンドローム情報に基づいて検查対象の一列のヌクレオチドの配 列の内の前記供給者の一列のヌクレオチドの配列との相違部を特定し、
該相違部の配列の復元ができない場合に、 第 2段階として前記ユーザは前記 供給者より前記第 1ファイルに記録されている前記テキストデ一夕、 又は前記 数値データの内の前記配列の復元ができない部分の情報の提供を要求すること を特徴とするヌクレオチドの配列情報の供給方法。
2 1 . 一列のアミノ酸の配列情報の記録方法であって、 前記一列のアミノ酸の配列に対応するテキストデ一夕よりも少ないデータ量 で、 前記一列のアミノ酸の配列に関する情報を記録することを特徴とするアミ ノ酸の配列情報の記録方法。
2 2 . 請求の範囲 2 1記載の記録方法であって、
前記一列のアミノ酸は、 一つのタンパク質を構成する 1本のアミノ酸の鎖の 全部又は一部であり、
前記一列のアミノ酸の配列に対応するテキストデータを、 2 0種類のァミノ 酸に対して互いに異なる 6ビット以下のデータを割り当てることによって変換 することを特徴とするアミノ酸の配列情報の記録方法。
2 3 . 請求の範囲 2 1記載の記録方法であって、
前記一列のアミノ酸の配列に関する情報を、 前記配列を表すテキストデ一夕 の数学的な要約値で表すことを特徴とするアミノ酸の配列情報の記録方法。
2 4 . 請求の範囲 2 3記載の記録方法であって、
前記一列のアミノ酸は 2 5個以上のアミノ酸の配列であり、
前記一列のアミノ酸の配列に関する情報を 1 6ビット以上で 1 9 2ビット以 下の長さの数学的な要約値で表すことを特徴とするァミノ酸の配列情報の記録 方法。
2 5 . 請求の範囲 2 3、 又は 2 4記載の記録方法であって、
前記数学的な要約値は、 前記一列のアミノ酸の配列に対応するテキストデー 夕に MD 5ハッシュ関数、 又は S H Sハッシュ関数の演算を施して得られるこ とを特徴とするアミノ酸の配列情報の記録方法。
2 6 . 請求の範囲 2 1記載の記録方法であって、
前記一列のァミノ酸の配列に対応するテキストデ一夕を、 前記アミノ酸の配 列方向に複数行で、 かつ前記配列方向に交差する非配列方向に複数列の部分テ キストデ一夕に分割し、
前記部分テキストデータを、 それぞれ複数種類のアミノ酸に対して互いに異 なる 8ビット以下の数値データを割り当てることによって変換デ一夕に変換し、 複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、
複数列の前記変換データに各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求め、
前記第 1組及び第 2組のシンドローム情報で前記一列のアミノ酸の配列を表 すことを特徴とするァミノ酸の配列情報の記録方法。
2 7 . 請求の範囲 2 6記載の記録方法であって、
複数行の前記変換データの各行の変換データをそれぞれ前記非配列方向に交 互に第 1群の変換データ及び第 2群の変換データに分けたとき、
前記第 1の演算は、 所定の整数 Kを用いて前記第 1群の変換デ一夕、 及び前 記第 2群の変換データのそれぞれの法 Kのもとの和を求める演算であり、 前記第 2の演算は、 複数列の前記変換データの各列の変換データに対する法 Kのもとの和を求める演算であることを特徴とするアミノ酸の配列情報の記録 方法。
2 8 . 一列のアミノ酸の配列情報の記録装置であって、
一つのタンパク質の少なくとも一部に含まれる一列のアミノ酸の配列情報を テキス卜デ一夕として第 1ファイルに記録する第 1記録手段と、
前記第 1ファイルのテキストデータよりも少ないデータ量で、 前記一列のァ ミノ酸の配列の情報を表し、 該配列の情報を第 2ファイルに記録する第 2記録 手段と
を有することを特徴とするアミノ酸の配列情報の記録装置。
2 9 . 請求の範囲 2 8記載の記録装置であって、
前記第 2記録手段は、 前記一列のアミノ酸の配列を、 該配列を表すテキスト データの数学的な要約値で表すことを特徴とするアミノ酸の配列情報の記録装
3 0 . 一列のアミノ酸の配列情報の供給方法であって、
前記一列のアミノ酸の配列に対応するテキストデ一夕、 又は複数種類のアミ ノ酸に対して互いに異なる 8ビット以下の数値デ一夕を割り当てることによつ て前記テキストデ一夕を変換して得られる数値データを保持する供給者が、 前記一列のアミノ酸の配列の長さの情報、 及び前記配列を表すテキス卜デー 夕又は前記数値データの数学的な要約値の情報を通信回線を介して閲覧可能な 状態にしておき、
前記通信回線を介して前記配列の長さの情報及び前記数学的な要約値の情報 を閲覧したユーザより、 前記テキストデータ又は前記数値データの少なくとも 一部の情報に対する取得要求が前記供給者に届いた後に、
前記供給者が前記ユーザに前記テキストデ一夕又は前記数値データの少なく とも一部の情報を供給することを特徴とするアミノ酸の配列情報の供給方法。
3 1 . 請求の範囲 3 0記載の供給方法であって、
前記一列のアミノ酸は 2 5個以上のァミノ酸の配列であり、
前記数学的な要約値は、 1 6ビッ卜以上で 1 9 2ビット以下のデータである ことを特徴とするァミノ酸の配列情報の供給方法。
3 2 . 請求の範囲 3 0、 又は 3 1記載の供給方法であって、
前記供給者は、 前記一列のアミノ酸の配列に対応するテキストデータ、 又は これに対応する前記数値デ一夕を第 1ファイルに記録して保持し、
前記供給者は、 前記テキストデ一夕、 又は前記数値データを、 前記アミノ酸 の配列方向に複数行で、 かつ前記配列方向に交差する非配列方向に複数列の部 分データに分割し、
前記部分デ一夕を、 それぞれ複数種類のアミノ酸に対して互いに異なる 8ビ ット以下の数値データを割り当てることによって変換データに変換し、 複数行の前記変換データに各行毎に前記非配列方向に第 1の演算を施して第 1組のシンドローム情報を求めると共に、 複数列の前記変換データに各列毎に前記配列方向に第 2の演算を施して第 2 組のシンドローム情報を求め、
前記第 1組及び第 2組のシンドローム情報を第 2ファイルに記録して保持し, 第 1段階として前記ユーザは、 前記供給者より前記第 2ファイルに記録され ている 2組のシンドローム情報を受け取り、
前記 2組のシンドローム情報に基づいて検查対象の一列のアミノ酸の配列の 内の前記供給者の一列のアミノ酸の配列との相違部を特定し、
該相違部の配列の復元ができない場合に、 第 2段階として前記ユーザは前記 供給者より前記第 1ファイルに記録されている前記テキストデ一夕、 又は前記 数値データの情報の提供を前記供給者に要求することを特徴とするアミノ酸の 配列情報の供給方法。
3 3 . 一つ又は複数のファイルに記録されたデータの要約値を計算するための 要約値の計算方法であって、
前記一つ又は複数のファイルに記録されたデータの内で所定のコードを無視 して要約値を計算することを特徴とする要約値の計算方法。
3 4 . 請求の範囲 3 3記載の要約値の計算方法であって、
前記無視する所定のコードは、 数字コード、 スペースコード、 及び改行コー ドであることを特徴とする要約値の計算方法。
3 5 . 請求の範囲 3 3記載の要約値の計算方法であって、
前記無視する所定のコードは、 同一又は互いに異なる 2組のコード、 及びこ れら 2組のコードに挟まれたデ一夕であることを特徴とする要約値の計算方法 c
3 6 . 請求の範囲 3 3記載の要約値の計算方法であって、
前記一つ又は複数のファイルから 1文字分のコ一ドデータを読み出す毎に、 該読み出されたコードデータが前記所定のコ一ドであるときには、 該読み出 されたコードデータを無視して、 次の 1文字分のコードデータの読み出しを行 い、 該読み出しによって得られた前記所定のコード以外のコードデータが予め定 められた個数になるか、 又は読み出すべきデ一夕がなくなったときに、 要約値 の計算を行うことを特徴とする要約値の計算方法。
3 7 . 一連のテキストデ一夕の要約値を計算するための要約値の計算方法であ つて、
前記一連のテキストデ一夕を先頭から順に所定個数ずつのコードデ一夕を含 む複数の部分テキストデ一夕と、 前記所定個数よりも少ない個数のコードデー 夕を含む端数のテキストデータとに分割し、
前記複数の部分テキストデ一夕、 及び端数のテキストデータをそれぞれ分割 する順序を含むデータとともに互いに異なる複数のファイルに記録し、 該複数のフアイルに記録されたテキストデ一夕から分割の順序に従って順次 要約値を計算することを特徴とする要約値の計算方法。
3 8 . 請求の範囲 3 7記載の要約値の計算方法であって、
前記所定個数ずつのコ一ドデ一夕、 及び前記所定個数よりも少ない個数のコ —ドデ一夕からは、 所定のコードデータが除外されていることを特徴とする要 約値の計算方法。
3 9 . 請求の範囲 3 8記載の要約値の計算方法であって、
前記所定個数は、 要約値を計算する際のデ一夕量の単位に応じて定められる ことを特徴とする要約値の計算方法。
PCT/JP2001/003324 2000-04-19 2001-04-18 Informations relatives a des sequences nucleotidiques et procede et dispositif permettant d'enregistrer des informations relatives a la sequence d'un acide amine WO2001080431A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP01921886A EP1313225A4 (en) 2000-04-19 2001-04-18 NUCLEOTIDE SEQUENCE INFORMATION AND METHOD AND DEVICE FOR RECORDING INFORMATION REGARDING THE AMINO ACID SEQUENCE
AU48784/01A AU4878401A (en) 2000-04-19 2001-04-18 Nucleotide sequence information, and method and device for recording informationon sequence of amino acid
US10/272,107 US20040086861A1 (en) 2000-04-19 2002-10-16 Method and device for recording sequence information on nucleotides and amino acids

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2000117343 2000-04-19
JP2000-117343 2000-04-19
JP2000149122 2000-05-19
JP2000-149122 2000-05-19
US10/272,107 US20040086861A1 (en) 2000-04-19 2002-10-16 Method and device for recording sequence information on nucleotides and amino acids

Publications (1)

Publication Number Publication Date
WO2001080431A1 true WO2001080431A1 (fr) 2001-10-25

Family

ID=32854068

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/003324 WO2001080431A1 (fr) 2000-04-19 2001-04-18 Informations relatives a des sequences nucleotidiques et procede et dispositif permettant d'enregistrer des informations relatives a la sequence d'un acide amine

Country Status (3)

Country Link
EP (1) EP1313225A4 (ja)
AU (1) AU4878401A (ja)
WO (1) WO2001080431A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003064688A2 (en) * 2002-01-29 2003-08-07 Smartwater Limited Method of generation and management of unique sequences in dna production
EP1443449A2 (en) * 2003-02-03 2004-08-04 Samsung Electronics Co., Ltd. Apparatus, method and computer readable medium for encoding a DNA sequence
KR100474308B1 (ko) * 2002-10-04 2005-03-10 엘지전자 주식회사 휴대용 단말기의 심 카드 장착구조

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL2003311C2 (en) 2009-07-30 2011-02-02 Intresco B V Method for producing a biological pin code.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10151125A (ja) * 1996-11-21 1998-06-09 Corp Miyuki:Kk Dnaによる人物識別システム
JPH10272123A (ja) * 1997-03-31 1998-10-13 Hitachi Ltd 遺伝子情報記録方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1414197A (en) * 1996-02-26 1997-09-10 Motorola, Inc. Personal human genome card and methods and systems for producing same
GB9713921D0 (en) * 1997-07-01 1997-09-03 Hexagen Technology Limited Biological data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10151125A (ja) * 1996-11-21 1998-06-09 Corp Miyuki:Kk Dnaによる人物識別システム
JPH10272123A (ja) * 1997-03-31 1998-10-13 Hitachi Ltd 遺伝子情報記録方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1313225A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003064688A2 (en) * 2002-01-29 2003-08-07 Smartwater Limited Method of generation and management of unique sequences in dna production
WO2003064688A3 (en) * 2002-01-29 2005-01-20 Smartwater Ltd Method of generation and management of unique sequences in dna production
KR100474308B1 (ko) * 2002-10-04 2005-03-10 엘지전자 주식회사 휴대용 단말기의 심 카드 장착구조
EP1443449A2 (en) * 2003-02-03 2004-08-04 Samsung Electronics Co., Ltd. Apparatus, method and computer readable medium for encoding a DNA sequence
EP1443449A3 (en) * 2003-02-03 2006-02-22 Samsung Electronics Co., Ltd. Apparatus, method and computer readable medium for encoding a DNA sequence
CN100367189C (zh) * 2003-02-03 2008-02-06 三星电子株式会社 编码脱氧核糖核酸序列的方法和装置

Also Published As

Publication number Publication date
EP1313225A1 (en) 2003-05-21
AU4878401A (en) 2001-10-30
EP1313225A4 (en) 2003-05-21

Similar Documents

Publication Publication Date Title
Lopez et al. DNA assembly for nanopore data storage readout
Hugerth et al. DegePrime, a program for degenerate primer design for broad-taxonomic-range PCR in microbial ecology studies
Bonfield et al. Compression of FASTQ and SAM format sequencing data
Snel et al. Genome phylogeny based on gene content
Schuenemann et al. Targeted enrichment of ancient pathogens yielding the pPCP1 plasmid of Yersinia pestis from victims of the Black Death
McInerney GCUA: general codon usage analysis.
Liberles et al. The adaptive evolution database (TAED)
Edwards et al. Real time metagenomics: using k-mers to annotate metagenomes
Becq et al. A benchmark of parametric methods for horizontal transfers detection
Zhang et al. A scalable and accurate targeted gene assembly tool (SAT-Assembler) for next-generation sequencing data
Gräf et al. Optimized design and assessment of whole genome tiling arrays
Pratas et al. XS: a FASTQ read simulator
Zhang et al. A FASTQ compressor based on integer-mapped k-mer indexing for biologist
Finotello et al. Comparative analysis of algorithms for whole-genome assembly of pyrosequencing data
Woodhams et al. Novel distances for Dollo data
Hurgobin Short read alignment using SOAP2
Shibuya et al. Dictionary-driven prokaryotic gene finding
US20040086861A1 (en) Method and device for recording sequence information on nucleotides and amino acids
Rajwani et al. MIRU-profiler: a rapid tool for determination of 24-loci MIRU-VNTR profiles from assembled genomes of Mycobacterium tuberculosis
Kim et al. MetaCRAM: an integrated pipeline for metagenomic taxonomy identification and compression
Sobolevsky et al. Conserved sequences of prokaryotic proteomes and their compositional age
WO2001080431A1 (fr) Informations relatives a des sequences nucleotidiques et procede et dispositif permettant d&#39;enregistrer des informations relatives a la sequence d&#39;un acide amine
Musto et al. Translational selection is operative for synonymous codon usage in Clostridium perfringens and Clostridium acetobutylicum
May et al. Coding theory based models for protein translation initiation in prokaryotic organisms
Luhmann et al. Scaffolding of ancient contigs and ancestral reconstruction in a phylogenetic framework

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001921886

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001921886

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2001921886

Country of ref document: EP