JP6653628B2 - DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system - Google Patents

DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system Download PDF

Info

Publication number
JP6653628B2
JP6653628B2 JP2016119723A JP2016119723A JP6653628B2 JP 6653628 B2 JP6653628 B2 JP 6653628B2 JP 2016119723 A JP2016119723 A JP 2016119723A JP 2016119723 A JP2016119723 A JP 2016119723A JP 6653628 B2 JP6653628 B2 JP 6653628B2
Authority
JP
Japan
Prior art keywords
sequence
query
new
old
genome
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016119723A
Other languages
Japanese (ja)
Other versions
JP2017224191A (en
Inventor
安田 知弘
知弘 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2016119723A priority Critical patent/JP6653628B2/en
Publication of JP2017224191A publication Critical patent/JP2017224191A/en
Application granted granted Critical
Publication of JP6653628B2 publication Critical patent/JP6653628B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)

Description

本発明は、DNA配列解析装置、DNA配列解析方法及びDNA配列解析システムに関する。   The present invention relates to a DNA sequence analysis device, a DNA sequence analysis method, and a DNA sequence analysis system.

次世代シーケンサによるDNA配列決定手法(Next Generation Sequencing, NGS)は、サンガー法(従来)に比べ、劇的に低いコストでゲノム配列を決定することができる。例えば2001年に約1億米ドルであったゲノム配列の決定コストは、次世代シーケンサの登場により、2015年には1,245米ドルにまで下がっている(“DNA Sequencing Costs, http://www.genome.gov/sequencingcosts/”参照)。次世代シーケンサは、コストを安くできるだけでなく、短期間で膨大な量の配列データを得ることができる。例えば、一度に1兆塩基を超える膨大な配列データを生成することができる次世代シーケンサも製品化されている。こうした技術により、多数の被験者の個々のゲノム配列を決定することが可能となった。   The DNA sequencing technique (Next Generation Sequencing, NGS) using a next-generation sequencer can determine the genome sequence at a dramatically lower cost than the Sanger method (conventional). For example, the cost of genome sequence determination, which was about $ 100 million in 2001, has fallen to $ 1,245 in 2015 with the advent of next-generation sequencers ("DNA Sequencing Costs, http: //www.genome. gov / sequencingcosts / ”). The next-generation sequencer can not only reduce the cost but also obtain a huge amount of sequence data in a short period of time. For example, next-generation sequencers capable of generating a huge amount of sequence data exceeding one trillion bases at a time have been commercialized. These techniques have made it possible to determine the individual genomic sequence of a large number of subjects.

次世代シーケンサを用いてヒトのゲノム配列を解析する場合、次世代シーケンサによって得られた配列(以下「リード配列」という。)を、ヒトの標準的なゲノム配列である参照ゲノム配列と比較することが必要となる。リード配列と参照ゲノム配列を比較して、リード配列に対応する参照ゲノム配列の位置を特定し、参照ゲノム配列との違いを明らかにする計算処理を「マッピング」という。マッピングにより、被験者のゲノムに特有の配列が明らかになり、その被験者がもつ遺伝子の特徴が分かる。こうして得られた遺伝子の情報は、その被験者の疾患リスクや薬剤応答性を予測する上で極めて有用である。   When analyzing a human genome sequence using a next-generation sequencer, a sequence obtained by the next-generation sequencer (hereinafter referred to as a “read sequence”) must be compared with a reference genome sequence, which is a standard human genome sequence. Is required. The calculation process for comparing the read sequence with the reference genome sequence, specifying the position of the reference genome sequence corresponding to the read sequence, and clarifying the difference from the reference genome sequence is called “mapping”. The mapping reveals sequences that are unique to the subject's genome and reveals the characteristics of the gene that the subject has. The gene information thus obtained is extremely useful in predicting the disease risk and drug responsiveness of the subject.

マッピングは、次世代シーケンサで配列データを処理する上で不可欠であるため、配列データを公共機関のデータベースで公開する際に、ゲノムにマッピングされた結果が公開される場合がある。一方で、近年では、次世代シーケンサで扱う配列データの量が膨大となり問題となっている。そこで、リード配列を参照ゲノム配列にマッピングした結果を使用して参照ゲノム配列との差分だけを記録し、リード配列を圧縮する技術も出現している(Fritz et al., Genome Res. 2011, 21(5):734-40)。   Since mapping is indispensable for processing sequence data in a next-generation sequencer, when the sequence data is published on a database of a public institution, the result mapped to the genome may be published. On the other hand, in recent years, the amount of sequence data handled by the next-generation sequencer has become enormous, which is a problem. Therefore, a technique for recording only the difference from the reference genome sequence using the result of mapping the read sequence to the reference genome sequence and compressing the read sequence has also been developed (Fritz et al., Genome Res. 2011, 21). (5): 734-40).

また、参照ゲノム配列にマッピングするリード配列の量が膨大であるため、リード配列をマッピングする処理は、計算機上で配列データを解析する上での主要なボトルネックとなっている。そこで、当該解析処理を計算機上で効率よく実行するための技術が多数開発されている(例えば、非特許文献1)。これらの技術は、与えられたリード配列を、参照ゲノム配列と直接比較する手法を採用する。   In addition, since the amount of read sequences mapped to a reference genome sequence is enormous, the process of mapping read sequences is a major bottleneck in analyzing sequence data on a computer. Therefore, many techniques have been developed for efficiently executing the analysis processing on a computer (for example, Non-Patent Document 1). These techniques employ a technique of directly comparing a given read sequence to a reference genomic sequence.

Li and Durbin 2009, Bioinformatics 2009; 25(14): 1754-1760.Li and Durbin 2009, Bioinformatics 2009; 25 (14): 1754-1760.

前述したように、参照ゲノム配列にリード配列をマッピングした結果が提供されているが、参照ゲノム配列は唯一の固定された配列ではない。実際、ヒトのゲノム配列には、配列決定が困難な部分(例えば、非常に長い繰返し配列)がある。このため、参照ゲノム配列として完全な配列を提供することは容易でなく、現在でも参照ゲノム配列の改善が続けられている。   As described above, the results of mapping the read sequence to the reference genomic sequence are provided, but the reference genomic sequence is not the only fixed sequence. In fact, there are parts of the human genomic sequence that are difficult to sequence (eg, very long repetitive sequences). For this reason, it is not easy to provide a complete sequence as a reference genome sequence, and the improvement of the reference genome sequence is still ongoing.

また前述したように、昨今では、次世代シーケンサによって多数の個人のゲノム配列を解析できるようになっているが、個人毎のゲノム配列は参照ゲノム配列とは異なる配列である。このため今後は、様々な参照ゲノム配列を扱わなければならないと予想される。これに伴い、今後は、ある参照ゲノム配列にマッピングされたリード配列を、別の参照ゲノム配列にマッピングし直す必要性が生じると予想され、当該マッピング処理を効率化するための仕組みも必要になると考えられる。   Further, as described above, recently, genome sequences of many individuals can be analyzed by the next-generation sequencer, but the genome sequence of each individual is different from the reference genome sequence. For this reason, it is expected that various reference genome sequences will have to be handled in the future. Along with this, it is expected that a read sequence mapped to one reference genome sequence will need to be re-mapped to another reference genome sequence, and a mechanism for streamlining the mapping process will also be required. Conceivable.

