WO2020213736A1 - 情報処理装置、情報処理方法、プログラム、及び記憶媒体 - Google Patents
情報処理装置、情報処理方法、プログラム、及び記憶媒体 Download PDFInfo
- Publication number
- WO2020213736A1 WO2020213736A1 PCT/JP2020/016972 JP2020016972W WO2020213736A1 WO 2020213736 A1 WO2020213736 A1 WO 2020213736A1 JP 2020016972 W JP2020016972 W JP 2020016972W WO 2020213736 A1 WO2020213736 A1 WO 2020213736A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- alignment
- result
- unit
- change
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Definitions
- the present invention relates to an information processing device, an information processing method, a program, and a storage medium.
- NGS next-generation sequencers
- the query sequence data output from the sequencer is not all output at the same time, but a large number of query sequences are output one base at a time in parallel at a certain time interval. Since the time interval takes 10 minutes or more, for example, in the case of a query sequence having a length of 200 bases, 2000 minutes or more is required for the sequence processing.
- Non-Patent Document 1 when the sequence processing is completed halfway and a part of the query sequence is created, the alignment processing up to the intermediate stage is performed, and further, the alignment processing up to the intermediate stage is performed. A method of performing variant call processing up to the middle stage using the result has been proposed.
- the first object of the present invention is to reduce the transfer time of the input data to the variant call processing.
- a second object of the present invention is to reduce the processing time of the variant call.
- a third object of the present invention is to reduce the amount of output data transferred from the variant call process.
- a fourth object of the present invention is to automatically perform an appropriate interruption process.
- the means for solving the problem of the present invention are the following means. [1] From the partial query sequence output from the sequencer at predetermined time intervals and the cumulative query sequence held in the query sequence management unit, the step of aligning the query sequence with the reference sequence and outputting the alignment result, followed by The change of the alignment result is changed at another predetermined time interval from the first step of adding the change information from the previously output alignment result to the alignment result and outputting the data indicating the change of the alignment result.
- An information processing method including a second step of performing further analysis processing using the data indicating. [2] In the second step, following the step of performing further analysis processing using the data indicating the change of the alignment result, further including the step of outputting the data indicating the change of the result of the analysis processing [1].
- the change information includes information related to alignment quality, and in the analysis process, each region obtained by dividing the reference sequence or the coverage value of the entire region is calculated based on the information related to the alignment quality.
- the weight value corresponding to each region obtained by dividing the reference sequence is used to determine whether or not to output the region, the frequency of output, or the priority of output.
- all or any of the weight value, coverage value, and update information corresponding to each region of the reference sequence is used, and whether or not the region is processed according to these values, or The information processing method according to [1] or [2], wherein the frequency of processing or the priority of processing is controlled.
- the analysis process uses all or any of the weight values, coverage values, and update information corresponding to each region of the reference sequence, and whether or not to output the region according to these values, or The information processing method according to [1] or [2], wherein the frequency of output or the priority of output is controlled. [10] The information processing method according to [1] or [2], wherein the analysis process automatically updates the result previously held internally. [11] The information according to [1] or [2], wherein the analysis process automatically requests interruption of the process of the entire system when the coverage value of the entire region exceeds a threshold value. Processing method.
- the means for solving the problem of the present invention may be the following means.
- An information processing device that performs the information processing method according to any one of the above [1] to [11].
- the means for solving the problem of the present invention may be the following means. [15] A sequencer unit that reads a sequence and outputs a partial query sequence at predetermined time intervals, a query sequence management unit that holds the partial query sequence output from the sequencer unit as a cumulative query sequence, and a reference that holds a reference sequence. The query sequence is aligned with the reference sequence from the sequence management unit, the partial query sequence and the cumulative query sequence, the alignment unit that outputs the alignment result, and the change information from the previously output alignment result are added to the alignment result.
- An alignment change result output unit that outputs data indicating changes in the alignment results, an analysis processing unit that performs analysis processing based on the data indicating changes in the alignment results, and an analysis that outputs data indicating changes in the results of the analysis processing.
- a sequencer including a processing change result output unit. [16] The sequencer according to [15], further including an area management unit that holds area management information. [17] The sequencer according to [15], further comprising an interruption control unit that manages the interruption coverage threshold value and interrupts all processing when the coverage value of the entire reference sequence exceeds the interruption coverage threshold value.
- Fig. 3 shows a conventional information processing method and an implementation example.
- a sequencer unit 1 that reads a base sequence (sequence read) from a sequencer and outputs a partial query sequence and a partial query sequence output from the sequencer unit 1 are used.
- the query sequence management unit 4 that accumulates and holds, the reference sequence management unit 5 that holds the reference sequence used as a reference for detecting mutations in the query sequence, and which part of the reference sequence each query sequence corresponds to. Detects the mutation location and mutation type of the read base sequence using an information processing device consisting of the desired alignment unit 2 and the variant call unit 3 that determines which part is mutated using the alignment result of the query sequence.
- the information processing method to be performed is known.
- FIG. 4 shows the internal structure of the variant call unit 3 included in the information processing apparatus in the conventional information processing method.
- the variant call unit 3 is composed of a sort unit 31 that sorts the aligned results and a mutation detection unit 32 that detects mutations using the sorted alignment results.
- the variant call unit 3 receives the alignment result, sorts the sort unit 31 according to the position information on the reference sequence included in the alignment result, and then causes the difference detection unit 32 to perform some mutation at a specific reference position. Is determined (FIG. 8).
- the information processing method of the present invention aligns the query sequence with the reference sequence from the partial query sequence output from the sequencer at predetermined time intervals and the cumulative query sequence held in the query sequence management unit, and outputs the alignment result.
- a step is performed, followed by a step of adding change information from the previously output alignment result to the alignment result and outputting data indicating the change of the alignment result, and another predetermined time interval.
- This is an information processing method including a second step of performing further analysis processing using data indicating changes in the alignment result.
- the step of acquiring the data indicating the change of the result of the analysis processing is further included. You can stay.
- the information processing apparatus of the present invention includes a sequencer unit that reads a sequence and outputs a partial query sequence at predetermined time intervals, and a query sequence management unit that holds the partial query sequence output from the sequencer unit as a cumulative query array.
- the reference sequence management unit that holds the reference sequence
- the alignment unit that aligns the query sequence with the reference sequence from the partial query sequence and the cumulative query sequence, and outputs the alignment result, and the change information from the previously output alignment result.
- An example of the information processing apparatus of the present invention is a sequencer unit that reads a sequence and outputs a partial query sequence at predetermined time intervals, and a query sequence management unit that holds the partial query sequence output from the sequencer unit as a cumulative query array.
- the reference sequence management unit that holds the reference sequence
- the alignment unit that aligns the query sequence with the reference sequence from the partial query sequence and the cumulative query sequence, and outputs the alignment result, and the change information from the previously output alignment result.
- An alignment change result output unit that is assigned to the alignment result and outputs data indicating a change in the alignment result
- an analysis processing unit that performs analysis processing based on the data indicating the change in the alignment result, and a change in the result of the analysis processing. It is a sequencer provided with an analysis processing change result output unit that outputs data indicating.
- the sequencer may be a high-speed sequencer or a next-generation sequencer.
- FIG. 1 shows an example of the configuration of the information processing apparatus of the present invention.
- FIG. 1A shows a sequencer unit 1, a query sequence management unit 4, a reference sequence management unit 5, an alignment unit 2, an alignment change result output unit 6, a variant call unit 7, a sort result management unit 8, and a variant call change result output unit 10.
- the information processing apparatus of the present invention comprising the above is shown.
- an alignment change result output unit 6 and a sort result management unit 8 are provided, but the sort result management unit 8 is not required.
- a variant call unit 7 is provided as an analysis processing unit
- a variant call change result output unit 10 is provided as an analysis processing change result output unit. Since the variant call unit is different from the conventional variant call unit 3 shown in FIG. 3, the reference numerals are changed and the variant call unit 7 is shown.
- FIG. 1B shows a sequencer unit 1, a query sequence management unit 4, a reference sequence management unit 5, an alignment unit 2, a variant call unit 7, an alignment change result output unit 6, a sort result management unit 8, an area management unit 9, and a variant call change.
- the information processing apparatus of the present invention including the result output unit 10 and the interruption control unit 11.
- the reference sequence and the query sequence are generally configured as an array of four types of information distinguished by the letters A, C, G, and T.
- the sequencer unit 1 processes information of a plurality of query sequences at the same time (FIG. 5).
- the sequencer unit 1 may read the base information of all queries composed of a plurality of query sequences in parallel at a certain time interval and output several bases at a time.
- the query sequence management unit 4 holds the partial query sequence output from the sequencer unit 1 as a cumulative query sequence, and outputs data to the alignment unit 2.
- the reference sequence management unit 5 holds the reference sequence.
- the alignment unit 2 aligns the query sequence with the reference sequence from the partial query sequence and the cumulative query sequence, and determines which region of the reference sequence each query sequence matches (FIG. 7). At this time, it is not necessary for the query sequence and the reference sequence to completely match, and even if there is some mutation, appropriate processing is performed, and the position information with a high probability of matching with the reference sequence is included in the alignment result and output. ..
- the alignment change result output unit 6 adds change information from the previously output alignment result to the alignment result, and outputs data indicating the change in the alignment result.
- FIG. 13 shows an example of a data structure showing a change in the alignment result.
- the above ID will be used later by the variant call unit 7 when updating or deleting the alignment result.
- 0 indicates that the alignment quality is very low
- 1 indicates that the alignment quality is high
- the reference side start position and the query side start position are not changed, so it is not necessary to include this information in the data.
- before means at a time before the current time, and is a general term for similar events that occurred before the current time.
- the variant call unit 7 receives the data indicating the change in the alignment result (alignment change result) given from the alignment change result output unit 6, and the sort unit 71 converts the data indicating the change in the alignment result (alignment change result). Based on the above, the mutation detection unit 72 determines whether or not any mutation is found.
- FIG. 2 shows the internal structure of the variant call unit 7 included in the information processing apparatus of the present invention.
- FIG. 2 is shown as in FIGS. 2A and 2B, corresponding to FIGS. 1A and 1B.
- the variant call unit 7 exchanges information with the sort result management unit 8 that holds the previous sort result.
- the variant call unit 7 exchanges information with the area management unit 9. According to this, since the mutation detection unit 72 detects only the mutation in a part of the region, the alignment result increases, and even if the coverage increases, the processing time required for the mutation detection does not increase.
- FIG. 14 shows an example of the sorted alignment result managed by the sort result management unit 8.
- the alignment result is sorted by the reference side start position, and the alignment ID and the sorted alignment result can be matched.
- the sort unit 71 starts processing based on the data indicating the change in the alignment result (alignment change result) (FIG. 13) given by the alignment change result output unit 6.
- FIG. 15 shows an example of the processing of the sort unit 71 at this time.
- the sorting at this time does not sort all the alignment results as in the conventional method, so the amount of calculation is small.
- step S71-1 As a method for further reducing the amount of data indicating the change in the alignment result (alignment change result), it is effective to add the following processing before, for example, (step S71-1).
- step S71-1 The query side end position of the sorted alignment result is increased by a fixed value.
- the change from the alignment unit 2 is performed by automatically updating the contents of the sorted alignment result as described above. It is possible to reduce the information.
- the sorting unit 31 sorts the alignment result based on the reference start position, and then the mutation detection unit 32 sorts the sorted alignment result, the reference sequence, and the query.
- the mutation site was detected using the sequence. Since the sort unit in the conventional method sorts all the alignment results, there is a problem that the processing time required for sorting increases as the number of alignment results increases. Further, since the mutation detection unit in the conventional method detects the difference in all the regions, there is a problem that the processing time required for the mutation detection increases as the alignment result increases and the coverage increases.
- the tool xAtras used in the above method uses a SAM or BAM file.
- a SAM or BAM file it is impossible to input the change in the alignment result to the variant call unit 3. For example, even if a part of the previous alignment result is wrong and the alignment unit 2 wants to correct it newly, which part needs to be redone and which part needs to be redone in the variant call unit 3. This is because it is impossible to specify where is not necessary.
- the data transfer time to the variant call unit can be reduced with time by using the input to the variant call unit 7 as data indicating the change in the alignment result.
- the variant call change result output unit 10 outputs only the area where the above variant call processing has been performed as data indicating the change in the variant call result (variant call change result).
- FIG. 1B shows a sequencer unit 1, a query sequence management unit 4, a reference sequence management unit 5, an alignment unit 2, a variant call unit 7, an alignment change result output unit 6, a sort result management unit 8, an area management unit 9, and a variant call change.
- the information processing apparatus of the present invention including the result output unit 10 and the interruption control unit 11.
- the variant call unit 7 includes a sort result management unit 8 that holds the previous sort result and an area management unit 9 that holds the area management information. And exchange information.
- the information processing apparatus of the present invention shown in FIG. 1B is provided with an area management unit 9, and also speeds up the mutation detection process.
- the number of alignment results required to accurately detect mutations depends on the alignment quality.
- This fact is used in the mutation detection process to reduce the amount of processing.
- the mutation detection unit 72 exchanges information with the area management unit 9.
- FIG. 17 shows an example of area management information managed by the area management unit 9.
- the area management unit 9 divides the entire reference array into appropriate areas and manages the information of each area.
- the above information is given an area weight value, an area coverage, and an area update flag for each area.
- the area weight value is a value that reflects the degree of attention of the user in each area of the reference array.
- each region of the reference sequence is weighted with a value of 0 to 1, with the region of interest being 1 and the region of interest not being 0.
- the area coverage is the management of the coverage value in each area of the reference array.
- FIG. 16 shows an outline of area coverage.
- the area coverage is defined as the sum of the alignment qualities (see FIG. 13) of the alignments included in the area, averaged by the length of the area.
- the value to be added to the area coverage can be adjusted according to the ratio included in the area of the alignment.
- the area update flag indicates whether or not the area has been updated in the processing stage. In this description, it is set to 1 when the area is updated and 0 when the area is not updated.
- the change of the area coverage value can be realized, for example, in combination with the processing of the sort unit 71 shown as an example in FIG. Change the area coverage for related areas when updating the sorted alignment results.
- the initial value of the area update flag can be set together with the processing of the sort unit 71.
- the area update flags related to the related areas are initialized to 1.
- the mutation detection unit 72 uses the above-mentioned region update flag, region coverage, and region weight value to perform calculations for mutation detection by the following measures.
- the above (measure 1) is that it is not necessary to perform mutation detection in the area where the sorted alignment result is not updated.
- the above (measure 3) can be used to control the frequency of calculation for parts that the user does not pay attention to.
- the frequency of calculation may be used in the sense of processing priority with other areas.
- the variant call result does not change in the region where the region update flag is 0.
- the coverage value of the entire reference array needs to be obtained by integrating the values from all the computers that realize the variant call processing.
- Area management information can also be used to reduce the number of data input to variant call processing.
- the information processing method including the alignment process and the variant call process can be implemented by a plurality of computers.
- the present invention provides an information processing method capable of reducing the overall processing time even when implemented by a plurality of computers by reducing the amount of data transferred via a network between a plurality of computers.
- the above method can be applied as it is not only to a base sequence distinguished by A, C, G, and T, but also to a sequence composed of a plurality of arbitrary consecutive letters or symbols.
- the size of each area does not have to be the same.
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biophysics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
シーケンサからクエリ配列が、ある時間間隔で、一塩基ずつ出力される情報処理装置において、アライメント処理に続くバリアントコール処理の入出力のデータ量を低減し、同時にバリアントコール処理時間も低減する。更に、適切な中断を自動的に行えるようにする。 アライメント変化結果出力部6、はアライメント処理の以前からの変化を含む、アライメント結果の変化を示すデータを出力する。バリアントコール部7は、以前のソートの結果はソート結果管理部8に保持しつつ、新規のアライメント結果のみのソートを行う。領域管理部9はリファレンス配列における、分割された領域毎に、各種処理やデータ転送が必要かどうかを判断するための情報を管理する。中断制御部11は、領域管理部9の情報を参考にして、適切なタイミングで中断を行う。
Description
本発明は、情報処理装置、情報処理方法、プログラム、及び記憶媒体に関する。
近年、次世代シーケンサ(NGS)がゲノム解析に用いられるようになっている。NGSは、ランダムに切断された大量のDNA断片の塩基配列を同時並行的に決定することができる装置であり、今後、ヒトゲノム等における様々な種類の遺伝子解析に応用されることが期待されている。
NGSを用いた遺伝子解析の応用例としては、例えばヒトゲノムにおいて、シーケンサから読み出した多数のクエリ配列を、リファレンス配列の適切な位置に配置し(アライメント処理)、更にこの結果を用いて変異箇所や変異種類を解析する(バリアントコール処理)といった用途が知られている。
シーケンサから出力されるクエリ配列データは、全てが同時に出力されるのではなく、ある時間間隔で、多数のクエリ配列が並列に1塩基ずつ出力される。上記時間間隔は10分以上を費やすため、例えば200塩基の長さのクエリ配列の場合であれば、シーケンス処理に2000分以上を費やすこととなる。
例えば、シーケンス処理、アライメント処理、バリアントコール処理を順番に処理するワークフローにおいて、シーケンス処理が全て完了してからアライメント処理を開始し、アライメント処理が全て完了してからバリアントコール処理を開始する場合、全体の処理時間はこれらの処理時間の総和で与えられる。
これに対して、非特許文献1では、シーケンス処理が途中まで完了し、クエリ配列の一部分が作成された段階で、その途中段階までのアライメント処理を行い、更に、その途中段階までのアライメント処理の結果を用いて、途中段階までのバリアントコール処理を行う方法が提案されている。
Tobias P. Loka et al.,"Reliable variant calling duaring runtime of illumina sequencing"(2018 BioRxiv DOI: 10.1101/387662)
非特許文献1に記載の方法では、シーケンス処理を全て待つことなく、バリアントコール処理までを行えるが、バリアントコール処理への入力データは、常にアライメント処理の全ての結果となっているため、バリアントコール処理への無駄な入力データが発生し、また、バリアントコール処理への入力データの転送時間やバリアントコール処理の処理時間が多くかかる。
更に、非特許文献1に記載の方法においては、バリアントコール処理からの出力データは、常に全領域に対して行われるため、バリアントコール処理からの出力データの転送時間が多くかかる。
また、全処理を自動的に中断させる手段が提供されていないため、ユーザは自動的に中断することをあきらめるか、あるいは常に中断するタイミングを継続的にチェックする必要がある。前者はシステムの無駄な動作につながり、後者はユーザに多大な負担を強いることにつながる。
そこで、本発明の第一の課題は、上記バリアントコール処理への入力データの転送時間を低減する、ことにある。本発明の第二の課題は、上記バリアントコールの処理時間を低減する、ことにある。本発明の第三の課題は、上記バリアントコール処理からの出力データの転送量を低減する、ことにある。本発明の第四の課題は、自動的に適切な中断処理を行う、ことにある。
本発明の課題を解決するための手段は、以下の手段である。
[1]シーケンサから所定の時間間隔で出力される部分クエリ配列と、クエリ配列管理部に保持された累積クエリ配列とから、クエリ配列をリファレンス配列にアライメントしアライメント結果を出力するステップ、続いて、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するステップ、を行う第1ステップと、別の所定の時間間隔で、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行う第2ステップと、を含む情報処理方法。
[2]第2ステップにおいて、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行うステップに続いて、前記解析処理の結果の変化を示すデータを出力するステップを更に含む[1]に記載の情報処理方法。
[3]前記変化情報は、新規、更新、削除のいずれかを区別する情報を含むことを特徴とする[1]又は[2]に記載の情報処理方法。
[4]前記変化情報に基づき行う処理の実行において、変化情報が、新規、であるアライメント結果をソートの対象とする[3]に記載の情報処理方法。
[5]前記解析処理はバリアントコール処理であることを特徴とする[1]又は[2]に記載の情報処理方法。
[6]前記変化情報は、アライメント品質に係る情報を含み、前記解析処理では前記アライメント品質に係る情報をもとに、リファレンス配列を分割した各領域、あるいは領域全体のカバレージ値、を計算することを特徴とする[1]又は[2]に記載の情報処理方法。
[7]前記アライメント処理は、リファレンス配列を分割した各領域に対応する重み値を用い、当該領域に係る出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を決定する、ことを特徴とする[1]又は[2]に記載の情報処理方法。
[8]前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の処理を行うか否か、あるいは処理を行う頻度、あるいは処理を行う優先度を制御することを特徴とする[1]又は[2]に記載の情報処理方法。[9]前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を制御する、ことを特徴とする[1]又は[2]に記載の情報処理方法。[10]前記解析処理は、以前内部に保持した結果を自動的に更新することを特徴とする[1]又は[2]に記載の情報処理方法。
[11]前記解析処理は、前記領域全体のカバレージ値が閾値を超えた際に自動的にシステム全体の処理の中断を要求する、ことを特徴とする[1]又は[2]に記載の情報処理方法。
本発明の課題を解決する手段は、以下の手段であってもよい。
[12]上記の[1]~[11]のいずれかに記載の情報処理方法を行う情報処理装置。
[13]上記の[1]~[11]のいずれかに記載の情報処理方法を実装するプログラム。
[14]上記の[1]~[11]のいずれかに記載の情報処理方法を記憶する記憶媒体。
本発明の課題を解決する手段は、以下の手段であってもよい。
[15]シーケンスを読み取り所定の時間間隔で部分クエリ配列を出力するシーケンサ部と、前記シーケンサ部から出力された部分クエリ配列を累積クエリ配列として保持するクエリ配列管理部と、リファレンス配列を保持するリファレンス配列管理部と、部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、アライメント結果を出力するアライメント部と、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するアライメント変化結果出力部と、前記アライメント結果の変化を示すデータに基づき解析処理を行う解析処理部と、前記解析処理の結果の変化を示すデータを出力する解析処理変化結果出力部、を備えるシーケンサ。
[16]領域管理情報を保持する領域管理部を更に備える、[15]に記載のシーケンサ。
[17]中断カバレージ閾値を管理し、リファレンス配列全体のカバレージ値が、前記中断カバレージ閾値を超えた場合に、全処理の中断を行う中断制御部を更に備える、[15]に記載のシーケンサ。
[1]シーケンサから所定の時間間隔で出力される部分クエリ配列と、クエリ配列管理部に保持された累積クエリ配列とから、クエリ配列をリファレンス配列にアライメントしアライメント結果を出力するステップ、続いて、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するステップ、を行う第1ステップと、別の所定の時間間隔で、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行う第2ステップと、を含む情報処理方法。
[2]第2ステップにおいて、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行うステップに続いて、前記解析処理の結果の変化を示すデータを出力するステップを更に含む[1]に記載の情報処理方法。
[3]前記変化情報は、新規、更新、削除のいずれかを区別する情報を含むことを特徴とする[1]又は[2]に記載の情報処理方法。
[4]前記変化情報に基づき行う処理の実行において、変化情報が、新規、であるアライメント結果をソートの対象とする[3]に記載の情報処理方法。
[5]前記解析処理はバリアントコール処理であることを特徴とする[1]又は[2]に記載の情報処理方法。
[6]前記変化情報は、アライメント品質に係る情報を含み、前記解析処理では前記アライメント品質に係る情報をもとに、リファレンス配列を分割した各領域、あるいは領域全体のカバレージ値、を計算することを特徴とする[1]又は[2]に記載の情報処理方法。
[7]前記アライメント処理は、リファレンス配列を分割した各領域に対応する重み値を用い、当該領域に係る出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を決定する、ことを特徴とする[1]又は[2]に記載の情報処理方法。
[8]前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の処理を行うか否か、あるいは処理を行う頻度、あるいは処理を行う優先度を制御することを特徴とする[1]又は[2]に記載の情報処理方法。[9]前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を制御する、ことを特徴とする[1]又は[2]に記載の情報処理方法。[10]前記解析処理は、以前内部に保持した結果を自動的に更新することを特徴とする[1]又は[2]に記載の情報処理方法。
[11]前記解析処理は、前記領域全体のカバレージ値が閾値を超えた際に自動的にシステム全体の処理の中断を要求する、ことを特徴とする[1]又は[2]に記載の情報処理方法。
本発明の課題を解決する手段は、以下の手段であってもよい。
[12]上記の[1]~[11]のいずれかに記載の情報処理方法を行う情報処理装置。
[13]上記の[1]~[11]のいずれかに記載の情報処理方法を実装するプログラム。
[14]上記の[1]~[11]のいずれかに記載の情報処理方法を記憶する記憶媒体。
本発明の課題を解決する手段は、以下の手段であってもよい。
[15]シーケンスを読み取り所定の時間間隔で部分クエリ配列を出力するシーケンサ部と、前記シーケンサ部から出力された部分クエリ配列を累積クエリ配列として保持するクエリ配列管理部と、リファレンス配列を保持するリファレンス配列管理部と、部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、アライメント結果を出力するアライメント部と、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するアライメント変化結果出力部と、前記アライメント結果の変化を示すデータに基づき解析処理を行う解析処理部と、前記解析処理の結果の変化を示すデータを出力する解析処理変化結果出力部、を備えるシーケンサ。
[16]領域管理情報を保持する領域管理部を更に備える、[15]に記載のシーケンサ。
[17]中断カバレージ閾値を管理し、リファレンス配列全体のカバレージ値が、前記中断カバレージ閾値を超えた場合に、全処理の中断を行う中断制御部を更に備える、[15]に記載のシーケンサ。
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。図面においては、同一または同等の要素には同一の符号を付し、重複する説明は省略する。
従来の情報処理方法、及び実装例を図3に示す。
図3に示すような情報装置で実装される情報処理方法として、シーケンサからの塩基配列(シーケンスリード)を読み取り部分クエリ配列を出力するシーケンサ部1と、シーケンサ部1から出力された部分クエリ配列を累積して保持するクエリ配列管理部4と、クエリ配列の変異を検知するための基準として用いるリファレンス配列を保持するリファレンス配列管理部5と、各クエリ配列がリファレンス配列のどの部分に相当するかを求めるアライメント部2と、クエリ配列のアライメント結果を用いてどの部分が変異しているかを判定するバリアントコール部3、からなる情報処理装置を用いて、読み取った塩基配列の変異箇所と変異種類を検知する情報処理方法が知られている。
従来の情報処理方法における、情報処理装置が備えるバリアントコール部3の内部構造を図4に示す。
バリアントコール部3は、アライメントされた結果のソートを行うソート部31、及びソートされたアライメント結果を用いて変異を検出する変異検出部32から構成される。バリアントコール部3は、アライメント結果を受けて、ソート部31において、アライメント結果に含まれるリファレンス配列上の位置情報によってソートを行った後、差分検出部32において、特定のリファレンス位置において何等かの変異が見られるかを判定する(図8)。
次に、本発明の情報処理方法及び情報処理装置について説明する。
本発明の情報処理方法は、シーケンサから所定の時間間隔で出力される部分クエリ配列と、クエリ配列管理部に保持された累積クエリ配列とから、クエリ配列をリファレンス配列にアライメントしアライメント結果を出力するステップ、続いて、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するステップ、を行う第1ステップと、別の所定の時間間隔で、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行う第2ステップと、を含む情報処理方法である。
上記の方法では、第2ステップにおいて、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行うステップに続いて、前記解析処理の結果の変化を示すデータを取得するステップを更に含んでいてよい。
また、本発明の情報処理装置は、シーケンスを読み取り所定の時間間隔で部分クエリ配列を出力するシーケンサ部と、前記シーケンサ部から出力された部分クエリ配列を累積クエリ配列として保持するクエリ配列管理部と、リファレンス配列を保持するリファレンス配列管理部と、部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、アライメント結果を出力するアライメント部と、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するアライメント変化結果出力部と、前記アライメント結果の変化を示すデータに基づき解析処理を行う解析処理部を備える情報処理装置である。
本発明の情報処理装置の一例は、シーケンスを読み取り所定の時間間隔で部分クエリ配列を出力するシーケンサ部と、前記シーケンサ部から出力された部分クエリ配列を累積クエリ配列として保持するクエリ配列管理部と、リファレンス配列を保持するリファレンス配列管理部と、部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、アライメント結果を出力するアライメント部と、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するアライメント変化結果出力部と、前記アライメント結果の変化を示すデータに基づき解析処理を行う解析処理部と、前記解析処理の結果の変化を示すデータを出力する解析処理変化結果出力部、を備えるシーケンサである。
シーケンサは、高速シーケンサや次世代シーケンサであってよい。
図1に、本発明の情報処理装置の構成の一例を示す。
図1Aは、シーケンサ部1、クエリ配列管理部4、リファレンス配列管理部5、アライメント部2、アライメント変化結果出力部6、バリアントコール部7、ソート結果管理部8、及びバリアントコール変化結果出力部10を備える本発明の情報処理装置を示している。
図1Aの構成では、図3で示した従来方法の情報処理装置の構成に加えて、アライメント変化結果出力部6及びソート結果管理部8を備えているが、ソート結果管理部8はなくてもよい。また、解析処理部としてバリアントコール部7、解析処理変化結果出力部としてバリアントコール変化結果出力部10を備えている。バリアントコール部は、図3で示した従来のバリアントコール部3とは異なるものであるため、符号を変え、バリアントコール部7として示している。
図1Bは、シーケンサ部1、クエリ配列管理部4、リファレンス配列管理部5、アライメント部2、バリアントコール部7、アライメント変化結果出力部6、ソート結果管理部8、領域管理部9、バリアントコール変化結果出力部10、及び中断制御部11を備える本発明の情報処理装置である。
図1Bの構成では、図3で示した従来方法の情報処理装置の構成に加えて、アライメント変化結果出力部6、ソート結果管理部8、領域管理部9、バリアントコール変化結果出力部10、及び中断制御部11を備えているが、ソート結果管理部8はなくてもよい。また、解析処理部としてバリアントコール部7、解析処理変化結果出力部としてバリアントコール変化結果出力部10を備えている。バリアントコール部は、図3で示した従来のバリアントコール部3とは異なるものであるため、符号を変え、バリアントコール部7として示している。
以下、図1Aを例に、本発明の構成について説明する。
リファレンス配列、及びクエリ配列は、一般的にはA、C、G、Tの文字によって区別される4種類の情報の配列として構成される。
シーケンサ部1は、複数のクエリ配列の情報を同時に処理する(図5)。
シーケンサ部1は、一般には、全ての配列情報を一度に出力するのではなく、ある時間間隔で、複数のクエリ配列から構成される全クエリの塩基情報を、並列に読み取り、1塩基ずつ出力していく(図6)。
シーケンサ部1は、ある時間間隔で、複数のクエリ配列から構成される全クエリの塩基情報を、並列に読み取り、数塩基ずつ出力していくものでもよい。
本発明においては、このように取得されたシーケンスリードを「部分クエリ配列」と呼ぶ。部分クエリ配列は、一般的には、A、C、G、Tの文字によって構成される文字列のデータであり、核酸配列のシーケンスリードの場合は、1塩基又は数塩基のオリゴヌクレオチドである。
クエリ配列管理部4は、シーケンサ部1から出力された部分クエリ配列を累積クエリ配列として保持し、アライメント部2にデータを出力する。
リファレンス配列管理部5は、リファレンス配列を保持している。
アライメント部2は、部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、各クエリ配列がリファレンス配列のどの領域と一致するのかを判定する(図7)。この際、クエリ配列とリファレンス配列とは完全に一致する必要はなく、ある程度の変異があった場合でも適切に処理を行い、リファレンス配列と合致する確率の高い位置情報をアライメント結果に含めて出力する。
アライメント変化結果出力部6は、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力する。
アライメント結果の変化を示すデータ構造の一例を図13に示す。
アライメント変化結果出力部6は、特定のクエリのアライメント結果を最初に入力された際には、コマンド=新規、とした上で図13の左端に示した構造のデータを、バリアントコール部7に出力する。
上記データにはアライメント結果についてユニークなIDを含めている。
上記IDは、後程、当該アライメント結果を更新したり、削除したりする際にバリアントコール部7に利用される。
また、クエリID、リファレンス側のアライメント開始位置、クエリ側のアライメント開始位置および終了位置に加え、アライメントの品質情報を0~1の範囲で与える。
本説明においては、0はアライメント品質が非常に低く、1はアライメント品質が高いことを示すものとする。
なお、もしも各クエリに対して、必ず1つのアライメント結果である、という制限がある場合には、上記IDとクエリIDを同じ値にすることによって、クエリIDを削除することが可能である。
通常のバリアントコール処理においては、各クエリに対して、必ず1つのアライメント結果である場合が多いため、この制限は妥当であると考えられる。
アライメント部2が、以前出力したアライメント結果を、シーケンサ1からの部分クエリ配列によって伸長した場合には、アライメント変化結果出力部6は、コマンド=更新、とした上で図13の中央に示した構造のデータを、アライメント結果の変化を示すデータとして、バリアントコール部7に出力する。
この場合、リファレンス側開始位置およびクエリ側開始位置は変更されないため、これらの情報をデータに含む必要はない。
アライメント部2が、以前出力したアライメント結果を、その後の段階で間違いと判定し、新たなアライメント結果を出力する場合には、アライメント変化結果出力部6は、コマンド=削除、として、以前のアライメント結果の削除の指定をした後に、コマンド=新規として、新たなアライメント結果をバリアントコール部7に出力する。
なお、本明細書において、「以前」とは、現在時刻より前の時刻において、という意味であり、現在時刻よりも前に起こった同様の事象について総称する意味である。
次に、アライメント結果の変化を示すデータをバリアントコール部7に与えた場合の、バリアントコール部7の処理について説明する。
本実施例において、本発明の情報処理装置は、解析処理部としてバリアントコール部7を備えている。
バリアントコール部7は、アライメント変化結果出力部6から与えられた、アライメント結果の変化を示すデータ(アライメント変化結果)を受け付け、ソート部71において、アライメント結果の変化を示すデータ(アライメント変化結果)に基づき処理を行い、変異検出部72において、何等かの変異が見られるかを判定する。
図2に、本発明の情報処理装置が備えるバリアントコール部7の内部構造を示す。図2は、図1A、図1Bに対応して、図2A、及び図2Bにとして示されている。
図2Aでは、バリアントコール部7が、以前のソート結果を保持するソート結果管理部8と、情報のやり取りを行う。
図2Bでは、図2Aに加えて、バリアントコール部7が、領域管理部9と情報のやり取りを行う。これによれば、変異検出部72は、一部の領域の変異のみを検出するため、アライメント結果が多くなり、カバレージが増加しても、変異検出に要する処理時間は増加しない。
図14に、ソート結果管理部8が管理するソート済みアライメント結果の一例を示す。
アライメント結果が、リファレンス側開始位置によってソートされており、アライメントのIDとソート済みアライメント結果の対応も取れるようになっている。
なお、このデータ構造では、IDからソート済みアライメント結果中の位置を探す際に探索が必要になるが、IDからソート済みアライメントのインデクスを引くためのテーブルを別途持つことにより、高速にアクセスすることが可能となる。
ソート部71は、アライメント変化結果出力部6から与えられた、アライメント結果の変化を示すデータ(アライメント変化結果)(図13)に基づき処理を開始する。
この際の、ソート部71の処理の一例を図15に示す。
始めに、図14に例示されるソート済みアライメント結果から、コマンド=削除、と指定されたIDと同じ要素を削除する(ステップS71-1)。
続いて、ソート済みアライメント結果中で、コマンド=更新、と指定されたIDと同じ要素の、クエリ側終了位置、及びアライメント品質、を更新する(ステップS71-2)。
続いて、コマンド=新規、と指定されたアライメント結果全体を、リファレンス側開始位置によってソートする(ステップS71-3)。
この際のソートは、従来方式のように全てのアライメント結果をソートするわけでないので、計算量は小さくなる。
最後に、上記ソートされた結果と、以前までのソート済みアライメント結果、とをマージする(ステップS71-4)。
一般にそれぞれがソートされた後のマージ処理は要素数に比例した処理時間で済むため、この処理は全アライメント結果をソートする場合に比較して効率的となる。
上記のように、本発明によれば、アライメント結果の変化を示すデータ(アライメント変化結果)により、コマンド=新規、と指定されたアライメント結果のみをソートの対象とすることによって、全アライメント結果をソートする従来の方法に比べて、処理の高速化を図ることができる。
なお、更にアライメント結果の変化を示すデータ(アライメント変化結果)のデータ量を低減する方法として、例えば(ステップS71-1)の前に、以下の処理を追加することは有効である。
(追加処理1)ソート済みアライメント結果の、クエリ側終了位置を、固定値分増加させる。
(追加処理1)ソート済みアライメント結果の、クエリ側終了位置を、固定値分増加させる。
アライメントのためのクエリ配列は、通常一定の塩基数ずつ増加する場合が多いという事実を考慮すると、上記のように自動的にソート済みアライメント結果の内容を更新することによって、アライメント部2からの変化情報を減らすことが可能となる。
上記の自動的に更新を行わない場合であれば、多くの場合に、コマンド=更新、なるアライメント結果の変化を示すデータ(アライメント変化結果)が出力される。
一方で、上記の自動的な更新を行うことで、多くの場合に、アライメント結果の変化を示すデータ(アライメント変化結果)を何も出力しなくても良くなる。
なおこの際には、逆に当該アライメント結果が変化しない、すなわち伸長しない場合には、アライメント部2は、コマンド=更新、の変化情報を、負の効果を持って、バリアントコール部7に与えることによって、上記バリアントコール部7の自動的な更新の影響を無くす必要がある。
なお、(追加処理1)において、更に、アライメント品質をある定まった方法にて、自動的に更新することも可能である。
(比較例)
ここで、比較のため、従来方式の情報処理方法について、図8~図11を用いて説明する。
ここで、比較のため、従来方式の情報処理方法について、図8~図11を用いて説明する。
従来方式においては、図8に例示するように、ソート部31はアライメント結果を、リファレンス開始位置に基づいてソートを行い、その後、変異検出部32はソートされたアライメント結果と、リファレンス配列、及びクエリ配列を用いて、変異箇所の検出を行っていた。従来方式におけるソート部は、全てのアライメント結果をソートしていたため、アライメント結果が多くなるにつれて、ソートに要する処理時間が増加するという問題があった。更に、従来方式における変異検出部は、全ての領域の差分を検出していたため、アライメント結果が多くなり、カバレージが増加するにつれて、変異検出に要する処理時間が増加するという問題があった。
また、図9に示すように、シーケンサ部1が塩基配列全体のシーケンスを完了し、その後にアライメント部2が全てのクエリ配列をアライメント完了し、その後にバリアントコール部3が変異検出を行う。ユーザが変異検出の結果を視認するまでの処理時間には、シーケンス時間、アライメント時間、及びバリアントコール時間が含まれる。更に、通常は、上記処理間でデータの移動を伴うことが多いため、データ転送時間もまた、全処理時間に含まれる。ユーザに対して最終的なバリアントコールの結果を表示できるのは、全ての処理が完了した後となる。
これを改善する目的で、非特許文献1では、全てのシーケンス処理が完了する前に、シーケンサからアライメント部へのデータ転送、アライメント処理、アライメント部からバリアントコール部へのデータ転送、バリアントコール処理、及びバリアントコール部からのデータ転送を並列で行い、シーケンス処理が完了する前に、途中段階でのバリアントコール結果を表示する方法を開示している(図10)。
しかしながら、非特許文献1に記載の方法では、クエリ配列アライメント部からバリアントコール部へのデータ転送、及びバリアントコール処理、は、得られたアライメント結果全てについて毎回処理する必要がある。
このことは、上記記載の方法において用いられているxAtrasなるツールが、SAMあるいはBAMファイルを用いていることからも明らかである。SAMあるいはBAMファイルを用いた場合、アライメント結果の変化分をバリアントコール部3への入力とすることは不可能である。例えば以前のアライメント結果の一部が間違いであって、アライメント部2がこれを新たに修正したい場合であっても、バリアントコール部3に、どの部分がやり直しが必要な箇所で、どの部分がやり直しが必要ない箇所か、について指定することが不可能であるからである。
以上が、比較例についての説明である。
通常、アライメント結果は時間とともに増加していくため、上記の処理時間は次第に増加する傾向がある。また、バリアントコール部からのデータ転送は、表示領域全てについて毎回行うこととなり、常に一定程度のデータ転送時間を費やすこととなる。
本発明では、バリアントコール部7への入力を、アライメント結果の変化を示すデータとすることにより、バリアントコール部へのデータ転送時間を時間とともに低減することができる。
また、本発明では、バリアントコール部7は、アライメント結果の変化を示すデータ(アライメント変化結果)に基づき、アライメント結果が変化していない領域のバリアントコール処理を抑制し、アライメント結果が変化した領域のバリアントコール処理を優先して行う。
アライメント結果が変化した領域のバリアントコール処理を優先して行う構成とすることにより、バリアントコール処理の処理時間自体についても、図9のように時間とともに増加することはなく、むしろ時間とともに低減できることが確認されている(図12)。
本発明の情報処理装置は、更に、解析処理変化結果出力部を備えたものであってよく、解析処理変化結果出力部は、一例として、バリアントコール変化結果出力部10である。
バリアントコール変化結果出力部10は、上記バリアントコール処理を行った領域のみを、バリアントコール結果の変化を示すデータ(バリアントコール変化結果)として出力する。
本発明では、バリアントコール変化結果出力部10からの出力を、実際にバリアントコールを行った領域のみとすることによって、バリアントコール変化結果出力部から表示部へのデータ転送時間を低減できることが確かめられた(図12)。
次に、図1Bに示す本発明の情報処理装置について説明する。
図1Bは、シーケンサ部1、クエリ配列管理部4、リファレンス配列管理部5、アライメント部2、バリアントコール部7、アライメント変化結果出力部6、ソート結果管理部8、領域管理部9、バリアントコール変化結果出力部10、及び中断制御部11を備える本発明の情報処理装置である。
図1Bに示す本発明の情報処理装置は、図2Bに示したように、バリアントコール部7は、以前のソート結果を保持するソート結果管理部8と、領域管理情報を保持する領域管理部9と、情報のやり取りを行う。
図1Bに示す本発明の情報処理装置は、中断制御部11を備えており、自動的な中断処理を行うことが可能である。
図11に示す従来の情報処理方法において、バリアントコール処理、及びバリアントコール処理前後のデータ転送、の処理時間が大きい場合に、これらが全処理時間に大きく影響を与える様子が示されているが、図1Bに示す本発明の情報処理装置では、中断制御部11による自動的な中断処理を行うことにより、ユーザが常にバリアントコール処理の結果表示を確認したり、ユーザが常に待機したりする必要がなく、ユーザの負担が軽減される。
また、図1Bに示す本発明の情報処理装置は、領域管理部9を備えており、変異検出処理の高速化も行う。
一般に、バリアントコール処理においては、変異を精度良く検出するのに必要なアライメント結果の数は、アライメント品質に依存する。
十分な精度の変異検出を行うためには、各リファレンスの位置に対して、十分なカバレージ(重複度)のアライメント結果が必要とされており、通常、ヒトゲノムの場合には40程度は必要とされる。
なお、十分なカバレージはアライメントの品質にも大きく影響を受け、アライメントの品質が低い場合にはより大きなカバレージ値が要請される一方、アライメントの品質が高い場合には、40よりも小さいカバレージであっても実用に耐える可能性がある。
十分にアライメント品質が高いアライメント結果を用いるのであれば、バリアントコールに必要なアライメント結果は少なくても良い可能性が高い。
逆に、とてもアライメント品質が低いアライメント結果を用いるのであれば、非常に多くのアライメント結果を集めない限りは、バリアントコール処理を行う意味がない可能性が高い。
この事実は、変異検出処理において、処理量の低減を行うために用いられる。
図2Bに示したように、変異検出部72は、領域管理部9と情報のやり取りを行う。
図17に領域管理部9の管理する、領域管理情報の一例を示す。
領域管理部9は、リファレンス配列全体を適当な領域で区切り、それぞれの領域の情報を管理する。
上記情報には、各領域毎に、領域重み値、領域カバレージ、及び領域更新フラグが与えられる。
ここで、領域重み値とは、リファレンス配列の各領域におけるユーザの注目度を反映した値である。本説明においては、リファレンス配列の各領域に対して、注目すべき領域を1、注目したくない領域を0とし、各領域をその0~1の値で重みづけを行ったものと定める。
領域カバレージとは、リファレンス配列の各領域におけるカバレージ値を管理したものである。図16に領域カバレージの概要を示す。本説明においては、領域カバレージは、領域に含まれるアライメントの、アライメント品質(図13を参照)の総和を、領域の長さで平均化した値と定める。
なお、アライメントが領域をまたがる場合に、アライメントの領域に含まれる割合に応じて、領域カバレージに加算する値を調整することができる。
また、領域更新フラグは、当該処理ステージ内に、当該領域が更新されたかどうかを示す。本説明においては、当該領域が更新されたときに1、更新されないときに0とする。
領域カバレージの値の変更は、例えば、図15に例として示したソート部71の処理と併せて実現が可能である。ソート済みアライメント結果を更新する際に、関連する領域に関する領域カバレージを変更する。
また同様に、領域更新フラグの初期値を、ソート部71の処理と併せて設定することが可能である。図15に示したステップS71-1の前に、全ての領域更新フラグの値を0にした後、ソート済みアライメント結果を更新する際に、関連する領域に関する領域更新フラグを1に初期化する。
変異検出部72は、上記の領域更新フラグ、領域カバレージ、及び領域重み値を用いて、以下のような方策で変異検出のための計算を行う。
(方策1)領域更新フラグの値が0の領域は、変異検出を行わない。
(方策2)領域カバレージの値に応じて、計算を行う頻度を調整する。
(方策3)領域重み値の値に応じて、計算を行う頻度を調整する。
(方策2)領域カバレージの値に応じて、計算を行う頻度を調整する。
(方策3)領域重み値の値に応じて、計算を行う頻度を調整する。
上記(方策1)は、ソート済みアライメント結果の更新がない領域には、そもそも変異検出を行う必要はないというものである。
上記(方策2)は、領域カバレージの値に応じて、どのように頻度を設定するかのポリシーに依存し、用途や状況に応じて調整できるのが好ましいが、典型的な例を図18に示す。
図18は、非常に小さい領域カバレージであれば変異検出を行う意義があまりないので、計算頻度を低くする、あるいは、非常に高い領域カバレージであれば以前の結果で十分であり、計算をやり直す以外があまりないので、計算頻度を低くする、という、ポリシーを反映した一例である。
上記(方策3)は、ユーザが注目をしない箇所については、計算の頻度を減らすといった制御を行うことに利用が可能である。
例えば、上記(方策2)によって求められた頻度に対して、領域重み値を単純に乗じて、最終的な頻度とするような計算方法は有効である。
しかしながら、(方策2)、(方策3)は必ずいずれも行わないといけないものではなく、例えば、(方策2)のみによって頻度を決定するような場合も当然考えられる。
上記、計算を行う頻度とは、まさにシーケンサからの出力タイミングのうち、何回に一回計算を行うといった意味で用いることが可能である。
一方で、計算を行う頻度を、他の領域との処理優先度の意味で用いることもあり得る。
この場合であれば、各処理ステージ内の全計算回数をあらかじめ設定しておき、その中で優先度に応じて計算を行う領域を選択する、といった利用方法も可能である。
変異検出部72において、次のようにすることで、図17の領域更新フラグの値を変更することができる。
変異検出部72は、上記頻度によって、その処理ステージ内に変異検出処理を行わないと決定した場合に、当該領域更新フラグを0に設定する。
変異検出部72の処理が終了した際に、上記領域更新フラグが0の領域は、バリアントコール結果は変化しない。
このため、バリアントコール変化結果出力部10が領域更新フラグを参照して、更新された領域のバリアントコール結果のみを出力することにより、出力データ量の低減を実現できる。
中断制御部11は、領域カバレージ情報、及び領域重み値を用いることによって、特定の領域に重みを置いた上で、全体の処理を自動的に中断することが可能である。
図19に示したように、中断制御部11は、処理の中断を行うための閾値として、中断カバレージ閾値を管理する。
リファレンス配列全体のカバレージ値は、例えば以下のように、領域カバレージの重みづけ平均として、計算することができる。
(数1)
リファレンス配列全体のカバレージ値=Σ(領域カバレージ×領域重み値)
(数1)
リファレンス配列全体のカバレージ値=Σ(領域カバレージ×領域重み値)
なお、上記Σはリファレンス配列の全領域について加算を行うことを示す。
上記、リファレンス配列全体のカバレージ値が、中断カバレージ閾値を超えた際に、全処理を中断する制御を行うことによって、リファレンス配列の特定領域に注目した上で、自動的に処理を中断させることが可能となる。
例えば図17において、領域0の領域重み値を1、それ以外を0とすることで、領域0のみに注目して中断制御を行うことも可能である。
なお、後に述べるような複数計算機においてバリアントコール処理を実現する場合、中断処理には若干の注意が必要である。
リファレンス配列全体のカバレージ値は、バリアントコール処理を実現している全計算機からの値を統合して求める必要がある。
このため、複数計算機で実装する場合、中断処理には複数計算機間でのデータ転送が必要となる。
しかしながら、このデータ量は各計算機あたり1つ程度のスカラー値を転送すれば良いことと、中断処理の処理タイミングはそれほど重要ではないため、ここでのデータ転送、及びそれに伴うオーバヘッドについては大きな問題とはならない。
領域管理情報はまた、バリアントコール処理への入力データ数を低減することに利用することができる。
図1Bにおいて、アライメント変化結果出力部6は、領域管理部9から領域重み値を入力されている。
領域重み値が低い領域はユーザが注目をしていない領域であると言えるため、この値が低い領域に係るアライメント結果の出力を抑制することは有効である。
アライメント変化結果出力部6は、アライメント結果の変化を示すデータ(アライメント変化結果)を出力する際に、当該アライメント結果における領域重み値が十分に小さい値である場合には、出力の頻度を低下するか、あるいは全く行わないという制御を行うことが可能である。
上記出力の頻度は、上記変異検出部72の処理の説明で用いた、計算の頻度と同様に、まさにシーケンサからの出力タイミングのうち、何回に一回出力を行うといった意味で用いることが可能であるし、一方で、出力を行う頻度を、他の領域との処理優先度の意味で用いることもあり得る。
これにより、アライメント結果の変化を示すデータ(アライメント変化結果)のデータ転送量の低減を期待でき、同時にバリアントコール部における処理量を低減することができる。
次に、本発明の情報処理方法を、複数計算機で実装する場合を考える。
アライメント処理及びバリアントコール処理を含む情報処理方法は、図20及び図21に示すように、複数計算機によって実装することが可能である。
図20に、アライメント処理およびバリアントコール処理を、複数計算機によって実装した構成の一例を示す。図20に示す構成では、アライメント処理及びバリアントコール処理を複数計算機によって実装することにより、アライメントの並列処理、及びバリアントコールの並列処理が可能となり、処理時間が大幅に短縮される。
なお、非特許文献1における結果では、これらのデータ転送時間が大きな問題であるとは記述されていない。これは、上記論文が前提としている情報処理装置が、主に、ネットワーク的に閉じたシステムを想定しているためと考えられる。
アライメント処理及びバリアントコール処理を、図20に示すように、複数計算機によって実装すると、アライメントの並列処理、及びバリアントコールの並列処理が可能となり、処理時間が大幅に短縮される。
しかし、図20の構成では、アライメント処理とバリアントコール処理の間の複数計算機間のネットワークを介したデータ転送が発生する。更に、バリアントコール処理の結果についても、複数計算機で求めたバリアントコール結果を集める必要があり、ネットワークを介したギガ・テラサイズの膨大なデータ転送が発生する。例えば、ヒトゲノムの全ゲノム解析を行う場合、40程度のカバレージを想定した場合には、アライメント結果だけでも、一人当たり100ギガバイト以上のデータ転送量が必要となる。今後、バリアントコールの精度向上を目指した際には、更にカバレージを大きくする必要が出てくる。また、複数人のDNA情報を並列に解析する場合には、更にデータ転送量は増大する。
通常、複数計算機間のネットワークを介したデータ転送は、閉じたシステム内でのデータ転送に比べ処理時間が多くかかるため、全処理時間に対するデータ転送時間の割合は大きくなる傾向にある。
本発明では、複数計算機間のネットワークを介したデータ転送量を小さくすることにより、複数計算機によって実装した場合にも、全体の処理時間を低減することが可能な情報処理方法を提供する。
図21に、本発明の情報処理装置において、複数計算機を用いた構成の一例を示している。
図21に示す構成で、アライメント処理の並列処理およびバリアントコール処理の並列処理を行った場合、アライメント処理からバリアントコール処理の間はアライメント結果の変化を示すデータ(アライメント変化結果)のみがデータ転送され、バリアントコール処理の結果についても、バリアントコール結果の変化を示すデータ(バリアントコール変化結果)のみがデータ転送される。
このため、図21の構成では、図20の構成と比べ、ネットワークを介したデータ転送量が大幅に削減され、全体の処理時間も大幅に短縮することができる。
通常、バリアントコール処理において、処理時間の長さは、バリアントコールの精度とのトレードオフとなるが、本発明の情報処理方法においては、データ転送量の削減により処理時間の短縮化を図ることができるため、バリアントコールの処理時間を長くし、バリアントコール精度を向上させることができる。
そのため、本発明の情報処理方法は、複数計算機によって実装した場合にも、複雑なアルゴリズムを用いて精度を向上させる、あるいは更にカバレージを増加させて精度を向上させる等のとりたてた工夫をせずとも、バリアントコールの処理時間と精度の最適化を図ることができる。
なお、本発明は、上述の実施形態に限定されるものではない。
上述の方法はA、C、G、Tにより区別される塩基配列のみではなく、任意の連続した複数の文字あるいは記号から構成される配列に、そのままの形で適用可能である。
また、上記バリアントコール処理は、本発明で開示する解析処理の一例であり、本発明の解析処理は、シーケンスがアライメントされた結果を用いた、任意の別の種類の解析処理に置き換えが可能である。
もしも上記解析処理が、アライメント結果のソートを必要としない場合であっても、領域管理情報を用いた処理はそのままの形で利用が可能である。
例えば、メタゲノムの遺伝子解析における類似度検索処理の場合も、本発明の手法は適用可能である。
メタゲノム解析とは、単独では培養困難な環境中の細菌群集からDNAを抽出して塩基配列を決定する解析のことである。メタゲノム解析においては、多数の生物種のゲノム配列を含むリファレンス配列に対して、シーケンサから出力された複数のクエリ配列に対し、本発明の情報処理方法によってアライメント処理を行った後、第2ステップの解析処理として、リファレンス配列内の各生物種のゲノム配列と、クエリ配列の類似度の解析を行うといった用途が存在する。このリファレンス配列中の特定の範囲、すなわち特定の生物種の範囲、での類似度解析にのみ興味がある、という要求は当然存在し、そのような場合には、前述の領域重み値を用いた制御は、そのままの形で利用できる。
その他、本発明の解析処理は、シーケンスの塩基配列を決定した後、リファレンス配列に対してクエリ配列の類似度の解析を行う、いずれの解析にも適用可能である。
また、図13に示したアライメント結果の変化を示すデータの与え方についても、複数のコマンドをまとめてデータ量を圧縮する方法は当然考えられる。
また、コマンド=新規、の際に、すでに以前、同一クエリIDのアライメント結果が、ソート済アライメント結果として登録されていた場合には、登録されていたアライメント結果を自動的に削除した後に、新規のアライメント結果を登録する、という規則を適用することにより、コマンド=削除、のデータ構造が不要である場合も想定可能である。
さらにまた、コマンド=更新、の代わりに、コマンド=新規、を用いることにより、データ構造の種類を減らすことが有効である場合も想定可能である。
この場合は、データサイズの面で不利になる可能性があるが、上記(追加処理1)によって、ソート済アライメント結果の自動的な更新が成されるとするならば、コマンド=新規、として出力されるアライメント結果の変化を示すデータ(アライメント変化結果)の数自体を少なくすることが可能である。
また、データ構造中の、クエリ側終了位置の代わりに、クエリ長を与えることも考えられる。
また、図16に示す領域カバレージは、各領域のサイズが同じである必要はない。
重要な箇所については、領域のサイズを狭く取り、細かい制御を行うことも可能である。
更には、各領域が一つの閉区間を表す場合のみではなく、各領域がインタリーブされて複数の領域を表すことも容易に実現できる。
本発明においては、リファレンス配列の特定の領域毎に、領域カバレージを指定できるということが本質である。
また、図18に示したような単純な、領域カバレージと頻度の対応関係ではなく、領域カバレージの増加分と頻度の関係、を用いて制御を行っても良い。
例えば、領域カバレージ値の変化が大きい際に、この領域のバリアントコールを優先して、再度計算し直すことができる。
本発明においては、バリアントコール処理に変化情報を与え、バリアントコール処理はこの情報をもとに、変化した箇所に係る処理を優先して行うということが本質的である。
また、数1に示した数式もまた実施例であって、重み付け加算のみに限定されるものではない。
リファレンス配列全体のカバレージ値が、領域カバレージ及び領域重み値、を用いた計算により求められる、ということが本質である。
1 シーケンサ部、2 アライメント部、3 バリアントコール部(従来)、31 ソート部(従来)、 32 変異検出部(従来)、 4 クエリ配列管理部、 5 リファレンス配列管理部、 6 アライメント変化結果出力部、7 バリアントコール部、71 ソート部、 72 変異検出部、8 ソート結果管理部、9 領域管理部、10 バリアントコール変化結果出力部、11 中断制御部
Claims (17)
- シーケンサから所定の時間間隔で出力される部分クエリ配列と、
クエリ配列管理部に保持された累積クエリ配列とから、
クエリ配列をリファレンス配列にアライメントしアライメント結果を出力するステップ、
続いて、以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するステップ、を行う第1ステップと、
別の所定の時間間隔で、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行う第2ステップと、を含む情報処理方法。 - 第2ステップにおいて、前記アライメント結果の変化を示すデータを用いて更なる解析処理を行うステップに続いて、前記解析処理の結果の変化を示すデータを出力するステップを更に含む、請求項1に記載の情報処理方法。
- 前記変化情報は、新規、更新、削除のいずれかを区別する情報、を含むことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記変化情報に基づき行う処理の実行において、変化情報が、新規、であるアライメント結果をソートの対象とする、請求項3に記載の情報処理方法。
- 前記解析処理は、バリアントコール処理である、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記変化情報は、アライメント品質に係る情報を含み、前記解析処理では前記アライメント品質に係る情報をもとに、リファレンス配列を分割した各領域、あるいは領域全体のカバレージ値、を計算する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記アライメント処理は、リファレンス配列を分割した各領域に対応する重み値を用い、当該領域に係る出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を決定する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の処理を行うか否か、あるいは処理を行う頻度、あるいは処理を行う優先度を制御する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記解析処理は、リファレンス配列の各領域に対応する重み値、カバレージ値、及び更新情報、の全てあるいはいずれかを用い、これらの値に従って、当該領域の出力を行うか否か、あるいは出力を行う頻度、あるいは出力を行う優先度を制御する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記解析処理は、以前内部に保持した結果を自動的に更新する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 前記解析処理は、前記領域全体のカバレージ値が閾値を超えた際に自動的にシステム全体の処理の中断を要求する、ことを特徴とする、請求項1又は2に記載の情報処理方法。
- 請求項1~11のいずれかに記載の情報処理方法を行う、ことを特徴とする情報処理装置。
- 請求項1~11のいずれかに記載の情報処理方法を実装する、ことを特徴とするプログラム。
- 請求項1~11のいずれかに記載の情報処理方法を記憶する、ことを特徴とする記憶媒体。
- シーケンスを読み取り所定の時間間隔で部分クエリ配列を出力するシーケンサ部と、
前記シーケンサ部から出力された部分クエリ配列を累積クエリ配列として保持するクエリ配列管理部と、
リファレンス配列を保持するリファレンス配列管理部と、
部分クエリ配列と累積クエリ配列とからクエリ配列をリファレンス配列にアライメントし、アライメント結果を出力するアライメント部と、
以前に出力したアライメント結果からの変化情報を前記アライメント結果に付与し、アライメント結果の変化を示すデータを出力するアライメント変化結果出力部と、
前記アライメント結果の変化を示すデータに基づき解析処理を行う解析処理部と、
前記解析処理の結果の変化を示すデータを出力する解析処理変化結果出力部、を備えるシーケンサ。 - 領域管理情報を保持する領域管理部を更に備える、請求子15に記載のシーケンサ。
- 中断カバレージ閾値を管理し、リファレンス配列全体のカバレージ値が、前記中断カバレージ閾値を超えた場合に、全処理の中断を行う中断制御部を更に備える、請求項15に記載のシーケンサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-078823 | 2019-04-17 | ||
JP2019078823 | 2019-04-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020213736A1 true WO2020213736A1 (ja) | 2020-10-22 |
Family
ID=72837357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/016972 WO2020213736A1 (ja) | 2019-04-17 | 2020-04-17 | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020213736A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115409174A (zh) * | 2022-11-01 | 2022-11-29 | 之江实验室 | 一种基于dram存内计算的碱基序列过滤方法与装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007049730A1 (ja) * | 2005-10-26 | 2007-05-03 | Sakata Seed Corporation | 細胞質雑種Lactuca属植物およびその作出方法 |
-
2020
- 2020-04-17 WO PCT/JP2020/016972 patent/WO2020213736A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007049730A1 (ja) * | 2005-10-26 | 2007-05-03 | Sakata Seed Corporation | 細胞質雑種Lactuca属植物およびその作出方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115409174A (zh) * | 2022-11-01 | 2022-11-29 | 之江实验室 | 一种基于dram存内计算的碱基序列过滤方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11756652B2 (en) | Systems and methods for analyzing sequence data | |
Ellinghaus et al. | LTRharvest, an efficient and flexible software for de novo detection of LTR retrotransposons | |
Rosenkranz et al. | proTRAC-a software for probabilistic piRNA cluster detection, visualization and analysis | |
Volfovsky et al. | A clustering method for repeat analysis in DNA sequences | |
US6681186B1 (en) | System and method for improving the accuracy of DNA sequencing and error probability estimation through application of a mathematical model to the analysis of electropherograms | |
Faust et al. | YAHA: fast and flexible long-read alignment with optimal breakpoint detection | |
CA2424031C (en) | System and process for validating, aligning and reordering genetic sequence maps using ordered restriction map | |
US20050227278A1 (en) | Recursive categorical sequence assembly | |
Choi et al. | Libra: scalable k-mer–based tool for massive all-vs-all metagenome comparisons | |
Pickert et al. | Transcription regulatory region analysis using signal detection and fuzzy clustering. | |
CN112599198A (zh) | 一种用于宏基因组测序数据的微生物物种与功能组成分析方法 | |
WO2020213736A1 (ja) | 情報処理装置、情報処理方法、プログラム、及び記憶媒体 | |
KR20190082854A (ko) | 데이터 판독 재정렬을 시퀀싱하는 방법 | |
Bhutkar et al. | Techniques for multi-genome synteny analysis to overcome assembly limitations | |
Zhou et al. | VirusRecom: an information-theory-based method for recombination detection of viral lineages and its application on SARS-CoV-2 | |
CN110825947B (zh) | Url去重方法、装置、设备与计算机可读存储介质 | |
EP1608786B1 (en) | Genomic profiling of regulatory factor binding sites | |
JP2003157267A (ja) | 核酸塩基配列のアセンブル方法及びアセンブル装置 | |
JP4189248B2 (ja) | データベース検索経路判定方法 | |
CN116013420A (zh) | 一种毒力因子数据库构建方法、装置、设备及介质 | |
KR102288957B1 (ko) | 네트워크에서 질의 개체와 관련된 타겟 노드를 탐색하는 방법 및 시스템 | |
US6963865B2 (en) | Method system and program product for data searching | |
CN110476215A (zh) | 用于多序列文件的签名-散列 | |
KR100836166B1 (ko) | 단백질의 아미노산 서열로부터 삼차 구조를 예측하기 위한장치 및 이의 예측 방법 | |
CN114138330A (zh) | 基于知识图谱的代码克隆检测优化方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20790593 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20790593 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |