Patent Publication Number: US-2021183466-A1

Title: Identification method, information processing device, and recording medium

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation application of International Application PCT/JP2018/033329, filed on Sep. 7, 2018, and designating the U.S., the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     The present invention is related to an identification method. 
     BACKGROUND 
     In recent years, the base sequences constituting the DNA (deoxyribonucleic acid) and the RNA (ribonucleic acid) of living organisms are analyzed so as to predict the impact of new types of viruses, and accordingly vaccines are developed. Moreover, research is being carried out for detecting mutation (point mutation) such as cancer and detecting genetic abnormality such as genetic mutation, and diagnosing the risk of developing diseases. 
     The DNA and the RNA have four types of bases represented by symbols “A”, “G”, “C”, and “T” or “U”. Moreover, a mass of three base sequences decides 20 types of amino acids. Each amino acid is represented by a symbol from “A” to “Y”.  FIG. 35  is a diagram illustrating the relationship of the amino acids with the base sequences and with codons. Herein, a mass of three base sequences is called a “codon”. A codon is decided according to the arrangement of the bases; and, once a codon is decided, an amino acid gets decided. 
     As illustrated in  FIG. 35 , a single amino acid is associated to a plurality of types of codons. Hence, when a codon gets decided, an amino acid gets decided. However, even if an amino acid gets decided, the codon does not get uniquely identified. For example, the amino acid “alanine (Ala)” is associated to codons “GCU”, “GCC”, GCA”, and “GCG”. 
     In the related technology, in the case of analyzing a new type of virus, FASTA or BLAST is implemented. In FASTA or BLAST, the base sequences are translated into the symbols of amino acids; a homology search is performed with the amino acids serving as the units for comparison; and similarities with the viruses discovered in the past are determined.  FIG. 36  is a diagram illustrating a score matrix used in performing a homology search. 
     Moreover, in the related technology, in the case of analyzing mutation such as cancer, mutation in the form of “base insertion”, “base deletion”, or “base substitution” is determined; the frameshift of the sequences attributed to mutation is determined; and the underlying genetic mutation developed from the mutation point onward is further detected. 
       FIG. 37  is a diagram illustrating an example of the related technology for determining the frameshift of mutation. Regarding the frameshift of mutation, in order to enhance the accuracy, the Smith-Waterman algorithm is implemented and local alignment determination is performed in the units of bases. In the Smith-Waterman algorithm, Equation (1) given below is used. In the related technology, after initialization is performed, the matrix illustrated in  FIG. 37  is searched for the maximum score F(i, j) given in Equation (1), and the cell in which “0” is reached is traced back from the searched location. 
     
       
         
           
             
               
                 
                   
                     F 
                      
                     
                       ( 
                       
                         i 
                         , 
                         j 
                       
                       ) 
                     
                   
                   = 
                   
                     max 
                      
                     
                       { 
                       
                         
                           
                             
                               0 
                                
                               
                                   
                               
                             
                           
                         
                         
                           
                             
                               
                                 F 
                                  
                                 
                                   ( 
                                   
                                     
                                       i 
                                       - 
                                       1 
                                     
                                     , 
                                     
                                       j 
                                       - 
                                       1 
                                     
                                   
                                   ) 
                                 
                               
                               + 
                               
                                 s 
                                  
                                 
                                   ( 
                                   
                                     
                                       x 
                                       i 
                                     
                                     , 
                                     
                                       y 
                                       i 
                                     
                                   
                                   ) 
                                 
                               
                             
                           
                         
                         
                           
                             
                               
                                 
                                   F 
                                    
                                   
                                     ( 
                                     
                                       
                                         i 
                                         - 
                                         1 
                                       
                                       , 
                                       j 
                                     
                                     ) 
                                   
                                 
                                 - 
                                 d 
                               
                                
                               
                                   
                               
                             
                           
                         
                         
                           
                             
                               
                                 
                                   F 
                                    
                                   
                                     ( 
                                     
                                       i 
                                       , 
                                       
                                         j 
                                         - 
                                         1 
                                       
                                     
                                     ) 
                                   
                                 
                                 - 
                                 d 
                               
                                
                               
                                   
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
         
         Patent Document 1: International Publication Pamphlet No. WO 2009/013910 
         Patent Document 2: Japanese Laid-open Patent Publication No. 2002-132781 
         Patent Document 3: Japanese Laid-open Patent Publication No. 2004-355522 
         Patent Document 4: International Publication Pamphlet No. WO 2008/108297 
         Patent Document 5: Japanese National Publication of International Patent Application No. 2015-536156 
       
    
     SUMMARY 
     According to an aspect of the embodiments, an identification method includes: obtaining reference codon sequence data and analysis-target codon sequence data; comparing codons included in the obtained reference codon sequence data and codons included in the obtained analysis-target codon sequence data, at each sequence position of codon; identifying that, based on result of the comparing, includes identifying, from among codons included in the analysis-target codon sequence data, codon positioned at each of a plurality of sequence positions subsequent to sequence position at which codons are nonidentical; and identifying that includes referring to a memory unit configured to store type of mutation, which has occurred at a particular codon included in particular codon sequence data, in a corresponding manner to codon positioned at each of a plurality of sequence positions subsequent to the particular codon, on account of occurrence of the mutation in the particular codon, and identifying type of mutation associated to codon positioned at each of the plurality of identified sequence positions, by a processor. 
     The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram (1) for explaining the operations performed in an information processing device according to a first embodiment; 
         FIG. 2  is a diagram (2) for explaining the operations performed in the information processing device according to the first embodiment; 
         FIG. 3  is a diagram (3) for explaining the operations performed in the information processing device according to the first embodiment; 
         FIG. 4  is a diagram (4) for explaining the operations performed in the information processing device according to the first embodiment; 
         FIG. 5  is a functional block diagram illustrating a configuration of the information processing device according to the first embodiment; 
         FIG. 6  is a diagram illustrating an exemplary data structure of reference codon sequence data; 
         FIG. 7  is a diagram illustrating an exemplary data structure of analysis-target codon sequence data; 
         FIG. 8  is a diagram illustrating an exemplary data structure of a code conversion table; 
         FIG. 9  is a diagram illustrating an exemplary data structure of first-type sequence data; 
         FIG. 10  is a diagram illustrating an exemplary data structure of second-type sequence data; 
         FIG. 11  is a diagram illustrating an exemplary data structure of an insertion transition table; 
         FIG. 12A  is a diagram illustrating a data structure of a transition table  50 U in the insertion transition table; 
         FIG. 12B  is a diagram illustrating a data structure of a transition table  50 C in the insertion transition table; 
         FIG. 12C  is a diagram illustrating a data structure of a transition table  50 A in the insertion transition table; 
         FIG. 12D  is a diagram illustrating a data structure of a transition table  50 G in the insertion transition table; 
         FIG. 13  is a diagram illustrating an exemplary data structure of a deletion transition table; 
         FIG. 14A  is a diagram illustrating a data structure of a transition table  55 U in the deletion transition table; 
         FIG. 14B  is a diagram illustrating a data structure of a transition table  55 C in the deletion transition table; 
         FIG. 14C  is a diagram illustrating a data structure of a transition table  55 A in the deletion transition table; 
         FIG. 14D  is a diagram illustrating a data structure of a transition table  55 G in the deletion transition table; 
         FIG. 15  is a flowchart for explaining a sequence of operations performed in the information processing device according to the first embodiment; 
         FIG. 16  is a diagram (1) for explaining the operations performed in an information processing device according to a second embodiment; 
         FIG. 17  is a diagram (2) for explaining the operations performed in the information processing device according to the second embodiment; 
         FIG. 18  is a diagram (3) for explaining the operations performed in the information processing device according to the second embodiment; 
         FIG. 19  is a functional block diagram illustrating a configuration of the information processing device according to the second embodiment; 
         FIG. 20  is a flowchart (1) for explaining a sequence of operations performed in the information processing device according to the second embodiment; 
         FIG. 21A  is a diagram illustrating an exemplary data structure of a codon-amino acid conversion table; 
         FIG. 21B  is a diagram for explaining the other operations performed in the information processing device according to the second embodiment; 
         FIG. 22  is a flowchart (2) for explaining a sequence of operations performed in the information processing device according to the second embodiment; 
         FIG. 23  is a diagram (1) for explaining the operations performed in an information processing device according to a third embodiment; 
         FIG. 24  is a diagram (2) for explaining the operations performed in the information processing device according to the third embodiment; 
         FIG. 25  is a functional block diagram illustrating a configuration of the information processing device according to the third embodiment; 
         FIG. 26  is a diagram for explaining an example of the operations for hashing an inverted index; 
         FIG. 27  is a diagram illustrating an example of the operations for restoring an inverted index; 
         FIG. 28  is a diagram for explaining the operations performed by an identifying unit according to the third embodiment; 
         FIG. 29  is a flowchart (1) for explaining a sequence of operations performed in the information processing device according to the third embodiment; 
         FIG. 30  is a flowchart for explaining the operations performed by the identifying unit according to the third embodiment for identifying the offset corresponding to point mutation; 
         FIG. 31  is a diagram for explaining the other operations performed in the information processing device according to the third embodiment; 
         FIG. 32  is a flowchart (2) for explaining a sequence of operations performed in the information processing device according to the third embodiment; 
         FIG. 33  is a diagram illustrating an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing devices according to the first and second embodiments; 
         FIG. 34  is a diagram illustrating an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing device according to the third embodiment; 
         FIG. 35  is a diagram illustrating the relationship between amino acids and codons; 
         FIG. 36  is a diagram illustrating a score matrix used in performing a homology search; and 
         FIG. 37  is a diagram illustrating an example of the related technology for determining the frameshift of mutation. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     However, in the related technology explained above, a long period of time is requested in determining the frameshift of the mutation and detecting the underlying genetic mutation developed from the mutation point onward. Moreover, in order to speed up the search (collation), the base sequences need to be partitioned. 
     In the related technology, in the case of determining the frameshift of the mutation, such as cancer, or detecting the underlying genetic mutation developed from the mutation point onward, local alignment determination is performed in the units of bases in order to enhance the accuracy. However, that results in a decline in the speed. On the other hand, in a genome search, as compared to a text search, the size of the pointer-type inverted index becomes enormous. Hence, an index-based search cannot be performed, thereby resulting in a low speed. In order to hold down the decline in the speed, the base data is partitioned, and automaton collation is performed in parallel operations. However, it results in losses attributed to partitioning, such as complications in management and decline in operability. 
     In one aspect, it is an object of the embodiments to provide an identification method, an identification program, and an information processing device that enable achieving reduction in the time requested in determining the frameshift of the mutation and detecting the underlying genetic mutation developed from the mutation point onward. Moreover, according to an aspect, it is an object of the embodiments to provide an identification method, an identification program, and an information processing device that enable speeding up the search and the analysis without having to partition the base sequences. 
     Exemplary embodiments of an identification method, an identification program, and an information processing device according to the present invention are described below in detail with reference to the accompanying drawings. However, the present invention is not limited by the embodiments described below. 
     First Embodiment 
       FIGS. 1 to 4  are diagrams for explaining the operations performed in an information processing device according to a first embodiment. The information processing device performs the operations explained below and identifies point mutation that has occurred in the target base sequence for analysis. Herein, point mutation includes “base insertion”, “base deletion”, and “base substitution”. In the first embodiment, the information that is about the normal base sequence and that is represented in the units of codons is referred to as “reference codon sequence data”. Moreover, the information that is about the target base sequence for analysis and that is represented in the units of codons is referred to as “analysis-target codon sequence data”. 
     The following explanation is given about  FIG. 1 . The information processing device compares reference codon sequence data  20 A and analysis-target codon sequence data  20 B in sequence from the beginning in the units of codons. As a result of comparing the reference codon sequence data  20 A and the analysis-target codon sequence data  20 B, the information processing device identifies that the codons are nonidentical from a sequence position P 21  onward. Hence, the information processing device determines that mutation is present in the analysis-target codon sequence data  20 B. In the following explanation, the reference codon sequence data and the analysis-target codon sequence data are compared in sequence from the beginning; and a position having nonidentical codons is referred to as a “mutation position” and the concerned codons are referred to as “mutant codon” and “mutation codon”, respectively. 
     The following explanation is given about  FIG. 2 . When it is determined that mutation is present in the analysis-target codon sequence data  20 B, the information processing device identifies, from the codons included in the analysis-target codon sequence data  20 B, the mutation codon and the subsequent two codons. The subsequent two codons are referred to as a “mutation n codon” (where n is an integer equal to or greater than one) and a “mutation n+1 codon”. For example, with reference to  FIG. 2 , if “GUC” represents the mutation codon, then “CAA” represents the mutation 1 codon and “GUG” represents the mutation 2 codon. 
     Then, based on an insertion transition table  140   f  and based on the mutation n codon and the mutation n+1 codon that are positioned subsequent to the mutation codon, the information processing device identifies the mutant n codon that is the subsequent codon of the mutant codon. Herein, n is an integer equal to or greater than one. Herein, the codon subsequent to the mutant codon is referred to as “mutant n codon (base insertion)”. The insertion transition table  140   f  is a table in which two codons subsequent to the mutation codon and a single codon subsequent to the pre-base-insertion mutant codon are held in a corresponding manner. When the mutant n codon in the insertion transition table  140   f  is identical to the codon subsequent to the mutation position in the reference codon sequence data, the point mutation that has occurred in the analysis-target codon sequence data is “base insertion”. 
     In the example illustrated in  FIG. 2 , in the insertion transition table  140   f , “AAG” represents the mutant n codon associated to the mutation n codon “CAA” and the mutation n+1 codon “GUG” that are subsequent to the mutation codon “GUC”. When the information processing device compares the codon “AAG”, which is subsequent to the sequence position P 20  in the reference codon sequence data  20 A, with the mutant n codon (insertion) “AAG”, the two codons “AAG” happen to be identical. Hence, the information processing device determines that the mutation that has occurred in the analysis-target codon sequence data  20 B is “base insertion”. 
     Meanwhile, if the mutation n codon in the insertion transition table  140   f  is not identical to the subsequent codon of the mutation position in the reference codon sequence data, the point mutation that has occurred in the analysis-target codon sequence data is “base deletion” or “base substitution”. 
     The following explanation is given about  FIG. 3 . The information processing device compares reference codon sequence data  30 A and analysis-target codon sequence data  30 B in sequence from the beginning in the units of codons. As a result of comparing the reference codon sequence data  30 A and the analysis-target codon sequence data  30 B, the information processing device identifies that the codons are nonidentical from a sequence position (mutation position) P 30  onward. Hence, the information processing device determines that mutation is present in the analysis-target codon sequence data  30 B. 
     The following explanation is given about  FIG. 4 . When it is determined that mutation is present in the analysis-target codon sequence data  30 B, the information processing device identifies, from the codons included in the analysis-target codon sequence data  30 B, the mutation codon and two subsequent codons. For example, in the example illustrated in  FIG. 4 , “UCA” represents the mutation codon. Moreover, “AGU” and “GCU” represent the two subsequent codons. 
     Then, based on a deletion transition table  140   g  and based on the two codons that are positioned subsequent to the mutation codon, the information processing device identifies the second subsequent codon of the pre-base-deletion mutant codon. The second subsequent codon is referred to as “mutant n+1 codon (base deletion)”. The deletion transition table  140   g  is a table in which the mutation codon, the subsequent two codons, and the second subsequent codon of the pre-base-deletion mutant codon are held in a corresponding manner. When the mutant n+1 codon in the deletion transition table  140   g  is identical to the second subsequent codon of the mutation position in the reference codon sequence data, the point mutation that has occurred in the analysis-target codon sequence data is “base deletion”. 
     In the example illustrated in  FIG. 4 , in the deletion transition table  140   g , “UGC” represents the pre-base-deletion mutant n+1 codon associated to “AUG” and “GCU” that represent the two codons subsequent to the mutation codon “UCA”. When the information processing device compares the pre-base-deletion mutant n+1 codon “UGC” with the second subsequent codon “UGC” of the codon “UUU” at the mutation position P 30  in the reference codon sequence data  30 A, the two codons “UGC” happen to be identical. Hence, the information processing device determines that the mutation that has occurred in the analysis-target codon sequence data  30 B is “base deletion”. 
     Till now, for convenience, the explanation was given about an example of determining deletion regarding the mutant 2 codon “UGC”. However, regarding the mutant 1 codon “AAG” too, the deletion transition table  140   g  can be used and the mutant 1 codon “AAG” can be referred to using the mutation (0) codon “UCA” and the mutation 1 codon “AUG”, and deletion can be determined (herein, n is an integer equal to or greater than zero). 
     Meanwhile, if the mutant n+1 codon in the deletion transition table  140   g  is not identical to the second subsequent codon of the mutation position in the reference codon sequence data, then the point mutation that has occurred in the analysis-target codon sequence data is “base insertion” or “base substitution”. 
     On the other hand, if a plurality of codons subsequent to the mutation codon in the analysis-target codon sequence data is identical to a plurality of mutant codons in the reference codon sequence data, then the point mutation that has occurred in the analysis-target codon sequence data is “base substitution”. 
     As explained above, the information processing device according the first embodiment compares the reference codon sequence data and the analysis-target codon sequence data in the units of codons, and identifies nonidentical codons. Then, based on the two subsequent codons of the nonidentical codon, the information processing device obtains the subsequent codon of the mutant codon from the insertion transition table  140   f ; obtains the second subsequent codon of the mutant codon from the deletion transition table  140   g ; compares the obtained codons with the subsequent codon of the mutant codon included in the analysis-target-codon sequence data; and identifies the type of point mutation. Thus, as a result of performing comparison in the units of encoded codons in a consistent manner, the type of mutation can be determined while identifying the nonidentical codons. That enables achieving reduction in the time requested in determining the type of mutation. 
     Given below is the explanation of a configuration of the information processing device according to the first embodiment.  FIG. 5  is a functional block diagram illustrating a configuration of the information processing device according to the first embodiment. As illustrated in  FIG. 5 , an information processing device  100  includes a communication unit  110 , an input unit  120 , a display unit  130 , a memory unit  140 , and a control unit  150 . 
     The communication unit  110  is a processing unit that performs data communication with external devices (not illustrated) via a network. The communication unit  110  is an example of a communication device. For example, the information processing device  100  can receive information such as reference codon sequence data  140   a  and analysis-target codon sequence data  140   b  from an external device via a network. 
     The input unit  120  is an input device for enabling input of a variety of information to the information processing device  100 . Examples of the input unit  120  include a keyboard, a mouse, or a touch-sensitive panel. 
     The display unit  130  is a display device that displays a variety of information output from the control unit  150 . Examples of the display unit  130  include an organic EL (electro-luminescence) display, a liquid crystal display, and a touch-sensitive panel. 
     The memory unit  140  is used to store the reference codon sequence data  140   a , the analysis-target codon sequence data  140   b , a code conversion table  140   c , first-type sequence data  140   d , and second-type sequence data  140   e . Moreover, the memory unit  140  is used to store the insertion transition table  140   f , the deletion transition table  140   g , and a detection result table  140   h . Examples of the memory unit  140  include a semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), or a flash memory; and a memory device such as an HDD (Hard Disk Drive). 
     The reference codon sequence data  140   a  represents the information about normal base sequences indicated in the units of codons.  FIG. 6  is a diagram illustrating an exemplary data structure of the reference codon sequence data. As illustrated in  FIG. 6 , in the reference codon sequence data  140   a , a plurality of codons from the start codon to the termination codon is arranged. For example, “AUG” represents the start codon, and “UGA” represents the termination codon. 
     The analysis-target codon sequence data  140   b  represents the information about the target base sequence for analysis indicated in the units of codons.  FIG. 7  is a diagram illustrating an exemplary data structure of the analysis-target codon sequence data. As illustrated in  FIG. 7 , in the analysis-target codon sequence data  140   b , a plurality of codons from the start codon to the termination codon is arranged. For example, “AUG” represents the start codon, and “UGA” represents the termination codon. 
     The code conversion table  140   c  is a table in which codons and codes are held in a corresponding manner.  FIG. 8  is a diagram illustrating an exemplary data structure of the code conversion table. For example, the codon “UUU” is held in a corresponding manner to a code “40h (01000000)”. Herein, “h” is a code indicating a hexadecimal numeral. For the purpose of illustration, the encoded form of the codon “UUU” is referred to as “UUU (40h)”. Regarding the other codons too, the encoded form is illustrated using a bracket. 
     The first-type sequence data  140   d  represents the sequence data obtained as a result of encoding the reference codon sequence data  140   a  based on the code conversion table  140   c .  FIG. 9  is a diagram illustrating an exemplary data structure of the first-type sequence data. As illustrated in  FIG. 9 , in the first-type sequence data  140   d , a plurality of encoded codons from the start codon to the termination codon is arranged. 
     The second-type sequence data  140   e  represents sequence data obtained as a result of encoding the analysis-target codon sequence data  140   b  based on the code conversion table  140   c .  FIG. 10  is a diagram illustrating an exemplary data structure of the second-type sequence data. As illustrated in  FIG. 10 , in the second-type sequence data  140   e , a plurality of encoded codons from the start codon to the termination codon is arranged. 
     The insertion transition table  140   f  is a table in which mutation n codons and mutation n+1 codons, which are positioned subsequent to mutation codons, are held in a corresponding manner with pre-base-insertion mutant n codons.  FIG. 11  is a diagram illustrating an exemplary data structure of the insertion transition table. As illustrated in  FIG. 11 , the insertion transition table  140   f  includes transition tables  50 U,  50 C,  50 A, and  50 G. 
     In the transition table  50 U, all mutation n codons, the mutation n+1 codons (the codons starting with U), and the pre-base-insertion mutant n codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 12A  is a diagram illustrating a data structure of the transition table  50 U in the insertion transition table. Regarding the mutation n codon in the i-th row and the j-th column and a mutation n+1 codon, the corresponding codon is the pre-base-insertion mutant n codon in the i-th row and the j-th column. 
     In the transition table  50 C, all mutation n codons, the mutation n+1 codons (the codons starting with C), and the pre-base-insertion mutant n codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 12B  is a diagram illustrating a data structure of the transition table  50 C in the insertion transition table. Regarding the mutation n codon in the i-th row and the j-th column and a mutation n+1 codon, the corresponding codon is the pre-base-insertion mutant n codon in the i-th row and the j-th column. 
     In the transition table  50 A, all mutation n codons, the mutation n+1 codons (the codons starting with A), and the pre-base-insertion mutant n codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 12C  is a diagram illustrating a data structure of the transition table  50 A in the insertion transition table. Regarding the mutation n codon in the i-th row and the j-th column and a mutation n+1 codon, the corresponding codon is the pre-base-insertion mutant n codon in the i-th row and the j-th column. 
     In the transition table  50 G, all mutation n codons, the mutation n+1 codons (the codons starting with G), and the pre-base-insertion mutant n codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 12D  is a diagram illustrating a data structure of the transition table  50 G in the insertion transition table. Regarding the mutation n codon in the i-th row and the j-th column and a mutation n+1 codon, the corresponding codon is the pre-base-insertion mutant n codon in the i-th row and the j-th column. For example, regarding the mutation n codon “CAA (5Ah)” in the 11-th row and the second column and the mutation n+1 codon “GUG (73h)”, the corresponding codon is the pre-base-insertion mutant n codon “AAG (6Bh)” in the 11-th row and the second column. 
     In the deletion transition table  140   g , the mutation n codons, all mutation n+1 codons, and the pre-base-deletion mutant n+1 codons are held in a corresponding manner.  FIG. 13  is a diagram illustrating an exemplary data structure of the deletion transition table. As illustrated in  FIG. 13 , the deletion transition table  140   g  includes transition tables  55 U,  55 C,  55 A, and  55 G. 
     In the transition table  55 U, the mutation n codons (the codons ending with U), all mutation n+1 codons, and the pre-base-deletion mutant n+1 codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 14A  is a diagram illustrating a data structure of the transition table  55 U in the deletion transition table. With reference to  FIG. 14A , regarding any one mutation n codon and the mutation n+1 codon in the i-th row and the j-th column, the corresponding codon is the pre-base-deletion mutant n+1 codon in the i-th row and the j-th column. For example, regarding the mutation n codon “AGU (6Ch)” and the mutation n+1 codon “GCU (74h)” in the fifth row and the fourth column, the corresponding codon is the mutant n+1 codon “UGC (4Dh)” in the fifth row and the fourth column. 
     In the transition table  55 C, the mutation n codons (the codons ending with C), all mutation n+1 codons, and the pre-base-deletion mutant n+1 codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 14B  is a diagram illustrating a data structure of the transition table  55 C in the deletion transition table. With reference to  FIG. 14B , regarding any one mutation n codon and the mutation n+1 codon in the i-th row and the j-th column, the corresponding codon is the pre-base-deletion mutant n+1 codon in the i-th row and the j-th column. 
     In the transition table  55 A, the mutation n codons (the codons ending with A), all mutation n+1 codons, and the pre-base-deletion mutant n+1 codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 14C  is a diagram illustrating a data structure of the transition table  55 A in the deletion transition table. With reference to  FIG. 14C , regarding any one mutation n codon and the mutation n+1 codon in the i-th row and the j-th column, the corresponding codon is the pre-base-deletion mutant n+1 codon in the i-th row and the j-th column. 
     In the transition table  55 G, the mutation n codons (the codons ending with G), all mutation n+1 codons, and the pre-base-deletion mutant n+1 codons are held in a corresponding manner. The relationship among the codons is defined by the encoded codons.  FIG. 14D  is a diagram illustrating a data structure of the transition table  55 G in the deletion transition table. With reference to  FIG. 14D , regarding any one mutation n codon and the mutation n+1 codon in the i-th row and the j-th column, the corresponding codon is the pre-base-deletion mutant n+1 codon in the i-th row and the j-th column. 
     Returning to the explanation with reference to  FIG. 5 , the detection result table  140   h  is a table for holding the information about the point mutations detected from the analysis-target codon sequence data  140   b.    
     The control unit  150  includes a receiving unit  150   a , an encoding unit  150   b , a comparing unit  150   c , and an identifying unit  150   d . The control unit  150  is implemented using a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Alternatively, the control unit  150  can also be implemented using a hardwired logic such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). 
     The receiving unit  150   a  is a processing unit that receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  from the input unit  120  or an external device. Then, the receiving unit  150   a  registers the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  in the memory unit  140 . 
     Moreover, when the insertion transition table  140   f  and the deletion transition table  140   g  are received from the input unit  120  or an external device, the receiving unit  150   a  registers the insertion transition table  140   f  and the deletion transition table  140   g  in the memory unit  140 . 
     The encoding unit  150   b  is a processing unit that encodes the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  based on the code conversion table  140   c . The encoding unit  150   b  compares the reference codon sequence data  140   a  and the code conversion table  140   c  and encodes each codon, so as to generate the first-type sequence data  140   d . Similarly, the encoding unit  150   b  compares the analysis-target codon sequence data  140   b  and the code conversion table  140   c  and encodes each codon, so as to generate the second-type sequence data  140   e . Then, the encoding unit  150   b  stores the first-type sequence data  140   d  and the second-type sequence data  140   e  in the memory unit  140 . 
     As illustrated in  FIG. 8 , according to the code conversion table  140   c , each codon is assigned with a 1-byte code. For example, the codon “UUU” gets converted into “40h (01000000)”. The encoded codon is referred to as “UUU (40h)”. 
     The comparing unit  150   c  is a processing unit that compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies mutation positions at which the encoded codons are not identical. As explained above, each codon is assigned with a 1-byte code. Hence, from the first-type sequence data  140   d  and the second-type sequence data  140   e , the comparing unit  150   c  reads the codes one byte at a time from the beginning, and performs comparison. 
     If a mutation position having nonidentical codes is identified, the comparing unit  150   c  outputs the comparison result to the identifying unit  150   d . The comparison result includes the information about the mutation position, a first-type mutant codon, a second-type mutation codon, the mutation n codon, and the mutation n+1 codon. The first-type mutant codon represents the encoded codon at the mutation position as included in the first-type sequence data  140   d . The second-type mutation codon represents the encoded codon at the mutation position as included in the second-type sequence data  140   e . The mutation n codon represents the codon (encoded codon) subsequent to the second-type mutation codon. The mutation n+1 codon represents the codon (encoded codon) positioned after the subsequent codon of the second-type mutation codon. 
     Meanwhile, when the first-type sequence data  140   d  is identical to the second-type sequence data  140   e , the comparing unit  150   c  outputs the information indicating identicalness as the comparison result to the identifying unit  150   d.    
     The identifying unit  150   d  is a processing unit that, based on the comparison result obtained by the comparing unit  150   c  and based on the insertion transition table  140   f  and the deletion transition table  140   g , identifies the type of point mutation that has occurred at the mutation position. 
     If the pre-base-insertion mutant n codon, which is identified by the comparison of the mutation n codon and the mutation n+1 codon with the insertion transition table  140   f , is identical to the subsequent codon of the first-type mutant codon; then the identifying unit  150   d  sets “base insertion” as the type of point mutation that has occurred at the mutation position. 
     For example, assume that the following information is included in the comparison result: the first-type mutant n codon “AAG (6Bh)”, the second-type mutation n codon “CAA (5Ah)”, and the mutation n+1 codon “GUG (73h)”. As explained with reference to  FIG. 12D , regarding the mutation n codon “CAA (5Ah)” and the mutation n+1 codon “GUG (73h)”, the corresponding pre-base-insertion mutant n codon is “AAG (6Bh)”. Since the pre-base-insertion mutant n codon “AAG (6Bh)” is identical to the codon “AAG (6Bh) that is subsequent to the first-type mutant codon, the identifying unit  150   d  sets “base insertion” as the type of point mutation that has occurred at the mutation position. 
     On the other hand, when the pre-base-insertion mutant n codon, which is identified by the comparison of the mutation n codon and the mutation n+1 codon with the insertion transition table  140   f , is not identical to the subsequent codon of the first-type mutant codon; the identifying unit  150   d  excludes “base insertion” from the types of point mutation that has occurred at the mutation position. 
     When the pre-base-deletion mutant n+1 codon, which is identified by the comparison of the mutation n codon and the mutation n+1 codon with the deletion transition table  140   g , is identical to the codon positioned after the subsequent codon of the first-type mutant codon; the identifying unit  150   d  sets “base deletion” as the type of point mutation that has occurred at the mutation position. 
     For example, assume that the following information is included in the comparison result: the first-type mutant n+1 codon “UGC (4Dh)”, the second-type mutation n codon “AGU (6Ch)”, and the mutation n+1 codon “GCU (74h)”. As explained with reference to  FIG. 14A , regarding the mutation n codon “AGU (6Ch)” and the mutation n+1 codon “GCU (74h)”, the corresponding pre-base-deletion mutant n+1 codon is “UGC (4Dh)”. Since the pre-base-deletion mutant codon “UGC (4Dh)” is identical to the codon “UGC (4Dh)” that is positioned after the subsequent codon of the first-type mutant codon, the identifying unit  150   d  sets “base deletion” as the type of point mutation that has occurred at the sequence position. 
     On the other hand, when the pre-base-deletion mutant n+1 codon, which is identified by the comparison of the mutation n codon and the mutation n+1 codon with the deletion transition table  140   g , is not identical to the codon positioned after the subsequent codon of the first-type mutant codon; the identifying unit  150   d  excludes “base deletion” from the types of point mutation that has occurred at the mutation position. 
     Meanwhile, as a result of performing identification using the insertion transition table  140   f  and performing identification using the deletion transition table  140   g , if “base insertion” and “base deletion” are excluded from the types of point mutation that has occurred at the mutation position, then the identifying unit  150   d  sets “base substitution” as the type of point mutation that has occurred at the mutation position. 
     The identifying unit  150   d  registers, in the detection result table  140   h , the information associating the mutation positions and the types of point mutation. Meanwhile, if information indicating identicalness is included in the comparison result, then the identifying unit  150   d  registers, in the detection result table  140   h , the information indicating the absence of abnormalities. The information processing device  100  either can notify the external devices about the information of the detection result table  140   h  via a network, or can output the information of the detection result table  140   h  to the display unit  130  for display purposes. 
     Given below is the explanation of an exemplary sequence of operations performed in the information processing device  100  according to the first embodiment.  FIG. 15  is a flowchart for explaining a sequence of operations performed in the information processing device according to the first embodiment. As illustrated in  FIG. 15 , the receiving unit  150   a  of the information processing device  100  receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  (Step S 101 ). 
     The encoding unit  150   b  of the information processing device  100  encodes the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b , and generates the first-type sequence data  140   d  and the second-type sequence data  140   e , respectively, (Step S 102 ). 
     The comparing unit  150   c  of the information processing device  100  compares the first-type sequence data  140   d  and the second-type sequence data  140   e  in the units of codons (single bytes), and identifies mutation positions at which the codons are not identical (Step S 103 ). Then, based on each mutation position, the comparing unit  150   c  identifies the first-type mutant codon, the mutant n codon, and the mutant n+1 codon in the first-type sequence data  140   d ; and identifies the second-type mutation codon, the mutation n codon, and the mutation n+1 codon in the second-type sequence data  140   e  (Step S 104 ). 
     The identifying unit  150   d  of the information processing device  100  determines whether or not, in the insertion transition table  140   f , the pre-base-insertion mutant n codon, which is identified from the mutation n codon and the mutation n+1 codon, is identical to the subsequent codon of the first-type mutant codon (Step S 105 ). If the two codons are identical (Yes at Step S 105 ), then the identifying unit  150   d  identifies “base insertion” as the type of point mutation (Step S 106 ). On the other hand, if the two codons are not identical (No at Step S 105 ), then the system control proceeds to Step S 107 . 
     The following explanation is given about Step S 107 . The identifying unit  150   d  determines whether or not, in the deletion transition table  140   g , the pre-base-insertion mutant n codon, which is identified from the mutation n codon and the mutation n+1 codon, is identical to the codon positioned after the subsequent codon of the first-type mutant codon (Step S 107 ). If the two codons are identical (Yes at Step S 107 ), then the identifying unit  150   d  identifies “base deletion” as the type of point mutation (Step S 108 ). 
     On the other hand, if the two codons are not identical (No at Step S 107 ), then the identifying unit  150   d  identifies “base substitution” as the type of point mutation (Step S 109 ). 
     Then, the identifying unit  150   d  registers the information about the identified type of point mutation in the detection result table  140   h  (Step S 110 ). The information processing device  100  outputs the detection result table  140   h  to the display unit  130  (Step S 111 ). 
     Given below is the explanation of the effects achieved in the information processing device  100  according to the first embodiment. The information processing device  100  compares the first-type sequence data  140   d  and the second-type sequence data  140   e  in the units of one-byte codons, and identifies nonidentical codons (nonidentical encoded codons). Then, the information processing device  100  compares the transition destination codon, for which the nonidentical codons serve as the mutation position, with the insertion transition table  140   f  and the deletion transition table  140   g , and identifies the type of point mutation included in the analysis-target codon sequence data. Thus, as a result of performing comparison in the units of encoded codons in a consistent manner, the type of mutation can be determined while identifying the nonidentical codons. That enables achieving reduction in the time requested in determining the type of mutation. 
     Second Embodiment 
       FIGS. 16 to 18  are diagrams for explaining the operations performed in an information processing device according to a second embodiment. With reference to  FIG. 16 , the explanation is given about the operations performed when point mutation of the “base insertion” type is detected. In an identical manner to the information processing device  100  according to the first embodiment, the information processing device according to the second embodiment compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies a mutation position P 40  at which the codons are not identical. Regarding the mutation codon “GUC (71h)” at the mutation position P 40 , the information processing device compares the mutation n codon “CAA (5Ah)” and the mutation n+1 codon “GUG (73h)” with the insertion transition table  140   f ; and identifies the pre-base-insertion mutant n codon “AAG (6Bh)”. Then, the information processing device performs correction by substituting the codon “CAA (5Ah)”, which is the subsequent codon of the mutation codon, with the pre-base-insertion mutant n codon “AAG (6Bh)”. 
     The information processing device shifts the mutation position P 40  to the sequence position of the subsequent codon. That position is referred to as a sequence position P 41 . Regarding the sequence position P 41 , the information processing device compares the mutation n codon “GUG (73h)” and the mutation n+1 codon “CAU (48h)” with the insertion transition table  140   f ; and identifies the pre-base-insertion mutant n codon “UGC (4Dh)”. Then, the information processing device performs correction by substituting the codon “GUG (73h)”, which is the subsequent codon of the mutation codon, with the codon “UGC (4Dh)”, which is the subsequent codon of the pre-base-insertion mutant codon. 
     As explained above, while shifting the sequence position, the information processing device repeatedly performs the operation of substituting the mutation n codon with the pre-base-insertion mutant n codon, and generates third-type sequence data  240   e.    
     Then, the information processing device compares the encoded codons in the third-type sequence data  240   e  with the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The information processing device identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 16 , the information processing device identifies the codon “UCG (47h)” at a sequence position P 2  and the codon “AAA (6Ah)” at a sequence position P 43  as genetic mutation. 
     Explained below with reference to  FIG. 17  are the operations performed when point mutation of the “base deletion” type is detected. In an identical manner to the information processing device  100  according to the first embodiment, the information processing device according to the second embodiment compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies a mutation position P 50  at which the codons are not identical. Regarding the mutation codon “UCA (40h)” at the mutation position P 50 , the information processing device compares the mutation n codon “AUG (63h)” and the mutation n+1 codon “GCU (74h)” with the deletion transition table  140   g ; and identifies the pre-base-deletion mutant n+1 codon “UGC (4Dh)”. Then, the information processing device performs correction by substituting the codon “GCU (74h)”, which is the codon positioned after the subsequent codon of the mutation codon, with the pre-base-deletion mutant n+1 codon “UGC (4Dh)”. 
     Although not illustrated in  FIG. 17 , the information processing device shifts the mutation position P 50  to the sequence position of the subsequent codon. Then, based on the new sequence position, the information processing device compares the mutation n codon and the mutation n+1 codon with the deletion transition table  140   g ; and identifies the pre-base-deletion mutant n+1 codon. Subsequently, the information processing device performs correction by substituting the mutation n+1 codon with the pre-base-deletion mutant n+1 codon. 
     As explained above, while shifting the sequence position, the information processing device repeatedly performs the operation of substituting the mutation n+1 codon with the pre-base-deletion mutant n+1 codon, and generates the third-type sequence data  240   e.    
     Then, the information processing device compares the encoded codons in the third-type sequence data  240   e  and the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The information processing device identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 17 , the information processing device identifies the codon “UCG (47h)” at a sequence position P 52  and the codon “AAA (6Ah)” at a sequence position P 53  as genetic mutation. 
     Explained below with reference to  FIG. 18  are the operations performed when point mutation of the “base substitution” type is detected. In an identical manner to the information processing device  100  according to the first embodiment, the information processing device according to the second embodiment compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies a mutation position P 60  at which the codons are not identical. Then, assume that the information processing device determines “base substitution” as the type of point mutation by referring to the insertion transition table  140   f  and the deletion transition table  140   g . In that case, the information processing device copies the codons from the codon at a sequence position P 61 , which is the subsequent position to the mutation codon at the mutation position P 60  in the second-type sequence data  140   e , onward and generates the third-type sequence data  240   e.    
     The information processing device compares the encoded codons in the third-type sequence data  240   e  with the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The information processing device identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 18 , the information processing device identifies the codon “UCG (47h)” at a sequence position P 62  and the codon “AAA (6Ah)” at a sequence position P 63  as genetic mutation. 
     As explained above, after identifying the type of point mutation, the information processing device according to the second embodiment generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e  and identifies the nonidentical codons between the first-type sequence data  140   d  and the third-type sequence data  240   e . As a result, the underlying genetic mutation can be detected. 
     Given below is the explanation of a configuration of the information processing device according to the second embodiment.  FIG. 19  is a functional block diagram illustrating a configuration of the information processing device according to the second embodiment. As illustrated in  FIG. 19 , an information processing device  200  includes the communication unit  110 , the input unit  120 , the display unit  130 , a memory unit  240 , and a control unit  250 . Herein, regarding the communication unit  110 , the input unit  120 , and the display unit  130 ; the explanation is identical to the explanation of the communication unit  110 , the input unit  120 , and the display unit  130  given with reference to  FIG. 5 . 
     The memory unit  240  is used to store the reference codon sequence data  140   a , the analysis-target codon sequence data  140   b , the code conversion table  140   c , the first-type sequence data  140   d , and the second-type sequence data  140   e . Moreover, the memory unit  240  is used to store the insertion transition table  140   f , the deletion transition table  140   g , the third-type sequence data  240   e , and a detection result table  240   h . Examples of the memory unit  240  include a semiconductor memory such as a RAM, a ROM, or a flash memory; and a memory device such as an HDD. 
     Regarding the reference codon sequence data  140   a , the analysis-target codon sequence data  140   b , the code conversion table  140   c , the first-type sequence data  140   d , and the second-type sequence data  140   e  stored in the memory unit  240 ; the explanation is identical to the explanation given in the first embodiment. Moreover, regarding the insertion transition table  140   f  and the deletion transition table  140   g  stored in the memory unit  240 , the explanation is identical to the explanation given in the first embodiment. 
     The third-type sequence data  240   e  represents sequence data in which, from among the encoded codons in the second-type sequence data  140   e , the codons corresponding to point mutation are corrected to normal codons. 
     The detection result table  240   h  is a table for holding the information about point mutation and genetic mutation detected from the analysis-target codon sequence data  140   b.    
     The control unit  250  includes the receiving unit  150   a , the encoding unit  150   b , the comparing unit  150   c , and an identifying unit  250   d . The control unit  250  is implemented using a CPU or an MPU. Alternatively, the control unit  250  can be implemented using a hardwired logic such as an ASIC or an FPGA. 
     The receiving unit  150   a  is a processing unit that receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  from the input unit  120  or an external device. Then, the receiving unit  150   a  registers the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  in the memory unit  240 . Besides that, the operations of the receiving unit  150   a  are identical to the explanation according to the first embodiment. 
     The encoding unit  150   b  is a processing unit that encodes the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  based on the code conversion table  140   c . Besides that, the operations of the encoding unit  150   b  are identical to the explanation according to the first embodiment. 
     The comparing unit  150   c  is a processing unit that compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies mutation positions at which the encoded codons are not identical. Then, the comparing unit  150   c  outputs the comparison result to the identifying unit  250   d . Besides that, the operations of the comparing unit  150   c  are identical to the explanation according to the first embodiment. 
     The identifying unit  250   d  identifies the type of point mutation, which has occurred at a mutation position, based on the comparison result of the comparing unit  150   c , the insertion transition table  140   f , and the deletion transition table  140   g . Once the type of point mutation is identified, the identifying unit  250   d  generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e . Then, the identifying unit  250   d  compares the first-type sequence data  140   d  and the third-type sequence data  240   e , and detects genetic mutation. The identifying unit  250   d  registers the information about the mutation position, the type of point mutation, and the genetic mutation in the detection result table  240   h.    
     Regarding the identifying unit  250   d , the operations for identifying the type of point mutation are identical to the operations performed by the identifying unit  150   d  according to the first embodiment. In the following explanation, the operations performed by the identifying unit  250   d  are separately explained for the cases in which point mutation of the “base insertion” type is detected, point mutation of the “base deletion” type is detected, and point mutation of the “base substitution” type is detected. 
     Given below is the explanation of the operations performed by the identifying unit  250   d  performed when point mutation of the “base insertion” type is detected. As explained with reference to  FIG. 16 , regarding the mutation codon “GUC (71h)” at the mutation position P 4 , the identifying unit  250   d  compares the mutation n codon “CAA (5Ah)” and the mutation n+1 codon “GUG (73h)” with the insertion transition table  140   f ; and identifies the pre-base-insertion mutant n codon “AAG (6Bh)”. Then, the identifying unit  250   d  performs correction by substituting the codon “CAA (5Ah)”, which is the subsequent codon of the mutant codon, with the pre-base-insertion mutant n codon “AAG (6Bh)”. 
     Subsequently, the identifying unit  250   d  shifts the mutation position P 40  to the subsequent sequence position. That position is referred to as the sequence position P 41 . Regarding the sequence position P 4 , the identifying unit  250   d  compares the mutation n codon “GUG (73h)” and the mutation n+1 codon “CAU (48h)” with the insertion transition table  140   f ; and identifies the pre-base-insertion mutant n codon “UGC (4Dh)”. Then, the identifying unit  250   d  performs correction by substituting the codon “GUG (73h)”, which is the codon positioned after the subsequent codon of the mutation codon, with the codon “UGC (4Dh)”, which is the pre-base-insertion mutant n codon. 
     As explained above, while shifting the sequence position, the identifying unit  250   d  repeatedly performs the operation of substituting the mutation n codon with the pre-base-insertion mutant n codon, and generates the third-type sequence data  240   e.    
     Then, the identifying unit  250   d  compares the encoded codons in the third-type sequence data  240   e  with the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The identifying unit  250   d  identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 16 , the information processing device identifies the codon “UCG (47h)” at the sequence position P 42  and the codon “AAA (6Ah)” at the sequence position P 43  as genetic mutation. 
     Then, in the detection result table  240   h , the identifying unit  250   d  registers the information indicating “base insertion” as the type of point mutation and indicating the mutation position, as well as registers the information about the codons identified as the genetic mutation and their sequence positions. 
     Given below is the explanation about the operations performed by the identifying unit  250   d  when point mutation of the “base deletion” type is detected. With reference to  FIG. 17 , the identifying unit  250   d  compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies the mutation position P 50  at which the codons are not identical. Regarding the mutation codon “UCA (40h)” at the mutation position P 50 , the identifying unit  250   d  compares the mutation n codon “AGU (63h)” and the mutation n+1 codon “GCU (74h)” with the deletion transition table  140   g ; and identifies the pre-base-deletion mutant n+1 codon “UGC (4Dh)”. Then, the information processing device  200  performs correction by substituting the codon “GCU (74h)”, which is the codon positioned after the subsequent codon of the mutation codon, with the pre-base-deletion mutant n+1 codon “UGC (4Dh)”. 
     Although not illustrated in  FIG. 17 , the identifying unit  250   d  shifts the mutation position P 50  to the subsequent sequence position. Then, based on the new sequence position, the identifying unit  250   d  compares the mutation n codon and the mutation n+1 codon with the deletion transition table  140   g ; and identifies the pre-base-deletion mutant n+1 codon. Subsequently, the identifying unit  250   d  performs correction by substituting the mutation n+1 codon with the pre-base-deletion mutant n+1 codon. 
     As explained above, while shifting the sequence position; the identifying unit  250   d  repeatedly performs the operation of substituting the mutation n+1 codon with the pre-base-deletion mutant n+1 codon, and generates the third-type sequence data  240   e.    
     The identifying unit  250   d  compares the encoded codons in the third-type sequence data  240   e  and the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The identifying unit  250   d  identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 17 , the identifying unit  250   d  identifies the codon “UCG (47h)” at the sequence position P 52  and the codon “AAA (6Ah)” at the sequence position P 53  as genetic mutation. 
     Then, in the detection result table  240   h , the identifying unit  250   d  registers the information indicating “base deletion” as the type of point mutation and indicating the mutation position, as well as registers the information about the codons identified as the genetic mutation and their sequence positions. 
     Given below is the explanation about the operations performed by the identifying unit  250   d  when point mutation of the “base substitution” type is detected. With reference to  FIG. 18 , the identifying unit  250   d  compares the first-type sequence data  140   d  and the second-type sequence data  140   e , and identifies the mutation position P 60  at which the codons are not identical. Then, assume that the identifying unit  250   d  determines “base substitution” as the type of point mutation by referring to the insertion transition table  140   f  and the deletion transition table  140   g . In that case, the identifying unit  250   d  copies the codons from the codon at the sequence position P 61 , which is the subsequent position to the mutation codon at the mutation position P 60  in the second-type sequence data  140   e , onward and generates the third-type sequence data  240   e.    
     The identifying unit  250   d  compares the encoded codons in the third-type sequence data  240   e  with the encoded codons in the first-type sequence data  140   d , and identifies the nonidentical codons. The identifying unit  250   d  identifies the nonidentical codons as the underlying genetic mutation. In the example illustrated in  FIG. 18 , the identifying unit  250   d  identifies the codon “UCG (47h)” at the sequence position P 62  and the codon “AAA (6Ah)” at the sequence position P 63  as genetic mutation. 
     Then, in the detection result table  240   h , the identifying unit  250   d  registers the information indicating “base substitution” as the type of point mutation and indicating the mutation position, as well as registers the information about the codons identified as the genetic mutation and their sequence positions. 
     Given below is the explanation of an exemplary sequence of operations performed in the information processing device  200  according to the second embodiment.  FIG. 20  is a flowchart (1) for explaining a sequence of operations performed in the information processing device according to the second embodiment. As illustrated in  FIG. 20 , the receiving unit  150   a  of the information processing device  200  receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  (Step S 201 ). 
     The encoding unit  150   b  of the information processing device  200  encodes the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b , and generates the first-type sequence data  140   d  and the second-type sequence data  140   e , respectively, (Step S 202 ). 
     The comparing unit  150   c  of the information processing device  200  compares the first-type sequence data  140   d  and the second-type sequence data  140   e  in the units of codons (single bytes), and identifies mutation positions at which the codons are not identical (Step S 203 ). Then, the identifying unit  250   d  of the information processing device  200  identifies the type of point mutation (Step S 204 ). The sequence of operations performed for identifying the type of point mutation is same as the sequence of operations performed from Step S 105  to Step S 109  illustrated in  FIG. 15 . 
     Based on the type of point mutation, the identifying unit  250   d  generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e  (Step S 205 ). Then, the identifying unit  250   d  compares the first-type sequence data  140   d  and the third-type sequence data  240   e , and identifies genetic mutation (Step S 206 ). 
     Subsequently, the identifying unit  250   d  registers the information indicating the identified type of mutation and the identified genetic mutation in the detection result table  240   h  (Step S 207 ). The information processing device  200  outputs the detection result table  240   h  to the display unit  130  (Step S 208 ). 
     Given below is the explanation about the effects achieved in the information processing device  200  according to the second embodiment. After identifying the type of point mutation included in the second-type sequence data  140   e , the information processing device  200  generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e ; and identifies nonidentical codons between the first-type sequence data  140   d  and the third-type sequence data  240   e . As a result, even after the determination of the type of point mutation, as a result of performing comparison in the units of encoded codons in a consistent manner, the underlying genetic mutation can be detected. 
     For the purpose of illustration, the explanation is given about the case in which the information processing device  200  according to the second embodiment generates the third-type sequence data  240   e , and compares it with the first-type sequence data  140   d . However, that is not the only possible case. Alternatively, instead of generating the third-type sequence data  240   e , the information processing device  200  can convert the second-type sequence data  140   e  into the units of bytes, and compare the conversion result with the first-type sequence data  140   d  in the units of bytes. 
     Given below is the explanation of the other operations performed in the information processing device  200  according to the second embodiment. When the input of a search query is an amino-acid sequence, the information processing device  200  performs codon-amino acid conversion based on the first-type sequence data  140   d  that is obtained by encoding the reference codon sequence data  140   a  written using base symbols; and generates fourth-type sequence data (not illustrated in the drawings). Then, the information processing device  200  compares, in the units of amino acids, the fourth-type sequence data, which is obtained as a result of codon-amino acid conversion, with the amino-acid sequence specified in the search query; and identifies mutation positions. 
       FIG. 21A  is a diagram illustrating an exemplary data structure of the codon-amino acid conversion table. As illustrated in  FIG. 21A , in a codon-amino acid conversion table  240   i , encoded codons and encoded amino acids are held in a corresponding manner. For example, the encoded codon “UUU (40h)” is associated to the encoded amino acid “Phe (50h)”. Although not illustrated in  FIG. 19 , the codon-amino acid conversion table  240   i  is stored in the memory unit  240  of the information processing device  200 . 
       FIG. 21B  is a diagram for explaining the other operations performed in the information processing device according to the second embodiment. As illustrated in FIG.  21 B, the information processing device  200  compares the first-type sequence data  140   d  and the codon-amino acid conversion table  240   i ; converts the encoded codons into encoded amino acids; and generates fourth-type sequence data  240   j . For example, the codon “AUG (63h)” is converted into the amino acid “Met (4Dh)”. Although not illustrated in  FIG. 19 , the fourth-type sequence data  240   j  is stored in the memory unit  240  of the information processing device  200 . 
     Then, the information processing device  200  compares the fourth-type sequence data  240   j  and the second-type sequence data  140   e , and identifies mutation positions at which the amino acids are not identical. In the example illustrated in  FIG. 21B , it is determined that the amino acids are not identical from a sequence position P 25  onward. 
     Given below is the explanation of an exemplary sequence of operations performed in the information processing device  200  according to the second embodiment when the input of a search query is an amino-acid sequence.  FIG. 22  is a flowchart (2) for explaining a sequence of operations performed in the information processing device according to the second embodiment. As illustrated in  FIG. 22 , the receiving unit  150   a  of the information processing device  200  receives the reference codon sequence data (Step S 210 ). Then, the encoding unit  150   b  of the information processing device  200  encodes the reference codon sequence data  140   a  and generates the first-type sequence data  140   d  (Step S 211 ). 
     The receiving unit  150   a  receives the amino-acid sequence data to be analyzed (Step S 212 ). Then, the encoding unit  150   b  encodes the amino-acid sequence data to be analyzed, and generates the second-type sequence data  140   e  (Step S 213 ). At Step S 213 , the encoding unit  150   b  converts the amino acid conversion data, which is to be analyzed, into the second-type sequence data  140   e  based on the code conversion table  140   c . Although the specific explanation is not given, it is assumed that the code conversion table  140   c  is used to hold the amino acids and the encoded amino acids in a corresponding manner. 
     Then, based on the codon-amino acid conversion table  240   i , the comparing unit  150   c  of the information processing device  200  generates the fourth-type sequence data  240   j  from the first-type sequence data  140   d  (Step S 214 ). Subsequently, the comparing unit  150   c  compares the fourth-type sequence data  240   j  and the second-type sequence data  140   e  in the units of amino acids, and identifies mutation positions (Step S 215 ). 
     The information processing device  200  registers the information about the mutation positions, which are identified by the comparing unit  150   c , in the detection result table  240   h  (Step S 216 ). Then, the information processing device  200  outputs the detection result table  240   h  to the display unit  130  (Step S 217 ). 
     In this way, when the input of a search query is an amino-acid sequence, the information processing device  200  performs codon-amino acid conversion based on the first-type sequence data  140   d , which is obtained by encoding the reference codon sequence data  140   a  written using base symbols, and compares the conversion result with the search query. Thus, even when the input of a search query is an amino-acid sequence, it becomes possible to identify the amino acids in which mutation has occurred. 
     Third Embodiment 
       FIGS. 23 and 24  are diagrams for explaining the operations performed in an information processing device according to a third embodiment. Although not illustrated in  FIGS. 23 and 24 , in an identical manner to the information processing device  100  according to the first embodiment, upon receiving the reference codon sequence data  140   a , the information processing device according to the third embodiment encodes the reference codon sequence data  140   a  based on the code conversion table  140   c  and generates the first-type sequence data  140   d ; as well as generates an inverted index  340   a  at the same time. Moreover, upon receiving the analysis-target codon sequence data  140   b  to be analyzed, the information processing device performs encoding based on the code conversion table  140   c  and generates the second-type sequence data  140   e.    
     The following explanation is given regarding  FIG. 23 . At the same time of generating the first-type sequence data  140   d , the information processing device according to the third embodiment generates the inverted index  340   a . The inverted index  340   a  represents information indicating the relationship between the types of the encoded codons, which are included in the first-type sequence data  140   d , and the sequence positions (offsets) using bitmaps. 
     The horizontal axis of the inverted index  340   a  corresponds to the offsets. The vertical axis of the inverted index  340   a  corresponds to the types of the encoded codons. The inverted index  340   a  is illustrated using bitmaps of “0” and “1”; and, in the initial state, all bitmaps are set to “0”. 
     Herein, the offset implies the offset from the first codon included in the sequence data. In the third embodiment, the first codon is assumed to have the offset of “0”. For example, regarding the first-type sequence data  140   d , if the codon “AUG (63h)” is the seventh codon from the beginning, then it has the offset of “6”. 
     The information processing device scans the first-type sequence data  140   d  from the beginning; identifies the relationship between the types of the encoded codons and the offsets; and sets “1” at corresponding positions in the inverted index  340   a . For example, since the codon “AUG (63h)” is present at the offset “6”, the information processing device sets “1” at the intersecting position of the column of the offset “6” and the row of the codon type “AUG (63h)”. The information processing device performs such operations in a repeated manner and generates the inverted index  340   a.    
     The following explanation is given regarding  FIG. 24 . The information processing device sequentially reads the encoded codons from the start codon in the second-type sequence data  140   e  and obtains, from the inverted index  340   a , the bitmaps corresponding to the types of the read codons. Herein, for example, “AUG (63h)” represents the start codon. 
     The information processing device obtains, from the inverted index  340   a , a bitmap b 10  of the codon “AUG (63h)”, a bitmap b 11  of the codon “UUU (40h)”, a bitmap b 12  of the codon “GUC (71h)”, and so on in a sequential manner. The bitmap b 10  is the bitmap corresponding to the row of the codon type “AUG (63h)” in the inverted index  340   a . The bitmap b 11  is the bitmap corresponding to the row of the codon type “UUU (40h)” in the inverted index  340   a . The bitmap b 12  is the bitmap corresponding to the row of the codon type “GUC (71h)” in the inverted index  340   a.    
     The information processing device focuses on the positions of “1” in the bitmap b 10  to b 12  and, as long as the position of “1” shifts to the left side by one offset in sequence, determines that the codons are identical in the first-type sequence data  140   d  and the second-type sequence data  140   e . When the position of “1” stops shifting to the left side by one offset in sequence, the information processing device determines that the codons are not identical in the first-type sequence data  140   d  and the second-type sequence data  140   e . In the example illustrated in  FIG. 24 , in the step from the bitmap b 11  to the bitmap b 12 , the position of “1” has shifted from the offset “7” to the offset “20”. Hence, non-identicalness is identified regarding the codon “GUC (71h)” at the offset (sequence position) “8”. 
     As explained above, the information processing device according to the third embodiment generates the inverted index  340   a  based on the first-type sequence data  140   d . The information processing device obtains, from the inverted index  340   a , the bitmaps corresponding to the codon types in a sequential manner from the first codon included in the second-type sequence data  140   e ; and identifies nonidentical codons based on the positions of the flag “1” in a plurality of obtained bitmaps. As a result, it becomes possible to perform a high-speed search for the codons having point mutation. 
     Given below is the explanation of a configuration of the information processing device according to the third embodiment.  FIG. 25  is a functional block diagram illustrating a configuration of the information processing device according to the third embodiment. As illustrated in  FIG. 25 , an information processing device  300  includes the communication unit  110 , the input unit  120 , the display unit  130 , a memory unit  340 , and a control unit  350 . Herein, regarding the communication unit  110 , the input unit  120 , and the display unit  130 ; the explanation is identical to the explanation of the communication unit  110 , the input unit  120 , and the display unit  130  given with reference to  FIG. 5 . 
     The memory unit  340  is used to store the reference codon sequence data  140   a , the analysis-target codon sequence data  140   b , the code conversion table  140   c , the first-type sequence data  140   d , the inverted index  340   a , and the second-type sequence data  140   e . Moreover, the memory unit  340  is used to store the insertion transition table  140   f , the deletion transition table  140   g , the third-type sequence data  240   e , and the detection result table  240   h . Examples of the memory unit  340  include a semiconductor memory such as a RAM, a ROM, or a flash memory; and a memory device such as an HDD. Meanwhile, although not illustrated in  FIG. 25 , the memory unit  340  can also be used to store the codon-amino acid conversion table  240   i  and the fourth-type sequence data  240   j.    
     Regarding the reference codon sequence data  140   a , the analysis-target codon sequence data  140   b , the code conversion table  140   c , the first-type sequence data  140   d , and the second-type sequence data  140   e  stored in the memory unit  340 ; the explanation is identical to the explanation given in the first embodiment. Moreover, regarding the insertion transition table  140   f  and the deletion transition table  140   g  stored in the memory unit  340 , the explanation is identical to the explanation given in the first embodiment. Furthermore, regarding the third-type sequence data  240   e  and the detection result table  240   h  stored in the memory unit  340 , the explanation is identical to the explanation given in the second embodiment. 
     The inverted index  340   a  represents information indicating the relationship between the types of the encoded codons, which are included in the first-type sequence data  140   d , and the sequence positions (offsets) using bitmaps. As explained with reference to  FIG. 23 , the horizontal axis of the inverted index  340   a  corresponds to the offsets. The vertical axis of the inverted index  340   a  corresponds to the types of the encoded codons. 
     The control unit  350  includes the receiving unit  150   a , the encoding unit  150   b , a generating unit  350   a , an obtaining unit  350   b , and an identifying unit  350   c . The control unit  350  is implemented using a CPU or an MPU. Alternatively, the control unit  350  can be implemented using a hardwired logic such as an ASIC or an FPGA. 
     The receiving unit  150   a  is a processing unit that receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  from the input unit  120  or an external device. Then, the receiving unit  150   a  registers the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  in the memory unit  340 . Besides that, the operations of the receiving unit  150   a  are identical to the explanation according to the first embodiment. 
     The encoding unit  150   b  is a processing unit that encodes the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  based on the code conversion table  140   c . Besides that, the operations of the encoding unit  150   b  are identical to the explanation according to the first embodiment. 
     The generating unit  350   a  is a processing unit that generates the inverted index  340   a  based on the first-type sequence data  140   d . The generating unit  350   a  scans the first-type sequence data  140   d  from the beginning; identifies the relationship between the types of the encoded codons and the offsets (sequence positions); and sets “1” at the corresponding locations in the inverted index  340   a . For example, since the codon “AUG (63h)” is present at the offset “6”, the generating unit  350   a  sets “1” at the intersecting position of the column of the offset “6” and the row of the codon type “AUG (63h)”. The generating unit  350   a  performs such operations in a repeated manner and generates the inverted index  340   a.    
     Upon generating the inverted index  340   a , in order to reduce the information volume, the generating unit  350   a  can perform hashing of the inverted index  340   a .  FIG. 26  is a diagram for explaining an example of the operations for hashing an inverted index. 
     In the example illustrated in  FIG. 26 , a 32-bit register is taken into consideration and, based on the prime numbers (bases) “29” and “31”, the bitmaps of each row in the inverted index  340   a  are hashed. Herein, as an example, the explanation is given about a case in which hashed bitmaps h 11  and h 12  are generated from the bitmap b 1 . 
     The bitmap b 1  represents a bitmap obtained by extracting a particular row of an inverted index (for example, the inverted index  340   a  illustrated in  FIG. 23 ). A hashed bitmap h 11  is a bitmap hashed using the base “29”. A hashed bitmap h 12  is a bitmap hashed using the base “31”. 
     The generating unit  350   a  associates, to the positions in the hashed bitmap, the values obtained as the remainders when the positions of the bits of the bitmap b 1  are divided by a single base. When “1” is set at the position of a bit in the bitmap b 1 , the generating unit  350   a  sets “1” at the corresponding position in the hashed bitmap. 
     Given below is the explanation of an example of the operations performed to generate the hashed bitmap h 11  having the base “29” from the bitmap b 1 . Firstly, the generating unit  350   a  copies the information about the positions “0 to 28” of the bitmap b 1  in the hashed bitmap h 11 . Subsequently, if the bit position “35” in the bitmap b 1  is divided by the base “29”, the remainder is equal to “6”. Hence, the position “35” in the bitmap b 1  is associated to the position “6” in the hashed bitmap h 11 . Since “1” is set at the position “35” in the bitmap b 1 , the generating unit  350   a  sets “1” at the position “6” in the hashed bitmap h 11 . 
     If the bit position “42” in the bitmap b 1  is divided by the base “29”, the remainder is equal to “13”. Hence, the position “42” in the bitmap b 1  is associated to the position “13” in the hashed bitmap h 11 . Since “1” is set at the position “42” in the bitmap b 1 , the generating unit  350   a  sets “1” at the position “13” in the hashed bitmap h 11 . 
     Regarding the positions from the position “29” onward in the bitmap b 1 , the generating unit  350   a  repeatedly performs the operations explained above and generates the hashed bitmap h 11 . 
     Given below is the explanation of an example of the operations performed to generate the hashed bitmap h 12  having the base “31” from the bitmap b 1 . Firstly, the generating unit  350   a  copies the information about the positions “0 to 30” of the bitmap b 1  in the hashed bitmap h 12 . Subsequently, if the bit position “35” in the bitmap b 1  is divided by the base “31”, the remainder is equal to “4”. Hence, the position “35” in the bitmap b 1  is associated to the position “4” in the hashed bitmap h 12 . Since “1” is set at the position “35” in the bitmap b 1 , the generating unit  350   a  sets “1” at the position “4” in the hashed bitmap h 12 . 
     If the bit position “42” in the bitmap b 1  is divided by the base “31”, the remainder is equal to “11”. Hence, the position “42” in the bitmap b 1  is associated to the position “11” in the hashed bitmap h 12 . Since “1” is set at the position “42” in the bitmap b 1 , the generating unit  350   a  sets “1” at the position “11” in the hashed bitmap h 12 . 
     Regarding the positions from the position “31” onward in the bitmap b 1 , the generating unit  350   a  repeatedly performs the operations explained above and generates the hashed bitmap h 12 . 
     Regarding each row in the inverted index  340   a , the generating unit  350   a  performs compression according to the loop back technique explained above, and obtains a hashed inverted index. Meanwhile, the hashed bitmaps corresponding to the bases “29” and “31” are attached with the information about the corresponding row (the types of the encoded codons) of the respective source bitmaps. 
     The obtaining unit  350   b  is a processing unit that sequentially obtains, from the inverted index  340   a , the bitmaps corresponding to the encoded codons included in the second-type sequence data  140   e . Then, the obtaining unit  350   b  outputs the information about the obtained bitmaps to the identifying unit  350   c . Herein, it is assumed that the bitmap information output to the identifying unit  350   c  is sorted in the order in which it was read. 
     The obtaining unit  350   b  reads the encoded codons in sequence from the start codon in the second-type sequence data  140   e  and obtains, from the inverted index  340   a , the bitmap corresponding to the type of the read codon. For example, it is assumed that “AUG (63h)” represents the start codon and that the second-type sequence data  140   e  is as illustrated in  FIG. 24 . The obtaining unit  350   b  reads the bitmap b 10  of “AUG (63h)”, the bitmap b 11  of “UUU (40h)”, the bitmap b 12  of “GUC (71h)”, the bitmap (not illustrated) of “CAA (5Ah)”, and the bitmaps of the subsequent codons. 
     Meanwhile, when the inverted index  340   a  is hashed, the obtaining unit  350   b  performs the following operations and restores the hashed inverted index  340   a .  FIG. 27  is a diagram illustrating an example of the operations for restoring an inverted index. Herein, as an example, the explanation is given about a case in which the obtaining unit  350   b  restores the bitmap b 1  based on the hashed bitmaps h 11  and h 12 . 
     The obtaining unit  350   b  generates an intermediate bitmap h 11 ′ from the hashed bitmap h 11  corresponding to the base “29”. The obtaining unit  350   b  copies the values of the positions “0” to “28” in the hashed bitmap h 11  to the positions “0” to “28” in the intermediate bitmap h 11 ′. 
     Regarding the values from the position “29” onward in the intermediate bitmap h 11 ′, the obtaining unit  350   b  repeatedly performs, after every position “29”, the operation of copying the values of the positions “0” to “28” in the hashed bitmap h 11 . In the example illustrated in  FIG. 27 , the values of the positions “0” to “14” in the hashed bitmap h 11  are copied to the positions “29” to “43” in the intermediate bitmap h 11 ′. 
     The obtaining unit  350   b  generates an intermediate map h 12 ′ from the hashed bitmap h 12  corresponding to the base “31”. The obtaining unit  350   b  copies the values of the positions “0” to “30” in the hashed bitmap h 12  to the positions “0” to “30” in the intermediate bitmap h 12 ′. 
     Regarding the values from the position “31” onward in the intermediate bitmap h 12 ′, the obtaining unit  350   b  repeatedly performs, after every position “31”, the operation of copying the values of the positions “0” to “30” in the hashed bitmap h 12 . In the example illustrated in  FIG. 27 , the values of the positions “0” to “12” in the hashed bitmap h 12  are copied to the positions “31” to “43” in the intermediate bitmap h 12 ′. 
     After generating the intermediate bitmaps h 11 ′ and h 12 ′, the obtaining unit  350   b  performs the AND operation of the intermediate bitmaps h 11 ′ and h 12 ′ so as to restore the pre-hashing bitmap b 1 . Regarding the other hashed bitmaps too, the obtaining unit  350   b  can perform identical operations and restore the bitmaps corresponding to the codons (i.e., restore the inverted index  340   a ). 
     Returning to the explanation with reference to  FIG. 25 , the identifying unit  350   c  performs operations to identify the mutation position at which the first-type sequence data  140   d  and the second-type sequence data  140   e  become nonidentical; performs operations to identify the type of point mutation; and performs operations to identify genetic mutation. 
     Given below is the explanation of the operations performed by the identifying unit  350   c  for identifying the mutation position at which the first-type sequence data  140   d  and the second-type sequence data  140   e  become nonidentical.  FIG. 28  is a diagram for explaining the operations performed by the identifying unit according to the third embodiment. The bitmaps b 10 , b 11 , and b 12  illustrated in  FIG. 28  are the bitmaps received from the obtaining unit  350   b.    
     The identifying unit  350   c  performs left-side shifting of the bitmap b 10  and generates a bitmap b 10 - 1  (Step S 10 ). Then, the identifying unit  350   c  performs the AND operation of the bitmap b 10 - 1  and the bitmap b 11 , and calculates a bitmap b 11 - 1  (Step S 11 ). In the bitmap b 11 - 1 , the bit “1” is set at the offset “7”. Thus, it implies that the first-type sequence data  140   d  and the second-type sequence data  140   e  are identical from the offset “0” to the offset “7”. 
     Moreover, the identifying unit  350   c  performs left-side shifting of the bitmap b 11 - 1  and calculates a bitmap b 11 - 2  (Step S 12 ). Then, the identifying unit  350   c  performs the AND operation of the bitmap b 11 - 2  and the bitmap b 12 , and calculates a bitmap b 12 - 1  (Step S 13 ). In the bitmap b 11 - 2 , the bit “1” is set at the offset “8”. However, in the bitmap b 12 - 1 , the offset “8” has the bit “0” set therein. Hence, the identifying unit  350   c  determines that the first-type sequence data  140   d  and the second-type sequence data  140   e  are not identical at the offset (sequence position) “8”. 
     Given below is the explanation of the operations performed by the identifying unit  350   c  for identifying the type of point mutation. Based on a nonidentical mutation position (offset) and based on the insertion transition table  140   f  and the deletion transition table  140   g , the identifying unit  350   c  identifies the type of point mutation that has occurred at the mutation position. Once the type of point mutation is identified, the identifying unit  350   c  generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e.    
     Herein, the operations performed by the identifying unit  350   c  for identifying the type of point mutation are identical to the operations performed by the identifying unit  150   d  according to the first embodiment. Moreover, the operations performed by the identifying unit  350   c  for generating the third-type sequence data  240   e  by correcting the second-type sequence data  140   e  based on the type of point mutation are identical to the operations performed by the identifying unit  250   d  according to the second embodiment. 
     Given below is the explanation of the operations performed by the identifying unit  350   c  for identifying genetic mutation. The identifying unit  350   c  sequentially obtains, from the inverted index  340   a , the bitmaps corresponding to the types of the encoded codons included in the third-type sequence data  240   e . In the case of reading a bitmap, in an identical manner to the obtaining unit  350   b , the identifying unit  350   c  reads the encoded codons in sequence from the start codon, and obtains the bitmaps corresponding to the types of the read codons from the inverted index  340   a.    
     Once the bitmaps are obtained, in an identical manner to the explanation given with reference to  FIG. 24 , the identifying unit  350   c  repeatedly performs the operations of performing the AND operation of a left-shifted bitmap, which is obtained by performing left-side shifting of a bitmap, and the subsequent bitmap, and calculating a new bitmap. Then, at the offset in the new bitmap from which the bit “1” is no more included, the identifying unit  350   c  determines that the first-type sequence data  140   d  and the third-type sequence data  240   e  become nonidentical. Thus, the identifying unit  350   c  determines that the codon in the third-type sequence data  240   e  corresponding to the offset determined to be nonidentical is the codon representing genetic mutation. 
     The identifying unit  350   c  performs the operations explained above and registers, in the detection result table  240   h , the information about the type of point mutation and the mutation position (offset), as well as registers the information about the codon identified as genetic mutation and its sequence position (offset). 
     Given below is the explanation of an exemplary sequence of operations performed in the information processing device  300  according to the third embodiment.  FIG. 29  is a flowchart for explaining a sequence of operations performed in the information processing device according to the third embodiment. As illustrated in  FIG. 29 , the receiving unit  150   a  of the information processing device  300  receives the reference codon sequence data  140   a  and the analysis-target codon sequence data  140   b  (Step S 301 ). 
     The encoding unit  150   b  of the information processing device  300  encodes the reference codon sequence data  140   a  and generates the first-type sequence data  140   d ; as well as generates the inverted index  340   a  at the same time (Step S 302 ). 
     The encoding unit  150   b  of the information processing device  300  encodes the reference codon sequence data  140   b  and generates the second-type sequence data  140   e  (Step S 303 ). The obtaining unit  350   b  of the information processing device  300  compares the encoded codons in the second-type sequence data  140   e  and the inverted index  340   a , and sequentially obtains the bitmaps corresponding to the codons (Step S 304 ). 
     The identifying unit  350   c  of the information processing device  300  performs shifting of the bitmaps and performs the AND operations, and identifies the mutation position (offset) having non-identicalness (Step S 305 ). Moreover, the identifying unit  350   c  identifies the type of point mutation (Step S 306 ). 
     Then, the identifying unit  350   c  generates the third-type sequence data  240   e  by correcting the second-type sequence data  140   e  based on the type of point mutation (Step S 307 ). The identifying unit  350   c  compares the encoded codons in the third-type sequence data and the inverted index  340   a , and sequentially obtains the bitmaps corresponding to the codons (Step S 308 ). 
     Subsequently, the identifying unit  350   c  performs shifting of the bitmaps and performs the AND operations, and identifies the mutation position (offset) having non-identicalness and identifies genetic mutation (Step S 309 ). Then, the identifying unit  350   c  registers the information about the identified type of point mutation and the identified genetic mutation in the detection result table  240   h  (Step S 310 ). Subsequently, the information processing device  300  outputs the detection result table  240   h  to the display unit  130  for display purposes (Step S 311 ). 
     Given below is the explanation of an exemplary sequence of operations performed by the identifying unit  350   c  for identifying, based on bitmaps, the offset corresponding to point mutation.  FIG. 30  is a flowchart for explaining the operations performed by the identifying unit according to the third embodiment for identifying the offset corresponding to point mutation. As illustrated in  FIG. 30 , the identifying unit  350   c  of the information processing device  300  identifies the offset n as the offset for the start codon (Step S 401 ). Then, the obtaining unit  350   b  of the information processing device  100  obtains, from the inverted index  340   a , a first bitmap corresponding to the codon at the offset n in the second-type sequence data  140   e  (Step S 402 ). 
     The identifying unit  350   c  performs left-side shifting of the first bitmap (Step S 403 ). Then, the identifying unit  350   c  increments the offset n by one (Step S 404 ). Subsequently, the obtaining unit  350   b  obtains, from the inverted index  340   a , a second bitmap corresponding to the codon at the offset n included in the second-type sequence data (Step S 405 ). 
     Then, the identifying unit  350   c  performs the AND operation of the first bitmap and the second bitmap, and generates a third bitmap (Step S 406 ). Moreover, the identifying unit  350   c  determines whether or not the bit of the offset n in the third bitmap is set to “1” (Step S 407 ). 
     If the bit of the offset n in the third bitmap is not set to “1” (No at Step S 408 ), then the identifying unit  350   c  determines that point mutation has occurred at the offset n included in the second-type sequence data (Step S 409 ). 
     On the other hand, if the bit of the offset n in the third bitmap is set to “1” (Yes at Step S 408 ), then the identifying unit  350   c  updates the first bitmap with a bitmap obtained by performing left-side shifting of the third bitmap (Step S 410 ). Then, the system control returns to Step S 404 . 
     Given below is the explanation about the effects achieved in the information processing device  300  according to the third embodiment. The information processing device  300  according to the third embodiment sequentially obtains, from the inverted index  340   a , the bitmaps corresponding to the types of codons starting from the start codon included in the second-type sequence data  140   e , and identifies nonidentical codons based on the shifting of a plurality of obtained bitmaps and the AND operation thereof. As a result, it becomes possible to perform a high-speed search for the codons having point mutation or genetic mutation. 
     Meanwhile, for the purpose of illustration, the explanation is given about the case in which the information processing device  300  according to the third embodiment generates the third-type sequence data  240   e , and compares it with the first-type sequence data  140   d . However, that is not the only possible case. Alternatively, instead of generating the third-type sequence data  240   e , the information processing device  300  can convert the second-type sequence data  140   e  into the units of bytes, and compare the conversion result with the first-type sequence data  140   d  in the units of bytes. 
     Given below is the explanation of the other operations performed in the information processing device  300  according to the third embodiment. When the input of a search query is an amino-acid sequence, the information processing device  300  encodes the reference codon sequence data  140   a  written using base symbols; and generates an inverted index in a corresponding manner to the codons. Moreover, the information processing device  300  converts the codon sequence into an amino-acid sequence; generates an inverted index associated to the amino acids; and identifies the mutation position using that inverted index. 
       FIG. 31  is a diagram for explaining the other operations performed in the information processing device according to the third embodiment. As illustrated in  FIG. 31 , the information processing device generates the fourth-type sequence data  240   j  based on the first-type sequence data  140   d  and based on the codon-amino acid conversion table  240   i  illustrated in  FIG. 21A ; as well as generates an inverted index  340   b  at the same time. The inverted index  340   b  represents information indicating the relationship between the types of the encoded codons, which are included in the fourth-type sequence data  240   j , and the sequence positions (offsets) using bitmaps. 
     The information processing device  300  performs the operation of identifying the mutation position using the inverted index  340   b  corresponding to the amino-acid sequence. For example, the information processing device  300  obtains, from the inverted index  340   b , the bitmaps corresponding to the types of amino acids starting from the first amino acid included in the amino-acid sequence data; and, based on the positions of the flags of a plurality of obtained bitmaps, identifies the sequence positions, from among the amino acids included in the amino-acid sequence data, that are not identical with respect to the fourth-type sequence data  240   j.    
     Given below is the explanation of an exemplary sequence of operations performed in the information processing device  300  according to third embodiment when the input of a search query is an amino-acid sequence.  FIG. 32  is a flowchart (2) for explaining a sequence of operations performed in the information processing device according to the third embodiment. 
     As illustrated in  FIG. 32 , the receiving unit  150   a  of the information processing device  300  receives the reference codon sequence data (Step S 411 ). Then, the encoding unit  150   b  of the information processing device  300  encodes the reference codon sequence data and generates the first-type sequence data  140   d ; and the generating unit  350   a  generates the inverted index  340   a  (Step S 412 ). 
     The receiving unit  150   a  receives the amino-acid sequence data to be analyzed (Step S 413 ). Then, the encoding unit  150   b  encodes the amino-acid sequence data to be analyzed, and generates the second-type sequence data  140   e  (Step S 414 ). 
     Then, based on the codon-amino acid conversion table  240   i , the generating unit  350   a  generates the fourth-type sequence data  240   j  from the first-type sequence data  140   d , and at the same time generates the inverted index  340   b  corresponding to the amino acids (Step S 415 ). 
     The identifying unit  350   c  of the information processing device  400  performs shifting of the bitmaps and performs the AND operations, and identifies the nonidentical mutation position (offsets) (Step S 416 ). Then, the identifying unit  350   c  registers the information about the identified mutation in the detection result table  240   h  (Step S 417 ). The information processing device  300  outputs the detection result table  240   h  to the display unit  130  for display purposes (Step S 418 ). 
     As explained above, when the input of a search query is an amino-acid sequence, the information processing device  300  generates the inverted index  340   b  corresponding to the amino acids, and compares the inverted index  340   b  with the second-type sequence data  140   e . Thus, even when the input of a search query is an amino-acid sequence, the amino acids in which mutation has occurred can be identified using the inverted index. 
     Given below is the explanation of an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing device  100  according to the first embodiment and the information processing device  200  according to the second embodiment.  FIG. 33  is a diagram illustrating an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing devices according to the first and second embodiments. 
     As illustrated in  FIG. 33 , a computer  400  includes a CPU  401  that performs a variety of arithmetic processing; an input device  402  that receives input of data from the user; and a display  403 . Moreover, the computer  400  includes a reading device  404  that reads programs from a memory medium; and an interface device  405  that communicates data with external devices via a wired network or a wireless network. Furthermore, the computer  400  includes a RAM  406  that is used to temporarily store a variety of information; and includes a hard disk device  407 . The devices  401  to  407  are connected to each other by a bus  408 . 
     The hard disk device  407  includes a receiving program  407   a , an encoding program  407   b , a comparison program  407   c , and an identification program  407   d . The CPU  401  reads the receiving program  407   a , the encoding program  407   b , the comparison program  407   c , and the identification program  407   d  and loads them in the RAM  406 . 
     The receiving program  407   a  functions as a receiving process  406   a . The encoding program  407   b  functions as an encoding process  406   b . The comparison program  407   c  functions as a comparison process  406   c . The identification program  407   d  functions as an identification process  406   d.    
     The operations of the receiving process  406   a  correspond to the operations of the receiving unit  150   a . The operations of the encoding process  406   b  correspond to the operations of the encoding unit  150   b . The operations of the comparison process  406   c  correspond to the operations of the comparing unit  150   c . The operations of the identification process  406   d  correspond to the operations of the identifying units  150   d  and  250   d.    
     The programs  407   a  to  407   d  need not always be stored in the hard disk device  407  from the beginning. Alternatively, for example, the programs  407   a  to  407   d  can be stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD, a magneto-optical disk, or an IC card that is insertable in the computer  400 . Then, the computer  400  can read and execute the programs  407   a  to  407   d.    
     Given below is the explanation of an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing device  300  according to the third embodiment.  FIG. 34  is a diagram illustrating an exemplary hardware configuration of a computer that implements the functions identical to the functions of the information processing device according to the third embodiment. 
     As illustrated in  FIG. 34 , a computer  500  includes a CPU  501  that performs a variety of arithmetic processing; an input device  502  that receives input of data from the user; and a display  503 . Moreover, the computer  500  includes a reading device  504  that reads programs from a memory medium; and an interface device  505  that communicates data with external devices via a wired network or a wireless network. Furthermore, the computer  500  includes a RAM  506  that is used to temporarily store a variety of information; and includes a hard disk device  507 . The devices  501  to  507  are connected to each other by a bus  508 . 
     The hard disk device  507  includes a receiving program  507   a , an encoding program  507   b , a generation program  507   c , an obtaining program  507   d , and an identification program  507   e . The CPU  501  reads the receiving program  507   a , the encoding program  507   b , the generation program  507   c , the obtaining program  507   d , and the identification program  507   e ; and load them in the RAM  506 . 
     The receiving program  507   a  functions as a receiving process  506   a . The encoding program  507   b  functions as an encoding process  506   b . The generation program  507   c  functions as a generation process  506   c . The obtaining program  507   d  functions as an obtaining process  506   d . The identification program  507   e  functions as an identification process  506   e.    
     The operations of the receiving process  506   a  correspond to the operations of the receiving unit  150   a . The operations of the encoding process  506   b  correspond to the operations of the encoding unit  150   b . The operations of the generation process  506   c  correspond to the operations of the generating unit  350   a . The operations of the obtaining process  506   d  correspond to the operations of the obtaining unit  350   b . The operations of the identification process  506   e  correspond to the operations of the identifying unit  350   c.    
     The programs  507   a  to  507   e  need not always be stored in the hard disk device  507  from the beginning. Alternatively, for example, the programs  507   a  to  507   e  can be stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD, a magneto-optical disk, or an IC card that is insertable in the computer  500 . Then, the computer  500  can read and execute the programs  507   a  to  507   e.    
     It becomes possible to reduce the time requested in determining the type of frameshift of the mutation and detecting the genetic mutation. 
     All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventors to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.