しかし、前述の非特許文献1には、ある参照ゲノム配列(以下「旧ゲノム配列」という。)にリード配列が既にマッピングされている場合に、そのマッピング結果を用いて、別の参照ゲノム配列(以下「新ゲノム配列」という。)に効率よくマッピングするための仕組みは提供されていない。   However, in the above-mentioned Non-Patent Document 1, when a read sequence is already mapped to a certain reference genome sequence (hereinafter referred to as “old genome sequence”), another reference genome sequence ( There is no mechanism provided for efficient mapping to the "new genome sequence."

当然のことながら、新旧2つの参照ゲノム配列が一致する領域であれば、既に存在するマッピング結果をそのまま新しい参照ゲノム配列のマッピング結果とすることが考えられる。ところが、新ゲノム配列に、新旧2つの参照ゲノム配列の間で一致する配列と同一の配列が新たに挿入されている場合、リード配列のマッピング先を、旧ゲノム配列に存在していた配列とするべきか、新たに挿入された配列とするべきかを一意に特定することはできない。すなわち、元のマッピング結果をそのまま使えないという問題がある。   As a matter of course, in a region where the two old and new reference genome sequences match, it is conceivable that an existing mapping result is used as it is as a mapping result of the new reference genome sequence. However, when a sequence identical to the sequence matching between the two new and old reference genome sequences is newly inserted into the new genome sequence, the mapping destination of the read sequence is set to the sequence existing in the old genome sequence. It is not possible to uniquely specify whether the sequence should be a newly inserted sequence. That is, there is a problem that the original mapping result cannot be used as it is.

そこで、本発明は、旧ゲノム配列にマッピングされた膨大な数のリード配列を、旧ゲノム配列へのマッピング結果を利用して、旧ゲノム配列とは異なる新ゲノム配列に効率よくマッピングするための技術を提供する。   Accordingly, the present invention provides a technique for efficiently mapping a huge number of read sequences mapped to an old genome sequence to a new genome sequence different from the old genome sequence by using the mapping result to the old genome sequence. I will provide a.

上記課題を解決するために、本発明は、例えば特許請求の範囲に記載の構成を採用する。本明細書は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、「(1) 旧ゲノム配列と呼ぶ第1のゲノム配列と、新ゲノム配列と呼ぶ第2のゲノム配列と、リード配列と呼ぶ多数のDNA配列と、前記リード配列を前記旧ゲノム配列にマッピングした結果を記憶する記憶装置と、(2) 前記新ゲノム配列に存在する任意の文字列を探索するためのインデックスを構築する新ゲノムインデックス構築部と、(3) 前記リード配列に存在する前記旧ゲノム配列に対する変異であって、前記旧ゲノム配列上での処理位置の近傍にある変異の組合せを記録したクエリ表と呼ぶデータ構造を、マッピングの前記結果に基づいて構築するクエリ表更新部と、(4) 前記クエリ表に格納されている変異の組合せを前記旧ゲノム配列に適用して構築した配列を前記新ゲノム配列と比較し、前記構築した配列のうちK(1以上の自然数)塩基以上が前記新ゲノム配列と完全に一致する箇所を網羅的に出力するマッピング先探索部と、を有するDNA配列解析装置。」である。   In order to solve the above-described problems, the present invention employs, for example, a configuration described in the claims. The present specification includes a plurality of means for solving the above-mentioned problems. For example, "(1) a first genomic sequence called an old genome sequence and a second genomic sequence called a new genome sequence" A large number of DNA sequences called a read sequence, a storage device for storing the result of mapping the read sequence to the old genomic sequence, and (2) a search for an arbitrary character string existing in the new genomic sequence. A new genome index constructing unit for constructing an index, and (3) a query which records a combination of mutations with respect to the old genomic sequence present in the read sequence, the mutations being located near a processing position on the old genomic sequence. A data structure called a table, a query table update unit that is constructed based on the result of mapping, and (4) constructed by applying a combination of mutations stored in the query table to the old genome sequence A mapping destination search unit that compares a sequence with the new genome sequence and comprehensively outputs a portion where the number of K (one or more natural numbers) bases or more completely matches the new genome sequence in the constructed sequence. DNA sequence analyzer. "

本発明によれば、旧ゲノム配列にマッピングされた膨大な数のリード配列を、旧ゲノム配列へのマッピング結果を利用して、旧ゲノム配列とは異なる新ゲノム配列に効率よくマッピングすることができる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。   According to the present invention, an enormous number of read sequences mapped to an old genome sequence can be efficiently mapped to a new genome sequence different from the old genome sequence by utilizing the result of mapping to the old genome sequence. . Problems, configurations, and effects other than those described above will be apparent from the following description of the embodiments.

従来技術によるリード配列のマッピング手法を説明する図。FIG. 7 is a diagram for explaining a conventional technique for mapping a read sequence. 実施例に係るリード配列のマッピング手法の中間段階を説明する図。FIG. 4 is a diagram for explaining an intermediate stage of the lead sequence mapping method according to the embodiment. 実施例に係るリード配列のマッピング手法を説明する図。FIG. 4 is a view for explaining a lead array mapping method according to the embodiment. 実施例に係るDNA配列解析装置の構成例を示す図。FIG. 1 is a diagram illustrating a configuration example of a DNA sequence analyzer according to an embodiment. 実施例に係るDNA配列解析処理の概要を示すフローチャート。5 is a flowchart illustrating an outline of a DNA sequence analysis process according to the embodiment. 実施例に係るDNA配列解析処理のシーケンスを示す図。The figure which shows the sequence of the DNA sequence analysis processing which concerns on an Example. 新ゲノムインデックス構築部で実行される処理動作例を示すフローチャート。5 is a flowchart illustrating an example of a processing operation performed by a new genome index construction unit. クエリ表の一例を示す図。The figure which shows an example of a query table. クエリ表更新部で実行される処理動作例を示すフローチャート。9 is a flowchart illustrating an example of a processing operation executed by a query table update unit. クエリ表更新部で実行される既存のクエリアリルの更新処理(S210の詳細)を説明するフローチャート。9 is a flowchart for explaining an existing query allele update process (details of S210) executed by the query table update unit. 図8のクエリ表を更新した後のクエリ表を示す図。The figure which shows the query table after updating the query table of FIG. マッピング先探索部で実行される処理動作例を示すフローチャート。9 is a flowchart illustrating an example of a processing operation performed by a mapping destination search unit. 近傍に変異が無い領域におけるクエリ表の一例を示す図。The figure which shows an example of the query table in the area | region where there is no variation in the vicinity. マッピング先探索部で実行される一致領域喪失時の処理(S306の詳細)を説明するフローチャート。11 is a flowchart for explaining processing (details of S306) when a matching area is lost, which is executed by the mapping destination search unit. マッピング先探索部で実行される一致領域延長時の処理(S307の詳細)を説明するフローチャート。9 is a flowchart for explaining processing (details of S307) performed when a matching area is extended by a mapping destination search unit. 新規の一致領域の探索に用いられる処理部で実行される処理(S309の詳細)を説明するフローチャート。9 is a flowchart for explaining processing (details of S309) executed by a processing unit used for searching for a new matching area. クエリ表の可視化例を示す図。The figure which shows the example of visualization of a query table.

以下、図面に基づいて、本発明の実施形態を説明する。なお、本発明の実施形態は、後述する実施例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiments of the present invention are not limited to the examples described later, and various modifications are possible within the scope of the technical idea.

(1)基本的な考え方
旧ゲノム配列108へマッピングされた膨大なリード配列を、新ゲノム配列114へマッピングし直す処理を効率よく実行するためには、従来技術で用いるような、リード配列107を個別に再マッピングする処理(図1)を避けることが好ましい。この処理は、既知の情報を利用しないために非効率であり、非常に長い処理時間を必要とする。
(1) Basic Concept In order to efficiently execute the process of remapping a large amount of read sequences mapped to the old genome sequence 108 to the new genome sequence 114, the read sequence 107 used in the conventional technique must be used. It is preferable to avoid the individual remapping process (FIG. 1). This process is inefficient because it does not use known information and requires a very long processing time.

そこで、以下で説明する実施例では、まず、リード配列107に含まれる変異401を旧ゲノム配列108に適用して得られる配列(図2の例では、旧ゲノム配列108について破線で囲んだ領域)を新ゲノム配列114と比較することで、旧ゲノム配列108と新ゲノム配列114で対応する位置を明らかにする。図2の例では、類似する2つの領域のうち、新ゲノム配列114で右側の領域の方の類似度合いが高いため、こちらがマッピング先となる。次に、以下で説明する実施例は、旧ゲノム配列108にマッピングされていたリード配列107を、図3に示すように、新ゲノム配列114で対応する位置に一括して移動させることでマッピング効率を高める。   Therefore, in the embodiment described below, first, a sequence obtained by applying the mutation 401 contained in the read sequence 107 to the old genome sequence 108 (in the example of FIG. 2, the region surrounded by the broken line with respect to the old genome sequence 108) Is compared with the new genome sequence 114 to clarify the corresponding positions in the old genome sequence 108 and the new genome sequence 114. In the example of FIG. 2, of the two similar regions, the region on the right side in the new genome sequence 114 has a higher degree of similarity, and thus this region is the mapping destination. Next, in the embodiment described below, the read sequence 107 mapped to the old genome sequence 108 is collectively moved to the corresponding position in the new genome sequence 114 as shown in FIG. Enhance.

(2)用語
まず、本明細書で用いる用語の定義を説明する。
・「アルファベット」とは、解析対象文字列を構成する文字の集合である。DNA配列の場合、アルファベットは{A,C,G,T}である。
・「文字列」とは、アルファベットに含まれる文字を連結して得られる列である。例えば「ATTG」は文字列である。
・文字列sの長さを|s|と表記する。s=ATTGの場合、|s|=4である。
・文字列sのi番目の文字をs[i]と表記する。s=ATTGの場合、s[1]=Aである。本明細書では、先頭の文字は1番目とし、0番目としない。
・与えられた文字列の先頭から始まる部分文字列を、接頭辞(prefix)という。「ATTG」、「ATT」、「AT」、「A」は、文字列「ATTG」の接頭辞である。
・与えられた文字列の末尾で終わる部分文字列を、接尾辞(suffix)という。「ATTG」、「TTG」、「TG」、「G」は、文字列「ATTG」の接尾辞である。
・与えられた文字列sの各接尾辞を辞書順にならべたとき、それらの接尾辞が、文字列sにおいて何番目から始まっていたかを記録した整数配列を、接尾辞配列(Suffix Array:SA)という(“Gusfield,Algorithms on Strings, Trees and Sequences,Cambridge University Press,1997”参照)。s=ATTGの場合、接尾辞を辞書順にならべると、「ATTG」、「G」、「TG」、「TTG」であるから、接尾辞配列はSA=[1,4,3,2]となる。接尾辞配列SAのi番目の要素を、SA[i]と表記する。
・「LCP(Longest common prefix)」とは、2つの文字列を比較したとき、最も長い共通の接頭辞である。
・「LCP配列」とは、LCPの長さを、接尾辞配列で隣り合うすべての接尾辞について計算して得られる整数配列である。先ほどの接尾辞配列の例では、LCP配列は[0,0,1]となる。LCP配列の計算には、公知の方法(“Kasai et al., Proc. CPM pp.181-192, 2001”参照)を使用できる。
・与えられた文字列sの「Burrows‐Wheeler変換(BWT)」とは、|s|と同じ長さの文字列であって、i番目の文字がs[SA[i]−1]である文字列である(“Navarro&Makkinen,ACM Computing Surveys 39(1):Article No.2,2007”参照)。ただし、SA[i]=1の場合、BWTのi番目の文字は「$」とする。「$」は終端記号とよばれ、アルファベットに無い新しい文字である。
・「FM-index」とは、BWTを、元の文字列に含まれる任意の文字列を検索するための検索インデックスとして使えるように拡張したデータ構造である(“Ferragina&Manzini Proc.FOCS pp.390-398,2000”参照)。
・「ビットベクトル」とは、0と1を並べて得られる数列である。例えば「0100110」はビットベクトルである。
・「関数rank(S,a,i)」は、文字列又はビットベクトルSにおいて、i番目までにaが出現する回数を返す。例えば、rank(ATTG,T,3)=2である。
・「関数select(S,a,i)」は、文字列またはビットベクトルSにおいて、先頭からi個目のaが出現する位置を返す。例えば、select(ATTG,T,2)=3である。
・ビットベクトルの「辞書(dictionary)」とは、ビットベクトルに対して、rank関数及びselect関数を高速計算するためのデータ構造である(“Navarro&Makkinen,ACM Computing Surveys 39(1):Article No.2,2007”参照)。
・「変異」とは、個体差等に由来するDNA配列の違いである。
・「アリル」とは、変異によって発生する異なるDNA配列である。例えばゲノム配列の、ある変異の位置で、旧ゲノム配列のアリルはAに、リード配列のアリルはTとなる場合がある。
(2) Terms First, definitions of terms used in this specification will be described.
-"Alphabet" is a set of characters constituting a character string to be analyzed. For DNA sequences, the alphabet is {A, C, G, T}.
"Character string" is a string obtained by connecting characters included in the alphabet. For example, "ATTG" is a character string.
-The length of the character string s is expressed as | s |. When s = ATTG, | s | = 4.
-The i-th character of the character string s is described as s [i]. When s = ATTG, s [1] = A. In this specification, the first character is the first character and not the zeroth character.
-A partial character string starting from the beginning of a given character string is called a prefix. “ATTG”, “ATT”, “AT”, “A” are prefixes of the character string “ATTG”.
A substring that ends at the end of a given string is called a suffix. “ATTG”, “TTG”, “TG”, and “G” are suffixes of the character string “ATTG”.
When the suffixes of the given character string s are arranged in dictionary order, an integer array that records the order in which the suffixes start in the character string s is defined as a suffix array (Suffix Array: SA). (See "Gusfield, Algorithms on Strings, Trees and Sequences, Cambridge University Press, 1997"). In the case of s = ATTG, if the suffixes are arranged in dictionary order, they are "ATTG", "G", "TG", and "TTG". Therefore, the suffix array is SA = [1, 4, 3, 2]. . The i-th element of the suffix array SA is denoted as SA [i].
"LCP (Longest common prefix)" is the longest common prefix when two character strings are compared.
The “LCP array” is an integer array obtained by calculating the length of the LCP for all suffixes adjacent in the suffix array. In the above example of the suffix array, the LCP array is [0, 0, 1]. For the calculation of the LCP sequence, a known method (see “Kasai et al., Proc. CPM pp. 181-192, 2001”) can be used.
The "Burrows-Wheeler transform (BWT)" of the given character string s is a character string having the same length as | s |, and the ith character is s [SA [i] -1]. It is a character string (see “Navarro & Makkinen, ACM Computing Surveys 39 (1): Article No. 2, 2007”). However, when SA [i] = 1, the i-th character of the BWT is “$”. "@" Is a new character that is not in the alphabet, called terminal symbol.
"FM-index" is a data structure obtained by extending BWT so that it can be used as a search index for searching for an arbitrary character string included in the original character string ("Ferragina & Manzini Proc.FOCS pp.390- 398,2000 ").
"Bit vector" is a sequence obtained by arranging 0s and 1s. For example, “0100110” is a bit vector.
"Function rank (S, a, i)" returns the number of times a appears up to the i-th character string or bit vector S. For example, rank (ATTG, T, 3) = 2.
"Function select (S, a, i)" returns the position where the i-th "a" appears from the beginning in the character string or bit vector S. For example, select (ATTG, T, 2) = 3.
The "dictionary" of a bit vector is a data structure for high-speed calculation of a rank function and a select function for a bit vector ("Navarro & Makkinen, ACM Computing Surveys 39 (1): Article No. 2 , 2007 ”).
"Mutation" is a difference in DNA sequence derived from individual differences or the like.
-"Allyls" are different DNA sequences that are generated by mutation. For example, at the position of a certain mutation in the genomic sequence, the allele of the old genomic sequence may be A and the allele of the read sequence may be T.

(3)実施例1
続いて、旧ゲノム配列108に対するマッピング結果を使用して、リード配列107を新ゲノム配列114に効率よくマッピングするための仕組みを説明する。
(3) Example 1
Next, a mechanism for efficiently mapping the read sequence 107 to the new genome sequence 114 using the mapping result for the old genome sequence 108 will be described.

(3−1)実施例の前提条件
説明を簡単にするために、実施例1では、以下の仮定を採用する。まず、実施例1では、新ゲノム配列114が1本の文字列であると仮定する。複数の染色体を扱う場合、この仮定は成り立たないが、例えばアルファベットに新しい文字「#」を加え、「#」を挟んで新ゲノム配列の複数の配列を連結して1本の文字列にするといった手法で、この制約を回避することができる。この手法は、接尾辞配列で複数の文字列を扱うときの一般的な手法である。
(3-1) Prerequisites of Embodiment For the sake of simplicity, the following assumption is adopted in Embodiment 1. First, in Example 1, it is assumed that the new genome sequence 114 is one character string. When dealing with multiple chromosomes, this assumption does not hold, but for example, adding a new character "#" to the alphabet and concatenating multiple sequences of the new genome sequence across "#" into one character string In a way, this constraint can be avoided. This method is a general method when handling a plurality of character strings in a suffix array.

また、処理中に検出される変異は、1塩基変異であると仮定する。なお、複数塩基の変異を処理する場合には、1塩基変異が連続して複数存在するものとして処理すればよい。   It is also assumed that the mutation detected during processing is a single base mutation. In the case of treating a mutation of a plurality of bases, the treatment may be performed assuming that a plurality of single base mutations are present continuously.

一般に、リード配列107を参照ゲノム配列にアラインメントする処理は、参照ゲノム配列上で、リード配列107のマッピング先となり得る位置(以下「シード(seed)」という。)を計算する処理と、その後、シード(seed)周辺の文字列がリード配列107と一致しているかを若干の配列の差異を許容しつつ比較し、マッピング可能か否かを判定する(以下「extension」という。)処理との2段階で構成される。   Generally, the process of aligning the read sequence 107 with the reference genomic sequence includes a process of calculating a position on the reference genomic sequence to which the read sequence 107 can be mapped (hereinafter, referred to as a “seed”), and thereafter, a process of calculating the seed. (Seed) A comparison is made between whether the surrounding character string matches the read sequence 107 while allowing a slight sequence difference, and it is determined whether mapping is possible (hereinafter referred to as "extension"). It consists of.

以下の実施例では、マッピングにおいてシード(seed)を計算するための処理手順を提供する。Extension処理は、例えば“Smith‐Waterman法(Smith&Waterman,journal of Molecular Biology 147:195-197,1981)”のような公知の方法を利用できる。   In the following embodiment, a procedure for calculating a seed in mapping is provided. A known method such as “Smith-Waterman method (Smith & Waterman, journal of Molecular Biology 147: 195-197, 1981)” can be used for the extension process.

解析処理の開始に先立ち、2つのパラメータが与えられるものとする。第1のパラメータLは、リード配列107の長さである。リード配列107の長さは、初期の次世代シーケンサでは30塩基前後であったが、近年は200塩基を超える場合もある。処理対象となるデータのリード配列長に一致するよう、Lを設定する。第2のパラメータは、マッピング先の候補を探す際に要求する、完全一致の長さK(1以上の自然数)である。例えばL=100塩基の場合、5%までのエラーを許すとすれば、少なくとも1箇所は15塩基の完全一致が存在するから、K=15としてK塩基以上の長さの全ての完全一致を発見すれば、5%までエラーを許してマッピング可能な箇所を、網羅的に列挙することができる。   Prior to the start of the analysis process, two parameters are given. The first parameter L is the length of the read array 107. The length of the read sequence 107 was about 30 bases in the early next-generation sequencer, but in recent years may exceed 200 bases. L is set so as to match the read array length of the data to be processed. The second parameter is the length K (a natural number of 1 or more) of a perfect match required when searching for a mapping destination candidate. For example, in the case of L = 100 bases, if an error of up to 5% is allowed, at least one place has a perfect match of 15 bases, so that K = 15 and all perfect matches having a length of K bases or more are found. If so, it is possible to exhaustively enumerate the locations that can be mapped with an error of up to 5%.

以下の説明では、リード配列107には、リード配列107を旧ゲノム配列108にマッピングした結果も含まれているものとする。さらに、本明細書では、配列と文字列という2つの言葉を、特に区別せずに用いる。同様に、塩基と文字という2つの言葉も、区別せずに用いる。   In the following description, it is assumed that the read sequence 107 includes the result of mapping the read sequence 107 to the old genome sequence 108. Furthermore, in this specification, the two terms array and character string are used without distinction. Similarly, the two words base and letter are used interchangeably.

(3−2)システム構成
図4に、本実施例に係るDNA配列解析装置100と、当該装置を用いて構成されるDNA配列解析システム115の構成例を示す。DNA配列解析装置100は、CPU(Central Processing Unit)101、主記憶装置(メモリ)102、補助記憶装置103で構成され、必要に応じてリムーバブルメディア104を使用する。
(3-2) System Configuration FIG. 4 shows a configuration example of a DNA sequence analysis apparatus 100 according to the present embodiment and a DNA sequence analysis system 115 configured using the apparatus. The DNA sequence analyzer 100 includes a CPU (Central Processing Unit) 101, a main storage device (memory) 102, and an auxiliary storage device 103, and uses a removable medium 104 as necessary.

主記憶装置102は、CPU101によって実行される各種のプログラムと、これらのプログラムをCPU101で実行するために必要となる各種のデータが保持されるRAM(Random Access Memory)等のメモリである。主記憶装置102には、リード配列(1) 107−1、旧ゲノム配列(1) 108−1、新ゲノムに基づき構築する新ゲノムインデックス(1) 109−1、クエリ表110が記憶される。また、主記憶装置102には、CPU101で実行させるプログラムも格納される。当該プログラムの実行を通じ、後述する新ゲノムインデックス構築部111、クエリ表更新部112、マッピング先探索部113の各機能が提供される。   The main storage device 102 is a memory such as a RAM (Random Access Memory) in which various programs executed by the CPU 101 and various data necessary for executing the programs by the CPU 101 are stored. The main storage device 102 stores a read sequence (1) 107-1, an old genome sequence (1) 108-1, a new genome index (1) 109-1 constructed based on a new genome, and a query table 110. The main storage device 102 also stores programs to be executed by the CPU 101. Through the execution of the program, the functions of a new genome index constructing unit 111, a query table updating unit 112, and a mapping destination searching unit 113, which will be described later, are provided.

補助記憶装置103は、HDD(Hard Disk Drive)等の記憶装置であり、リード配列(2) 107−2、旧ゲノム配列(2) 108−2、新ゲノムインデックス(2) 109−2等が記録される。補助記憶装置103には、更に、新ゲノム配列(1) 114−1を記録してもよい。リムーバブルメディア104は、DNA配列解析装置100に対して着脱可能なCD、DVD等の記憶媒体であり、リード配列(3) 107−3、旧ゲノム配列(3) 108−3、新ゲノムインデックス(3) 109−3、新ゲノム配列(2) 114−2等が記録される。   The auxiliary storage device 103 is a storage device such as an HDD (Hard Disk Drive), and records a read sequence (2) 107-2, an old genome sequence (2) 108-2, a new genome index (2) 109-2, and the like. Is done. The auxiliary storage device 103 may further record the new genome sequence (1) 114-1. The removable medium 104 is a storage medium such as a CD and a DVD that can be attached to and detached from the DNA sequence analyzer 100, and includes a read sequence (3) 107-3, an old genome sequence (3) 108-3, and a new genome index (3 ) 109-3, new genome sequence (2) 114-2, etc. are recorded.

DNA配列解析装置100には、ユーザインタフェース部106を接続してもよく、LAN(Local Area Network)等のネットワーク105を介してストレージ装置を接続してもよい。ここで、ネットワーク105は、LAN(Local Area Network)やインターネットでもかなわない。また、ネットワーク105は、有線接続に限る必要は無く、無線接続であってもよい。ユーザインタフェース部106は、ユーザインタフェースを提供する入出力装置であり、例えばキーボード、マウス、ディスプレイ等で構成される。ユーザインタフェース部106は、DNA配列解析装置100と一体でもよい。   The DNA sequence analyzer 100 may be connected to a user interface unit 106, or may be connected to a storage device via a network 105 such as a LAN (Local Area Network). Here, the network 105 is incompatible with a LAN (Local Area Network) or the Internet. The network 105 does not need to be limited to a wired connection but may be a wireless connection. The user interface unit 106 is an input / output device that provides a user interface, and includes, for example, a keyboard, a mouse, and a display. The user interface unit 106 may be integrated with the DNA sequence analyzer 100.

また、ネットワーク105を介して接続されるストレージ装置には、リード配列(4) 107−4、旧ゲノム配列(4) 108−4、新ゲノムインデックス(4) 109−4、新ゲノム配列(3) 114−3を記録することができる。本実施例では、DNA配列解析装置100に対してユーザインタフェース部106とこれらのストレージ装置を接続した構成をDNA配列解析システム115と呼ぶ。しかし、この区分は固定的なものではなく、例えばプログラムの一部を、ネットワーク105を介して接続された他のコンピュータと連携して実行するものをDNA配列解析システムと呼んでもよい。また、ユーザ側には、ユーザインタフェース部106だけが存在し、ネットワークを通じて接続されたサーバ側で実行される処理の結果を確認する仕組みを採用してもよい。DNA解析装置100とDNA解析システム115の区別は便宜的なもので、装置構成は同じでも良い。   The storage devices connected via the network 105 include a read sequence (4) 107-4, an old genome sequence (4) 108-4, a new genome index (4) 109-4, and a new genome sequence (3). 114-3 can be recorded. In this embodiment, a configuration in which the user interface unit 106 and these storage devices are connected to the DNA sequence analysis device 100 is referred to as a DNA sequence analysis system 115. However, this division is not fixed, and for example, a system that executes a part of a program in cooperation with another computer connected via the network 105 may be referred to as a DNA sequence analysis system. Further, the user may have only the user interface unit 106 and employ a mechanism for confirming the result of processing executed on the server connected via the network. The distinction between the DNA analysis device 100 and the DNA analysis system 115 is for convenience, and the device configuration may be the same.

図4では、同じ種類のデータでも、データの格納先に応じて、各データを表す記号(1)〜(4)を付しているが、格納先が関係しない説明では、代表してリード配列107、旧ゲノム配列108、新ゲノムインデックス109、新ゲノム配列114と表記する。   In FIG. 4, symbols (1) to (4) representing respective data are given according to the storage destination of the data even for the same type of data. 107, an old genome sequence 108, a new genome index 109, and a new genome sequence 114.

これらのデータは、例えばCPU101で読み書きする場合に、必要に応じて主記憶装置102に格納してもよいし、DNA配列解析装置100の電源を切る場合又は主記憶装置102の空き容量が無くなった場合に、主記憶装置102から他の記憶メディアや記憶装置(ストレージ装置を含む。)にコピーしてもよい。また、解析開始前に、不図示の他の装置からリムーバブルメディア104や外部のストレージ装置にデータを格納し、当該格納されたデータを、DNA配列解析装置100の起動時や解析開始時に、DNA配列解析装置100内の主記憶装置102又は補助記憶装置103にコピーしてもよい。   These data may be stored in the main storage device 102 as necessary, for example, when reading and writing by the CPU 101, or when the power of the DNA sequence analysis device 100 is turned off or the free space of the main storage device 102 is exhausted. In this case, the data may be copied from the main storage device 102 to another storage medium or storage device (including a storage device). Before the analysis is started, data is stored in a removable medium 104 or an external storage device from another device (not shown), and the stored data is stored in the DNA sequence analysis device 100 when the DNA sequence analysis device 100 is started or analysis is started. The data may be copied to the main storage device 102 or the auxiliary storage device 103 in the analyzer 100.

(3−3)処理動作
以下では、図5及び図6を使用して、DNA配列解析装置100で実行される処理動作を説明する。図5は、新ゲノム配列114に対するリード配列107のマッピング先候補が出力されるまでの処理の概要を示している。図6は、各処理部の協調動作を説明するための処理シーケンスである。これらの図面を参照しつつ、個々の処理を説明する。
(3-3) Processing Operation Hereinafter, a processing operation performed by the DNA sequence analyzer 100 will be described with reference to FIGS. 5 and 6. FIG. 5 shows an outline of processing until a candidate for mapping the read sequence 107 to the new genome sequence 114 is output. FIG. 6 is a processing sequence for explaining the cooperative operation of each processing unit. The individual processes will be described with reference to these drawings.

(3−3−1)新ゲノムインデックス構築部111の処理
新ゲノムインデックス構築部111は、新ゲノム配列114に含まれる任意の部分配列の探索を容易にするための検索インデックス(すなわち、新ゲノムインデックス109)を構築する処理部である。新ゲノムインデックス109は、2つのデータで構成される。一つは、一般的な文字列検索用インデックスであるFM-indexである。残る一つは、LCP配列に基づくビットベクトルであり、旧ゲノムインデックスと新ゲノムインデックス109の一致箇所を漏れなく探索するためのデータである。
(3-3-1) Processing of the New Genome Index Construction Unit 111 The new genome index construction unit 111 searches for a search index (ie, a new genome index) for facilitating the search for an arbitrary partial sequence included in the new genome sequence 114. 109). The new genome index 109 is composed of two data. One is FM-index, which is a general character string search index. The remaining one is a bit vector based on the LCP sequence, and is data for completely searching for a match between the old genome index and the new genome index 109.

図7に、新ゲノムインデックス構築部111で実行される処理動作を示す。まず、新ゲノムインデックス構築部111は、新ゲノム配列114に対し、FM-indexを構築する(S101)。次に、新ゲノムインデックス構築部111は、新ゲノム配列114に対し、LCP配列を計算する(S102)。その後、新ゲノムインデックス構築部111は、S102で計算したLCP配列と同じ長さのビットベクトルBを構築する(S103)。ここで、Bのi番目の数値は、LCP配列のi番目にK以上の数値が書かれている場合には「1」、そうでない場合には「0」とする。続いて、新ゲノムインデックス構築部111は、ビットベクトルBに対し、rank及びselectを高速に計算するための辞書を構築する(S104)。 FIG. 7 shows a processing operation executed by the new genome index construction unit 111. First, the new genome index construction unit 111 constructs an FM-index for the new genome sequence 114 (S101). Next, the new genome index construction unit 111 calculates an LCP sequence for the new genome sequence 114 (S102). Thereafter, the new genome index construction unit 111 constructs a bit vector BL having the same length as the LCP array calculated in S102 (S103). Here, the i-th numerical value of B L is “1” when a numerical value equal to or more than K is written at the i-th value of the LCP array, and is “0” otherwise. Subsequently, the new genome index constructing unit 111 constructs a dictionary for calculating rank and select at high speed with respect to the bit vector BL (S104).

(3−3−2)クエリ表更新部112の処理
新ゲノムインデックス構築部111によって辞書が構築されると、クエリ表更新部112の処理が開始される。クエリ表更新部112は、旧ゲノム配列108を1塩基ずつ読み、変異位置をクエリ表110に記録する処理を実行する。ここでのクエリ表110の更新(準備)により、旧ゲノム配列108の同一箇所にマッピングされている複数のリード配列107を、一括して新ゲノム配列114にマッピングすることが可能となり、マッピング効率が格段に向上される。
(3-3-2) Process of Query Table Update Unit 112 When the new genome index constructing unit 111 constructs a dictionary, the process of the query table update unit 112 starts. The query table updating unit 112 executes a process of reading the old genome sequence 108 one base at a time and recording a mutation position in the query table 110. By updating (preparing) the query table 110 here, a plurality of read sequences 107 mapped to the same location of the old genome sequence 108 can be collectively mapped to the new genome sequence 114, and the mapping efficiency is improved. It is greatly improved.

ただし、リード配列107は、マッピングされた箇所の旧ゲノム配列108と必ずしも完全に一致するわけではなく、変異により違いが生じている場合がある。そこで、本実施例では、リード配列107がマッピングされた箇所の旧ゲノム配列108そのものではなく、リード配列107に含まれる変異のアリルを旧ゲノム配列108に反映させて構築した配列を探索に使用する手法を採用する。この手法を実現すべく、クエリ表更新部112は、リード配列107から発見された変異をクエリ表110に記録し、旧ゲノム配列108に反映させる変異の情報を管理する。   However, the read sequence 107 does not always completely match the mapped old genome sequence 108, and a difference may occur due to mutation. Therefore, in the present embodiment, a sequence constructed by reflecting the allele of the mutation contained in the read sequence 107 in the old genome sequence 108, instead of the old genome sequence 108 itself where the read sequence 107 is mapped, is used for the search. Adopt the method. In order to realize this method, the query table updating unit 112 records the mutation found in the read sequence 107 in the query table 110, and manages information on the mutation to be reflected in the old genome sequence 108.

クエリ表更新部112は、クエリ表110の構築時(初期状態)と探索時に、クエリ表110を更新するために使用される。図8に、クエリ表110の一例を示す。なお、図8は、クエリ表110のデータそのものではなく、説明のために表形式で表したものである。クエリ表には、旧ゲノム配列108上での処理位置からL塩基以内に存在する変異のアリルの組合せを格納する。この組合せを、以下ではクエリアリル1101と呼ぶ。また、クエリアリル1101を反映して旧ゲノム配列108を修正した配列を、クエリ配列と呼ぶ。個々のクエリアリル1101について、各クエリアリル1101に対応するクエリ配列の長さ(列1102)、そのクエリ配列が新ゲノムインデックスに存在する範囲(列1103)、個々の変異位置でのアリルを列1104に記録する。個々の変異位置について、リード配列107に出現するアリルの一覧1105を記録してもよい。   The query table updating unit 112 is used to update the query table 110 when the query table 110 is constructed (initial state) and when searching. FIG. 8 shows an example of the query table 110. FIG. 8 illustrates not the data of the query table 110 itself but a table format for explanation. The query table stores combinations of alleles of mutations existing within L bases from the processing position on the old genome sequence 108. This combination is hereinafter referred to as query allele 1101. A sequence obtained by modifying the old genome sequence 108 by reflecting the query allele 1101 is called a query sequence. For each query allele 1101, the length of the query sequence corresponding to each query allele 1101 (column 1102), the range in which the query sequence exists in the new genome index (column 1103), and the allele at each mutation position are recorded in column 1104. I do. A list 1105 of alleles appearing in the read sequence 107 may be recorded for each mutation position.

図9に、クエリ表更新部112で実行される処理動作を示す。ここで、クエリ表更新部112は、マッピング先探索部113の処理位置(旧ゲノム配列108上)の近傍にマッピングされているリード配列107の変異がクエリ表110に記録されるようにクエリ表110を適宜更新する。   FIG. 9 shows a processing operation executed by the query table update unit 112. Here, the query table updating unit 112 updates the query table 110 so that the mutation of the read sequence 107 mapped near the processing position (on the old genome sequence 108) of the mapping destination searching unit 113 is recorded in the query table 110. Is updated as appropriate.

まず、クエリ表更新部112は、近傍から離れた変異を除去する(S201〜S203)。具体的には、S201において、クエリ表更新部112は、クエリ表110に、処理中の位置からL(1以上の自然数)塩基以上離れた位置に変異があるか否かを判定する。そのような変異がある場合、クエリ表更新部112はS202に進み、その変異を記録した列をクエリ表110から削除する。次に、クエリ表更新部112はS203に進み、クエリアリル1101が同じものを統合する。この際、クエリ表更新部112は、クエリ表110に記録されている個々のクエリアリル1101を比較し、同じアリルの組合せで構成されるクエリアリル1101で長さの値が同一のものが存在する場合、それらのうち1つのクエリアリル1101のみを残し、他のクエリアリル1101を消去する。   First, the query table updating unit 112 removes a mutation that is far from the vicinity (S201 to S203). Specifically, in S201, the query table updating unit 112 determines whether or not the query table 110 has a mutation at a position that is at least L (a natural number equal to or greater than 1) bases from the position being processed. If there is such a mutation, the query table update unit 112 proceeds to S202, and deletes the column in which the mutation is recorded from the query table 110. Next, the query table updating unit 112 proceeds to S203, and integrates the same query allele 1101. At this time, the query table updating unit 112 compares the individual query alleles 1101 recorded in the query table 110, and when there is a query allele 1101 composed of the same combination of alleles having the same length value, Only one query allele 1101 is left, and the other query allele 1101 is deleted.

続いて、クエリ表更新部112は、新しく発見された変異をクエリ表110に追加する(S204〜S205)。具体的には、S204において、クエリ表更新部112は、クエリ表110の新しい列を追加する。また、S205において、クエリ表更新部112は、変異があると判定された旧ゲノム配列108上の位置を表す番号に対応付けるように、旧ゲノム配列108及びリード配列107の各アリルを記録する。   Subsequently, the query table updating unit 112 adds the newly discovered mutation to the query table 110 (S204 to S205). Specifically, in S204, the query table update unit 112 adds a new column of the query table 110. In S205, the query table updating unit 112 records each allele of the old genome sequence 108 and the read sequence 107 so as to be associated with a number indicating the position on the old genome sequence 108 determined to have a mutation.

これらの処理が終了すると、クエリ表更新部112は、処理前のクエリ表110が空だった場合には、クエリアリルを追加する処理(S208〜S209)を実行し、空でなかった場合には、クエリアリルを更新する処理(S208、S210)を実行する。具体的には、S208において、クエリ表更新部112は、クエリアリル1101がクエリ表110に1つ以上既に存在しているか否かを判定する。   When these processes are completed, the query table updating unit 112 executes a process (S208 to S209) for adding a query allele when the query table 110 before the process is empty, and when the query table 110 is not empty, The processing of updating the query allele (S208, S210) is executed. Specifically, in S208, the query table updating unit 112 determines whether one or more query alleles 1101 already exist in the query table 110.

存在しない場合(S209において)、クエリ表更新部112は、発見された変異でリード配列107のアリルを持つ新たなクエリアリル1101をクエリ表110に追加する。ただし、処理中の位置に変異が無い場合には、図13に例示するように、対応する変異がない行を、クエリアリルの代わりに追加する。ここで、クエリ表の「新ゲノムインデックスの範囲」は全範囲([1、新ゲノム配列長])、「長さ」は1とする。一方、S208で既存のクエリアリル1101が存在すると判定された場合(S210において)、クエリ表更新部112は、既存の各クエリアリル1101の更新処理(図10)を実行する。   If not present (in S209), the query table updating unit 112 adds a new query allele 1101 having the allele of the read sequence 107 due to the found mutation to the query table 110. However, when there is no mutation at the position being processed, as shown in FIG. 13, a row having no corresponding mutation is added instead of the query allele. Here, the “range of the new genome index” in the query table is the entire range ([1, new genome sequence length]), and the “length” is 1. On the other hand, when it is determined in S208 that the existing query allele 1101 exists (in S210), the query table update unit 112 executes an update process (FIG. 10) of each existing query allele 1101.

図10に、S210で実行される更新処理の詳細動作を示す。まず、クエリ表更新部112は、既存のクエリアリル1101の全てを順番に処理対象とする(S2101、S2109)。具体的には、S2101において、クエリ表更新部112は、クエリ表110から未処理のクエリアリル1101を1つ選択する。なお、S2109において、クエリ表更新部112は、未処理のクエリアリル1101が残っているか否かを判定し、残っている場合にはS2101に戻る。このループ処理により、全てのクエリアリル1101について、1つずつ、後述するS2102〜S2108の処理が繰り返される。   FIG. 10 shows a detailed operation of the update process executed in S210. First, the query table updating unit 112 sequentially processes all of the existing query alleles 1101 (S2101, S2109). Specifically, in S2101, the query table update unit 112 selects one unprocessed query allele 1101 from the query table 110. In step S2109, the query table update unit 112 determines whether an unprocessed query allele 1101 remains, and returns to step S2101 if it remains. By this loop processing, the processing of S2102 to S2108 described later is repeated for each query allele 1101 one by one.

次に、クエリ表更新部112は、新しく追加した変異のアリルの全てを順番に処理対象とする(S2102、S2105)。具体的には、S2102において、クエリ表更新部112は、新しい変異のアリルから未処理のアリルを1つ選択する。また、S2105において、クエリ表更新部112は、新しい変異のアリルのうち未処理のものが残っているか否かを判定し、残っている場合にはS2102に戻る。このループ処理により、全ての新しい変異のアリルについて、1つずつ、後述するS2103〜S2104の処理が繰り返される。   Next, the query table updating unit 112 sequentially processes all the alleles of the newly added mutation (S2102, S2105). Specifically, in S2102, the query table update unit 112 selects one unprocessed allele from the allele of the new mutation. In S2105, the query table update unit 112 determines whether or not unprocessed alleles of the new mutation remain, and returns to S2102 if alleles remain. By this loop processing, the processing of S2103 to S2104 described later is repeated for all new mutation alleles one by one.

続いて、クエリ表更新部112は、新しい変異のアリルと既存のクエリアリル1101の両方を含むリード配列107があるか否かを判定する(S2103)。そのようなリード配列が有る場合、クエリ表更新部112は、新しい変異のアリルと既存のクエリアリル1101とを組み合わせた新しいクエリアリル1101をクエリ表110に追加する(S2104)。一方、S2103において否定結果が得られた場合(新しく追加した変異のアリルのいずれも含むリード配列107が存在しない場合)、クエリ表更新部112は、S2104をスキップしてS2105に進む。   Subsequently, the query table updating unit 112 determines whether there is a read sequence 107 including both the new mutation allele and the existing query allele 1101 (S2103). When there is such a read sequence, the query table updating unit 112 adds a new query allele 1101 obtained by combining the new mutation allele and the existing query allele 1101 to the query table 110 (S2104). On the other hand, when a negative result is obtained in S2103 (when there is no read sequence 107 including any of the newly added alleles of the mutation), the query table update unit 112 skips S2104 and proceeds to S2105.

S2105で肯定結果が得られた場合、クエリ表更新部112は、処理中の既存のクエリアリル1101について、新しい変異のアリルのいずれかで、S2104の追加処理が行なわれなかったかを判定する(S2106)。ここで肯定結果が得られた場合、クエリ表更新部112は、それまでに見つかっていた一致領域を出力するために一致領域喪失時の処理を実行する(S2107)。一方、S2106で否定結果が得られた場合、又は、S2107の処理が終了した場合、クエリ表更新部112は、前述した処理の実行により不要となった既存のクエリアリル1101を削除する(S2108)。   When a positive result is obtained in S2105, the query table updating unit 112 determines whether the additional process of S2104 has not been performed on any of the new alleles of the existing query allele 1101 being processed (S2106). . Here, when a positive result is obtained, the query table updating unit 112 executes a process at the time of loss of the matching area to output the matching area found so far (S2107). On the other hand, when a negative result is obtained in S2106, or when the process of S2107 is completed, the query table updating unit 112 deletes the existing query allele 1101 that becomes unnecessary by performing the above-described process (S2108).

図11を参照して、クエリ表更新部112による更新処理によりクエリ表110がどのように変化するかを説明する。図11は、図8に示すクエリ表110を更新した後のクエリ表110である。図8は、旧ゲノム配列の「1104」番目の塩基を処理した後の状態、図11は「1103」番目の塩基を処理した後の状態を想定している。また、L=100、K=15と仮定する。   With reference to FIG. 11, how the query table 110 is changed by the update processing by the query table update unit 112 will be described. FIG. 11 shows the query table 110 after updating the query table 110 shown in FIG. FIG. 8 assumes the state after processing the “1104” base of the old genome sequence, and FIG. 11 assumes the state after processing the “1103” base. Also assume that L = 100 and K = 15.

図8に示すクエリ表110の場合、「1103」番目の位置からL=100塩基以上離れた塩基が無いので、S201〜S203で削除される列は無い。次に、旧ゲノム配列108の「1103」番目の位置に見つかった変異が、新たな列として図11のクエリ表110に追加される(S204〜S205)。さらに、クエリ表の更新処理(S208、S210)により、クエリ表110に書かれているクエリアリル1101を1つずつ更新する(S2101、S2109)。   In the case of the query table 110 shown in FIG. 8, there is no base that is at least L = 100 bases away from the “1103” -th position, and thus there is no column deleted in S201 to S203. Next, the mutation found at the “1103” th position of the old genome sequence 108 is added to the query table 110 of FIG. 11 as a new column (S204 to S205). Further, the query alleles 1101 written in the query table 110 are updated one by one by the query table update processing (S208, S210) (S2101, S2109).

まず、図8のクエリ表110におけるクエリアリル1101のうち最初の行に記載されているG、Aを処理する場合を考える。この例の場合、「1103」番目の位置に見つかった新しい変異がT又はCなので、これらを先頭に加えたクエリアリル1101には「T、G、A」と「C、G、A」の2つがある。これらのアリルの組合せがリード配列107に存在しないのなら、クエリ表110に記録して処理する必要がない。そこで、これらを含むリード配列107の有無を判定し(S2103)、「有る」場合に限ってクエリ表110に追加する(S2104)。図11では、「T、G、A」と「C、G、A」を含むリード配列107がいずれも存在していたと想定し、どちらもクエリ表110に追加されている。図8のクエリ表110に記載されていたクエリアリル1101のうちG、Aだけのクエリアリル1101はもう不要なので消去する(S2108)。   First, consider the case where G and A described in the first row of the query allele 1101 in the query table 110 in FIG. 8 are processed. In this example, since the new mutation found at the “1103” th position is T or C, two of “T, G, A” and “C, G, A” are included in the query allele 1101 with these added at the beginning. is there. If these allele combinations do not exist in the read sequence 107, there is no need to record them in the query table 110 and process them. Therefore, the presence or absence of the read sequence 107 including these is determined (S2103), and is added to the query table 110 only when “exist” is present (S2104). In FIG. 11, it is assumed that both the read sequences 107 including “T, G, A” and “C, G, A” exist, and both are added to the query table 110. The query alleles 1101 of only G and A among the query alleles 1101 described in the query table 110 of FIG. 8 are unnecessary and are deleted (S2108).

次に、図11のクエリ表110におけるクエリアリル1101のうち2つ目の行に記載されているC、Aを処理する場合を考える。「1103」番目の位置に見つかった新しい変異と組み合わせると、「T、C、A」と「C、C、A」の2通りが考えられる。しかし、これらはいずれもリード配列107に存在しないとS2103で判定され、図11には残っていない。その代わりS2106で、新しい変異と共存するリード配列がないと判定されて、一致領域喪失時の処理(S2107)が実行される。   Next, consider the case where C and A described in the second row of the query allele 1101 in the query table 110 of FIG. 11 are processed. When combined with the new mutation found at the "1103" position, there are two possibilities: "T, C, A" and "C, C, A". However, it is determined in S2103 that none of these exist in the read sequence 107, and they are not left in FIG. Instead, in S2106, it is determined that there is no read sequence coexisting with the new mutation, and the process at the time of loss of the matching region (S2107) is executed.

図11のクエリ表110におけるクエリアリル1101のうち3つ目の行に記載されているG、Tからは「C、G、T」のみ、4つ目の行に記載されているC、Tからは「T、C、T」のみがリード配列107に存在するので、図11に示すように、クエリ表110に追加される。図11のクエリ表110には、Cだけのクエリアリル1101とTだけのクエリアリル1101も追加されている。これは、後述のS3074(図15)において、長さK=15の接頭辞が新ゲノム配列上の新しい箇所と一致することが分かったために、追加されたものである。   In the query table 1101 of FIG. 11, only “C, G, T” from G and T described in the third row of the query allele 1101 is described from C and T described in the fourth row. Since only “T, C, T” exists in the read sequence 107, it is added to the query table 110 as shown in FIG. A query allele 1101 of only C and a query allele 1101 of only T are added to the query table 110 of FIG. This is added because it was found in S3074 (FIG. 15) described later that the prefix of length K = 15 coincides with a new location on the new genome sequence.

(3−3−3)マッピング先探索部113の処理
マッピング先探索部113は、クエリ表110に記載されている変異を旧ゲノム配列108に反映して得られた文字列が、新ゲノム配列114のどこに含まれるかを、新ゲノムインデックス109を用いて探索する。因みに、マッピング先探索部113は、旧ゲノム配列108の右端から左端へ1塩基ずつ処理を行ない、クエリ表110を参照しつつ、クエリ配列と同一の配列が新ゲノム配列114に存在する限り、クエリ配列を1塩基ずつ延長する。
(3-3-3) Processing of the Mapping Destination Searching Unit 113 The mapping destination searching unit 113 converts the character string obtained by reflecting the mutation described in the query table 110 into the old genome sequence 108 into the new genome sequence 114. Is searched using the new genome index 109. By the way, the mapping destination search unit 113 processes the bases one by one from the right end to the left end of the old genome sequence 108 and, while referring to the query table 110, as long as the same sequence as the query sequence exists in the new genome sequence 114, Extend the sequence one base at a time.

図12に、マッピング先探索部113で実行される処理動作を示す。まず、マッピング先探索部113は、初期化処理を実行する(S301)。具体的には、変数iを、旧ゲノム配列108の長さに等しい整数値に初期化する。次に、マッピング先探索部113は、クエリ表110の更新処理を実行する(S302)。具体的には、旧ゲノム配列108のi番目の位置について、クエリ表更新部112の処理を実行する。   FIG. 12 shows a processing operation executed by the mapping destination search unit 113. First, the mapping destination search unit 113 performs an initialization process (S301). Specifically, the variable i is initialized to an integer value equal to the length of the old genome sequence 108. Next, the mapping destination search unit 113 executes a process of updating the query table 110 (S302). Specifically, the processing of the query table updating unit 112 is executed for the i-th position of the old genome sequence 108.

マッピング先探索部113は、クエリ表110の各クエリアリル1101について、新ゲノム配列114の中で一致している箇所を1塩基ずつ延長する処理を実行する(S303〜S308)。具体的には、S303において、マッピング先探索部113は、クエリ表110に記録されているクエリアリル1101の中から未処理のクエリアリル1101を1つ選び、そのクエリアリル1101を用いて旧ゲノム配列108のi番目の塩基から始まる、クエリ表110の「長さ」の列1102に記録された長さの配列を修正することにより、クエリ配列を生成する。   For each query allele 1101 of the query table 110, the mapping destination search unit 113 executes a process of extending the matching position in the new genome sequence 114 by one base (S303 to S308). Specifically, in S303, the mapping destination search unit 113 selects one unprocessed query allele 1101 from among the query alleles 1101 recorded in the query table 110, and uses the query allele 1101 to generate i of the old genome sequence 108. A query sequence is generated by modifying the length sequence recorded in the “length” column 1102 of the query table 110, starting from the base number.

ただし、処理中の位置の近傍に変異がない場合には、図13に示すクエリ表110のように変異が無いことがある。その場合には、旧ゲノム配列108のi番目の塩基から始まる、クエリ表110の列1102に記録された「長さ」の配列を、そのままクエリ配列として使用する。本明細書ではこのような、変異がなく旧ゲノム配列108に一致するクエリ配列を表す行も、クエリアリル1101と同様に扱う。   However, when there is no mutation near the position being processed, there is a case where there is no mutation as in the query table 110 shown in FIG. In this case, the “length” sequence recorded in column 1102 of the query table 110, starting from the i-th base of the old genome sequence 108, is used as it is as the query sequence. In the present specification, such a row indicating a query sequence that has no mutation and matches the old genome sequence 108 is also treated in the same manner as the query allele 1101.

次に、S304において、マッピング先探索部113は、クエリアリル1101を含むクエリ配列であって、「長さ」の列1102に記録されている値に1を加えた長さのクエリ配列の先頭の文字をb、2文字目から始まる接尾辞をxとして、文字列bxが存在する新ゲノムインデックス109の範囲を計算する。この範囲は、LF−mapping(Navarro&Makkinen, ACM Computing Surveys 39(1):Article No.2,2007)を用いて、下記の通り計算できる。
beg(bx) =C[b]+rank(BWT,b,beg(x)-1)+1
end(bx) =C[b]+rank(BWT,b,end(x))
Next, in S304, the mapping destination search unit 113 searches the first character of the query sequence including the query allele 1101 and having a length obtained by adding 1 to the value recorded in the “length” column 1102. , And the suffix starting from the second character is x, and the range of the new genome index 109 where the character string bx exists is calculated. This range can be calculated as follows using LF-mapping (Navarro & Makkinen, ACM Computing Surveys 39 (1): Article No. 2, 2007).
beg (bx) = C [b] + rank (BWT, b, beg (x) -1) +1
end (bx) = C [b] + rank (BWT, b, end (x))

ただし、C[b]は、辞書順でbより小さな文字の新ゲノム配列での総数の和である。また、beg(x)とend(x)は、それぞれ、新ゲノムインデックス109の範囲(列1103)に記載されている開始位置と終了位置である。   Here, C [b] is the sum of the total number of characters smaller than b in the dictionary order in the new genome sequence. Beg (x) and end (x) are the start position and end position described in the range (column 1103) of the new genome index 109, respectively.

次のS305において、マッピング先探索部113は、計算結果がbeg(bx)>end(bx)となったか否か判定する。もし、beg(bx)>end(bx)であれば、LF−mappingの性質から、文字列bxが新ゲノム配列114に存在しないことが分かるので、この場合、マッピング先探索部113は、一致領域喪失時の処理を実行する(S306)。   In the next step S305, the mapping destination search unit 113 determines whether or not the calculation result is beg (bx)> end (bx). If beg (bx)> end (bx), it is known from the nature of LF-mapping that the character string bx does not exist in the new genome sequence 114. In this case, the mapping destination search unit 113 sets the matching region The process at the time of loss is executed (S306).

図14に、S306の詳細動作を示す。この処理において、マッピング先探索部113は、一致領域喪失直前まで延長されていた、クエリ配列と新ゲノム配列114の一致箇所のうち、必要なものを判別して出力する処理を実行する。まず、S3061において、マッピング先探索部113は、|x|≧Kか否かを判定する。|x|<Kであれば、何も出力しない。S3062において、マッピング先探索部113は、別のクエリアリル等を処理する際に、既に出力した範囲であるか否かを判定する。既に出力されている場合、マッピング先探索部113は、重複して出力はしない。S3063において、マッピング先探索部113は、「新ゲノムインデックスの範囲」のうち、i+1の値に対してまだ出力されていない範囲を、i+1での一致領域として出力する。   FIG. 14 shows the detailed operation of S306. In this process, the mapping destination search unit 113 executes a process of judging and outputting a necessary portion from the matching portion between the query sequence and the new genome sequence 114 which has been extended until immediately before the loss of the matching region. First, in S3061, the mapping destination searching unit 113 determines whether or not | x | ≧ K. If | x | <K, nothing is output. In S3062, the mapping destination search unit 113 determines whether or not the output range is already output when processing another query allele or the like. If the data has already been output, the mapping destination search unit 113 does not output the data again. In S3063, the mapping destination search unit 113 outputs a range that has not been output for the value of i + 1 among the “range of the new genome index” as a matching area for i + 1.

図12の説明に戻る。S305で、もしbeg(bx)≦end(bx)であった場合、LF−mappingの性質から、文字列bxが新ゲノム配列に存在することが分かるので、この場合、マッピング先探索部113は、一致領域延長時の処理を実行する(S307)。   Returning to the description of FIG. In step S305, if beg (bx) ≦ end (bx), the character string bx is found to exist in the new genome sequence from the property of LF-mapping. In this case, the mapping destination search unit 113 The process at the time of extension of the matching area is executed (S307).

図15に、S307の詳細動作を示す。この処理において、マッピング先探索部113は、おおよそ3つの処理を実行する。第1の処理は、クエリ表情報に記録されている各クエリアリルに対応するクエリ配列xを左に1文字延長して得られる文字列bxが、新ゲノム中に出現する範囲を更新する処理である(S3071)。第2の処理は、リード長Lに達した一致領域を、出力する処理である(S3072〜S3073)である。第3の処理は、クエリ配列bxを短くすることにより一致箇所を増やす処理であり(S3074〜S3076)、bxの長さKの接頭辞が一致する、新ゲノム配列114上の新たな箇所を計算する。長さK未満の一致は出力対象でないから処理不要であり、長さK+1以上の一致は既に探索済みの長さK以上の一致を延長することで処理できる。   FIG. 15 shows the detailed operation of S307. In this process, the mapping destination search unit 113 executes approximately three processes. The first process is a process of updating the range in which the character string bx obtained by extending the query sequence x corresponding to each query allele recorded in the query table information by one character to the left appears in the new genome. (S3071). The second process is a process of outputting a matching area that has reached the read length L (S3072 to S3073). The third process is a process of increasing the number of matching points by shortening the query sequence bx (S3074 to S3076), and calculating a new position on the new genome sequence 114 where the prefix of the length K of bx matches. I do. Since a match with a length less than K is not an output target, no processing is required, and a match with a length of K + 1 or more can be processed by extending a match having a length of K or more already searched.

ここで、S3071において、マッピング先探索部113は、処理対象とするクエリアリル1101の「新ゲノムインデックスの範囲」を(beg(bx),end(bx))で置き換える。また、マッピング先探索部113は、クエリアリル1101の「長さ」に1を加える。また、S3072において、マッピング先探索部113は、「長さ」がL以上となったか否かを判定する。   Here, in S3071, the mapping destination search unit 113 replaces “the range of the new genome index” of the query allele 1101 to be processed with (beg (bx), end (bx)). Further, the mapping destination search unit 113 adds 1 to the “length” of the query allele 1101. In step S3072, the mapping destination searching unit 113 determines whether the “length” has become L or more.

「長さ」がL以上となった場合、マッピング先探索部113はS3073に進み、旧ゲノム配列の位置iにマッピングされているリード配列があれば、i及び置き換え後の「新ゲノムインデックスの範囲」の出力のうち、同じiの値に対してまだ出力されていない範囲を出力するとともに、「長さ」をL−1に戻す。「長さ」がL未満であった場合又はS3073が実行された後、マッピング先探索部113はS3074に進み、bxの長さKの接頭辞yが、新ゲノム配列においてbxの接頭辞以外の箇所に存在するか否かを調べる。そのために、マッピング先探索部113は、ビットベクトルBを用いて、以下の2つの値beg(y)及びend(y)を計算する。
beg(y)=select(BL, 0, rank(BL, 0, beg(bx)-1))+1
end(y)=select(BL, 0, rank(BL, 0, end(bx)-1)+1)
If the “length” is equal to or greater than L, the mapping destination search unit 113 proceeds to S3073, and if there is a read sequence mapped at position i of the old genome sequence, i and “the range of the new genome index after replacement” , The range not yet output for the same value of i is output, and the "length" is returned to L-1. When the “length” is less than L or after S3073 has been executed, the mapping destination search unit 113 proceeds to S3074, where the prefix y of the length K of bx is other than the prefix y of bx in the new genome sequence. Check if it exists at the location. For this purpose, the mapping destination search unit 113 calculates the following two values beg (y) and end (y) using the bit vector BL .
beg (y) = select (B L , 0, rank (B L , 0, beg (bx) -1)) + 1
end (y) = select (B L , 0, rank (B L , 0, end (bx) -1) +1)

そして、beg(y)≠beg(bx)、又は、end(y)≠end(bx)が成立するか否か判断する。この条件が成立するなら、yが新ゲノム配列においてbxの接頭辞以外の箇所に存在すると判断する。なお上記の式で、beg(x)およびend(bx)から1を減算するのは、BWTのbeg(x)番目、end(x)番目の要素がBLのbeg(x)-1番目、end(x)-1番目の要素に対応するためである。 Then, it is determined whether or not beg (y) ≠ beg (bx) or end (y) ≠ end (bx) holds. If this condition is satisfied, it is determined that y exists at a position other than the bx prefix in the new genome sequence. In the above equation, subtracting 1 from beg (x) and end (bx) means that the bet (x) -th and end (x) -th elements of the BWT are the beg (x) -first of the BL , end (x) -1 to correspond to the first element.

S3075において、マッピング先探索部113は、S3074の条件が満たされるか否かを判定し、満たされる場合には、S3076に進み、クエリ表110に新しいクエリアリルの組合せを追加する。このクエリアリルは、前記クエリアリルでK塩基以内のアリルを全てコピーし、「新ゲノムインデックス上の範囲」は[beg(y),end(y)]、「長さ」をKとしたものである。なお、K塩基以内に変異がなければ、図13の例にあるような、変異がない行をクエリ表に追加する。S3074の条件が満たされない場合、マッピング先探索部113は、S307の処理を終了する。   In step S3075, the mapping destination search unit 113 determines whether the condition in step S3074 is satisfied. If the condition is satisfied, the process advances to step S3076 to add a new query allele combination to the query table 110. In this query allele, all the alleles within K bases are copied in the above query allele, the “range on the new genome index” is [beg (y), end (y)], and the “length” is K. If there is no mutation within K bases, a row having no mutation is added to the query table as in the example of FIG. If the condition of S3074 is not satisfied, the mapping destination search unit 113 ends the processing of S307.

図12の説明に戻る。以上の処理が終了すると、S308が実行される。S308において、マッピング先探索部113は、クエリ表110内に未処理のクエリアリル1101が残っているか否かを判定し、残っている場合には、前述したS303〜S308の処理を繰り返す。未処理のクエリアリル1101が残っていない場合、マッピング先検出部113は、S309として、既存の一致領域の延長ではない、新しい一致領域を探索する処理を実行する。   Returning to the description of FIG. When the above process ends, S308 is executed. In S308, the mapping destination search unit 113 determines whether or not the unprocessed query allele 1101 remains in the query table 110, and if it remains, repeats the processes of S303 to S308 described above. If no unprocessed query allele 1101 remains, the mapping destination detection unit 113 executes a process of searching for a new matching area, which is not an extension of the existing matching area, in S309.

図16に、S309の詳細動作を示す。この処理において、マッピング先探索部113は、既存のクエリアリル1101に無いアリルの組合せを検討し(S3091〜S3093、S3098)、旧ゲノム配列のK塩基の領域に反映させ(S3094)、新ゲノム配列114にK塩基以上一致する箇所を探索する(S3095)。なお、一致する箇所があった場合、マッピング先探索部113は、クエリ表110に加える(S3096〜S3097)。   FIG. 16 shows the detailed operation of S309. In this processing, the mapping destination search unit 113 examines combinations of alleles that are not present in the existing query allele 1101 (S3091 to S3093, S3098), reflects the combination in the K base region of the old genome sequence (S3094), and Is searched for K bases or more (S3095). If there is a matching part, the mapping destination search unit 113 adds it to the query table 110 (S3096 to S3097).

ここで、S3091において、マッピング先探索部113は、変数iが指し示す旧ゲノム配列108上の位置からK塩基以内にある全ての変異の、アリルの組合せを列挙する。なお、K塩基以内に変異が無い場合は、旧ゲノム配列と完全に一致するアリルが存在する場合と同様の処理を行う。次のS3092において、マッピング先探索部113は、S3091で列挙したアリルの組合せの中から1つを選択する。次のS3093において、マッピング先探索部113は、S3092で選択したアリルの組合せを含むリード配列があるか否かを判定する。無ければ、マッピング先探索部113は、S3098に移動し、アリルの次の組合せに進む。   Here, in S3091, the mapping destination searching unit 113 lists all combinations of all mutations within K bases from the position on the old genome sequence 108 indicated by the variable i. When there is no mutation within K bases, the same processing as when there is an allele completely matching the old genome sequence is performed. In the next step S3092, the mapping destination search unit 113 selects one of the combinations of alleles listed in step S3091. In the next step S3093, the mapping destination searching unit 113 determines whether or not there is a read sequence containing the combination of alleles selected in S3092. If not, the mapping destination search unit 113 moves to S3098 and proceeds to the next combination of alleles.

一方、S3093において肯定結果が得られた場合、マッピング先探索部113は、S3094に進み、変数iが指し示す旧ゲノム配列108上の位置からK塩基の旧ゲノム配列108に、選択したアリルの組合せを適用した配列を生成する。次のS3095において、マッピング先探索部113は、S3094の配列が、新ゲノム配列114に存在するか否かを、新ゲノムインデックス109を用いて判定する。   On the other hand, if a positive result is obtained in S3093, the mapping destination search unit 113 proceeds to S3094 and adds the selected allele combination to the K base old genome sequence 108 from the position on the old genome sequence 108 indicated by the variable i. Generate the applied array. In the next step S3095, the mapping destination search unit 113 determines whether or not the sequence in S3094 exists in the new genome sequence 114 using the new genome index 109.

存在しないと判定された場合(S3096で否定結果)、マッピング先探索部113は、S3098に移動し、アリルの次の組合せに進む。一方、存在すると判定された場合(S3096で肯定結果)、マッピング先探索部113は、S3097に移動し、S3092以降処理してきたアリルの組合せを、クエリ表にまだ無ければ、新たなクエリアリル1101としてクエリ表110に加える。なお、S3091でK塩基以内の変異が存在せず完全一致するアリルがあるものとして処理していた場合には、図13に例示するような変異がない行をクエリ表110に加える。そして、S3098において、マッピング先探索部113は、アリルの組合せで、未処理のものがまだあれば、S3092へ戻り、アリルの他の組合せを処理する。   If it is determined that the combination does not exist (No in S3096), the mapping destination search unit 113 moves to S3098 and proceeds to the next combination of alleles. On the other hand, if it is determined that the combination exists (Yes in S3096), the mapping destination search unit 113 moves to S3097, and if the combination of alleles processed after S3092 does not yet exist in the query table, queries as a new query allele 1101. Add to Table 110. If it is determined in S3091 that there is no mutation within K bases and that there is a completely identical allele, a row having no mutation as illustrated in FIG. 13 is added to the query table 110. Then, in S3098, if there is any unprocessed combination of alleles, the mapping destination search unit 113 returns to S3092 to process another combination of alleles.

図12の説明に戻る。前述の処理が終了すると、マッピング先探索部113は、旧ゲノム配列108の右端から左端へ1塩基ずつ移動する(S310〜S311)。具体的には、S310において、マッピング先探索部113は、変数iから1を減じる。また、S311において、マッピング先探索部113は、変数iの値が1以上であれば、S302に戻り、前述の処理を繰り返す。   Returning to the description of FIG. When the above-described processing is completed, the mapping destination search unit 113 moves one base at a time from the right end to the left end of the old genome sequence 108 (S310 to S311). Specifically, in S310, the mapping destination search unit 113 subtracts 1 from the variable i. Further, in S311, if the value of the variable i is 1 or more, the process returns to S302, and the above-described processing is repeated.

(3−4)効果
前述した処理の実行により、S3073において、旧ゲノム配列108にリード配列107に見られる変異を適用した長さL以内のあらゆる配列について、新ゲノム配列114において出現する位置を、網羅的に出力することができる。従って、本実施例によれば、旧ゲノム配列108の同一箇所にマッピングされていたリード配列107がマッピングされるべき新ゲノム配列114中の位置の候補を、一括して効率よく計算することができる。
(3-4) Effect By executing the above-described processing, in S3073, for any sequence within the length L obtained by applying the mutation found in the read sequence 107 to the old genome sequence 108, the position that appears in the new genome sequence 114 is It can output comprehensively. Therefore, according to the present embodiment, candidates for the position in the new genome sequence 114 to which the read sequence 107 mapped to the same position in the old genome sequence 108 is to be mapped can be efficiently calculated in a lump. .

(4)実施例2
マッピング結果の正当性を評価するためには、DNA解析装置100で重要な部分を占めるクエリ表110の内容を、ユーザが検査できることが望ましい。そこで、本実施例では、ユーザがクエリ表110の内容を確認するためのグラフィカルなインタフェースを提供する仕組みについて説明する。
(4) Example 2
In order to evaluate the validity of the mapping result, it is desirable that the user can inspect the contents of the query table 110 occupying an important part in the DNA analyzer 100. Therefore, in the present embodiment, a mechanism for providing a graphical interface for the user to check the contents of the query table 110 will be described.

図17に、インタフェース画面1700の例を示す。インタフェース画面1700は、ユーザインタフェース部106を構成するディスプレイ画面上に表示される。インタフェース画面1700は、クエリ表110の内容を表示する表示領域1701を有する。表示領域1701の下段には、クエリ表110に対応するクエリ配列の表示領域1710が表示される。   FIG. 17 shows an example of the interface screen 1700. The interface screen 1700 is displayed on a display screen constituting the user interface unit 106. The interface screen 1700 has a display area 1701 for displaying the contents of the query table 110. In the lower part of the display area 1701, a display area 1710 of a query sequence corresponding to the query table 110 is displayed.

表示領域1710には、旧ゲノム配列108を表す直線(横軸)1702に対して平行に、クエリ配列を表す直線1703が表示される。直線1703上には、クエリ表110の各変異の位置1704毎に、当該位置におけるクエリ配列のアリル1705が表示され、各クエリ配列に合致するリード配列107の本数1706(例えば「3×」は3本を示す。)が表示される。このインタフェース画面1700に表示すべき旧ゲノム配列108上の範囲は、例えば方向ボタン1707のようなインタフェースにより、ユーザが任意に選択できるものとする。クエリ表110は、近傍する(L未満の)領域内で生じた変異のアリルを記録したものである。すなわち、クエリ表110は、L以上離れた領域には無関係であるため、ユーザが観察したい領域のクエリ表を効率よく再構築できる。   In the display area 1710, a straight line 1703 representing a query sequence is displayed in parallel with a straight line (horizontal axis) 1702 representing the old genome sequence 108. On the straight line 1703, for each position 1704 of each mutation in the query table 110, the allele 1705 of the query sequence at that position is displayed, and the number 1706 of the read sequences 107 that match each query sequence (for example, “3 ×” is 3) This indicates a book.) Is displayed. The range on the old genome sequence 108 to be displayed on the interface screen 1700 can be arbitrarily selected by the user using an interface such as the direction button 1707, for example. The query table 110 records alleles of mutations occurring in the neighboring (less than L) region. That is, since the query table 110 is irrelevant to an area separated by L or more, the query table of the area that the user wants to observe can be efficiently reconstructed.

