Computer-implemented method, computer program product, device and system
Patent Information
- Application Number
- CN202610409748.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-08
- Filing Date
- 2026-03-31
- Publication Date
- 2026-10-16
AI Technical Summary
[0014]缺失是其中与参考相比,在读段中丢失了一个或多个核苷酸的错误
Smart Images

Figure CN122930218A_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims priority to European Patent Application No. EP25462005.7, filed on April 8, 2025, entitled "Computer-implemented method, computer program product, device and system". The contents of European Patent Application No. EP25462005.7 are incorporated herein by reference. Technical Field
[0003] This disclosure relates to the field of bioinformatics technology, and more specifically, to computer-implemented methods, computer program products, apparatus, and systems for sequence read analysis. Background Technology
[0004] This application relates to a computer-implemented method comprising: determining a first sequence based on a plurality of sequence reads; displaying a user interface (UI) on a display device, the UI including at least one second sequence, the at least one second sequence including one or more first sequence reads from the plurality of sequence reads, wherein when comparing the first sequence and the second sequence, the at least one first sequence read includes at least one position different from a corresponding position in the first sequence, and wherein the at least one position is displayed such that the position can be identified from other identical positions in the first sequence and the second sequence; and upon receiving an indication that one of the at least two second sequences has been selected via the UI, displaying information on the UI regarding one or more matching reference sequences that match the selected second sequence. This application also relates to a computer program product including computer-readable instructions that, when loaded and executed on a computer, cause the computer to perform the computer-implemented method. This application further relates to an apparatus including one or more processors configured to perform the computer-implemented method. Computer-implemented methods, computer program products, and / or devices can be used to genotype HLA (human leukocyte antigen), KIR (cytotoxic cell immunoglobulin-like receptor), ABO blood group antigens, rhesus monkey antigens, MICA / B (MHC class I related chain A / B), or other immunomodulatory genes. For example, genotyping can be used in transplantation to determine donor-recipient compatibility by analyzing genes such as HLA genes and other clinically relevant genes, such as KIR, ABO blood group antigens, and MICA used for immunocompatibility, to minimize the risk of rejection and enhance long-term graft survival. As another example, genotyping can be used in blood transfusions to determine donor-recipient compatibility by analyzing, for example, ABO blood group antigens, rhesus monkey antigens, etc.
[0005] Existing systems for sequence analysis, particularly genotyping, can display sequence reads obtained from sequencing platforms and / or sequences identified using those reads. For example, a common sequence can be constructed from multiple sequence reads. The system can display the constructed common sequence and at least a portion of the multiple sequence reads used to construct the common sequence. Parts of the multiple sequence reads can be mapped to the constructed common sequence. The common sequence can be used to query a sequence database to identify one or more reference sequences that at least partially match the common sequence in a reference sequence included in the sequence database. In this disclosure, "query" can mean accessing a database and retrieving desired information from it. As an example, when querying a database containing reference sequences using a sequence or sequence read, for each position of the reference sequence, the nucleotide bases of the reference sequence at that position are compared with the nucleotide bases of the sequence or sequence read used for the query at the same position.
[0006] Furthermore, a "reference sequence" can be understood as a DNA (deoxyribonucleic acid), RNA (ribonucleic acid), or protein sequence used as a comparison standard. A reference sequence is typically a known sequence, which is a sequence of nucleotide bases in a specific order and assigned a particular name.
[0007] Furthermore, a sequence that "matches" another sequence can mean that the sequence has the same nucleotide bases at corresponding positions as the other sequence. In an exact match or perfect match, the nucleotide bases at all positions are identical. In a partial match, at least some, but not all, nucleotide bases at all positions are identical; that is, at some positions, the nucleotide bases may differ from each other. Additionally, in some cases, the sequence may have insertion and / or deletion positions relative to the other sequence, which are referred to as vacancies or insertions / deletions (insertions / deletions). In this disclosure, the term "match" or "matched" can be understood to refer to sequences being significantly identical, for example, the proportion (e.g., percentage) of positions with the same nucleotide bases at positions present in both sequences (e.g., positions in the shorter sequence if one of the two sequences being compared is shorter than the other) is higher than a specified threshold (e.g., 90%, 95%, etc.).
[0008] In some cases, it may be necessary to identify one or more reference sequences that match one or more of the multiple sequence reads used to determine the first sequence. In one example, these could be the sequence reads on which the common sequence is built. For example, some sequence reads associated with the common sequence may have positions of nucleotide bases different from their corresponding positions in the common sequence. In another example, when a reference sequence is obtained, for example, by querying a database using one or more sequence reads or the common sequence, differences may arise between the remaining sequence reads and the reference sequence.
[0009] Furthermore, due to limitations of different sequencing platforms and technical variability, an inherent mismatch error rate may occur during sequencing. These errors can introduce mismatches, insertions, or deletions when sequence reads are compared with a reference genome or sequence.
[0010] Examples of such errors can be base call errors, PCR amplification errors, and homopolymer errors, to name just a few. Base call errors can occur when the sequencer incorrectly identifies nucleotides during read processing. PCR amplification errors are errors during the PCR step that can introduce mutations into the amplified DNA that is subsequently sequenced. Adaptor / barcode errors can include incorrect allocation of barcodes or adaptors, which can lead to misidentification or contamination of reads. In homopolymer errors, sequences with long segments containing the same nucleotides (e.g., AAAA or TTTTT) are prone to insertion / deletion errors.
[0011] Specifically, the following errors may occur:
[0012] A mismatch is an error where the nucleotides in a read are different from the reference. This error is usually due to incorrect base calling or sequence misinterpretation. In one example, the reference is ATCG, and the read is ATGG, therefore there is a C / G mismatch.
[0013] An insertion is an error that introduces one or more extra nucleotides during sequencing. As an example, the reference is ATCG, where the read is ATCCG, meaning an extra nucleotide base (C) has been inserted.
[0014] A deletion is an error in which one or more nucleotides are missing from a read compared to a reference. As an example, the reference is ATCG, and the sequence read is ATG, meaning that a nucleotide base, namely (C), is missing.
[0015] Sequencers can assign Phred scores to indicate the confidence level of base calls, with higher scores implying fewer errors. Sequencers can also apply error correction algorithms. Specifically, when obtaining shared sequences from sequence reads, combining multiple reads from the same region can reduce errors by creating shared sequences.
[0016] Further analysis of these sequence reads may be necessary to identify the reasons for the differences compared to the shared or reference sequences, respectively. This can be important because these differences may have biological causes, or they may be a result of the analysis performed. Specifically, such further analysis can indicate the reliability of the analytical results, or suggest whether the results are credible, or whether additional sequencing / assays should be performed.
[0017] In this scenario, users can typically access known websites that provide sequence alignment tools, such as the Basic Logical Alignment Search Tool (BLAST), enter one or more sequence reads of interest on the website, and obtain information about the reference sequence provided by the sequence alignment tool for that sequence read.
[0018] Therefore, there is a need to improve the performance of sequence read analysis, particularly the performance of analyzing at least a portion of the raw data obtained from sequencing platforms, and to reduce the time and inconvenience associated with all aspects of sequence read analysis. Summary of the Invention
[0019] In one respect, the problem involves improving the analytical performance of sequences or sequence reads obtained through sequence platforms, particularly to facilitate genotyping.
[0020] This problem is addressed by the features disclosed in the independent claims and / or one or more alternative embodiments described in this application. Further exemplary embodiments are defined by the dependent claims.
[0021] According to one aspect, a computer-implemented method is provided. The method includes:
[0022] - Determine the first sequence based on multiple sequence reads;
[0023] - Displaying a user interface (UI) on a display device, the UI including at least one second sequence, the at least one second sequence including one or more first sequence reads from the plurality of sequence reads, wherein when comparing the first sequence and the second sequence, at least one first sequence read includes at least one position different from a corresponding position in the first sequence, and wherein the at least one position is displayed such that the position can be identified from other identical positions in the first sequence and the second sequence; and
[0024] - Upon receiving an indication that one of the at least one second sequence has been selected via the UI, information about one or more matching reference sequences that match the selected second sequence is displayed on the UI.
[0025] In this disclosure, the term "sequence read" can refer to a sequence read of nucleotide sequences obtained from one or more samples, for example, using high-throughput sequencing technology obtained by using a sequencing instrument or platform. Examples of sequencing instruments or platforms may include, but are not limited to, the MiSeq i100 series, NovaSeq X series, and NextSeq series manufactured by Illumina, and the MinION, GridION, PromethIon 2 Solo, and PromethION manufactured by Oxford Nanopore Technologies. Thus, a sequence read can be considered as "raw data" obtained as a result of sequencing one or more samples. Each sequence read may include a fragment of DNA or RNA. In some exemplary embodiments, a sequence read may be a portion of the raw data from the sequencing platform. For example, this portion may be determined based on filtering criteria related to, for example, noise percentage, signal quality, and / or the length or number of sequence reads.
[0026] In this disclosure, the term "sequence" can refer to a complete, assembled, and / or verified DNA sequence, i.e., the subsequent ordered arrangement of nucleotide bases. For example, a sequence can be obtained from multiple sequence reads by, for example, assembling multiple sequence reads and / or querying a sequence database with multiple sequence reads (e.g., as the "first sequence" above). Furthermore, for example, in some cases, a sequence can simply represent a single sequence read or a group of sequence reads (e.g., as the "second sequence" above). For the purposes of this disclosure, a sequence read consists at least in part of raw data obtained from a sequencing platform. A sequence is the result of processing a sequence read, wherein such processing can include different levels of complexity, such as simply grouping one or more sequence reads into a group, querying a database with sequence reads, or constructing a sequence from two or more sequence reads.
[0027] In this disclosure, unless otherwise stated, the terms "first sequence reading" and "sequence reading" are used interchangeably. The terms "first" and "second" are used only to distinguish different terms to avoid confusion and do not imply their conventional English meaning. That is, "first" and "second" do not imply any order or ranking.
[0028] In this disclosure, if a nucleotide base differs at a certain position, that position in the sequence read is different from that position in another sequence read or different from that position in the first sequence. If a nucleotide base differs at one position, that position in the second sequence is different from that position in the first sequence.
[0029] In some exemplary embodiments, each first sequence read segment may include at least one position that is different from the corresponding position of the first sequence.
[0030] In other exemplary embodiments, one or more of the second sequences may have no different positions compared to the first sequence; in other words, they may be exactly matched with the first sequence. A second sequence having an exact match with the first sequence comprises one or more sequence reads, wherein all positions of the one or more sequence reads are identical to their corresponding positions in the first sequence when the first and second sequences are compared. However, note that the second sequence may be shorter or longer than the first sequence. In the case where the second sequence is shorter or longer than the first sequence, an exact match may indicate that there are no different positions among the positions contained in both the first and second sequences. Therefore, positions in the first or second sequence that have no corresponding positions in the other sequence due to the length difference between the first and second sequences are not considered empty positions (i.e., insertions or deletions).
[0031] In some exemplary embodiments, one or more matching reference sequences that match the selected second sequence can be obtained by querying a sequence database that includes reference sequences. For example, the selected second sequence can be used to query the sequence database, and the selected second sequence can be aligned with the reference sequences contained in the sequence database to identify one or more matching reference sequences within the reference sequences contained in the sequence database. The alignment of the selected second sequence with the reference sequences contained in the sequence database can be performed using existing alignment algorithms or tools, such as Minimap2, Basic Local Alignment Search (BLAST), etc.
[0032] In some exemplary embodiments, the UI may include a graphical user interface (GUI). In other exemplary embodiments, the UI may include a command-line user interface.
[0033] In some examples, sequence reads and / or (one or more) second sequences can be provided and displayed in a predetermined order in the GUI; that is, sequence reads and / or (one or more) second sequences can be grouped. Various grouping schemes can be implemented for convenience or for user visualization efficiency. In some embodiments, grouping is based on the order in which sequence reads are received from the sequencing platform. As another example, sequence reads and / or (one or more) second sequences can be ordered according to their nucleotide bases at specific positions. As an example, sequence reads can be ordered such that sequence reads with the same nucleotide bases at a given position are subsequently positioned, i.e., one below the other. Grouping can be automatic or triggered by user action. In some embodiments, multiple grouping options are provided to the user, for example via drop-down menus, a GUI, command line, or other mechanisms, allowing the user to organize the visualization according to their preferences.
[0034] As an example, a user can select a position in the GUI for sorting, i.e., grouping, sequence reads. Specifically, the user can select the position of a sequence read, the position of a first sequence, or the position of a second sequence, for sorting the second sequence or sequence read. For example, sequences or sequence reads with the same value at the selected position will be grouped adjacent to each other for display. The user can also select the order by choosing nucleotide bases in the desired order. Alternatively, the order of nucleotide bases can be predefined, starting with the nucleotide (or value) that appears least frequently at a given position, then the nucleotide that appears next most frequently at a given position, and so on, until the nucleotide that appears most frequently at a given position. Alternatively, the order can be the reverse of the above, starting with the nucleotide that appears most frequently at a given position, then the nucleotide that appears second most frequently at a given position, and so on, until the nucleotide that appears least frequently at a given position.
[0035] In some exemplary embodiments, an indication to select one of the at least one second sequence may be included in user input received via the UI.
[0036] The methods described above enable the efficient provision of information about one or more reference sequences that match a second sequence selected from sequences containing sequence reads having positions different from the corresponding positions of a first sequence determined based on multiple sequence reads. This information allows for the rapid and efficient identification of reasons why the second sequence differs from the first sequence. For example, there may be a biological reason why the second sequence does not match the first sequence at least partially, and the user can further investigate this reason. Furthermore, as another example, the reference sequence identified by the second sequence may be very similar to the first sequence, allowing the user to identify it without problems during analysis. As yet another example, in cases where the selected second sequence has an exact match with the first sequence but is shorter or longer than the first sequence, the one or more reference sequences matching the selected second sequence may differ from the first sequence. Similarly, in this case, information about the one or more matching reference sequences can provide the user with one of the bases to determine whether further analysis of the sequence read should be performed.
[0037] In some exemplary embodiments, the first sequence may be a common sequence constructed based on multiple sequence reads. A common sequence may represent the determination of the most common and / or most probable identity at a location based on multiple sequence reads at each location using a known algorithm. In some cases, two or more common sequences may be constructed based on multiple sequence reads. As a specific example, when an exemplary embodiment is used for HLA genotyping, two common sequences may be determined, each corresponding to an HLA allele in one or more samples. In the case of constructing two or more common sequences, at least one second sequence may be presented for each of the two or more common sequences. In an exemplary embodiment where one or more common sequences are determined as the first sequence, for each common sequence, a reference sequence that at least partially matches the common sequence can be obtained by querying a sequence database, and information about said reference sequence may be provided. In the context of the specific example of HLA genotyping described above, said reference sequence obtained for each common sequence may be an HLA allele contained in a sequence database (e.g., the IMGT / HLA database). The sequence database for querying said reference sequence that matches the common sequence may be the same sequence database that can be queried to determine one or more matching reference sequences that match the selected second sequence. In other words, the same sequence database can be used for matching both the common sequence and the selected second sequence with reference sequences. This can improve the efficiency of providing information about the matched one or more reference sequences. Alternatively, using the same sequence database ensures consistency in the results of the two matching processes because the results provided use the same terminology, which might not be the case if a different sequence database was queried with the selected second sequence compared to the sequence database queried with the common sequence. Furthermore, an alignment algorithm or tool (e.g., Minimap2, BLAST, etc.) can be used to query the sequence database with each common sequence to determine the one reference sequence, and this alignment algorithm or tool is the same as that used to determine the one or more matched reference sequences that match the selected second sequence as described above. This ensures that when differences exist in the results (e.g., the one reference sequence matched with the common sequence is different from the one or more matched reference sequences matched with the selected second sequence), the difference comes from the sequence used for the query, not from different alignment algorithms (because the same alignment algorithm is used).
[0038] In some exemplary embodiments, two first sequences may be provided, and each first sequence is a common sequence. The two first sequences may be different from each other.
[0039] In some exemplary embodiments, the first sequence may be a reference sequence identified based on querying a sequence database with each read and selecting the most probable reference sequence within the sequence database based on that query. Each read may be each of a plurality of reads received from a sequencing platform or instrument. The most probable reference sequence may be the most likely existing reference sequence, or in other words, the one with the highest probability of being present in a sample from which multiple reads were obtained. In some cases, the most probable reference sequence may be determined by querying a sequence database with each read, associating each read with a reference sequence by matching each read with a reference sequence, and determining the most probable reference sequence from the associated reference sequences using statistical methods and / or machine learning algorithms. As an example, the most probable reference sequence may be the reference sequence that most frequently matches a read among all the reads identified. The querying with each read and the matching of each read with a reference sequence may be performed using an alignment tool (e.g., Minimap2, BLAST, etc.), which may be the same alignment tool used to determine one or more matching reference sequences that match the selected second sequence as described above. Furthermore, the sequence database queried to determine the most likely reference sequence can be the same sequence database queried to determine one or more matching reference sequences that match the selected second sequence. This can improve the efficiency of providing information about the matching one or more reference sequences and / or ensure the consistency of the results of the two matching processes.
[0040] In some exemplary embodiments, the first sequence may be a reference sequence identified by querying a sequence database with each sequence read from a subset of all sequence reads (i.e., not all sequence reads) and selecting the most probable reference sequence within the sequence database based on that query. In other words, the first sequence may be a reference sequence identified by querying the sequence database with multiple sequence reads (i.e., one by one, not all sequence reads) and selecting the most probable reference sequence within the sequence database based on that query. In some cases, the most probable reference sequence may be determined by querying the sequence database with each sequence read from a subset of all sequence reads, associating a reference sequence with each sequence read from the subset of all sequence reads by matching each sequence read with a reference sequence, and using statistical methods and / or machine learning algorithms to determine the most probable reference sequence from the associated reference sequences. Querying each sequence read from a subset of all sequence reads and matching each sequence read from a subset of all sequence reads with a reference sequence can be performed using an alignment tool (e.g., Minimap2, BLAST, etc.) that is the same alignment tool used to determine one or more matching reference sequences that match the selected second sequence as described above. Furthermore, the sequence database queried to determine the most probable reference sequence can be the same sequence database queried to determine one or more matching reference sequences that match the selected second sequence. This can improve the efficiency of providing information about the matching one or more reference sequences and / or ensure the consistency of the results of the two matching processes.
[0041] In some exemplary embodiments, two first sequences can be identified, that is, two reference sequences can be identified, and the two first sequences (i.e., the two reference sequences) can be different from each other.
[0042] In some exemplary embodiments, the second sequence may include a single read or consist of a single read. In some exemplary embodiments, the second sequence may include multiple reads or all reads associated with the corresponding first sequence received from the sequencing platform, or consist of a single read.
[0043] In some exemplary embodiments, information about the matched one or more reference sequences includes one or more of the following: reference sequence gene name or identifier, matching accuracy, matching error rate, or any information about mismatch locations.
[0044] In some exemplary embodiments, those second sequences having a number of different positions exceeding a threshold number can be noise sequences of interest. The method according to the foregoing aspects may also include automatically querying a sequence database using each noise sequence of interest to identify one or more reference sequences matching each noise sequence of interest, and storing information about the matching one or more reference sequences in association with the corresponding noise sequence of interest. As further explained below, noise sequences of interest may exist due to, for example, measurement and / or analytical noise or error from a sequencing platform or sequencing technology, or exceptions to samples, such as samples from individuals having more than two alleles at each gene (e.g., an HLA locus), and / or contamination of one or more samples. Furthermore, in such exemplary embodiments, display may include identifying and displaying stored information associated with the selected noise sequence of interest upon receiving an indication that a noise sequence of interest has been selected. These exemplary embodiments can effectively provide information about the matching one or more reference sequences that match the selected noise sequence of interest because this information has already been stored.
[0045] Alternatively or supplementally, if a position in the first sequence is identified as a noise position and a second sequence differs from the first sequence at that noise position, then the second sequence is the noise sequence of interest. In such an embodiment, a noise position is a position where the noise level is higher than a predetermined noise threshold. Alternatively or additionally, a noise position is a position where the distance between the noise level and the confidence level of the first sequence at that position is lower than a predetermined distance threshold. In such an embodiment, the method may further include automatically calculating the noise level at each position in the first sequence and displaying at least a portion of the result of automatically calculating the noise level at each position in the first sequence, such that one or more positions in the first sequence identified as noise positions or noise positions of interest can be identified from other positions in the first sequence that are not identified as noise positions or noise positions of interest. For example, noise positions can be displayed using a different color than other positions.
[0046] A noise threshold is a threshold that can be applied to determine whether a location is considered to be associated with noise. For example, in some exemplary embodiments, a location is not considered to be associated with the evaluation noise as long as the noise level at a given location is below a noise threshold.
[0047] A distance threshold is a threshold that can be applied to determine whether a location is considered to be associated with noise. For example, in some exemplary embodiments, a location is not considered to be associated with evaluation noise if the difference between the noise level at a given location and the confidence level of a first sequence at that location—that is, the distance between the two values—is greater than a distance threshold.
[0048] The noise level at a given position is defined as the number of sequence reads that have nucleotide bases at that position that are different from any nucleotide bases of the first sequence at that position, divided by the total number of sequence reads associated with the first sequence.
[0049] The noise threshold can be 15%, 20%, 25%, or 30%.
[0050] The predetermined distance threshold can be 10%, 5%, or 3%.
[0051] The confidence level of a first sequence is a measure of the certainty that the nucleotide bases at that position in the first sequence (e.g., a common sequence or a defined reference sequence) are correct. In one example, the confidence level could be the number of sequence reads that have the most common nucleotide bases at that position across all sequence reads divided by the total number of sequence reads. In other words, the confidence level could be the number of sequence reads that have the same nucleotide bases at that position as the first sequence (e.g., a common sequence or a defined reference sequence at that position) divided by the total number of sequence reads associated with the first sequence.
[0052] In some exemplary embodiments, those second sequences having a number of different positions higher than a threshold number can be noise sequences of interest and / or those second sequences of interest that may differ from the first sequence at noise positions can be noise sequences, and the method may further include, upon receiving an instruction, automatically querying a sequence database using the selected noise sequences of interest to identify one or more reference sequences that match the noise sequences of interest.
[0053] In some exemplary embodiments, at least one position that differs from the corresponding position in the first sequence can be the following result:
[0054] Measurement and / or analysis noise when creating the first sequence read from one or more samples; and / or
[0055] The one or more samples.
[0056] As an example, samples and / or sequence reads may result in the absence of reliable shared sequences. For instance, if a sample is expected to produce exactly two shared sequences, the analyzed sequence reads may produce, for example, three equally good sequences for the two shared sequences, or a less common third sequence represented in the sequence read at or above a threshold frequency. One reason for this could be a biological cause, possibly a biological anomaly, leading to three shared sequences. In some cases, for individuals who previously received donor tissue or organs, a third sequence might represent tissue from the donor. As an alternative, sample contamination is possible. Another reason is that the measurement of the sequence reads may be erroneous. Specifically, the aforementioned measurement and / or analytical noise can include sequencing errors.
[0057] In some exemplary embodiments, in association with an instruction to select at least one of a second sequence via the UI, an instruction to display on the UI information about one or more matching reference sequences that match the selected second sequence may further be received. In some cases, the instruction may be received via a triggering element, which is either a permanent element present in the UI throughout the entire time the UI is displayed on the display device, or a temporary element appearing in the UI in response to specific user input regarding a segment of the selected sequence. In other cases, the instruction may be received in the form of command-line input to the UI.
[0058] In some exemplary embodiments, displaying information on the UI about one or more matching reference sequences that match the selected second sequence may include sorting the one or more matching reference sequences based on the percentage of match of each of the one or more matching reference sequences relative to the selected second sequence. In such exemplary embodiments, the identifier of each of the one or more matching reference sequences may be displayed in the order of sorting. Furthermore, the step of sorting the one or more matching reference sequences based on the percentage of match of each of the one or more matching reference sequences relative to the selected second sequence may include determining the percentage of match of each of the one or more matching reference sequences relative to the selected second sequence, and optionally, determining the error rate of each of the one or more matching reference sequences relative to the selected second sequence. The percentage of match and / or the error rate for each of the one or more reference sequences may be further provided.
[0059] In some exemplary embodiments, the reference sequence may be a human leukocyte antigen (HLA) allele. Furthermore, in some exemplary embodiments, the sequence database may be an IPD-MHC database. An IPD-MHC database may contain known HLA alleles and other sequences, such as sequences of killer cell immunoglobulin-like receptors (KIRs). In other exemplary embodiments, the sequence database may be an IMGT / HLA database. Other examples of sequence databases may include, but are not limited to, NCBI's GenBank, EMBL-EBI, DDBJ (Japan's DNA database), NCBI's RefSeq, Ensembl, Gencode, MG-RAST, GOLD (Genome Online Database), UniProt, PDB (Protein Database), InterPro, Pfam, NCBI's dbSNP, ClinVar, OMIM (Human Online Mendelian Inheritance), GEO (Gene Expression Comprehensive Database), ArrayExpress, RNAcentral, TAIR (Arabidopsis Information Resource), ViPR (Viral Pathogen Database), etc.
[0060] However, it should be noted that the functionality of any of the aspects and exemplary embodiments described herein does not depend on a particular sequence.
[0061] In some exemplary embodiments, multiple sequence reads can be obtained from a single sample.
[0062] In some cases, any of the methods according to the foregoing aspects and various exemplary embodiments may further include: grouping at least one second sequence in a specified order for display in a UI, wherein the grouping is performed automatically or in response to user input that triggers the grouping.
[0063] According to another aspect, a computer program product is provided. This computer program product includes computer-readable instructions that, when loaded and run on a computer, cause the computer to perform a method according to any one of the foregoing aspects and various exemplary embodiments.
[0064] According to another aspect, an apparatus is provided. The apparatus includes one or more processors configured to perform a method according to any one of the foregoing aspects and various exemplary embodiments.
[0065] In some exemplary embodiments, the device may also include one or more storage media connected to one or more processors and configured to store a sequence database including reference sequences.
[0066] Specifically, the device can access a database. The database can be physically located on the device or accessible via a network. The database can be a cloud-based database and / or a distributed database. The database may include a reference sequence. Once the above process is initiated, specifically once a second sequence is selected, access to the database can be automatic.
[0067] The device can execute query algorithms. To do this, the device may have access to or possess a processor and necessary peripheral devices. The processor can execute the aforementioned queries, specifically in the form of one or more computer-executable algorithms. The algorithms(one or more) may be executed on the device or in / by a remote processor controlled by the device. In other words, the execution of the algorithms(one or more) may be cloud-based. The algorithm may contain software instructions and may be stored on the device along with other software instructions associated with other steps or functions described in this disclosure, or may be stored separately.
[0068] The device can interact with the user. To do this, the device can have a user interface (UI), specifically a graphical user interface (GUI), such as a display, specifically a touch display.
[0069] In some exemplary embodiments, a system may include:
[0070] One or more processors are configured to perform a method according to any one of the foregoing aspects and various exemplary embodiments;
[0071] One or more storage media connected to the one or more processors and configured to store a sequence database containing reference sequences.
[0072] The one or more processors may also be configured to receive the plurality of sequence reads from the sequencer.
[0073] The subject matter described in this application can be implemented as a method or system, possibly in the form of one or more computer program products. The subject matter described in this application can be implemented in data signals or on a machine-readable medium, wherein the medium is embodied in one or more information carriers, such as CD-ROM, DVD-ROM, semiconductor memory, or hard disk. Such a computer program product can cause a data processing apparatus to perform one or more operations described in this application.
[0074] Furthermore, the subject matter described in this application can also be implemented as a system including a processor and memory coupled to the processor. The memory may encode one or more programs to cause the processor to execute one or more methods described in this application. In some examples, the system may be a general-purpose computer system. In other examples, the system may be a special-purpose computer system including embedded systems. Attached Figure Description
[0075] Details of one or more embodiments are set forth in the following exemplary drawings and description. Other features will be apparent from the specification, drawings, and claims. However, it should be understood that while embodiments are described individually, individual features of different embodiments may be combined in other embodiments.
[0076] Figure 1 A functional block diagram of an exemplary system according to this disclosure is shown.
[0077] Figure 2 A flowchart is shown of an exemplary process performed by an exemplary genotyping system according to this disclosure.
[0078] Figure 3 An example of a GUI displayed by an exemplary genotyping system according to this disclosure is shown.
[0079] Figure 4 Another example of a GUI displayed by an exemplary genotyping system according to this disclosure is shown.
[0080] Figure 5 It shows Figure 3 An enlarged version of a portion of the GUI shown.
[0081] Figure 6 Another example of a GUI displayed by an exemplary genotyping system according to this disclosure is shown.
[0082] Figure 7 It shows Figure 6 An enlarged version of a portion of the GUI shown.
[0083] Figure 8 An exemplary hardware configuration of a computer that can be used to implement at least a portion of the system according to this disclosure is shown.
[0084] The examples will be described in detail below with reference to the accompanying drawings. It should be understood that various modifications can be made to the examples. Specifically, one or more elements of an example can be combined and used in other examples to form new examples. Detailed Implementation
[0085] In the following sections, exemplary embodiments are described regarding HLA gene genotyping. However, it should be noted that any of the various aspects and exemplary embodiments described herein can also be applied to genotyping of genes other than HLA genes, such as KIR, ABO blood group antigens, MICA, etc.
[0086] Figure 1 A functional block diagram of an exemplary system according to this disclosure is shown. Figure 1The exemplary system shown includes a genotyping system 10 and an optional sequencing platform 20.
[0087] The genotyping system 10 may include a processor 102, a sequence database (DB) 104, and a display device 106. The processor 102 may be configured to perform one or more processes according to this disclosure. Details of the processes that can be performed by the processor 102 will be described below.
[0088] Furthermore, the genotyping system 10 may include one or more storage media (not shown) connected to the processor 102 and configured to store any information necessary for the processor 102 to perform one or more processes. For example, the one or more storage media may store alignment algorithms or tools for querying sequence DB 104 with sequences and / or sequence reads.
[0089] Sequence DB 104 may include a reference sequence. For example, Sequence DB 104 may contain HLA alleles. In some exemplary embodiments, Sequence DB 104 may be an IMGT / HLA database, although Sequence DB 104 may also be other databases, such as those previously described. For example, Sequence DB 104 may be implemented by storing the reference sequence in one or more storage media of the genotyping system 10 described above. In some exemplary embodiments, Sequence DB 104 may be in the form of a file stored in one or more storage media of the genotyping system 10.
[0090] Display device 106 can be configured to display information output by processor 102.
[0091] In some exemplary embodiments, the genotyping system 10 may be implemented as a single device. In other exemplary embodiments, the genotyping system 10 may be implemented using more than one computing device connected via a network such as the Internet. For example, the genotyping system 10 may be implemented in a cloud computing environment, and the use of the genotyping system 10 may be delivered to users as a service.
[0092] Sequencing platform 20 may include a sequencer (not shown) configured to perform sequencing, wherein the nucleotide sequence of a given DNA or RNA fragment is determined. For example, the sequencer may be configured to measure one or more samples and obtain sequence reads of nucleotide sequences.
[0093] Furthermore, sequencing platform 20 can be configured to collect sequence reads obtained by a sequencer and store the collected sequence reads in a storage device and / or provide the collected sequence reads to another computing device. Each sequence read may be or contain nucleotides A, T, C, G in sequence (i.e., in a given subsequent order). Data obtained from the sequencer may also include other information besides nucleotide sequences, such as metadata about the sequencer, sample, methods and procedures used, etc. Examples of sequencing platform 20 may include, but are not limited to, sequencing platforms provided by Oxford Nanopore Technologies, Illumina, PacBio, etc. Sequencing platform 20 may communicate with genotyping system 10 via one or more wired and / or wireless networks. Processor 102 of genotyping system 10 may receive sequence reads obtained from one or more samples by sequencing platform 20 from sequencing platform 20. Alternatively, sequence reads may be downloaded from sequencing platform 20 and may be delivered to genotyping system 10, for example, via a computer-readable medium.
[0094] It should be noted that Figure 1 The system shown is merely an example, and systems according to this disclosure may have the same characteristics as... Figure 1 The exemplary systems shown are configured differently. For example, a system according to this disclosure does not need to include a sequencing platform 20, as long as the genotyping system 10 can access the sequence reads obtained by the sequencing platform 20. For example, the display device 106 does not need to include... Figure 1 Within the genotyping system 10 shown, the display device 106 may communicate with, for example, the processor 102 of the genotyping system 10, but is a separate device from the genotyping system 10. This implementation may be adopted, for example, where the functionality of the genotyping system 10 is provided within a web application running via a web browser. In this case, the processor 102 and database 104 of the genotyping system 10 may be implemented on one or more web servers, and the display device 106 may be, for example, a display of a user's client device.
[0095] Furthermore, despite Figure 1 The genotyping system 10 shown includes a single processor 102, but the genotyping system 10 may include more than one processor 102, and the more than one processor 102 may be configured to perform one or more processes according to this disclosure.
[0096] Furthermore, for example, although Figure 1The genotyping system 10 shown communicates with the sequencing platform 20, but in some cases, the genotyping system 10 may not necessarily communicate with the sequencing platform 20. In such cases, the genotyping system 10 may access a storage device storing sequence reads obtained by the sequencing platform 20 to receive sequence reads, wherein the storage device is not necessarily part of the sequencing platform 20.
[0097] Figure 2 A flowchart illustrating an exemplary process performed by the genotyping system 10 is shown. For example, the processor 102 of the genotyping system 10 can begin performing the exemplary process upon receiving user input instructing the genotyping system 10 to do so. Figure 2 The exemplary process shown is illustrated below.
[0098] In step S10, processor 102 may determine a common sequence based on multiple sequence reads. The sequence reads may have been obtained from one or more samples and may be received from sequencing platform 20. In a specific example of an exemplary process for HLA genotyping, two common sequences may be determined in step S10, each corresponding to an HLA allele in one or more samples. In this specific example, for each of the two common sequences, a reference HLA allele that at least partially matches the common sequence can be obtained by querying sequence DB 104, which contains known HLA allele sequences. In this specific example, sequence DB 104 may include an IMGT / HLA database. Alignment algorithms or tools such as Minimap2, BLAST, etc., may be used to map each common sequence to an HLA allele contained in the IMGT / HLA database. The alignment algorithms or tools may be stored in one or more storage media of the genotyping system 10.
[0099] In an alternative exemplary embodiment, a reference sequence is identified by querying sequence DB 104 using each sequence read from a subset of all obtained sequence reads, or using each sequence read from all obtained sequence reads, and selecting the most probable reference sequence within sequence DB 104 based on this query. In some cases, the most probable reference sequence can be determined by querying sequence DB 104 for each sequence read, associating each sequence read with a reference sequence by matching each sequence read with a reference sequence, and using statistical methods and / or machine learning algorithms to determine the most probable reference sequence from the associated reference sequences. Existing alignment tools, such as Minimap2, BLAST, etc., can be used for matching each sequence read with a reference sequence.
[0100] After step S10, the exemplary process can proceed to step S20.
[0101] In step S20, the processor 102 may display a UI including multiple sequence read segments on the display device 106. Figure 3 and Figure 4 An example of the UI displayed at step S20 is shown. These examples will be described in more detail below. When comparing a common sequence and sequence reads, at least one of the sequence reads may contain at least one position that differs from the corresponding position in the common sequence. In some cases, each sequence read may contain at least one position that differs from the corresponding position in the common sequence. This at least one position may be displayed in the UI such that it can be identified from other positions identical in the common sequence and sequence reads. In some exemplary embodiments, the UI displayed at step S20 may be a graphical UI (GUI). In other exemplary embodiments, the UI displayed at step S20 may be a non-graphical UI configured to receive command-line input from the user.
[0102] In some exemplary embodiments, sequence reads with a number (e.g., percentage) of distinct positions above a threshold may be considered noise reads of interest, where the percentage may be calculated based on the ratio of the count of distinct positions to the total count of sequence reads used to construct a consensus sequence or to identify a reference sequence. In some examples, the threshold is 5%, 10%, 15%, 20%, 25%, or higher. In some cases, when creating sequence reads from one or more samples, distinct positions may be the result of measuring and / or analyzing noise. Alternatively or additionally, distinct positions may be the result of one or more samples. For example, in a specific example involving HLA genotyping, an individual may have (though rarely) more than two HLA alleles. In some cases, where an individual has previously received an organ or tissue donation, the sample may exhibit more than two alleles. Constructing two HLA alleles based on sequence reads from samples taken from such individuals may produce noise reads of interest.
[0103] Figure 3 and Figure 4 It shows that it can be used Figure 2 The exemplary GUI shown at step S20. Figure 3 In the text, the rows denoted as "shared sequence" show the sequence in... Figure 2 Step S10 determines at least a portion of the exemplary shared sequence. Rows in the field marked as read segments show exemplary sequence read segments (not all are displayed simultaneously, but can be accessed / displayed as the UI scrolls). Figure 3 This includes various buttons. Specifically, the buttons are displayed in area 30 of the lower half of the GUI. Additional buttons are shown in area 40 of the upper half of the GUI. If button 40-1 is selected, i.e., clicked with the mouse, the GUI changes as follows. Figure 4 The view shown.
[0104] As an example, Figure 4 Two shared sequences, 100-1 and 100-2, are shown. Figure 3 and Figure 4 In the middle, the lines immediately following each line indicated as "common sequence" 100-1, 100-2 show the references above. Figure 2 An example of the sequence read segment described in step S20. Figure 4 In the diagram, sequence reads 200-1, 200-2, 200-6, ..., 200-N are shown relative to the common sequence 100-1. The entire sequence read is not shown; only positions 602, 603, ..., 609 are shown, as illustrated in the diagram. Figure 4 As can be seen in the top information line 300, sequence 609 is shown. Sequence reads can have a large number of positions. As an example, a sequence read can have 1000 or more positions. A sequence read can have up to 6000 or even 7000 positions. Sequence reads can have varying lengths among themselves and are also compared to a common sequence or a reference sequence associated with the sequence read.
[0105] The exemplary sequence reads shown in the rows immediately following each line indicated as "shared sequence" contain sequence reads belonging to a set of sequence reads that construct the corresponding shared sequence. (See also: From...) Figure 3 and Figure 4 As can be seen, positions in the exemplary sequence read that differ from their corresponding positions in the consensus sequence are highlighted, making these different positions identifiable from other positional regions that correspond to their corresponding positions in the consensus sequence. Despite the use of highlighting, other mechanisms can be implemented to make those different positions identifiable. For example, characters representing nucleotide bases at those different positions (e.g., A, G, C, T) can be displayed in a different color than the characters at their corresponding positions in the consensus sequence. Figure 4In the example shown, positions 100-1-605 and 100-1-606 are indicated. Position 100-1-606 is marked with a different colored background compared to the other positions. Additionally, positions 400-1-606, 400-6-606, 400-N-606, and 400-N-605 are shown, which are parts of sequence reads 200-1, 200-6, and 200-N, respectively. At these positions, sequence reads 200-1, 200-6, and 200-N differ from the concordant sequence 100-1. The corresponding "values," i.e., the nucleotides of sequence reads 200-1, 200-6, and 200-N, differ from the "values," i.e., the nucleotides of concordant sequence 100-1 at that position. Similarly, at position 310-1, concordant sequence 100-1 differs from sequence read 200-N at position 410-N. For example, position 605 can be identified by applying a different color relative to one or more other positions.
[0106] exist Figure 4 In region 500, noise levels at different locations are also shown. At location 606, a high noise level is shown, approximately 25% or higher in this example. Therefore, this location is highlighted, for example, by a different color relative to locations with lower noise levels. At location 606, a shared confidence level 606-1 for shared sequence 1 and a confidence level 606-2 for shared sequence 2 are shown. The noise level 606-3 for the sequence read is also shown. The noise level is approximately 25%. Because noise level 606-3 is higher than a predefined noise threshold or a noise threshold introduced by a generally known platform, such as 20%, and / or because the noise level is sufficiently close to the confidence levels 606-1 for shared sequence 1 and 606-2 for shared sequence 2, location 606 is indicated as the location with noise of interest. As an alternative to or supplement to the definition of noise of interest, any sequence read that has a nucleotide base at position 606 that is different from the nucleotide base at position 606 of consensus sequence 1 and different from the nucleotide base at position 606 of consensus sequence 2 can be considered as noise of interest.
[0107] As an example, noise analysis can be semi-automatic or automatic. Noise analysis can be performed automatically by the system. Users can interact with the system by setting one or more thresholds, such as a noise threshold and / or a distance threshold. These thresholds can be preset without user interaction. Where locations and / or sequence reads are identified, such locations and / or sequence reads can be indicated. This indication may include displaying the location and / or sequence reads in different colors, and / or displaying pop-ups, and / or providing messages, etc. A flag or other indication or alarm for the noise of interest may also be provided on the screen.
[0108] The above is merely an example and is not limited to position 606, but the principle applies to every position in the consensus sequence or the determined reference sequence and to all sequence reads. Therefore, this principle can be applied based on every position in the consensus sequence or the determined reference sequence to identify the noise sequence of interest.
[0109] At position 605, the noise level 605-3 is much lower than 3%, and therefore lower than the aforementioned noise threshold. Therefore, since the noise level 605-3 is lower than the noise threshold, for example, 3%, and / or since the noise level is sufficiently far from the confidence levels of common sequence 1 (not shown) and common sequence 2 (not shown), position 605 is not indicated as a location with noise of interest. That is, no different display is provided for position 605, while position 606 is displayed in a different color compared to position 605.
[0110] The above is merely an example and is not limited to position 605, but the principle applies to every position in the consensus sequence or the determined reference sequence and to all sequence reads. Therefore, this principle can be applied based on every position in the consensus sequence or the determined reference sequence to identify the noise sequence of interest.
[0111] The noise threshold can be 20%, 25%, or 30%. In some examples, if the noise level at a given position is higher than the noise threshold, the position is highlighted, allowing selection and further analysis of specific sequence reads that have nucleotide bases different from those at the same position in the shared sequence. On the other hand, in these examples, if the noise level at a given position is lower than the noise threshold, the position is not highlighted, and even if a sequence read has nucleotide bases different from those at the same position in the shared sequence, that read may not be of interest for further analysis.
[0112] The noise level can be defined as the number of sequence reads at a given position that contain a nucleotide base different from that at that position in any consensus sequence, divided by the total number of sequence reads. For example, for Figure 4 Position 606 has a total of 500 mismatched sequence reads with common sequence 100-1. The total number of sequence reads associated with common sequence 100-1 is 2000. Therefore, the noise level is 25%.
[0113] In another example, the noise level can be defined as the number of sequence reads that have a nucleotide base at a given position that is different from the nucleotide base at that position in any given preferred sequence, divided by the total number of sequence reads.
[0114] The sequence reads shown are not provided in a specific order. However, sequence reads can be provided in a predetermined order, meaning they can be grouped. For example, sequence reads can be sorted according to the nucleotide bases at specific positions. For example, sequence reads can be sorted such that reads with the same nucleotide base at a given position are arranged sequentially, one below the other. In the example shown, if sorting based on position 606 is selected, for example by clicking the mouse, specifically right-clicking, all sequence reads with the nucleotide base "G" at position 606 are displayed sequentially, starting from the first row downwards. Next will be all sequence reads with the nucleotide base "A", and so on. This display method is not limited to position 606 and nucleotide bases "G" and "A". Rather, the principle generally applies to every position and every nucleotide base. Specifically, the user can select the position used to sort (i.e., group) the sequence reads. The user can also select the order by selecting nucleotide bases in the desired order. As an alternative, the sequence of nucleotide bases can be predefined, starting with the nucleotide that appears least frequently at a given position, then the nucleotide that appears next most frequently at a given position, and so on, until the nucleotide that appears most frequently at a given position. Alternatively, the sequence can be reversed, starting with the nucleotide that appears most frequently at a given position, then the nucleotide that appears second most frequently at a given position, and so on, until the nucleotide that appears least frequently at a given position. The grouping criteria described above are merely examples of how sequence reads can be grouped, and other grouping criteria can be used. Furthermore, in some exemplary embodiments, the user can choose which grouping criteria to use to group sequence reads. In such exemplary embodiments, multiple options for grouping criteria can be provided to the user, such as the grouping criteria described above (e.g., as buttons, drop-down menus, command lines, etc. in the UI), allowing the user to select the desired grouping criteria and perform sequence read grouping according to that criteria.
[0115] The nucleotide base shown at position 400-N-605 is not statistically significant because it is located at position 605-3, which has a very low noise level.
[0116] Refer again Figure 2 After step S20, the exemplary process can proceed to step S30.
[0117] At step S30, when the processor 102 receives an instruction to select one of a plurality of sequence reads via the UI, it may display on the UI information about one or more matching reference sequences that match the selected sequence read. The information about the one or more matching reference sequences displayed on the UI at step S30 may include one or more of the following: reference sequence gene name or identifier, matching accuracy or matching error rate.
[0118] The instruction received in step S30 can be included in user input received via the UI. For example, the user can... Figure 3 Alternatively, the exemplary GUI shown in Figure 4 can be used to select one of the exemplary sequence read segments. Furthermore, for example, in cases where the UI includes a non-graphical UI, the user can enter a command line to select one of the sequence read segments.
[0119] In some exemplary embodiments, with Figure 2 The instruction received at step S30 may, in conjunction with this, further include an instruction to display information on the UI regarding one or more matching reference sequences that match the selected sequence segment. In some cases, the instruction may be received via a trigger element, which is a permanent element present in the UI throughout the entire duration of the UI response to a specific user input for the selected sequence segment. Figure 3 The area 30 indicated by the dashed line in the exemplary GUI shown includes an example of a permanent trigger element, which is a button that can be activated, for example, by mouse click. Figure 5 It shows Figure 3 The image shows an enlarged version of area 30. The lower right square element is an exemplary permanent trigger element, which, as mentioned above, can be a button. A button can include a name and / or a written description. Metadata about the button, such as metadata related to its function, can be provided when hovering over the button or by right-clicking it. For example, when a user clicks after selecting a sequence segment within the GUI... Figure 3 and Figure 5 In an exemplary GUI, the processor 102 may receive instructions to select a sequence read segment and to display information on the UI regarding one or more matching reference sequences that match the selected sequence read segment. In other exemplary embodiments, the triggering element may be a temporary element that appears within the UI in response to specific user input regarding the selected sequence read segment. An example of such a temporary triggering element may be an option displayed in a drop-down menu when the user "right-clicks" the selected sequence read segment on the GUI. In other exemplary embodiments where the UI includes a non-graphical UI, the instructions may be received in the form of command-line input to the UI.
[0120] Refer again Figure 2One or more matching reference sequences that match the selected sequence read, as shown in step S30, can be obtained by querying sequence DB 104. In some exemplary embodiments, processor 102 may query sequence DB 104 with the selected sequence read in response to receiving an instruction for the selected sequence read. In other exemplary embodiments, processor 102 may automatically query sequence DB 104 using each of the noise sequences of interest before receiving an instruction for the selected sequence read. In such exemplary embodiments, for example, when a noise sequence of interest is identified, the noise sequence of interest may be a single sequence read with a number of different positions exceeding a threshold number, i.e. Figure 3 and Figure 4 In one of the lines, processor 102 can, for example, query sequence DB 104 with the identified noise sequence of interest to identify one or more reference sequences that match the identified noise sequence of interest, and store information about the one or more matching reference sequences. In such an exemplary embodiment, upon receiving an instruction for a selected sequence read segment that is one of the noise sequences of interest, processor 102 can identify and display the stored information associated with the selected one of the noise sequences of interest.
[0121] In the case of querying Sequence DB 104 in response to receiving an instruction for the selected sequence read, or in the case of querying Sequence DB 104 using each noisy sequence of interest before receiving the instruction for the selected sequence read as described above, Sequence DB 104 can be used not only to identify one or more matching reference sequences that match the selected sequence read, but also to determine reference sequences that match each consensus sequence, or to determine reference sequences in step S10. In other words, to determine one or more matching reference sequences that match the selected sequence read, Sequence DB 104, which is already available for the genotyping system 10 to determine reference sequences (or reference sequences corresponding to each consensus sequence) in step S10, can be queried. Therefore, to determine one or more matching reference sequences that match the selected sequence read, it may not be necessary to access a third-party sequence database separate from the genotyping system 10. This can make it possible to provide information about one or more matching reference sequences that match the selected sequence read significantly faster. Furthermore, since the same Sequence DB 104 is used for both matching processes, the results of the two matching processes can be consistent. In addition, the same alignment tool (e.g., Minimap2, BLAST, etc.) can be used to match the selected sequence reads with the reference sequence in sequence DB 104, and the reference sequence in step S10 (or the reference sequence corresponding to each consensus sequence) can be determined with reference to sequence DB 104.
[0122] As mentioned, according to some exemplary embodiments, one or more sequence reads that have one or more different positions compared to the corresponding positions of the shared sequence or the determined reference sequence are selected, and information about the one or more matching reference sequences that match the selected sequence reads is displayed. This allows for efficient, i.e., rapid and reliable verification of the process of obtaining the shared sequence or the determined reference sequence. Specifically, the output of the shared sequence or the determined reference sequence and the reference sequence matching the sequence read are consistent because the same database is queried.
[0123] However, in some exemplary embodiments, in addition to or as an alternative to the selection and matching of sequence reads as described above, sequence reads that do not differ in position from the corresponding position in the common sequence or reference sequence can be used. Figure 2 Step S20 is displayed in the UI, and information about one or more matching reference sequences that match the selected sequence read can be found in the UI. Figure 2 Step S30 is displayed in a manner similar to that described above for the selected sequence read segment. In other words, this sequence read segment can be identical to the common sequence in all positions, except that it is shorter than the common read segment. For example, refer to... Figure 4 The sequence reads displayed directly below consensus sequence 100-2 are the same as consensus sequence 100-2, and one of these sequence reads can be selected, and can be... Figure 2 Step S30 displays information about one or more reference sequences that match the selected sequence read. This allows for cross-checking of the validity of earlier identified common or reference sequences. For example, in some cases, when the selected sequence read is the same as but shorter than an earlier identified common or reference sequence, the one or more reference sequences that match the selected sequence read may include one or more reference sequences that are different from the earlier identified common or reference sequences. If this is the case, further analysis of the sequence read may be necessary.
[0124] In some exemplary embodiments, step S30 may further include sorting the one or more matching reference sequences based on the percentage of match of each of the one or more matching reference sequences relative to a selected sequence read. In such an exemplary embodiment, the identifier of each of the one or more matching reference sequences may be displayed in the UI in the order of sorting. Furthermore, the step of sorting the one or more matching reference sequences based on the percentage of match of each of the one or more matching reference sequences relative to the selected sequence read may include: determining the percentage of match of each of the one or more matching reference sequences relative to the selected sequence read, and optionally, determining the error rate of each of the one or more matching reference sequences relative to the selected sequence read. At step S30, the percentage of match and / or the error rate for each of the one or more reference sequences may be provided in the UI. Sorting and displaying according to the sort can present information about the one or more matching reference sequences in a more relevant and streamlined manner.
[0125] Figure 6 It shows in Figure 2 The exemplary GUI shown at step S30. The exemplary GUI includes an exemplary window 50 that includes information about one or more matching reference sequences that match the selected sequence read, sorted according to the sorting steps described above. Figure 7 It shows Figure 6 An enlarged version of the exemplary window 50 shown.
[0126] Refer again Figure 2Displaying information about one or more matching reference sequences that match the selected sequence read can provide further information that can be used for genotyping. For example, in a specific example of HLA genotyping, compared to existing systems and methods, one or more matching reference sequences that match the selected sequence read (which is one of the noise sequences of interest) can help to more accurately and / or quickly identify HLA alleles in a sample from which the sequence read was obtained. According to existing systems and methods, the sequence read of interest is used to query different external databases that may not be accessible using the same alignment algorithm or tools used to determine reference sequences from multiple sequence reads (e.g., at step S10) or to determine reference sequences that match consensus sequences. Particularly when a sample contains more than two HLA alleles, identifying and displaying one or more matching reference sequences that match one of the selected noise sequences of interest can more quickly identify third and more HLA alleles contained in the sample, in addition to the two HLA alleles that can be identified using two consensus sequences. Furthermore, since the same sequence DB 104 is used for all matching processes, the results of all matching processes can be consistent.
[0127] After step S30, the exemplary process can end.
[0128] In an exemplary embodiment, an alert can be provided if the matching result of the selected sequence read deviates from the common sequence or the determined reference sequence. For example, in... Figure 7 This may be the case if the alleles identified in the list shown are not a predefined set of alleles. This predefined set of alleles could be based on a common sequence or a determined reference sequence that can be expected with a degree of certainty. Alternatively, if, for example, in... Figure 7 The list shown identifies a predefined set of alleles, which can trigger an alert. This predefined set of alleles can be alleles that can be excluded with a degree of certainty based on a shared sequence or a determined reference sequence. Alternatively, an alert can be triggered if the matching results of the selected sequence reads deviate from the shared sequence or the determined reference sequence.
[0129] Alerts can be of any commonly known type, such as pop-ups, color changes in a given window, text message displays, email messages sent, etc.
[0130] Figure 8 An exemplary hardware configuration of a computer that can be used to implement at least a portion of the system described above is shown. For example, Figure 1 At least a portion of the genotyping system 10 shown can be used Figure 8 The computer 7 shown is implemented. Figure 8 The computer 7 shown includes a central processing unit (CPU) 70, system memory 72, a network interface 74, a hard disk drive (HDD) interface 76, an external disk drive interface 78, and an input / output (I / O) interface 80. These components of the computer are coupled to each other via a system bus 82. The CPU 70 can perform arithmetic, logical, and / or control operations by accessing the system memory 72. The system memory 72 can store information and / or instructions for use in conjunction with the CPU 70. The system memory 72 may include volatile and non-volatile memory, such as random access memory (RAM) 720 and read-only memory (ROM) 722. A basic input / output system (BIOS) containing routines such as those that help transfer information between elements within the computer 7 during startup may be stored in the ROM 722. The system bus 82 can be any of several types of bus architectures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of various bus architectures.
[0131] The computer may include a network interface 74 for communicating with other computers and / or devices via a network.
[0132] In addition, the computer may include a hard disk drive (HDD) 84 for reading and writing to a hard disk (not shown), and an external disk drive 86 for reading or writing to a removable disk (not shown). The removable disk may be a disk for a disk drive or an optical disk such as a CD-ROM for an optical disk drive. The HDD 84 and the external disk drive 86 are connected to the system bus 82 via an HDD interface 76 and an external disk drive interface 78, respectively. The drives and their associated computer-readable media provide a non-volatile storage of computer-readable instructions, data structures, program modules, and other data for a general-purpose computer. Data structures may include relevant data for implementing the exemplary methods and variations thereof as described herein. The relevant data may be organized in a database, such as a relational database or an object database.
[0133] Although the exemplary environment described herein employs a hard disk (not shown) and an external disk (not shown), those skilled in the art will understand that other types of computer-readable media capable of storing computer-accessible data, such as magnetic tape cassettes, flash memory cards, digital video disks, random access memory, read-only memory, etc., may also be used in the exemplary operating environment.
[0134] Many program modules may be stored on a hard disk, external disk, ROM 722, or RAM 720, including an operating system (not shown), one or more application programs 7202, other program modules (not shown), and program data 7204. The application programs may include at least a portion of the functions described above.
[0135] Computer 7 can be connected to input devices 92, such as a mouse and / or keyboard, and display devices 94, such as an LCD, via corresponding I / O interfaces 80a and 80b and system bus 82. In the case where computer 7 is implemented as a tablet computer, for example, a touch panel for displaying information and receiving input can be connected to computer 7 via corresponding I / O interfaces and system bus 82. Furthermore, in some examples, although... Figure 8 Although not shown, computer 7 can also be connected to printers and / or imaging devices such as cameras via corresponding I / O interfaces and system bus 82.
[0136] As used as Figure 8 As a supplement or alternative to the embodiments of computer 7 shown herein, some or all of the functions of the exemplary embodiments described herein may be implemented as one or more hardware circuits. Examples of such hardware circuits may include, but are not limited to, large-scale integration (LSI), reduced instruction set computing (RISC), application-specific integrated circuits (ASIC), and field-programmable gate arrays (FPGA).
Claims
1. A computer-implemented method, comprising: - Determine the first sequence based on multiple sequence reads; - Displaying a user interface (UI) on a display device, the UI including at least one second sequence, the at least one second sequence including one or more first sequence reads among the plurality of sequence reads, wherein when the first sequence and the second sequence are compared, at least one first sequence read includes at least one position that is different from a corresponding position in the first sequence, and wherein the at least one position is displayed such that the position can be identified from other positions that are the same in the first sequence and the second sequence; as well as - Upon receiving an indication that one of the at least one second sequence has been selected via the UI, information about one or more matching reference sequences that match the selected second sequence is displayed on the UI.
2. The computer-implemented method according to claim 1, wherein the first sequence is a shared sequence constructed based on the plurality of sequence read segments.
3. The computer-implemented method of claim 1, wherein the first sequence is a reference sequence identified based on querying a sequence database with each sequence read segment and selecting the most probable reference sequence in the sequence database based on the query.
4. The computer-implemented method according to claim 1, wherein, Information about the matched reference sequences includes one or more of the following: the reference sequence gene name or identifier, the matching accuracy or matching error rate.
5. The computer-implemented method according to claim 1, wherein, Those second sequences with a number of different positions exceeding a threshold are noise sequences of interest. The method further includes automatically querying a sequence database with each of the noise sequences of interest to identify one or more reference sequences that match each noise sequence of interest, and storing information about the one or more matching reference sequences.
6. The computer-implemented method according to claim 5, wherein, The display includes: Upon receiving an indication that a noise sequence of interest has been selected, the stored information associated with the selected noise sequence of interest is identified and displayed.
7. The computer-implemented method according to claim 1, wherein, If a position in the first sequence is identified as a noise position and the second sequence differs from the first sequence at the noise position, then the second sequence is a noise sequence of interest, wherein the noise position is a position where the noise level is higher than a predetermined noise threshold and / or the noise position is a position where the distance of the noise level from a confidence level of the first sequence is lower than a predetermined distance threshold, wherein the method further includes automatically calculating the noise level of each position in the first sequence and displaying at least a portion of the result of automatically calculating the noise level of each position in the first sequence, such that one or more positions in the first sequence identified as noise positions can be identified from other positions in the first sequence that are not identified as noise positions.
8. The computer-implemented method of claim 1, wherein those second sequences having a number of different positions exceeding a threshold number are noise sequences of interest, the method further comprising, upon receiving the instruction, automatically querying a sequence database with the selected noise sequence of interest to identify one or more reference sequences matching the noise sequence of interest.
9. The computer-implemented method according to claim 1, further comprising: Upon receiving the instruction that one of the at least one second sequence has been selected via the UI, the selected second sequence is used to query the sequence database to determine one or more matching reference sequences that match the selected second sequence.
10. The computer-implemented method according to claim 1, wherein, The at least one position that differs from the corresponding position in the first sequence is the following result: Measurement and / or analysis noise when creating the first sequence read from one or more samples; and / or The one or more samples.
11. The computer-implemented method according to claim 1, wherein, In association with the indication that one of the at least one second sequence has been selected via the UI, an instruction is also received for displaying on the UI information about one or more matching reference sequences that match the selected second sequence.
12. The computer-implemented method according to claim 11, wherein, The instruction is received via a triggering element, which is: Permanent elements existing within the UI throughout the entire time the UI is displayed on the display device, or Temporary elements that appear in the UI in response to specific user input regarding the selected sequence segment.
13. The method according to claim 1, wherein, Displaying information on the UI about one or more matching reference sequences that match the selected second sequence includes sorting the one or more matching reference sequences based on the percentage of each of the matching reference sequences relative to the selected second sequence.
14. The computer-implemented method according to claim 13, wherein, The identifier for each of the one or more matching reference sequences is displayed according to the sorting order.
15. The computer-implemented method according to claim 13, wherein, The step of sorting the one or more matching reference sequences based on the percentage of each reference sequence in the one or more matching reference sequences relative to the selected second sequence includes: Determine the percentage of match of each of the one or more matched reference sequences relative to the selected second sequence, and determine the error rate of each of the one or more matched reference sequences relative to the match with the selected second sequence.
16. The computer-implemented method according to claim 13, wherein, It also provides the percentage of matches and / or the error rate for each of the one or more reference sequences.
17. The method of claim 3, wherein the reference sequence is a human leukocyte antigen (HLA) allele, and / or wherein the sequence database is an IPD-MHC database, and / or wherein the plurality of sequence reads are obtained from a single sample.
18. The method according to claim 1, further comprising: The at least one second sequence is grouped in a specified order for display in the UI. The grouping is performed automatically or in response to user input that triggers the grouping.
19. A computer program product comprising computer-readable instructions that, when loaded and executed on a computer, cause the computer to: - Determine the first sequence based on multiple sequence reads; - Displaying a user interface (UI) on a display device, the UI including at least one second sequence, the at least one second sequence including one or more first sequence reads from the plurality of sequence reads, wherein when comparing the first sequence and the second sequence, at least one first sequence read includes at least one position different from a corresponding position in the first sequence, and wherein the at least one position is displayed such that the position can be identified from other identical positions in the first sequence and the second sequence; and - Upon receiving an indication that one of the at least one second sequence has been selected via the UI, information about one or more matching reference sequences that match the selected second sequence is displayed on the UI.
20. An apparatus comprising: One or more processors, which are configured as follows: - Determine the first sequence based on multiple sequence reads; - Displaying a user interface (UI) on a display device, the UI including at least one second sequence, the at least one second sequence including one or more first sequence reads among the plurality of sequence reads, wherein when the first sequence and the second sequence are compared, at least one first sequence read includes at least one position that is different from a corresponding position in the first sequence, and wherein the at least one position is displayed such that the position can be identified from other positions that are the same in the first sequence and the second sequence; as well as - Upon receiving an indication that one of the at least one second sequence has been selected via the UI, information about one or more matching reference sequences that match the selected second sequence is displayed on the UI.