(5)他の実施例
以上の実施例は好ましい例を示したものであり、具体的構成に限定する趣旨ではない。以上の説明の要旨を逸脱しない範囲において種々変更可能である。例えば前述した実施例の全ての構成を必ずしも備える必要はない。また、ある実施例の一部を他の実施例の構成に置き換えることができる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の実施例の構成の一部を追加、削除又は置換することもできる。
(5) Other Embodiments The above embodiments show preferred examples, and are not intended to limit the present invention to a specific configuration. Various changes can be made without departing from the gist of the above description. For example, it is not always necessary to provide all the components of the above-described embodiment. Further, a part of one embodiment can be replaced with the configuration of another embodiment. Further, the configuration of one embodiment can be added to the configuration of another embodiment. Further, for a part of the configuration of each embodiment, a part of the configuration of another embodiment can be added, deleted, or replaced.

また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することにより(すなわちソフトウェア的に)実現しても良い。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記憶媒体に格納することができる。また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。   In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be partially or entirely realized by hardware, for example, by designing an integrated circuit. Further, each of the above-described configurations, functions, and the like may be realized by a processor interpreting and executing a program that realizes each function (that is, as software). Information such as a program, a table, and a file for realizing each function can be stored in a storage device such as a memory, a hard disk, an SSD (Solid State Drive), or a storage medium such as an IC card, an SD card, and a DVD. Further, the control lines and the information lines indicate those considered to be necessary for the description, and do not represent all the control lines and the information lines necessary for the product. In fact, it can be considered that almost all components are interconnected.

100…DNA配列解析装置
101…CPU
102…主記憶装置
103…補助記憶装置
104…リムーバブルメディア
105…ネットワーク
106…ユーザインタフェース部
107…リード配列及びその旧ゲノム配列へのマッピング結果
108…旧ゲノム配列
109…新ゲノムインデックス
110…クエリ表
111…新ゲノムインデックス構築部
112…クエリ表更新部
113…マッピング先探索部
114…新ゲノム配列
115…DNA配列解析システム
401…リード配列の変異
1101…クエリ表に格納されているクエリアリル
1102…各クエリアリルに対応するクエリ配列の長さ
1103…各クエリアリルに対応する新ゲノムインデックスでの範囲
1104…各クエリアリルに対応する各変異位置でのアリル
1105…各変異位置での、リード配列に見られるアリルの一覧
1701…クエリ表の内容を表示する表示領域
1702…旧ゲノム配列を表す直線
1703…クエリ配列を表す直線
1704…クエリ表の各変異の位置
1705…当該位置におけるクエリ配列のアリル
1706…各クエリ配列に合致するリード配列の本数
1707…表示すべき範囲を変更するための方向ボタン
100: DNA sequence analyzer 101: CPU
102 main storage device 103 auxiliary storage device 104 removable medium 105 network 106 user interface unit 107 mapping result of read sequence and its old genome sequence 108 old genome sequence 109 new genome index 110 query table 111 ... New genome index constructing unit 112 Query table updating unit 113 Mapping destination searching unit 114 New genome sequence 115 DNA sequence analysis system 401 Lead sequence mutation 1101 Query alleles 1102 stored in the query table 1102 Length 1103 of the corresponding query sequence ... Range in the new genome index corresponding to each query allele 1104 ... Allele at each mutation position corresponding to each query allele 1105 ... List of alleles found in the read sequence at each mutation position 17 Reference numeral 1 denotes a display area for displaying the contents of the query table 1702 ... a straight line 1703 representing the old genome sequence 1703 ... a straight line 1704 representing the query sequence 1705 of the position of each mutation in the query table 1705 ... alleles of the query sequence at the position 1706 ... Number of matching lead sequences 1707: Direction buttons for changing the range to be displayed

Claims (9)

旧ゲノム配列と呼ぶ第1のゲノム配列と、新ゲノム配列と呼ぶ第2のゲノム配列と、リード配列と呼ぶ多数のDNA配列と、前記リード配列を前記旧ゲノム配列にマッピングした結果を記憶する記憶装置と、
前記新ゲノム配列に存在する任意の文字列を探索するためのインデックスを構築する新ゲノムインデックス構築部と、
前記リード配列に存在する前記旧ゲノム配列に対する変異であって、前記旧ゲノム配列上での処理位置の近傍にある変異の組合せを記録したクエリ表と呼ぶデータ構造を、マッピングの前記結果に基づいて構築するクエリ表更新部と、
前記クエリ表に格納されている変異の組合せを前記旧ゲノム配列に適用して構築した配列を前記新ゲノム配列と比較し、前記構築した配列のうちK(1以上の自然数)塩基以上が前記新ゲノム配列と完全に一致する箇所を網羅的に出力するマッピング先探索部と
を有するDNA配列解析装置。
A storage for storing a first genomic sequence called an old genomic sequence, a second genomic sequence called a new genomic sequence, a large number of DNA sequences called a read sequence, and a result of mapping the read sequence to the old genomic sequence. Equipment and
A new genome index constructing unit that constructs an index for searching for any character string present in the new genome sequence,
A data structure called a query table that records a combination of mutations in the read sequence that is a mutation with respect to the old genome sequence and is located near the processing position on the old genome sequence, based on the result of the mapping. A query table update unit to be constructed,
A sequence constructed by applying the combination of mutations stored in the query table to the old genomic sequence is compared with the new genomic sequence, and K (1 or more natural number) bases or more in the constructed sequence are compared with the new genomic sequence. A DNA sequence analysis device comprising: a mapping destination search unit that comprehensively outputs a part that completely matches a genome sequence.
請求項1に記載のDNA配列解析装置において、
前記新ゲノムインデックス構築部は、
前記インデックスとして、
FM-indexと、
接尾辞配列において隣り合う数値に対応する接尾辞を比較したときに一致する最長の接頭辞の長さが前記Kを超える位置で1、それ以外の箇所で0となるビットベクトルと
を構築することを特徴とするDNA配列解析装置。
The DNA sequence analyzer according to claim 1,
The new genome index construction unit,
As the index,
FM-index,
When comparing the suffixes corresponding to the adjacent numbers in the suffix array, construct a bit vector in which the length of the longest prefix that matches is 1 at a position exceeding the K and 0 at other positions. A DNA sequence analyzer characterized by the above-mentioned.
請求項1に記載のDNA配列解析装置において、
前記クエリ表更新部は、
L(1以上の自然数)塩基以内の範囲の変異のアリルの組合せであって、前記リード配列と前記新ゲノム配列の両方に存在するアリルの組合せを前記クエリ表に格納する
ことを特徴とするDNA配列解析装置。
The DNA sequence analyzer according to claim 1,
The query table update unit,
A combination of allele combinations of mutations within L (one or more natural numbers) bases, wherein allele combinations present in both the read sequence and the new genome sequence are stored in the query table. Sequence analyzer.
請求項2に記載のDNA配列解析装置において、
前記マッピング先探索部は、
前記ビットベクトルを使用して、前記リード配列のアリルを前記旧ゲノム配列に反映させた配列が、前記新ゲノム配列とK塩基以上完全に一致する前記新ゲノム配列上の位置を探索する
ことを特徴とするDNA配列解析装置。
The DNA sequence analyzer according to claim 2,
The mapping destination search unit,
Using the bit vector, searching for a position on the new genomic sequence where the sequence reflecting the allele of the read sequence in the old genomic sequence and the new genomic sequence completely match at least K bases. DNA sequence analyzer.
旧ゲノム配列と呼ぶ第1のゲノム配列と、新ゲノム配列と呼ぶ第2のゲノム配列と、リード配列と呼ぶ多数のDNA配列と、前記リード配列を前記旧ゲノム配列にマッピングした結果を記憶する記憶装置と、
前記新ゲノム配列に存在する任意の文字列を探索するためのインデックスを構築する新ゲノムインデックス構築部と、
前記リード配列に存在する前記旧ゲノム配列に対する変異であって、前記旧ゲノム配列上での処理位置の近傍にある変異の組合せを記録したクエリ表と呼ぶデータ構造を、マッピングの前記結果に基づいて構築するクエリ表更新部と、
前記クエリ表に格納されている変異の組合せを前記旧ゲノム配列に適用して構築した配列を前記新ゲノム配列と比較し、前記構築した配列のうちK(1以上の自然数)塩基以上が前記新ゲノム配列と完全に一致する箇所を網羅的に出力するマッピング先探索部と、
前記リード配列に出現する変異の内容と位置を対応付けて表示する第1の領域と、前記変異の組合せと、対応するクエリ配列が前記新ゲノム配列上で存在する長さと、対応する前記クエリ配列が前記インデックスに存在する範囲を対応付けて表示する第2の領域とを含む確認画面を表示するユーザインタフェース部と
を有するDNA配列解析システム。
A storage for storing a first genomic sequence called an old genomic sequence, a second genomic sequence called a new genomic sequence, a large number of DNA sequences called a read sequence, and a result of mapping the read sequence to the old genomic sequence. Equipment and
A new genome index constructing unit that constructs an index for searching for any character string present in the new genome sequence,
A data structure called a query table that records a combination of mutations in the read sequence that is a mutation with respect to the old genome sequence and is located near the processing position on the old genome sequence, based on the result of the mapping. A query table update unit to be constructed,
A sequence constructed by applying the combination of mutations stored in the query table to the old genomic sequence is compared with the new genomic sequence, and K (1 or more natural number) bases or more in the constructed sequence are compared with the new genomic sequence. A mapping destination search unit that comprehensively outputs a part that completely matches the genome sequence,
A first region for displaying the content and position of the mutation appearing in the read sequence in association with each other, the combination of the mutation, the length of the corresponding query sequence on the new genome sequence, and the corresponding query sequence And a user interface unit for displaying a confirmation screen including a second area for displaying a range present in the index in association with the second area.
請求項5に記載のDNA配列解析システムにおいて、
前記ユーザインタフェース部は、前記クエリ配列に対応する1又は複数本の直線を、前記旧ゲノム配列に対応する第1の軸に対して平行に表示すると共に、前記直線における前記クエリ表に表示された各変異の位置毎に、前記クエリ配列の変異の内容を表示する
ことを特徴とするDNA配列解析システム。
The DNA sequence analysis system according to claim 5,
The user interface unit displays one or a plurality of straight lines corresponding to the query sequence in parallel with a first axis corresponding to the old genome sequence, and is displayed in the query table in the straight line. A DNA sequence analysis system, wherein the content of the mutation in the query sequence is displayed for each mutation position.
DNA配列解析装置が、
処理内容に応じ、旧ゲノム配列と呼ぶ第1のゲノム配列と、新ゲノム配列と呼ぶ第2のゲノム配列と、リード配列と呼ぶ多数のDNA配列と、前記リード配列を前記旧ゲノム配列にマッピングした結果の一部又は全てを記憶装置から読み出す処理と、
前記新ゲノム配列に存在する任意の文字列を探索するためのインデックスを構築する処理と、
前記リード配列に存在する前記旧ゲノム配列に対する変異であって、前記旧ゲノム配列上での処理位置の近傍にある変異の組合せを記録したクエリ表と呼ぶデータ構造を、マッピングの前記結果に基づいて構築する処理と、
前記クエリ表に格納されている変異の組合せを前記旧ゲノム配列に適用して構築した配列を前記新ゲノム配列と比較し、前記構築した配列のうちK(1以上の自然数)塩基以上が前記新ゲノム配列と完全に一致する箇所を網羅的に出力する処理と
を実行するDNA配列解析方法。
DNA sequence analyzer,
According to the processing contents, a first genomic sequence called an old genomic sequence, a second genomic sequence called a new genomic sequence, a large number of DNA sequences called a read sequence, and the read sequence were mapped to the old genomic sequence. Reading a part or all of the result from the storage device;
A process of constructing an index for searching for any character string present in the new genome sequence,
A data structure called a query table that records a combination of mutations in the read sequence that is a mutation with respect to the old genome sequence and is located near the processing position on the old genome sequence, based on the result of the mapping. The process to build,
A sequence constructed by applying the combination of mutations stored in the query table to the old genomic sequence is compared with the new genomic sequence, and K (1 or more natural number) bases or more in the constructed sequence are compared with the new genomic sequence. And a process of comprehensively outputting a part that completely matches the genome sequence.
請求項7に記載のDNA配列解析方法において、
前記DNA配列解析装置が、
前記リード配列に出現する変異の内容と位置を対応付けて表示する第1の領域と、前記変異の組合せと、対応するクエリ配列が前記新ゲノム配列上で存在する長さと、対応する前記クエリ配列が前記インデックスに存在する範囲を対応付けて表示する第2の領域とを含む確認画面を表示する処理を更に実行する
ことを特徴とするDNA配列解析方法。
The DNA sequence analysis method according to claim 7,
The DNA sequence analyzer,
A first region for displaying the content and position of the mutation appearing in the read sequence in association with each other, the combination of the mutation, the length of the corresponding query sequence on the new genome sequence, and the corresponding query sequence Further comprising the step of: displaying a confirmation screen including a second area for displaying a range associated with the index in the second area.
請求項8に記載のDNA配列解析方法において、
前記DNA配列解析装置が、
前記クエリ配列に対応する1又は複数本の直線を、前記旧ゲノム配列に対応する第1の軸に対して平行に表示すると共に、前記直線における前記クエリ表に表示された各変異の位置毎に、前記クエリ配列の変異の内容を表示する処理を更に実行する
ことを特徴とするDNA配列解析方法。
The DNA sequence analysis method according to claim 8,
The DNA sequence analyzer,
One or more straight lines corresponding to the query sequence are displayed in parallel to a first axis corresponding to the old genome sequence, and for each mutation position displayed in the query table on the straight line A DNA sequence analysis method, further comprising the step of displaying the contents of the mutation in the query sequence.
JP2016119723A 2016-06-16 2016-06-16 DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system Active JP6653628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016119723A JP6653628B2 (en) 2016-06-16 2016-06-16 DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016119723A JP6653628B2 (en) 2016-06-16 2016-06-16 DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system

Publications (2)

Publication Number Publication Date
JP2017224191A JP2017224191A (en) 2017-12-21
JP6653628B2 true JP6653628B2 (en) 2020-02-26

Family

ID=60688254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016119723A Active JP6653628B2 (en) 2016-06-16 2016-06-16 DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system

Country Status (1)

Country Link
JP (1) JP6653628B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7089804B2 (en) * 2018-03-30 2022-06-23 株式会社Rhelixa A storage medium that stores a data creation device, a data creation method, and a data creation program.
CN111584011B (en) * 2020-04-10 2023-08-29 中国科学院计算技术研究所 Fine granularity parallel load feature extraction analysis method and system for gene comparison

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160391A (en) * 2011-09-16 2014-11-19 考利达基因组股份有限公司 Determining variants in a genome of a heterogeneous sample
NL2012222C2 (en) * 2014-02-06 2015-08-10 Genalice B V A method of storing/reconstructing a multitude of sequences in/from a data storage structure.
JP6198659B2 (en) * 2014-04-03 2017-09-20 株式会社日立ハイテクノロジーズ Sequence data analysis apparatus, DNA analysis system, and sequence data analysis method
JP2015228819A (en) * 2014-06-04 2015-12-21 ジェノダイブファーマ株式会社 Dna typing method for hla gene, and computer program used for data analysis of the same method

Also Published As

Publication number Publication date
JP2017224191A (en) 2017-12-21

Similar Documents

Publication Publication Date Title
US11810648B2 (en) Systems and methods for adaptive local alignment for graph genomes
US11062793B2 (en) Systems and methods for aligning sequences to graph references
WO2016141294A1 (en) Systems and methods for genomic pattern analysis
WO2015123269A1 (en) System and methods for analyzing sequence data
JP5985040B2 (en) Data analysis apparatus and method
Rahn et al. Journaled string tree—a scalable data structure for analyzing thousands of similar genomes on your laptop
EP3482329B1 (en) A computer-implemented and reference-free method for identifying variants in nucleic acid sequences
US8731843B2 (en) Oligomer sequences mapping
Zhan et al. SEQMINER: An R‐package to facilitate the functional interpretation of sequence‐based associations
Vis et al. An efficient algorithm for the extraction of HGVS variant descriptions from sequences
Holley et al. Dynamic alignment-free and reference-free read compression
JP6653628B2 (en) DNA sequence analyzer, DNA sequence analysis method, and DNA sequence analysis system
Siederdissen et al. Discriminatory power of RNA family models
JP6533415B2 (en) Apparatus, method and system for constructing a phylogenetic tree
JP6622921B2 (en) Character string dictionary construction method, character string dictionary search method, and character string dictionary processing system
JP2012128672A (en) Homology search device and program
JP4991287B2 (en) Specific nucleotide sequence search method
JP5586334B2 (en) Character string input support device, character string input support method, and program
JP2006185380A (en) Character processor with prediction function, method, recording medium and program
JP4983397B2 (en) Document search apparatus, document search method, and computer program
Procházka et al. Backward Pattern Matching on Elastic-Degenerate Strings
Pai et al. An online conserved SSR discovery through cross-species comparison
US20050136457A1 (en) Method for analyzing genome
JP2005346340A (en) Sequence clustering alignment method by fragment
JP5560105B2 (en) Character string selection device, character string selection method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200128

R151 Written notification of patent or utility model registration

Ref document number: 6653628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151