Local ancestry inference using machine learning models
A machine learning model with a predictor and smoothing sub-model accurately infers ancestral origins of SNPs at high resolution, addressing the complexity of admixed populations and enhancing disease prediction and treatment development.
Patent Information
- Application Number
- JP2022562687
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-04-15
- Filing Date
- 2021-04-15
- Publication Date
- 2026-02-20
- Estimated Expiration
- 2041-04-15
AI Technical Summary
Existing methods struggle to accurately infer the ancestral origin of genetic variants in DNA sequences at high resolution, particularly in admixed populations, which is crucial for understanding disease predisposition and treatment development due to the complexity of ancestry-specific genetic correlations.
A machine learning model comprising a predictor sub-model and a smoothing sub-model is used to estimate the ancestral origin of SNPs, utilizing neural networks and decision trees to generate initial and smoothed estimates, trained on genome sequences of individuals with known ancestral origins, enabling high-resolution local ancestry inference.
The model provides accurate and publicly accessible ancestry estimates, even for closely related populations, supporting disease prediction and treatment determination by resolving discontinuities and improving computational efficiency.
Smart Images

Figure 0007818523000021 
Figure 0007818523000022 
Figure 0007818523000023
Abstract
Description
[Technical Field]
[0001] This invention was made with government support under Grant No. HG009080 awarded by the National Institutes of Health. The government has certain rights in this invention. Related Applications
[0002] This patent application claims priority to U.S. Provisional Patent Application No. 63 / 010,467, filed April 15, 2020, entitled "LOCAL-ANCESTRY INFERENCE WITH MACHINE LEARNING MODEL," which is assigned to the assignee and incorporated herein by reference in its entirety for all purposes. [Background technology]
[0003] Most sites in deoxyribonucleic acid (DNA) sequences do not vary between individuals, but about 2 percent (5 million positions) do. These are called single nucleotide polymorphisms (SNPs). Modern human populations from different continental and subcontinental regions exhibit discernible differences in the frequency of SNP variants at each site in the DNA sequence in their genomes. Because DNA is inherited as an intact sequence with only rare, random swaps in ancestors (between two parent DNA sequences) in each generation, ancestral SNPs form contiguous segments that allow for powerful ancestry inference based on the pattern of contiguous SNP variants.
[0004] Local ancestry inference uses patterns of variation observed at various sites along an individual's genome to estimate the ancestral origin of an individual's DNA. The ability to accurately infer the ancestry of each segment of an individual's DNA at millimeter-scale resolution is important for disentangling the roles of genetics and environment for complex traits, including disease predisposition, because populations with common ancestry share complex physical and medical characteristics. For example, Puerto Ricans living in the United States have the highest asthma mortality rates, while Mexicans have the lowest. Uncovering within-population genetic associations for biomedical traits (such as height, blood pressure, cholesterol levels, and predisposition to specific diseases) can inform treatment development and enable the construction of disease risk predictors known as polygenic risk scores. However, because correlations between nearby genetic variants are ancestry-dependent, applying these risk scores to an individual's genome requires knowledge of the individual's ancestry at each site along the genome. With the increasing diversity of admixed modern cosmopolitan populations, such ancestry-specific analyses along the genome are becoming increasingly complex and challenging computational problems.
[0005] Therefore, it is desirable to have new techniques to estimate the ancestral origin of segments of genetic variants (e.g., SNPs) in DNA sequences. Summary of the Invention
[0006] Embodiments of the present disclosure provide methods, systems, and devices for estimating the ancestral origin of segments of genetic variants (e.g., SNPs) in DNA sequences using machine learning models. The machine learning models can process data representing haploid or diploid DNA sequences obtained, for example, from genome sequencing operations that provide a subject's genome sequence, DNA microarrays containing segments of DNA, etc. The machine learning models can generate predictions of the ancestral origin of segments of genome SNPs (e.g., mapped to different regions of a reference genome) at high resolution, such as milliMorgan resolution.
[0007] According to some embodiments, the machine learning model includes a predictor sub-model that generates an initial ancestral origin estimate for a segment of SNPs and a smoothing sub-model that performs a smoothing operation over the initial estimate. The smoothing sub-model can perform a smoothing operation to remove or reduce discontinuities in the initial ancestral origin estimate. In some examples, the predictor sub-model can be configured as a classifier for classifying the segment of SNPs into one of a set of candidate ancestral origin categories (e.g., East Asia, South Asia, Middle East, Africa, Europe, Polynesia, Oceania, etc.) based on a classification operation. In some examples, the predictor sub-model can be configured as a regressor for estimating the geographic coordinates (e.g., latitude and longitude) of an ancestral origin locale for the segment of SNPs based on a regression operation. The geographic coordinates of the ancestral origin locale can point to a set of geographic locations with much higher resolution than a finite set of candidate ancestral origin categories and that are constantly changing. For example, geographic coordinates can refer to any location (e.g., Oxford) within a particular country (e.g., the United Kingdom), whereas ancestral origin categories can typically refer only to a finite set of locations on a continent (e.g., Africa) or subcontinent (e.g., North Africa) or country (e.g., Japan). Furthermore, in some cases, regressors may provide ancestry estimates down to closely related populations, which can present a problem for classifiers that treat each ancestry misclassification equally, even though some ancestors are much more related than others. In some examples, machine learning models can be trained to generate coordinates representing ancestral origins / breeds in a multidimensional space having dimensions obtained from dimensionality reduction.
[0008] The predictor sub-model and the smoothing sub-model can include various topologies, such as neural network models, gradient boosting models, etc. In one embodiment, the predictor sub-model can include one or more fully-connected neural networks, each assigned to process a segment of SNPs in the input DNA sequence to generate an initial ancestral origin estimate for the segment. The initial ancestral origin estimate may include, for example, the probability of the SNP segment belonging to a particular ancestral origin category, an estimate of the geographic coordinates of the ancestral origin locale, etc. The smoothing sub-model can include a convolutional neural network for convolving a kernel with a set of neighboring initial ancestral origin estimates as part of the smoothing operation to generate a smoothed version of the initial estimate as the final prediction. In some embodiments, the predictor sub-model can include multiple fully-connected neural networks for processing the SNP segments, each network having a different set of weights trained on a different set of SNP sites. In some embodiments, the predictor sub-model can include a single fully-connected neural network with a single set of weights for processing different SNP segments. The single fully connected neural network also accepts a segment index associated with each SNP segment, which allows the neural network to treat different SNP segments differently using the same set of weights.
[0009] In another embodiment, the predictor sub-model and the smoother sub-model can include multiple decision tree models. The decision tree models of the predictor sub-model can generate decision outputs for the SNP segments. The outputs of the decision tree models can be combined to generate an initial ancestral origin estimate. The decision trees of the smoother sub-model can generate decision outputs based on a subset of the initial ancestral origin estimates, and the decision outputs can be combined to provide a smoothed version of the initial estimate as a final prediction. In some embodiments, the predictor sub-model can include multiple decision tree models, each having a different tree parameter set (e.g., different topology, different decision criteria, etc.) trained on a different set of SNP sites for processing the SNP segments. In some embodiments, the predictor sub-model can include a single decision tree model having a single tree parameter set (e.g., a single topology, a single set of decision criteria, etc.) for processing different SNP segments. The single decision tree model also accepts a segment index associated with each SNP segment, allowing the single decision tree model to process different SNP segments differently using the same tree parameter set.
[0010] The machine learning model can be trained using various techniques. For example, if the machine learning model includes a neural network model, the machine learning model can be trained based on minimizing a loss function that compares the ancestral origin predictions output by the machine learning model with the true ancestral origin of the training SNP sequence segment. A loss gradient can be generated from the loss function, and the loss gradient can be used to update the weights of the fully connected neural network of the predictor submodel and the kernels of the convolutional neural network of the smoothing submodel. If the machine learning model includes a decision tree, the decision trees of the predictor submodel and the smoothing submodel can be trained separately based on a gradient boosting operation, in which a new decision tree is sequentially added based on the results of adjusting the decisions of the previous decision tree to better match the known ancestral origin category and / or known geographic coordinates of the ancestral origin locale of the training SNP sequence segment.
[0011] A machine learning model can be trained based on training data derived from complete genome data of populations of known ancestral origin, including individuals from various locales in Africa, East Asia, and Europe, as well as smaller geographic regions. From the complete genome sequences of these individuals, simulated genome sequences of their simulated mixed descendants can be generated based on forward simulation (e.g., Wright-Fisher) over a series of generations. A machine learning model can be trained and validated using a training dataset containing the genome sequences of these individuals' simulated mixed descendants (e.g., over multiple generations) and the known ancestral origins of SNP segments in the simulated genome sequences. This training enables the machine learning model to learn from patterns of SNP variants mapped to different DNA sites and their relationship to ancestral origins to perform local ancestry inference. If the predictor model includes a single neural network model or a single decision tree model, the model can be trained based on inputs including segment indices, allowing a single model to adjust weights to account for different SNP sites.
[0012] Using the disclosed embodiments, machine learning models can be trained to identify ancestry-specific patterns in SNP sequences at high resolution (e.g., for segments of SNPs at milliMorgan resolution). By training the machine learning model with training data including the genome sequences of many simulated admixture descendants of these individuals, the machine learning model can be robust to populations and individuals with different admixture histories. The robustness of the machine learning model can be improved when the model is trained as a regressor to estimate the geographic coordinates of the ancestral origin locales of segments of SNPs based on a regression operation, thereby providing useful ancestry estimates even for closely related populations. The robustness of the machine learning model can be further improved by a smoothing submodel, which not only removes discontinuities in the initial ancestral origin estimate, but can also be trained with training data to remove discontinuities.
[0013] In addition, machine learning models provide a portable and publicly accessible mechanism for performing local ancestry inference. Specifically, while the training data used to train the machine learning models includes datasets containing proprietary human genome sequence data that is protected by privacy restrictions or otherwise inaccessible to the public, the trained parameters of the machine learning models (e.g., neural network weights, decision tree decision sequences and thresholds, etc.) do not identify individuals and can be made publicly available. As a result, machine learning models can be made publicly available to perform local ancestry inference to support various biomedical applications, such as predicting a subject's risk of disease, determining the association between a subject's genetic makeup and certain biological characteristics of the subject, determining a subject's treatment, etc.
[0014] Some embodiments are directed to systems and computer-readable media associated with the methods described herein.
[0015] A better understanding of the nature and advantages of the embodiments of the present disclosure can be obtained with reference to the following detailed description and accompanying drawings. [Brief explanation of the drawings]
[0016] [Figure 1A] 1 illustrates examples of single nucleotide polymorphisms (SNPs) in the genome and the ancestral origin of SNPs. [Figure 1B] 1 illustrates examples of single nucleotide polymorphisms (SNPs) in the genome and the ancestral origin of SNPs. [Figure 2A] 1 illustrates an example of a machine learning model for performing local ancestral inference, according to some embodiments. [Figure 2B] 1 illustrates an example of a machine learning model for performing local ancestral inference, according to some embodiments. [Figure 2C] 1 illustrates an example of a machine learning model for performing local ancestral inference, according to some embodiments. [Figure 2D] 1 illustrates an example of a machine learning model for performing local ancestral inference, according to some embodiments. [Figure 2E] 1 illustrates an example of a machine learning model for performing local ancestral inference, according to some embodiments. [Figure 3A] 2A-2C illustrate exemplary components of the machine learning model and their operation, according to some embodiments. [Figure 3B] 2A-2C illustrate exemplary components of the machine learning model and their operation, according to some embodiments. [Figure 3C] 2A-2C illustrate exemplary components of the machine learning model and their operation, according to some embodiments. [Figure 4A] 2A-2C illustrate example components of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 4B]2A-2C illustrate example components of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 5A] 1 illustrates an example of a training operation. [Figure 5B] 1 illustrates an example of a training operation. [Figure 6A] 2A-2C illustrate example components of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 6B] 2A-2C illustrate example components of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 6C] 2A-2C illustrate example components of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 7A] 2A-2C illustrate exemplary test results and applications of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 7B] 2A-2C illustrate exemplary test results and applications of the machine learning model of FIGS. 2A-2C, according to some embodiments. [Figure 8] 1 illustrates an example method for performing local ancestral inference, according to some embodiments. [Figure 9] 1 illustrates an exemplary computer system on which embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION OF THE INVENTION
[0017] Local ancestry inference uses patterns of genetic variation observed at various sites along an individual's DNA to estimate the ancestral origin of each segment of an individual's DNA. Because DNA is inherited as an intact sequence with only rare, random swaps in ancestors (between two parent DNA sequences) in each generation, ancestral SNPs form contiguous segments, allowing for powerful ancestry inference based on patterns of contiguous SNP variants.
[0018] Embodiments of the present disclosure provide methods, systems, and devices for estimating the ancestral origin of segments of genetic variants (e.g., SNPs) in a DNA sequence using a trained machine learning model. The estimation may be at high resolution, such as at milliMorgan resolution. In one example, a computer-implemented method includes receiving data representing an input genome sequence of a subject (e.g., a human). The input genome sequence may include multiple segments, each segment including multiple single nucleotide polymorphism (SNP) sites in the subject's genome. Each segment may be represented in the data by an array of SNP values at SNP sites, where each SNP value identifies a variant at the SNP site. The data may be obtained from haploid or diploid DNA sequences. The data may be obtained, for example, from a genome sequencing operation that provides the subject's genome sequence, a DNA microarray containing segments of DNA, or the like. Haplotype information in the data may be encoded, for example, to include different values for different variants. A first value may represent that the subject has a common variant at the SNP site (e.g., a value of -1). A second value can represent that the subject has a minor variant at the SNP site (e.g., a value of +1). A third value (e.g., a value of 0) can represent that genomic information is missing at the SNP site. In some examples, two-bit values can be used to represent common variants (e.g., [0,1]), minor variants (e.g., [1,0]), and missing variants (e.g., [0,0]).
[0019] The method further includes storing the trained machine learning model, the machine learning model including a predictor submodel and a smoothing submodel. The machine learning model can be trained based on the training genome sequence and the known ancestral origin of the training genome sequence. Using the predictor submodel and based on the data, an initial ancestral origin estimate for each segment of the SNP values can be determined. Furthermore, for each segment of the plurality of segments, a subset of neighboring segments that are near the segment of the subject's genome can be determined. The initial ancestral origin estimates for the subset of neighboring segments can be input into the smoothing submodel to perform a smoothing operation across the segment and the subset of neighboring segments. As a result of the smoothing operation, a final predicted result of the ancestral origin for each segment of the plurality of segments can be determined. The ancestral origins of different portions of the subject's genome can then be determined based on the final predicted result obtained for each segment. The determined ancestral origins for different portions of the subject's genome can be provided to various applications for performing other operations, such as predicting a subject's risk of having a specific disease, determining an association between a subject's genetic makeup and a specific biological trait of the subject, determining a treatment for the subject, etc.
[0020] The predictor sub-model may include, for example, one or more classifiers, one or more regressors, etc. The classifier may identify the probability (including binary 0 and 1) that a segment originates from a particular ancestral origin, and such probability may be determined for each of a predetermined list of candidate ancestral origin categories. An initial ancestral origin estimate for a segment may be determined as the candidate ancestral origin category with the highest probability. Additionally, the regressor may provide predictions that map to geographic coordinates or other types of identifiers, e.g., to provide accurate results within a particular locale that are close to each other.
[0021] In some examples, each classifier can perform a classification operation on a non-overlapping segment of SNPs to generate a classifier output. Each classifier can determine the probability that the segment falls into each candidate ancestral origin category (e.g., African, East Asian, and European), and can combine the probabilities output by the classifiers to output an initial ancestral origin estimate based on the candidate ancestral origin category with the highest probability. In some examples, each regressor can perform a regression operation on a random subset of SNPs in the segment of SNPs, which can be combined to output one or more ancestral origin estimates indicative of the ancestral origin of the segment of SNPs. The one or more ancestral origin estimates can include, for example, geographic coordinates (e.g., longitude and latitude) of an ancestral origin locale, a code representing the ancestral origin locale, etc. In some cases, the regressor can provide useful ancestry estimates even for closely related populations, which can present a problem for the classifier to treat misclassification of each ancestry equally, even if some ancestors are much more related than others. Multiple classifiers and regressors can perform classification and regression operations, respectively, in parallel to support local ancestral inference operations in a distributed computing environment, making the inference operations more scalable and computationally efficient.
[0022] In some examples, the predictor sub-model may include a single predictive model (e.g., a single classifier model, a single regressor model, etc.). The single predictive model may include a single set of model parameters that can be combined with different SNP segments to generate classification or regression outputs (which may include coordinates) for the different SNP segments. The single predictive model may also accept a segment index associated with each SNP segment and combine model parameters with the SNP index and SNP segment to perform prediction. The segment index may indicate a specific set of SNP sites and may be in the form of a single number (e.g., 1, 2, 3, etc.) or one-hot encoding (e.g., [1, 0, ... 0], [0, 1, ... 0], etc.). Other types of encoding, such as positional encoding in a Transformer neural network, may also be used to represent the segment index. The segment index allows the single predictive model to perform predictions differently for different SNP segments using the same set of model parameters.
[0023] Additionally, the smoothing sub-model can perform a smoothing operation across the initial ancestral origin estimates of a subset of neighboring segments. The smoothing operation can remove / reduce discontinuities in the initial ancestral origin estimates between segments introduced by a classifier or regressor. The smoothed ancestral origin estimates of the segments (classifier output, regressor output, etc.) can then be concatenated as a determined ancestral origin for different portions of the genome of interest.
[0024] Various techniques have been proposed for implementing machine learning models. In one embodiment, the trained machine learning model may include one or more neural network models. Specifically, each classifier or regressor of the predictor sub-model may include a fully connected neural network model. The fully connected neural network model includes at least an input layer and an output layer. The input layer includes multiple input nodes, while the output layer includes multiple output nodes. Each input node corresponds to a specific SNP site of the segment received by the classifier. Each input node can receive an encoded value (e.g., 1, 0, -1) of the SNP variant at the corresponding SNP site. The input node can scale the corresponding encoded value with a first set of weights to generate a set of scaled encoded values.
[0025] Each output node in the output layer can receive inputs based on the scaled encoded values and sum the inputs. Each output node can correspond to one of a plurality of candidate ancestral origins, such as, for example, Africa, East Asia, and Europe. Each output node can also apply an activation function to the sum of the inputs to generate an initial ancestral origin estimate. The initial ancestral origin estimate output by the output node can include a value indicating whether the segment of SNPs processed by the neural network model is classified into the corresponding candidate ancestral origin (e.g., one of Africa, East Asia, and Europe, etc.), such as the probability that the segment of SNPs has the candidate ancestral origin, as described above.
[0026] The fully connected neural network model of the predictor sub-model can be implemented using various neural network architectures. In some embodiments, the fully connected neural network model includes only an input layer and an output layer. Such an arrangement allows a smaller, less complex classifier to be implemented in the predictor sub-model, which in turn allows the classifier to be trained and the classification operation to be performed using less time and computational resources. Furthermore, the weighting of the input layer can identify the importance of each SNP for identifying the ancestral origin of the SNP segment, which can lead to a more interpretable network.
[0027] In some embodiments, the fully connected neural network model includes a hidden layer between the input layer and the output layer. The hidden layer can identify hidden representations (e.g., captured in the form of feature vectors) of specific information in the input SNP segments and can map the hidden representations to one of the candidate ancestral origins or to the coordinates of the locale of ancestral origin. The hidden layer can provide a nonlinear mapping between the input SNP segments and the ancestral origin classification output or the ancestral origin locale coordinates, thereby improving the accuracy of the ancestral origin estimates.
[0028] The hidden layer of the fully connected neural network can include multiple intermediate nodes. Each intermediate node can receive the scaled encoded values of the SNPs from each input node, sum the scaled encoded values, scale the sum with a second set of weights, and apply an activation function to the scaled sum to generate a set of intermediate outputs. The output layer can receive the intermediate outputs from each intermediate node as inputs and generate an initial ancestral origin estimate based on the intermediate outputs. The intermediate outputs can include hidden representations that can provide a nonlinear mapping between the input SNP segments and ancestral origin classification outputs or ancestral origin locale coordinates.
[0029] Additionally, the smoothing sub-model may perform a smoothing operation over a subset of the initial ancestral origin estimates from the predictor sub-model to remove / reduce discontinuities in the initial ancestral origin estimates. The smoothing operation may be segment-wise smoothing. For each segment, a subset (e.g., a window) of neighboring segments may be used to determine the ancestral origin of the given segment. In some embodiments, the smoothing sub-model may include a convolutional neural network (CNN) that may perform a convolution operation between a kernel and the initial ancestral origin estimates generated for each segment of the input SNP sequence, and the result of the convolution operation may be output as the final ancestral origin prediction result.
[0030] As part of the convolution operation, a kernel including an array of weights may be multiplied with the initial ancestral origin estimates for a subset of neighboring segments included in the sliding window. The results of the multiplications may then be summed to generate a smoothed ancestral origin estimate. The window may be centered on the target initial ancestral origin estimate to be replaced by the smoothing operation and a predetermined number of initial ancestral origin estimates before and after the target initial ancestral origin estimate. Each weight included in the kernel may be mapped to an initial ancestral origin estimate. The convolution operation may smooth the initial ancestral origin estimate by performing a weighted average of the initial ancestral origin estimates within the window, thereby removing discontinuities in the initial ancestral origin estimates between segments introduced by the predictor sub-model.
[0031] In some embodiments, as part of the weighted average operation, the smoothing sub-model can assign a weight to each initial ancestral origin estimate based on a utility metric for the segment of SNPs represented by the respective initial ancestral origin estimate. The utility metric can reflect, for example, whether the ancestral origin of a SNP variant at a particular SNP site in the segment can be correctly predicted. The utility metric can be based, for example, on the probability of prediction error for the ancestral origin of the segment, which can be determined based on prior prediction results for the segment in the genome of a population. A smaller weight can be assigned to an initial ancestral origin estimate for a segment of SNPs with a higher probability of prediction error, while a larger weight can be assigned to an initial ancestral origin estimate for a segment of SNPs with a lower probability of prediction error. The weights can be part of the kernel of the convolution operation or can be applied to each initial ancestral origin estimate before the convolution operation.
[0032] In some examples, the input SNP sequence (e.g., diploid) can include maternal and paternal SNP sequences of interest, and the CNN can then perform a convolution operation between the kernel and the classifier output for the maternal and paternal SNP sequences to generate a final ancestral origin prediction result for the segments of the maternal and paternal SNP sequences. With such an arrangement, the final prediction result can be invariant to the order in which the maternal and paternal SNP sequences are presented in the input SNP sequence.
[0033] In some embodiments, the predictor sub-model and the smoothing sub-model can include multiple decision trees. Specifically, each classifier or regressor of the predictor sub-model can include a first plurality of decision trees. Each decision tree can process a random subset of the sequence of SNPs to generate a decision, and the decisions of the multiple decision trees can be combined to generate an initial ancestral origin estimate. When the multiple decision trees form a classifier, each decision tree can output a probability that a segment of SNPs will be classified into a particular ancestral origin category based on the random sample, and the probabilities can be averaged to generate an initial ancestral origin estimate. When the multiple decision trees form a regressor, the decision trees can be trained to generate a decision output representing a regression model that matches SNPs in the training data to the geographic coordinates of the SNPs' known ancestral origin locale. The decision trees can then process a random subset of the input sequence of SNPs to output intermediate geographic coordinates. The intermediate geographic coordinates can then be combined (e.g., summed) to generate an initial geographic coordinate estimate of the ancestral origin locale for the subset of SNPs. Decision trees can perform regression / classification operations in parallel in a distributed computing environment, making the operations more scalable and computationally efficient.
[0034] In addition, the smoothing submodel can also include a second plurality of decision trees for performing a smoothing function. Similar to the convolutional neural network described above, the smoothing function can be applied to the initial ancestral origin estimates of a subset of neighboring segments based on a sliding window approach. The window can be centered around the target initial ancestral origin to be smoothed and can include a predetermined number of initial ancestral origin estimates before and after the target initial ancestral origin. Different random subsets of the initial ancestral origin estimates within the window can be input to each of the second plurality of decision trees. The decisions output by the decision trees can then be combined to generate a final ancestral origin estimate, which can replace the target initial ancestral origin. The decision tree can be trained, for example, to perform a weighted average of neighboring initial ancestral origin estimates within the window to remove discontinuities in the initial ancestral origin estimates. Similar to the convolution operation performed by a CNN, the window can slide / move to encompass different subsets of the initial ancestral origin estimates to generate final ancestral origin prediction results for different segments of SNPs. The weight assigned to each initial ancestral origin estimate can be based on a measure of the utility of the segment of SNPs represented by the respective initial ancestral origin estimate, as explained above.
[0035] The machine learning model can be trained to improve the accuracy of prediction. The machine learning model can be trained based on segments of training genome sequences with known ancestral origins. Specifically, the machine learning model can be trained based on training data derived from the complete genome data of a population of known ancestral origins identified by the machine learning model. For example, if the machine learning model is to classify SNP segments into one of Africa, East Asia, and Europe, the training data can include genome data of individuals from various locales in Africa, East Asia, and Europe, as well as smaller geographical areas. From the complete genome sequences of these individuals, simulated genome sequences of their simulated mixed descendants can be generated based on a series of generational simulations (e.g., Wright-Fisher forward simulations). The machine learning model can be trained and validated using a training dataset including the genome sequences of the simulated mixed descendants (e.g., over multiple generations) of these individuals and the known ancestral origins of the SNP segments of the simulated genome sequences. This training enables the machine learning model to learn from the relationship between patterns of SNP variants at different DNA sites and their ancestral origins to perform local ancestry inference.
[0036] The training operation can include a forward propagation operation and a backpropagation operation. As part of the forward propagation operation, the machine learning model can receive training data including sequences of SNPs of known ancestral origin and generate predictions of the ancestral origin of the sequences. A comparison can be made between the predicted ancestral origin category of each SNP segment and the true ancestral origin category (or between the predicted geographic coordinates of the ancestral origin locale and the known geographic coordinates). Various parameters of the predictor sub-model and the smoothing sub-model, such as the weights of the fully connected neural network model, the parameters of the kernels of the convolutional neural network model, the decision tree, the weights associated with the SNP segments in the smoothing operation, etc., can be adjusted in the training operation to maximize the match between the predicted ancestral origin and the true ancestral origin.
[0037] Various techniques for training machine learning models are proposed. When the machine learning model operates as a classifier, the training operation can be based on a combined cross-entropy loss function, which can include a linear combination of a first loss function associated with the predictor submodel and a second loss function associated with the smoothing submodel. The first loss function can compare initial ancestral origin estimates output by the predictor submodel for a segment of SNPs in the training data with their true ancestral origins to generate a first loss gradient, and the first loss gradient can be used to adjust the weights or decision threshold of the predictor submodel to minimize the first loss function. Furthermore, the second loss function can compare final ancestral origin prediction results output by the smoothing submodel for a segment of SNPs with their true ancestral origins to generate a second loss gradient, and the second loss gradient can be used to adjust the kernel or decision threshold of the smoothing submodel to minimize the second loss function.
[0038] Furthermore, when both the predictor sub-model and the smoothing sub-model include decision trees for performing the regression operation, the training operation can be based on a gradient tree boosting operation. Specifically, the training operation can begin with creating a first decision tree of the first sub-network to match a first decision output (e.g., an ancestral origin estimate, geographic coordinates of the ancestral origin locale, etc.) to a segment of SNPs. For example, a first set of residuals can be determined based on the difference between the predicted ancestral origin from the first decision tree and the true ancestral origin, the difference between the predicted geographic coordinates of the ancestral origin locale from the first decision tree and the true geographic coordinates of the ancestral origin locale, etc.
[0039] A second decision tree can then be generated and trained to fit the second decision output to the first residual set. For example, the second decision tree can be trained to generate a second decision output that matches the first residual set as closely as possible for the same segment of SNP input as the first decision output. A second residual set can be determined based on the difference between the second decision output and the first residual set. A third decision tree can then be generated and trained to fit the third decision output to the second residual set. The training process can be repeated, for example, until a predetermined number of trees is reached, a predetermined threshold level of residuals is reached, etc. By adding new decision trees and fitting decision tree outputs to the residuals, the decision trees can represent a regression model of the relationship between SNPs and ancestral origin estimates and / or geographic coordinates of ancestral origin locales.
[0040] I. SNP-based local ancestry inference A single nucleotide polymorphism (SNP) can refer to a DNA sequence variation that occurs when a single base in the genome—adenine (A), thymine (T), cytosine (C), or guanine (G)—differs between members of a species.
[0041] FIG. 1A illustrates one example of a SNP. FIG. 1A illustrates two sequenced DNA fragments 102 and 104 from different individuals. The sequenced DNA fragment 102 contains the sequence of base pairs AT-AT-CG-CG-CG-TA-AT, while the sequenced DNA fragment 104 contains the sequence of base pairs AT-AT-CG-CG-TA-TA-AT. As shown in FIG. 1A, DNA fragments 102 and 104 contain a difference of one base pair of nucleotides (CG vs. TA, typically referred to as C and T). The difference can be counted as a single SNP. SNPs can be coded as values based on whether they are common variants or minor variants. Common variants may be more common in a population (e.g., 80%), whereas minor variants will occur in fewer individuals. In some examples, common variants can be coded as a value of −1, while minor variants can be coded as a value of +1.
[0042] Modern human populations originating from different continents and subcontinental regions exhibit discernible differences in the frequency of SNP variants at each site of the DNA sequence in their genomes, and in the correlations between these variants at different nearby sites, due to genetic drift and different demographic histories (bottlenecks, expansions, and admixtures) over the past 50,000 years. Because DNA is inherited as an intact sequence with only rare, random swaps in ancestors (between two parental DNA sequences) in each generation, ancestral SNPs form contiguous segments that allow powerful ancestry inference based on the pattern of contiguous SNP variants.
[0043] FIG. 1B illustrates an example of a distribution of ancestral origins among SNP segments of an individual's mixed chromosome pair, originating from each parent of the individual. Distribution 112 illustrates the true ancestral origins of the genetic material at different SNP sites in the individual. In the example of FIG. 1B, the ancestral origins of the SNPs may include Africa, East Asia, and Europe. Distribution 114 illustrates the decoded ancestral origins of the SNPs that may be derived from performing a smoothing operation across distribution 112 to remove ancestral origin discontinuities of the segments, such as discontinuity 116 (Africa) in segment 118 (East Asia) and discontinuity 120 (East Asia) in segment 122 (Africa).
[0044] The ability to accurately infer ancestry along the genome at high resolution is important for understanding the role of genetics and environment on complex traits, such as predisposition to specific diseases and specific biomedical traits (e.g., blood pressure, cholesterol levels, etc.). This can result from populations with common ancestry sharing complex physical and medical traits. For example, certain ethnic groups may have relatively high asthma mortality rates, while other ethnic groups may have relatively low asthma mortality rates. Uncovering within-population genetic associations for predisposition to specific diseases and biomedical traits can inform treatment development and enable the construction of disease risk predictors known as polygenic risk scores. However, because correlations between nearby genetic variants (e.g., SNPs) are ancestry-dependent, applying these risk scores to an individual's genome requires knowledge of the individual's ancestry at each site along the genome. With the increasing diversity of admixed modern cosmopolitan populations, it is increasingly common for individuals' genomes to have multiple ancestral origins, as shown in the example in Figure 1B. As a result, ancestry-specific analysis along the genome is becoming an increasingly complex and significant computational problem.
[0045] II. Local Ancestor Inference Using Machine Learning Models Machine learning models can be used to provide an accurate and publicly accessible mechanism for performing ancestry-specific analysis of a subject's genomic data. Specifically, machine learning models can be trained using genomic data from individuals with known ancestral origins to learn various ancestry-specific patterns of SNPs, and the learning can be applied to more accurately identify ancestry-specific patterns of SNPs from input genomic data. Furthermore, the training data used to train the machine learning models can include datasets containing proprietary human genome sequence data that are protected by privacy restrictions or otherwise inaccessible to the public, but the trained parameters of the machine learning models do not identify individuals and can be made publicly available. Thus, machine learning models can be made publicly available to perform local ancestry inference to support various biomedical applications, such as predicting a subject's risk of disease, determining the association between a subject's genetic makeup and certain biological characteristics, determining a subject's treatment, etc.
[0046] A. General Topology FIG. 2A illustrates a general topology of a machine learning model 200 for performing local ancestry inference, according to some embodiments. As shown in FIG. 2A , the machine learning model 200 can receive data 202 representing an input genome sequence of a subject (e.g., a human). The input genome sequence can include multiple segments, each including multiple single nucleotide polymorphism (SNP) sites in the subject's genome. Each segment can be represented in the data 202 by an array of SNP values at SNP sites, where each SNP value identifies a variant at the SNP site. The data can be obtained from haploid or diploid DNA sequences. The data 202 can be obtained, for example, from a genome sequencing operation that provides the subject's genome sequence, a DNA microarray containing segments of DNA, or the like. Haplotype information can be encoded to include, for example, a first value (e.g., a value of −1) representing that a particular SNP is a common variant at the SNP site, a second value (e.g., a value of +1) representing that the SNP is a minor variant at the SNP site, or a third value (e.g., a value of 0) representing that genomic information at the SNP site is missing. The data 202 can be divided into non-overlapping segments containing segments of SNPs 204a, 204b, 204c, 204n, etc. In some examples, each segment can contain 500 SNPs. The machine learning model 200 can process the data 202 containing separate maternal and paternal haploid DNA sequences and generate ancestral origin predictions 205a and 205b for each sequence's SNP segments.
[0047] In some examples, the machine learning model 200 may include two sub-models, including a predictor sub-model 206 and a smoothing sub-model 208. The predictor sub-model 206 may include multiple predictor units, including predictor units 216a, 216b, 216c, ... 210n. Each predictor unit 216 may have a set of model parameters that, in combination with the SNP values in the segment of SNPs 204, may generate an initial ancestral origin estimate 218 for the segment of SNPs. For example, predictor unit 216a may generate an initial ancestral origin estimate 218a for the segment of SNPs 204a, predictor unit 216b may generate an initial ancestral origin estimate 218b for the segment of SNPs 204b, predictor unit 216c may generate an initial ancestral origin estimate 218c for the segment of SNPs 204c, while predictor unit 216n may generate an initial ancestral origin estimate 218n for the segment of SNPs 204n. As described below, the initial ancestral origin estimate 218 can include different types of information, such as the probability of having a particular ancestral origin, the geographic coordinates of the ancestral origin locale, coordinates in a multidimensional space representing ancestral and genetic information, a feature vector containing an ancestral representation, etc.
[0048] Each predictor unit 216 can have different model parameters specific to a particular set of SNP sites corresponding to the SNP segment. For example, predictor unit 216a can have a model parameter set specific to the SNP site corresponding to the segment of SNP 204a, while predictor unit 216b can have a different model parameter set specific to the SNP site corresponding to the segment of SNP 204b. As described below, the model parameters of each predictor unit 216 can be trained based on training data including a segment of SNPs of known ancestral origin at the corresponding SNP site. The predictor units can operate in parallel, which allows the operation of the predictor units to be performed in a distributed computing environment, making the operation of the predictor units more scalable and computationally efficient. In some embodiments, different predictor sub-models 206, each having a different model parameter set for predictor units 216a-216n, can be used to process segments of SNPs from different chromosomes.
[0049] Additionally, the smoothing sub-model 208 can perform a smoothing operation across the initial ancestral origin estimates 218 corresponding to multiple neighboring segments to generate final prediction results 220, such as final prediction results 220a, 220b, 220c, 220n, etc. The final prediction results 220 can also include a prediction of the probability of having a particular ancestral origin, geographic coordinates of the ancestral origin locale, generalized coordinates in a multidimensional space representing ancestry / breed, genetic information, etc. Each final prediction result can be generated for a segment of SNPs, and the final prediction results can be concatenated into final prediction results of ancestral origin for different portions of the subject's genome, including ancestral origin predictions 205a and 205b. The smoothing operation can remove / reduce discontinuities in the initial ancestral origin estimates between segments. In some embodiments, the smoothing sub-model 208 can also receive a feature vector containing ancestral representations and then generate the final prediction result 220 based on the feature vector. In some embodiments, the smoothing sub-model 208 can also generate a final prediction result 220 based on the feature vector and the initial ancestry estimates 218, such as probabilities, geographic coordinates, generalized coordinates, etc.
[0050] 2A, the smoothing operation can include performing a weighted sum / average of a subset of the initial ancestral origin estimates 218 in a sliding window to generate a final prediction result, which can be output in place of the initial ancestral origin estimate. The sliding window can be centered around a target initial ancestral origin estimate that will be replaced by the final prediction result. For example, the sliding window can include the initial ancestral origin estimate 218c and a predetermined number of initial ancestral origin estimates 218 before and after the initial ancestral origin estimate 218c to generate a final prediction result 220c that will replace the initial ancestral origin estimate 218c.
[0051] A. Classifier and regression-based local ancestral interference The predictor sub-model 206 can use various techniques to generate initial ancestral origin estimates for a segment of SNPs, such as performing classification and regression operations. When operating as a classifier, the predictor unit can use the encoded SNP values at the SNP sites of the SNP segment to calculate the probability that the SNP segment has an ancestral origin. The ancestral origin can be selected from a set of candidate ancestral origins. The predictor unit can then classify the SNP segment as having the ancestral origin associated with the highest probability.
[0052] An exemplary classification operation is illustrated in Figure 2B. As shown in Figure 2B, the predictor unit 216a can calculate the probability of the SNP segment 204a having ancestral origin A, B, C, etc.
[0053] The predictor unit 216a may generate output in various forms. In one embodiment, the predictor unit 216a may generate a classification output that classifies the segment 204a into the ancestral origin with the highest probability. In another embodiment, the predictor unit 216a may generate the classification output in a one-hot coding format, with a logical 1 assigned to the ancestral origin with the highest probability and a logical 0 assigned to the remaining ancestral origins. In FIG. 2B , ancestral origin A has the highest probability, so the predictor unit 216a may output ancestral origin A or [1,0,0] (where 1 represents ancestral origin A) for the segment 204a. In some embodiments, the predictor unit 216a may also output probabilities directly to a smoothing layer or other type of numerical output, including a logical value for each probability, a score of class membership (as in a support vector machine), etc. In some embodiments, the predictor unit 216a may also generate a feature vector containing the ancestral representations. For example, the feature vector may include an array of probability values with each probability value for the ancestral origin.
[0054] B. Regression-based local ancestral interference When the predictor unit operates as a regressor, the predictor unit can store a regression model that associates various patterns of SNP values at a given SNP site with geographic coordinates of an ancestral locale of origin. The regression model can include model parameters mapped to each SNP site. The model parameters can be combined with the sequence of SNP-encoded values at the SNP site to calculate the geographic coordinates of the ancestral locale of origin of the SNP segment. The regression model can be trained, for example, based on minimizing the distance between the predicted geographic coordinates of the ancestral locale of origin of the SNP segment and the known geographic coordinates of the population of interest.
[0055] 2C illustrates an exemplary regression operation. As shown in FIG. 2C, the predictor unit 216a can input the SNP segment 204a into a regression model 230 to calculate geographic coordinates 240 (e.g., longitude and latitude) or other identifying information of the ancestral origin locale of the SNP segment 204a. The geographic coordinates 240 can indicate, for example, a location within ancestral origin A.
[0056] In some examples, instead of having multiple predictor units 216a-n each with different model parameters as shown in Figure 2D, the predictor sub-model 206 can include a single predictor unit 216 (e.g., a single classifier, a single regressor, etc.) that includes a single set of model parameters for generating initial ancestral origin estimates 218 for different SNP segments. Compared to Figure 2A using different predictor units with different model parameters to process SNP segments, the arrangement in Figure 2D can reduce the total size of the model parameters, allowing the predictor sub-model 206 and the machine learning model 200 to be more compact and require fewer memory resources.
[0057] As shown in FIG. 2D , a single prediction unit 216 can accept as input a segment index 254 associated with the SNP segment in addition to the SNP values of the SNP segment. Each segment index can indicate a SNP site of a particular SNP segment. The segment index can be combined with a single set of model parameters to generate an initial ancestral origin estimate 218, thereby enabling the single predictor unit 216 to perform different ancestral origin predictions for different sets of SNP sites using the same set of model parameters. For example, the single predictor unit 216 can generate an initial ancestral origin estimate 218a based on SNP segment 204a and segment index 254a. Further, an initial ancestral origin estimate 218b can be generated based on SNP segment 254b and segment index 254b. Further, an initial ancestral origin estimate 218c can be generated based on SNP segment 204c and segment index 254c. As described below, different segment indices can be part of the training data for training a single predictor unit 216 to perform ancestry predictions differently for different sets of SNP sites.
[0058] In some embodiments, a single predictor unit 216 with a single model parameter set can process SNP values of SNP segments of different chromosomes to generate initial estimates 218 for different chromosomes. In addition to a segment index, the single predictor 216 can also accept a chromosome index associated with a particular chromosome. The chromosome index allows the single predictor 216 to generate different initial estimates of ancestry for different chromosomes using the same model parameter set. For example, as shown in FIG. 2E , the single predictor unit 216 can accept an input 256a for a first chromosome and generate an initial estimate set 270a for the first chromosome. Furthermore, the single predictor unit 216 can accept an input 256b for a second chromosome and generate an initial estimate set 270b for the second chromosome. The input 256a can include SNP segments 204a-204n, each associated with a segment index 254a-254n, respectively. In addition, the input 256a also includes a chromosome index 260a associated with the first chromosome. Additionally, input 256b can include SNP segments 204a-204n, each associated with a segment index 254a-254n, respectively. Additionally, input 256b can also include a chromosome index 260b associated with a second chromosome. The arrangement of Figure 2E allows for one model parameter set to be reused not only across different SNP segments but also across different chromosomes, which can make predictor sub-model 206 and machine learning model 200 more compact and require fewer memory resources.
[0059] The machine learning model 200 can be implemented using various techniques. In some embodiments, each classifier or regressor of the predictor sub-model 206 can include a fully connected neural network model, which can include hidden layers, while the smoothing sub-model 208 can include a convolutional neural network (CNN). In some embodiments, each classifier or regressor of the predictor sub-model 206 and the smoothing sub-model 208 can include multiple decision trees.
[0060] C. Fully connected neural network as a predictor submodel 3A-3C illustrate an example of the predictor sub-model 206 implemented using an artificial neural network model. An artificial neural network is a computing system with an architecture based on biological neural networks. An artificial neural network may include a set of weights. Through computation, the weights can be combined with input data to extract information, and an output (e.g., a decision, a calculated value, etc.) can be created based on the extracted information. Examples of neural networks include fully connected neural networks, convolutional neural networks, recurrent neural networks (e.g., long short-term memory (LSTM) networks, gated recurrent unit (GRU) networks, self-attention layers, transformer layers, residual blocks, etc.). The predictor sub-model 206 may be implemented using any of these neural networks. FIGS. 3A-3C illustrate an example of the predictor sub-model 206 implemented using a multi-layer fully connected neural network.
[0061] 1. Two-layer neural network 3A illustrates an example of a predictor 216a that includes a neural network 302 and is trained as a classifier. The neural network 302 includes an input layer 304 and an output layer 306. The input layer 304 includes multiple input nodes, such as input nodes 304a, 304b, ... 304n. Furthermore, the output layer 306 includes multiple output nodes, such as output nodes 306a, 306b, and 306c.
[0062] Each input node receives an encoding value (e.g., 1, 1, -1) of the SNP value at a particular SNP site of the segment received by the classifier. For example, input node 304a receives an encoding value s0, input node 304b receives an encoding value s1, while input node 304n receives an encoding value s n Each input node is associated with a weight set. For example, input node 304a is associated with weight set W0, input node 304b is associated with weight set W1, while input node 304n is associated with weight set W n Each input node may scale the input encoded values with an associated set of weights to generate a set of scaled encoded values and send the scaled encoded values to an output node in the output layer 306. If the predictor 216a receives segments of 500 SNPs, the input layer 304 may include 500 input nodes.
[0063] 3A, neural network 302 may be a fully connected neural network, with each output node of output layer 306 connected to each input node of input layer 304 and receiving a scaled encoded value from each input node. Specifically, each weight set for an input node may include a weight element corresponding to each output node for generating a scaled encoded value for each output node. For example, weight set W0 for input node 304a may include weight elements w1 and w2 corresponding to output nodes 306a, 306b, and 306c, respectively. 0,0 , w 0,1 , and w 0,2Furthermore, the weight set W1 of input node 304b includes weight elements w 1,0 , w 1,1 , and w 1,2 Furthermore, the weight set W1 of input node 304n includes weight elements w n,0 , w n,1 , and w n,2 Includes:
[0064] Each output node may correspond to a candidate ancestral origin category. Each output node has an encoded value s0, s1, s n may be calculated that an input SNP segment represented by a sequence such as is classified into a candidate ancestral origin category corresponding to the output node. For example, if the set of candidate ancestral origins includes Africa, Europe, and East Asia, output node 306a may output the probability that the input SNP segment is classified into an African origin, output node 306b may output the probability that the input SNP segment is classified into a European origin, while output node 306c may output the probability that the input SNP segment is classified into an East Asian origin.
[0065] Each output node may receive the scaled encoded values from each input node, sum the scaled values to generate an intermediate sum, and then use the intermediate sum to calculate the probability of the input SNP sequence having the candidate ancestral origin corresponding to the output node. For example, output node 306a may receive the intermediate sum, sum 306a can be calculated.
[0066]
number
[0067] In Equation 1, s i represents the coded SNP values received by each input node (e.g., s0, s1, etc.), while w 0,iis the weight element w in the weight set W0 0,0 , weight element w of weight set W1 1,0 , etc., represent the weight elements of the weight set of each input node corresponding to output node 306a.
[0068] Each output node also implements an activation function that defines the output of that node given the intermediate sum. The activation function can mimic the decision-making of biological neural networks. An example of an activation function implemented by the output node 306 is a sigmoid function defined according to the following equation:
[0069]
number
[0070] In addition to sigmoid, other forms of activation functions may also be used, including, for example, a ReLU function, a softmax function, a softplus function (which may be a smooth approximation of a ReLU function), a hyperbolic tangent function (tanh), an arctangent function (arctan), a sigmoid function, a Gaussian function, etc. Exemplary ReLU and softmax functions are provided below.
[0071]
number
[0072]
number
[0073] In Equation 4, the softmax function x i The input to is a set of K elements (x1, x2, ... x K ) are elements of a vector with
[0074] Each output node can then apply an activation function, such as a sigmoid function or a softmax function, to the intermediate sums to calculate the probability of the input SNP sequence having the candidate ancestral origin corresponding to the output node. Other activation functions can also be used to calculate feature vectors from the intermediate sum set. For example, output node 306a can calculate the probability P0 of the input SNP sequence having an African origin as follows: P0=Sigmoid(Σ 306a ) (Equation 5)
[0075] Output nodes 306b and 306c may also calculate the probability P1 of the input SNP sequence having a European origin and the probability P2 of the input SNP sequence having an East Asian origin, respectively, based on Equation 5.
[0076] FIG. 3B illustrates an example of a predictor 216a that includes a neural network 312 trained as a regressor. The neural network 312 includes an input layer 314 and an output layer 316. The input layer 314 includes multiple input nodes, such as input nodes 314a, 314b, ... 314n, each mapped to a coded value of an SNP sequence, as in FIG. 3A. Furthermore, the output layer 316 includes multiple output nodes 316a and 316b. Each output node may correspond to a component of a geographic coordinate of an ancestral locale of origin. For example, output node 316a may output longitude L0, while output node 316b may output latitude L1. Each input node is associated with a weight set, each including two weight elements corresponding to output nodes 316a and 316b, respectively. Each input node may scale the input coded value by the associated weight set to generate two coded values for output nodes 316a and 316b. Each output node may sum the scaled encoded values received from the input nodes 314a...314n, as in Equation 1, to generate the corresponding component of the geographic coordinate of the ancestral locale of origin.
[0077] In some examples, the neural network 312 can also be trained to generate coordinates or codes representing ancestral origin / variety. As described below, the coordinates can be defined in a multidimensional space defined by the dimensions obtained from a dimension reduction operation. The neural network 312 can be trained using vectors representing the complete genome sequence of a pure breed subject, or a subject with a single ancestral origin for all SNP segments, and reference coordinates in the multidimensional space obtained through a dimension reduction operation on the vector. In such examples, the output nodes 316a and 316b can output coordinates representing the ancestral origin or variety of a particular SNP segment, where the coordinates may or may not represent a geographic locale but may represent a variety locale or variety coordinate. Variety coordinates for a particular variety (e.g., of a crop or animal) can be generated from the genome sequence of a pure breed (i.e., of known ancestral origin). For example, SNP sites can be coded (e.g., 0 or 1), and dimension reduction can be performed, for example, using principal component analysis (PCA). These breed coordinates can be used as output labels for supervised training, for example, in the same way that geographic coordinates can be used, but in a more generalized sense.
[0078] 2. Hidden Layer In some embodiments, the fully connected neural network model of the predictor sub-model 206 may include a hidden layer between the input layer and the output layer. The hidden layer may classify the input segments of SNPs into candidate locales of candidate ancestral origin. The output layer may then further classify the input segments of SNPs into candidate ancestral origins based on the locales output by the hidden layer. The hidden layer may also provide additional regression parameters for the calculation of the geographic coordinates of the ancestral locales.
[0079] 3C illustrates an example of a predictor 216a that includes a neural network 322 having an input layer 324 and an output layer 326, and a hidden layer 328 between the input layer 324 and the output layer 326. The input layer 324 includes a plurality of input nodes, including input nodes 324a, 324b, ... 324n. Each input node of the input layer 324 receives an encoding value (e.g., 1, 1, -1) of the SNP value at a particular SNP site of the segment received by the classifier. For example, input node 324a receives an encoding value s0, input node 324b receives an encoding value s1, while input node 324n receives an encoding value s2. n 3C , neural network 322 can be configured as a classifier, with each output node corresponding to a candidate ancestral origin, as in neural network 302. If neural network 322 is configured as a regressor, each output node can correspond to a component of the geographic coordinates of the ancestral origin locale. Output layer 326 can include two output nodes, as in neural network 312.
[0080] In addition, the hidden layer 328 includes multiple intermediate nodes, including, for example, intermediate nodes 330a, 330b, 330m, etc. Each intermediate node can receive the scaled encoded values of the SNPs from each input node, sum the scaled encoded values, scale the sums by a second set of weights, and apply an activation function to the scaled sums to generate a set of intermediate outputs. The output layer can receive the intermediate outputs from each intermediate node as inputs and generate an initial ancestral origin estimate (e.g., a classification output, coordinates of an ancestral origin locale, etc.) based on the intermediate outputs. The intermediate outputs can include hidden representations / features to provide a nonlinear mapping between the input SNP segments and the ancestral origin classification output (if the neural network 322 is configured as a classifier) or the ancestral origin locale coordinates (if the neural network 322 is configured as a regressor). In some embodiments, the hidden layer 328 includes 30 intermediate nodes.
[0081] 3C , neural network 322 may be a fully connected neural network in which each hidden node in hidden layer 328 receives input from and is connected to each input node in input layer 324, and each output node in output layer 326 receives input from and is connected to each hidden node in hidden layer 328. Specifically, each input node in input layer 324 is associated with a weight set, each corresponding to a hidden node in hidden layer 328, for generating a set of encoded SNP values, and each input node sends scaled encoded SNP values to one of the hidden nodes in hidden layer 328. Each hidden node may sum the scaled encoded SNP values to generate a sum (e.g., based on Equation 1) and apply an activation function, such as a sigmoid function, a softmax function, or a ReLU function, to generate an intermediate output. Furthermore, an optional batch normalization process may be performed at each node to normalize the intermediate outputs, e.g., to improve the speed, performance, and stability of neural network 322. The normalization process may include, for example, subtracting the mean value of the intermediate outputs from each intermediate output and dividing the result by the standard deviation of the intermediate outputs to generate normalized intermediate outputs. In some implementations, the normalization operation may be performed before applying the activation function.
[0082] Each output node of the output layer 326 can receive a normalized intermediate output from each hidden node of the hidden layer 328. The normalized intermediate output received by each output node can represent, for example, a distribution of probabilities of the input SNP sequence having an ancestral origin in each locale represented by each hidden node, regression parameters associated with the locale, etc. If the neural network 322 is configured as a classifier, each output node can perform a softmax function on the normalized intermediate output. Based on the distribution of probabilities, the softmax function can map the hidden layer 328 to a probability of assignment to each of the candidate ancestral origins represented by output nodes 326a, 326b, and 326c (e.g., Africa, Europe, and East Asia). Like the neural network 302 of FIG. 3A, the neural network 322 can output the ancestral origin with the highest probability of the input SNP sequence, the probability of each candidate ancestral origin, etc. Each output node can also perform other activation functions, such as ReLU, to generate a feature vector.
[0083] The neural network 322 can also be trained as a regressor or to generate coordinates defined in the multidimensional space obtained from the dimensionality reduction operation. In both cases, each intermediate node in the hidden layer 328 can provide a nonlinear mapping from the input SNP sequences to intermediate outputs representing ancestral locale of origin coordinates or coordinates in the multidimensional space obtained from the dimensionality reduction operation.
[0084] D. Convolutional Neural Networks as Smoothing Submodels As described above, in addition to the predictor sub-model 206, the machine learning model 200 further includes a smoothing sub-model 208 for performing a smoothing operation across a subset of the initial ancestral origin estimates (e.g., ancestral origin classifications, ancestral origin geographic coordinates, etc.) generated by the predictor sub-model 206 to remove / reduce discontinuities in the initial ancestral origin estimates. In some embodiments, the smoothing sub-model 208 may include a convolutional neural network (CNN) that can perform a convolution operation between a kernel and the initial ancestral origin estimates generated for each segment of the input SNP sequence, and can output the result of the convolution operation as the final ancestral origin prediction result. Other neural network topologies, such as recurrent neural networks (e.g., LSTM and GRU), self-attention layers, transformer layers, residual blocks, etc., may also be used to implement the smoothing sub-model 208.
[0085] 1. Smoothing operation FIG. 4A illustrates an exemplary smoothing operation performed by the smoothing sub-model 208. The kernel 402 can include initial ancestral origin estimates in a sliding window 404 and operate on feature vectors generated from the initial ancestral origin estimates and / or a subset of nearby SNP segments. Specifically, the kernel 402 can include an array of weights, each corresponding to an initial ancestral origin estimate in the sliding window 404. The weights can be multiplied by the corresponding initial ancestral origin estimates, and the products can be summed to generate a final ancestral origin prediction result (e.g., final ancestral origin prediction result 406) for the SNP segment. The final ancestral origin prediction result can replace the target initial ancestral origin estimate for the segment as the output of the machine learning model 200. The sliding window 404 can include the target initial ancestral origin estimate to be replaced by the smoothing operation, as well as a predetermined number of initial ancestral origin estimates before and after the target initial ancestral origin estimate. In some implementations, the sliding window 404 may include 75 neighboring initial ancestral origin estimates, with the window position varying for different target initial ancestral origin estimates.
[0086] The kernel 402 may include multiple sub-kernels, each representing a channel and including an array of weights. Each channel may correspond to an output node of the output layer 306. For example, the kernel 402 may include sub-kernel 402a, sub-kernel 402b, and sub-kernel 402c. Each sub-kernel may operate on initial ancestral origin estimates from an output node within a sliding window 404. Each weight of a sub-kernel may be multiplied by a corresponding initial ancestral origin estimate to generate a product, and the products may be summed to generate a final ancestral origin prediction result. The final prediction result may represent a weighted average of the initial ancestral origin estimates for the window. For example, sub-kernel 402a may be used to generate a weighted average of the initial ancestral origin estimates output by output node 306a within the sliding window 404. Further, sub-kernel 402b may be used to generate a weighted average of the initial ancestral origin estimates output by output node 306b within the sliding window 404. Additionally, the sub-kernel 402 c may be used to generate a weighted average of the initial ancestral provenance estimates output by the output node 306 c within the sliding window 404 .
[0087] In some embodiments, as part of the weighted average operation, the smoothing submodel 208 can assign a weight to each initial ancestral origin estimate based on a utility metric for the segment of SNPs represented by the respective initial ancestral origin estimate. The utility metric can reflect, for example, whether the ancestral origin of a SNP variant at a particular SNP site in the segment can be correctly predicted. The utility metric can be based, for example, on the probability of prediction error for the ancestral origin of the segment, which can be determined based on prior prediction results for the segment in the genome of a population. A smaller weight can be assigned to an initial ancestral origin estimate for a segment of SNPs with a higher probability of prediction error, while a larger weight can be assigned to an initial ancestral origin estimate for a segment of SNPs with a lower probability of prediction error. The weights can be part of the kernel 402 or can be applied to each initial ancestral origin estimate before being multiplied by the kernel 402.
[0088] In some examples, an input SNP sequence, such as data 202 in FIG. 2A , can include a maternal SNP sequence and a paternal SNP sequence of interest. The maternal SNP sequence and the paternal SNP sequence can be processed separately by the predictor sub-model 206 to generate initial ancestral origin estimates 420a and 420b for the maternal SNP sequence and the paternal SNP sequence. Each of the sub-kernels 402a, 402b, and 402c can include weights, each weight corresponding to an initial ancestral origin estimate output by the output node for both the maternal SNP sequence and the paternal SNP sequence. The weights can be multiplied by the corresponding initial ancestral origin estimates to generate two sum sets, which can generate final prediction results for the maternal SNP sequence and the paternal SNP sequence, respectively. As a result, two final prediction result sets, including final prediction results 430a and 430b, can be generated for the maternal SNP sequence and the paternal SNP sequence. The final segment prediction results 430a and 430b can then be concatenated into segment ancestral origin predictions 205a and 205b for each sequence SNP. With such an arrangement, the final prediction results can be invariant to the order in which the maternal and paternal SNP sequences are presented in the input SNP sequences.
[0089] 2. Convolutional Neural Networks 4B illustrates an example of a convolutional neural network (CNN) 440 that may be part of the smoothing sub-model 208. The CNN 440 may include a layer 442 that includes nodes 442a, 442b, 442m, etc. Each node of the layer 442 may be connected to a subset of the predictor units 216 of the predictor sub-model 206 according to a sliding window 404. For example, if the sliding window 404 includes 75 initial ancestral origin estimates, then node 442a may be connected to the 75 predictor units starting with predictor unit 216a, node 442b may be connected to the 75 predictor units starting with predictor unit 216b, while node 442m may be connected to the 75 predictor units ending with predictor unit 216n. Each node in layer 442 may implement kernel 402 and generate final prediction results, including final prediction results 220a, 220b, 220k, etc., for the output node. Specifically, each node in layer 442 may generate a weighted average of initial ancestral origin estimates output by overlapping groups of predictor units representing a sliding window. For example, node 442a receives input from predictor units 216a, 216b, 216c, ... 216n-2, while node 442b receives input from predictor units 216b, 216c, ... 216n-1. In some embodiments, the convolution operation may be performed with appropriate reflective padding to maintain the same input and output size. For example, if fewer than 75 initial ancestral origin estimates are available to be input to a node in layer 442 (e.g., at the beginning or end of a chromosome), reflective padding may be applied (e.g., by zero padding) to replace missing initial ancestral origin estimates as input to the node. If the CNN 440 receives n initial ancestral origin estimates from the predictor unit 216, the CNN 440 may also generate n final prediction results based on the reflection padding.
[0090] E. Training the Neural Network Submodel The machine learning model 200 can be trained to improve the accuracy of the prediction. The machine learning model 200 can be trained based on training data derived from the complete genomic data of the population of known ancestral origin identified by the machine learning model. For example, if the machine learning model is to classify a segment of SNPs as East Asian, African, or European, the training data can include genomic data of individuals from various locales in East Asia, Africa, and Europe, such as China, Japan, Korea, the United Kingdom, France, Spain, South Africa, and Egypt.
[0091] From the complete genome sequences of these individuals, simulated genome sequences of their simulated mixed descendants are generated based on Wright-Fisher forward simulations over a series of generations, such as after 2, 4, 16, 32, and 64 generations. As the number of generations after initial admixture increases, the simulated descendants have an increasing number of ancestral alternations along the genome, which can lead to more difficult inference operations. A machine learning model can be trained and validated using a training dataset containing the genome sequences of the simulated mixed descendants of these individuals over a wide range of generations and the known ancestral origins of SNP segments in the simulated genome sequences, allowing the machine learning model to learn from the relationship between patterns of SNP variants at different SNP sites and their ancestral origins reflected in the training data to perform local ancestry inference. To improve the robustness of the trained machine learning model when dealing with missing SNP data, dropout regularization can be applied to the training data to model missing input SNPs, which commonly occur when the input data is from a genotyping array such as a DNA microarray.
[0092] Additionally, when a predictor sub-model includes multiple predictor units, each processing a SNP segment in a corresponding SNP site set, each predictor unit can be trained based on the SNP data in the corresponding SNP site set, and each predictor unit can include a different set of model parameters (e.g., weights, decision tree topology, decision criteria, etc.) as a result of training. When a predictor sub-model includes a single predictor unit, the predictor sub-model can be trained based on the SNP segment data and their associated segment indexes, allowing the sub-model to distinguish between different SNP site sets as part of learning. This allows the predictor sub-model to perform predictions differently for different SNP sites using the same set of model parameters.
[0093] The training operation can include a forward propagation operation and a backpropagation operation. As part of the forward propagation operation, the machine learning model can receive training data including sequences of SNPs of known ancestral origin and generate predictions of the ancestral origin of the sequences. A comparison can be made between the predicted ancestral origin of each SNP segment and the true ancestral origin (or between the predicted geographic coordinates of the ancestral origin location and the known geographic coordinates). Various parameters of the predictor sub-model and the smoother sub-model, such as the weights of the fully connected neural network model, the parameters of the kernel of the convolutional neural network model, the decision tree, the weights associated with the SNP segments in the smoothing operation, etc., can be adjusted to maximize the match between the predicted ancestral origin and the true ancestral origin.
[0094] When the machine learning model 200 operates as a classifier for classifying SNP segments into one of candidate ancestral origins, the machine learning model 200 can be trained based on a cross-entropy loss function. Cross-entropy generally refers to a measure of the difference between two probability distributions for a given random variable or event set. While entropy is the number of bits required to convey a randomly selected event from a probability distribution, cross-entropy calculates the number of bits required to represent or convey the average event from one distribution compared to another distribution. The cross-entropy between a target distribution P and an approximation of a target distribution Q can be calculated using the probabilities of events from P and Q as follows: H(P,Q)=-Σ x xP(x)×log(Q(x)) (Equation 6)
[0095] In Equation 6, P(x) is the probability of event x in P, while Q(x) is the probability of event x in Q.
[0096] Cross-entropy can be used as a loss function to optimize the machine learning model 200 operating as a classifier. As described above, the machine learning model 200 can calculate the probability of each candidate ancestral origin for a SNP segment. The cross-entropy loss function can be determined for that SNP segment based on the expected probability of each candidate ancestral origin in the training data (e.g., based on the distribution of known ancestral origins in the simulated genome sequences of the simulated mixed descendants) and the predicted probability output by the machine learning model 200 for each candidate ancestral origin, according to Equation 6. Referring to Equation 6, the event x can be for a set of candidate ancestral origins (e.g., Africa, East Asia, Europe), and P(x) can be the expected probability of each candidate ancestral origin, while Q(x) can be the predicted probability output by the machine learning model for each candidate ancestral origin.
[0097] In some embodiments, the training operation may be based on a combined cross-entropy loss function, which may include a linear combination of a first cross-entropy loss function associated with the predictor sub-model 206 and a second cross-entropy loss function associated with the smoothing sub-model 208, as follows:
[0098]
number
[0099] In Equation 7,
[0100]
number
[0101]
number
[0102]
number
[0103]
number
[0104]
number
[0105]
number
[0106] Additionally, during the training operation, the output of the predictor sub-model 206 for each segment of SNPs in the training data can be used to determine a utility metric for the SNP segment. As described above, as part of the weighted average operation, the smoothing sub-model 208 can assign a weight to each initial ancestral origin estimate based on the utility metric for the SNP segment represented by the respective initial ancestral origin estimate. The utility metric can reflect, for example, whether the ancestral origin of a SNP variant at a particular SNP site in the segment can be correctly predicted. The utility metric can be based, for example, on the probability of a prediction error for the ancestral origin of the segment, which can be determined based on prior prediction results for the segment in the genome of a population. Here, based on a first cross-entropy loss function, the probability of a prediction error in the predictor sub-model 206 can be determined for each segment as part of the utility metric. The probability prediction error can be transferred to the smoothing sub-model 208, which can then use a second cross-entropy loss function
[0107]
number
[0108] For the above neural network examples, the number of parameters can be reduced to improve computational efficiency. Exemplary techniques for reducing the number of parameters may include weight sharing, weight factorization, weight quantization, etc. Additionally, multi-task systems that provide both classification and regression simultaneously are implemented by expanding the number of outputs of the system. Training can also be adapted to provide both classification and regression.
[0109] F. Training using data from a dimensionality reduction operation As described above, the predictor sub-model 206 can be trained using training data obtained from a dimension reduction operation. Dimension reduction generally involves transforming data from a high-dimensional space to a low-dimensional space. For the predictor sub-model 206, the low-dimensional representation can be used as an output label that distinguishes different ancestral origins of the input segments of the SNPs. Examples of dimension reduction operations include, for example, principal component analysis (PCA), kernel PCA, autoencoder, T-SNE (t-SNE), uniform manifold approximation and projection (UMAP), etc.
[0110] FIG. 5A illustrates an example of a principal component analysis (PCA) operation 500. As shown on the left of FIG. 5A, a subject's genome sequence 502 can be represented in a high-dimensional space 504, with each dimension representing, for example, a particular SNP site (e.g., SNP site 0, SNP site 1, SNP site 2, ..., SNP site n). If the genome has 1 million SNP sites, then the high-dimensional space 504 can have 1 million dimensions. The genome sequence can have coordinates in each dimension representing the SNP values of the SNP sites represented by the dimension (e.g., 0 for one allele and 1 for the other allele), and the coordinates in each dimension can form a 1 million-dimensional vector. When generating a training set for use with breed coordinates, the training sample (reference subject) can be a pure breed with known ancestral origin.
[0111] As part of the PCA operation 500, a linear transformation can be performed on the vectors representing the genome sequences 502 in the high-dimensional space 504 to a low-dimensional space 506 that can include two dimensions, labeled dimension 1 and dimension 2. This transformation can be such that the greatest variance from any scalar projection of the vector is in dimension 1, which can be the first principal component, and the second greatest variance is in dimension 2, which can be the second principal component. In other examples, the low-dimensional space 506 can include more than two dimensions. This transformation can be expressed as the following equation: t i =z i ·w (formula 8)
[0112] In Equation 8, z i Let w be a vector representing the genome sequence associated with label i and p dimensions defined in the high-dimensional space 504, while w is a p-dimensional weight vector (w, w, ... w p ) can be expressed as a new vector of principal component scores t i , z i The principal component scores can also be generated from the dot product between the vector z in the low-dimensional space 506. iThe coordinates of can be represented as follows.
[0113] 3B and 3C, after the PCA operation is performed on the genomic sequences of the reference set and their coordinates in the low-dimensional space 506, the genomic sequences of the reference set and their reference coordinates can be used to train the neural network of FIGS. 3A-3D. As part of the training operation, a set of weights W0, W1, ... W are calculated to minimize the difference between the coordinates output by the neural network (e.g., by output layers 316, 326, etc.) and the reference coordinates of each SNP segment of the genomic sequences of the reference set. n-1 The complete genome sequence of the reference subject used in training can have a known pure ancestral origin, race, breed, etc., such that all SNP sites in the genome sequence hold SNP values indicative of that pure ancestral origin, race, or breed, and the neural network can be trained so that the output coordinates of all SNP sites indicate the same ancestral origin, race, breed, etc. After the neural network weights are trained, segments of SNPs of new subjects can then be fed into the neural network to determine the coordinates of each segment in the low-dimensional space 506. The coordinates can reflect the ancestral origin / race / breed represented by that segment.
[0114] Through a PCA operation, a genome sequence (or a segment of SNP sites) can be represented by a set of coordinates (breed coordinates) in a multidimensional space, such as low-dimensional space 504. Because the dimensions of low-dimensional space 506 represent the projection of highly variance vectors, these vectors can be encoded with a set of coordinates to highlight differences in important features of genome sequences (e.g., patterns of SNP values at SNP sites) that distinguish the ancestral origins of subjects, and genome sequences with differences in such important features can be separated into clusters in low-dimensional space 346. For example, as shown in FIG. 5A, genome sequences 502 can be aggregated into clusters 508a, 508b, 508c, and 508d through their representation in low-dimensional space 506. Each cluster can correspond to a different ancestral origin / race / breed. The coordinates of a new subject's SNP segment can be compared to the coordinates of these clusters to predict the ancestral origin / race / breed represented by the segment.
[0115] FIG. 5B illustrates another example of a dimensionality reduction operation for providing training data for training the machine learning model 200 of FIGS. 2A-2C. In FIG. 5B, the training data can be used to train the machine learning model 200 to determine a coordinate indicative of breed or ancestral origin at each chromosomal location of an input genome sequence. For example, the machine learning model 200 can be trained using the complete genome sequences of a purebred European terrier and a dog of East Asian origin to generate coordinates of SNPs at each chromosomal location / SNP site in a two-dimensional space having two dimensions, labeled PCA-1 and PCA-2. Each complete genome sequence can contain approximately 1 million SNP sites. Other embodiments can use between about 10,000 and about 10 million SNP sites. The complete genome sequence is represented by a pair of coordinates in the PCA-1 dimension and in the PCA-2 dimension. It is understood that the dimensionality reduction operation can generate more than two dimensions for the space (e.g., three or more dimensions). Furthermore, SNPs are generally biallelic, and vectors representing the complete genome sequence can use (0.1) encoding or other encodings.
[0116] The upper part of Figure 5B illustrates a graph 510 of the distribution in two-dimensional space of coordinates of the complete genome sequences of reference subjects generated by PCA, including purebred European terriers and dogs of East Asian origin. As shown in the graph, European terriers tend to have relatively high coordinate values along the PCA-1 dimension (e.g., 0 to 80) and relatively low coordinate values along the PCA-2 dimension (e.g., -20 to 0). In contrast, dogs of East Asian origin tend to have relatively high coordinate values along the PCA-2 dimension (e.g., 20 to 80) and relatively low coordinate values along the PCA-1 dimension (e.g., 0 to 20).
[0117] The bottom of FIG. 5B illustrates graphs 512a and 512b showing the coordinate values of each chromosomal location of a new subject along the PCA-1 and PCA-2 dimensions output by the trained machine learning model 200. The machine learning model 200 can be trained using the complete genome sequence of a reference subject and their reference coordinates along the PCA-1 and PCA-2 dimensions shown in graph 510. As shown in graphs 512a and 512b, the coordinate values of chromosomes in a first region from chromosome positions 0 to K may have relatively high coordinate values in the PCA-1 dimension and relatively low coordinate values in the PCA-2 dimension, which may indicate that the chromosomes in the first region may be from a European terrier. Furthermore, the chromosomes in a second region from K to 300k may have relatively low coordinate values in the PCA-1 dimension and relatively high coordinate values in the PCA-1 dimension, which may indicate that the chromosomes in the second region may be from a dog of East Asian origin. In particular, each region (or sliding window) can be mapped to a specific value in PCA-1 and PCA-2, which can then be compared to the known coordinates of the breed. The distance between the coordinates of the new test subject and the coordinates of the reference subject can provide the level of similarity for a given region.
[0118] G. Decision Trees as Prediction and Smoothing Submodels In addition to neural networks, the predictor sub-model 206 and the smoothing sub-model 208 can be implemented using other techniques, such as decision trees. Compared to neural networks, training and running decision trees can be less computationally intensive and potentially allow for more parallel execution, allowing machine learning models built using decision trees to be run and trained on a variety of hardware platforms, including those with fewer computational resources and / or lower bandwidth. This can further improve the accessibility of local ancestral inference operations. In some embodiments, a combination of neural networks and decision trees can be implemented in both the predictor sub-model 206 and the smoothing sub-model 208.
[0119] 6A illustrates an example of a decision tree 600 that can be configured to generate a decision for an input SNP sequence {s0, s1}. The decision can include, for example, the probability of the input SNP sequence having a particular ancestral origin, the geographic coordinates of the ancestral origin of the input SNP sequence, etc. An example of a decision tree can be, for example, an XGBoost tree.
[0120] As shown in FIG. 6A , decision tree 600 can include a root node, such as root node 602, and child nodes, such as child nodes 604, 606, 608, and 610. Each parent node with child nodes (e.g., nodes 602 and 604) can be associated with a predetermined classification criterion (e.g., a threshold value of s0, s1, or a combination of both) for classifying an input SNP sequence into the child node. A child node with no child nodes is a terminal node. The terminal nodes include nodes 606, 608, and 610, each associated with a decision output by the decision tree. In the example of FIG. 6A , decision tree 600 can have a depth of three. Decision tree 600 can process two SNP sequences and generate a probability of the input SNP sequence having a particular ancestral origin (e.g., one of Africa, East Asia, or Europe), with nodes 606, 608, and 610 each associated with a probability P0, P1, and P2, respectively. Based on a combination of criteria for the parent nodes, decision tree 600 can output different probabilities for different patterns in the input SNP sequence. Note that decision tree 600 is provided as an illustrative example. It is understood that the decision trees used in predictor sub-model 206 can have different numbers of nodes, different depths, and can handle different numbers of SNPs in the sequence.
[0121] 2A, a predictor unit, such as predictor unit 216a, can include multiple decision trees, each of which can be assigned to process a different subset of the SNP segments, and the decisions output by the decision trees can be combined to generate an initial ancestral origin estimate, which can include the probability that the SNP segment will be classified into each candidate ancestral origin, the geographic coordinates of the ancestral origin locale of the SNP segment, etc.
[0122] 6B illustrates one embodiment of predictor unit 216a implemented based on decision trees. As shown in FIG. 6B, predictor unit 216a includes multiple decision trees, including decision trees 600a, 600b, 600c, 600n, etc. Each decision tree can have a different tree structure (e.g., a different number of parent and child nodes, a different depth, etc.) and a different decision criterion. Each decision tree can be assigned to process a subset of the SNPs of input segment 204a. Decision tree 600a can be assigned to process subset 610a and generate decision tree output 612a, decision tree 600b can be assigned to process subset 610b and generate decision tree output 612b, decision tree 600c can be assigned to process subset 610c and generate decision tree output 612c, while decision tree 600n can be assigned to process subset 610n and generate decision tree output 612n. Each of the decision trees 600a-n may have a different tree structure, a different classification criterion, etc. Furthermore, different predictor units may also have a different number of decision trees, and the decision trees may have different tree structures and classification criterion between different predictor units.
[0123] The predictor unit 216a further includes an output combiner 620 for combining decision tree outputs into an initial ancestral origin estimate 218a. In some embodiments, the output combiner 620 may generate the initial ancestral origin estimate 218a based on, for example, averaging / summing decision tree outputs from the decision trees to generate a probability estimate. In some embodiments, the predictor unit 216a may be configured as a regressor, and the output combiner 620 may perform a weighted sum of the decision tree outputs based on regression model parameters to generate the geographic coordinates of the ancestral origin locale for the input segment.
[0124] In addition to the predictor sub-model 206, the smoothing sub-model 208 can also be implemented based on decision trees. FIG. 6C illustrates one embodiment of the smoothing sub-model 208, which includes multiple decision trees 630. Each decision tree 630 (e.g., decision trees 630a, 630m, etc.) can have a structure (e.g., including parent and child nodes) similar to the decision tree 600 shown in FIG. 6A. Each decision tree can be assigned to process an initial ancestral provenance estimate 218 and generate a decision tree output 632. Each decision tree output can represent a weighted version of the input ancestral provenance estimate 218, with each weight representing a weight in a kernel (e.g., kernel 402 in FIG. 4A). The smoothing sub-model 208 further includes an output combiner 640 for combining the decision tree outputs. The output combiner 640 can, for example, sum the decision tree outputs to generate the final prediction result 220.
[0125] The decision tree 630, together with the output combiner 640, can perform a smoothing function based on a sliding window, as in FIG. 4A. For example, as shown in FIG. 6C, the decision tree 630 can be assigned to process a set of initial ancestral origin estimates included in a window that includes the initial ancestral origin estimates 218a through 218i-1, the initial ancestral origin estimate 218i, and the initial ancestral origin estimates 218i+1 through 218m, to generate a final prediction result 220i that will replace the target initial ancestral origin estimate 218i. The window can be configured so that the window is centered on the target initial ancestral origin estimate 218i. For example, the window can include k (e.g., 50) initial ancestral origin estimates before and after the target initial ancestral origin estimate 218i. For the next final prediction result, a different window of initial ancestral origins can be input to the decision tree 630 to generate a final prediction result.
[0126] H. Training the Decision Tree Submodel The decision trees of the predictor sub-model 206 and the smoother sub-model 208 can be trained using training data derived from complete genome data of populations of known ancestral origin, including individuals from various locales in Africa, East Asia, and Europe. From the complete genome sequences of these individuals, simulated genome sequences of their simulated mixed descendants are generated based on Wright-Fisher forward simulations over a series of generations. A machine learning model can be trained and validated using a training dataset containing the genome sequences of the simulated mixed descendants of these individuals across a range of generations and the known ancestral origins of SNP segments of the simulated genome sequences, enabling the machine learning model to learn from the relationship between patterns of SNP variants at different DNA sites and their ancestral origins reflected in the training data to perform local ancestry inference.
[0127] The decision trees of the predictor sub-model 206 and the smoothing sub-model 208 can be trained based on a gradient tree boosting operation. Specifically, the training operation can begin with creating a first decision tree to match a first decision output (e.g., an ancestral origin estimate, the geographic coordinates of the ancestral origin locale, etc.) to a segment of SNPs in the training data. A first set of residuals can be determined, which can represent the difference between the first decision output of the first decision tree and the ground truth. A first regression relationship between the ground truth / target ancestral origin and the SNP segment provided by the first decision output of the first decision tree can be as follows: Y=f1(x) (Equation 9)
[0128] In Equation 9, Y is the ground truth / target ancestral origin, while f(x) represents the regression model relating SNP segments in the training data to Y. A first set of residuals representing the difference between the ground truth / target ancestral origin and the regression estimates from the first decision tree can be: First_Residual(x)=Y-f1(x) (Equation 10)
[0129] A second decision tree can then be generated and trained to match the second decision output to the first set of residuals. For example, the second decision tree can be trained to generate a second decision output that matches the first set of residuals as closely as possible for the same segment of SNP input to the first decision tree. The second regression relationship between the first set of residuals and the SNP segment provided by the second decision output of the second decision tree can be: Y-f1(x)=f2(x) (Equation 11)
[0130] A second set of residuals representing the difference between the first set of residuals and the regression estimates from the second decision tree may be: Second_Residual(x)=Y-f1(x)-f2(x) (Equation 12)
[0131] A third decision tree can then be generated and trained to fit the third decision output to the second set of residuals. The training process can be repeated, for example, until a predetermined number of trees is reached, a predetermined threshold level of residuals is reached, etc. By adding new decision trees and fitting decision tree outputs to the residuals, the decision trees can represent a regression model of the relationship between SNPs and ancestral origin estimates and / or geographic coordinates of ancestral origin locales, such as: Y=f1(x)+f2(x)+...+fn(x) (Equation 13)
[0132] The decision trees of the predictor sub-model 206 and the smoothing sub-model 208 can be trained separately with separate gradient tree boosting operations, and the decision trees can have different learning rates. For example, the predictor sub-model 208 can be trained based on a learning rate of 0.1, while the smoothing sub-model 208 can be trained based on a learning rate of 0.3.
[0133] Compared to neural networks, training and running decision trees may be less computationally intensive and allow for more parallel execution, allowing machine learning models built using decision trees to be run and trained on a variety of hardware platforms, including those with fewer computational resources and / or lower bandwidth. This can further improve the accessibility of local ancestry inference operations. In addition, the robustness of machine learning models can be improved when the models are trained as regressors to estimate the geographic coordinates of ancestral locales of SNP segments based on regression operations, thereby providing useful ancestry estimates for closed, related populations.
[0134] In some examples, the decision trees shown in Figures 6A-6C can be trained as regressors that generate coordinates or codes representing ancestral origin / breed, as described above in Figures 5A-5B. The decision trees can be trained using vectors representing the complete genome sequence of pure-breed subjects, or subjects with a single ancestral origin for all SNP segments, and reference coordinates in a multidimensional space obtained through a dimensionality reduction operation on the vectors.
[0135] II. Experimental Results A. Local ancestry inference based on neural networks An example of the machine learning model 200 of FIGS. 3A-3C is developed and trained, including a fully connected neural network with hidden layers as the predictor submodel 206 and a convolutional neural network as the smoothing submodel 208. The training data is derived from the complete genome sequences of a total of 1,668 individuals from a single population of East Asian (EAS), African (AFR), and European (EUR) ancestry. The East Asian group consists of the following individuals: 103 Han Chinese (CHB) from Beijing, China; 104 Japanese (JPT) from Tokyo, Japan; 105 Southern Han Chinese (CHS); 93 Chinese Dai (CDX) from Xishuangbanna, China; and 99 Kinh (KHV) from Ho Chi Minh City, Vietnam. The African group consists of the following individuals: 108 Yoruba (YRI) from Ibadan, Nigeria, 99 Luiya (LWK) from Webuye, Kenya, 113 Gambians (GWD) from the Western Divisions of Gambia, 85 Mende (MSL) from Sierra Leone, 99 Esan (ESN) from Nigeria, 61 Amerindians (ASW) of African ancestry from the Southwestern United States, and 96 Afro-Caribbean (ACB) from Barbados. Finally, the European group is composed of the following subpopulations: 99 Utah residents of Northern and Western European ancestry (CEPH), 107 Tuscans from Italy (TSI), 99 Finns from Finland (FIN), 91 Britons from England and Scotland (GBR), and 107 Iberians from Spain (IBS).
[0136] Using the complete genomes of these individuals, Wright-Fisher forward simulation was performed over a series of generations to obtain genomic data of simulated mixed offspring. Specifically, from 1668 single-population individuals, 1328 were selected to generate 600 mixed individuals for training, 170 were used to generate 400 mixed individuals for validation, and the remaining 170 were used to generate 400 mixed individuals for testing. The validation and test sets were generated using 10 individuals for each of 17 different ancestors. The 600 mixed individuals in the training set were composed of groups of 100 individuals generated after 2, 4, 16, 32, and 64 generations. The 400 mixed individuals in the validation and test sets were generated after 6, 12, 24, and 48 generations, respectively.
[0137] The genome data is divided into a training data set, a validation data set, and a test data set. The entire machine learning model (including the predictor submodel 206 and the smoothing submodel 208) is trained using the training data set and based on the joint cross-entropy loss function of Equation 7. Furthermore, various hyperparameters of the machine learning model can be determined from the validation data set, such as the parameters of the joint cross-entropy loss function (e.g., λ1 and λ2), the number of SNP sequences processed by the predictor unit, the number of initial ancestral origin estimates included in the window, the hidden layer size, the smoothing kernel size, etc. Then, the test data set is used to test the machine learning model after training and with the hyperparameters updated based on the validation data.
[0138] 1. Test and verification results Table 1 below presents accuracy results for chromosome 20 of the example machine learning model 200 of Figures 3A and 3B (without hidden layers) and Figure 3C (with hidden layers), with and without the smoothing operation.
[0139] [Table 1] Table 1
[0140] Table 1 above suggests that the neural network-based machine learning model 200 can achieve state-of-the-art performance. With only two and three layers, the model sizes of the network are approximately 10 Mb (without hidden layers) and approximately 100 Mb (with hidden layers). Here, both models are trained with data from chromosome 20, and their sizes can be linearly scaled as the chromosome becomes larger.
[0141] 2.Missing Data Robustness Applications dealing with genotype data typically encounter noisy or incomplete data due to genotyping errors. In other cases, only a subset of SNPs may be available due to different commercial genotyping arrays. Therefore, robustness to missing data is an important factor. To improve the robustness of the machine learning model 200 to handle missing data, the machine learning model can be trained and tested with different proportions of missing input SNPs. Without changing the structure of the network, missing labels were modeled by applying dropout to the input data in both training and testing (i.e., setting missing SNPs to 0).
[0142] Table 2 below presents accuracy values for ancestry estimates by the machine learning model 200 of FIGS. 3A-3C with and without the smoothing sub-model 208 and using different proportions of missing input SNPs.
[0143] [Table 2] Table 2
[0144] Accuracy results suggest that the network can accurately infer ancestry without significant loss of accuracy even when 50% of the input SNPs are missing. Another advantage is that if only 50% of the input SNPs are used during deployment, only half of the model parameters need to be stored and only half of the data need to be processed. This transforms missing data from a nuisance into a feature for designing smaller, faster networks that require a fraction of the number of input SNPs as input.
[0145] 3.Fading Error Robustness Humans carry two complete copies of their genome, one from each parent. Current sequencing technologies typically cannot confirm whether two nearby SNP variants belong to the same sequence (maternal or paternal) or to opposite sequences; that is, they cannot properly assign the base pairs read to the paternal or maternal sequence. Assigning variants to their correct sequence is known as phasing, and statistical algorithms have been developed to solve this problem based on observed correlations between nearby SNP variant alleles in a reference population.
[0146] The example machine learning model 200 of Figures 3A-3C can be trained and tested on data containing different percentages of phasing errors. To model these errors, we randomly swapped genomic sequences at positions where the maternal and paternal sequences differed in base pairs. That is, we coded SNPs as -1 and 1, and then switched the sign of SNPs at positions where the paternal and maternal sequences were 1 and -1, or vice versa, with probability p.
[0147] Table 3 presents the accuracy results for the machine learning model 200 with and without the smoothing submodel 208 when different values of p are used for training and evaluation. The results suggest that the network can handle small to medium levels of fading error, but the accuracy drops significantly in the presence of very high fading error (around 40%).
[0148] [Table 3] Table 3
[0149] B. Local ancestry inference based on decision trees An example of the machine learning model 200 of FIGS. 5A-5C was developed and trained, including decision trees for the predictor submodel 206 and the smoother submodel 208. The machine learning model can be implemented based on the XGBoost system. The training data was derived from the complete genome sequences of 318 individuals from a single population of East Asian (EAS), African (AFR), and European (EUR) ancestry. The African group consisted of 108 Yoruba (YRI) individuals from Ibadan, Nigeria; an East Asian group of 103 Han Chinese (CHB) individuals from Beijing, China; and a European group of 107 Spanish (IBS) individuals.
[0150] The complete genomes of these individuals were used to obtain genomic data for simulated mixed offspring using Wright-Fisher forward simulation over a series of generations. Specifically, from 318 single-population individuals, 258 were selected to generate 600 mixed individuals for training. 10 individuals were selected to generate 300 mixed individuals for validation, and the remaining 10 were selected to generate 300 mixed individuals for testing. The training set, consisting of 600 mixed individuals, consisted of six groups of 100 individuals generated over 2, 8, 12, 32, 48, and 64 generations. The validation and testing sets, consisting of 300 mixed individuals, consisted of three groups of 100 individuals generated over 4, 16, and 24 generations.
[0151] Additionally, a dataset with closely located (and genetically similar) populations was used to perform a qualitative evaluation of the method's performance when faced with challenging admixtures. Four hundred simulated admixture individuals were generated using populations located throughout Asia, including 182 Han Chinese (CHB and CHS), 83 Chinese Dai (CDX), 89 Vietnamese Kinh (KHV), 94 Japanese (JPT), 93 Gujarati Indian (GIH), 86 Pakistani Punjabi (PJL), 76 Bangladeshi Bengal (BEB), 92 Sri Lankan Tamil (STU), and 92 Indian Telugu (ITU). A total of 10 individuals per population were used to generate 200 individuals for testing. The remaining individuals were used to generate 200 admixture individuals for training. Both training and testing individuals were generated after two and four generations. Because local ancestry inference methods must accurately estimate ancestry from individuals regardless of their admixture history (different number of generations since admixture), it is important to train and evaluate the methods using simulated admixed individuals over a wide range of generations.
[0152] The genomic data is divided into a training dataset, a validation dataset, and a test dataset. The entire machine learning model (including the predictor submodel 206 and the smoothing submodel 208) is trained using the training dataset based on the gradient tree boosting operation as described above. Furthermore, various hyperparameters of the machine learning model, such as the number of SNPs processed by the decision tree, the number of decision trees included in each predictor unit, the tree levels, the learning rate, etc., can be based on the validation dataset. Then, the test dataset is used to test the machine learning model after training and with the hyperparameters updated based on the validation data.
[0153] 1. Test and verification results Table 4 below presents accuracy results for chromosomes 20 of the example machine learning model 200 of FIGS. 6A-6C trained as a classification model and a regression model, with and without smoothing operations.
[0154] [Table 4] Table 4
[0155] Tests suggest that both decision tree-based machine learning models configured as classification or regression models can achieve state-of-the-art accuracy, with no significant difference between classification and regression models.
[0156] 2.Missing Data Robustness We also test the example machine learning model 200 of Figures 6A-6C for its performance in handling missing SNP data. Genotype data may be incomplete due to genotyping error, or only a subset of SNPs may be available depending on the commercial genotyping array used. Therefore, a method that is robust to missing SNP data is preferred. Table 5 below presents the predictive accuracy of the machine learning model 200 of Figures 6A-6C trained as a classifier with different proportions of missing input SNPs.
[0157] [Table 5] Table 5
[0158] Table 5 above suggests that machine learning models can estimate ancestry without significant loss of accuracy even when 80% of the input SNPs are missing. This also enables the development of lightweight, fast methods that use only a small fraction (e.g., 20%) of the input data when deployment time and efficiency are paramount.
[0159] 3. Estimating the ancestral origins of closely related animal populations and crops We also perform a qualitative evaluation of a decision tree-based machine learning model 200 configured as a regression model for determining the geographic coordinates of ancestral origin of SNP segments. While classification-based approaches fail in closely related populations (obtaining approximately 15% accuracy on this dataset), coordinate regression-based models can provide a meaningful representation of an individual's ancestry.
[0160] 6A and 6B illustrate examples of estimated density maps of double-ancestry admixture individuals using machine learning model 200 trained on all Asian populations in the form of a point cloud map and a contour plot, respectively. Similar density maps of crops / animals with multiple ancestral origins can also be obtained using machine learning model 200.
[0161] 4. Extending Experimental Results In addition, we consider various influences on the predictive accuracy of the decision tree-based machine learning model 200, such as the number of SNPs processed by each decision tree, the smoothing window size, and the number of generations since simulated admixture.
[0162] Table 6 below illustrates the effect of smoothing window size on individuals with different generations after admixture. The results show that a larger smoothing window size provides better accuracy, except for individuals with a large number of generations after admixture. This is because individuals whose admixture process occurred many generations ago will have many ancestral switches. As a result, these individuals have only a small fraction of SNPs whose ancestral origin remains constant. In such a scenario, information from distant windows is not useful, and larger smoothing window sizes may not improve prediction accuracy. On the other hand, for individuals whose admixture process occurred recently, ancestral switch frequencies are typically low, and distant genomic regions may still be informative.
[0163] [Table 6] Table 6
[0164] Table 7 below shows the effect of including smoothing in relation to the number of SNPs processed by each predictor unit in the window. For small window sizes (500 SNPs), it can be observed that the accuracy difference with and without smoothing is quite large (about 7%). However, when using large window sizes (2000 SNPs), the accuracy difference is smaller (about 8%). The difference in accuracy may be due, for example, to the fact that larger window sizes can capture relationships between SNPs that are further apart.
[0165] [Table 7] Table 7
[0166] A general behavior that can be observed in Tables 6 and 7 is that the accuracy decreases as the number of generations following the admixture process increases. This is because a larger number of generations implies more ancestral switches and therefore shorter sequences with a given ancestral origin, making switches more difficult to detect.
[0167] Table 8 illustrates the mean absolute error of the decision tree-based machine learning model 200 in both mixed simulated datasets. Absolute error is measured in terms of the error in the geographic coordinates (latitude and longitude) output by the model. In the African / East Asian / European continental dataset ("AFR-EUR-EAS"), the geographic distance within ancestry is large, but the mean error is lower because the method is able to properly distinguish between the three divergent ancestries. Within the Asian dataset, related (within-country) ancestry is very difficult to distinguish via a local ancestry approach, leading to a higher mean error.
[0168] [Table 8] Table 8
[0169] III. Method 8 illustrates a flowchart of a method 800 for determining ancestral origins for different portions of a subject's (e.g., a person's) genome. Method 800 can be implemented by a computer.
[0170] FIG. 8 begins with step 802, in which a computer stores a trained machine learning model, such as machine learning model 200 of FIG. 2A, in the computer's memory. The machine learning model includes a predictor submodel (e.g., predictor submodel 206) and a smoothing submodel (e.g., smoothing submodel 208). The predictor submodel may include, for example, multiple classifiers, multiple regressors, etc. The classifier may identify the probability (including binary 0 and 1) that a segment originates from a particular ancestral origin, and such probability may be determined for each of a predetermined list of candidate ancestral origin categories. An initial ancestral origin estimate for the segment may be determined as the candidate ancestral origin category with the highest probability. Furthermore, the regressor may provide predictions that map to geographic coordinates or other types of identifiers, for example, to provide accurate results within a particular locale that is close to each other. Each classifier and regressor may be implemented based on a neural network, as shown in FIGS. 3A-3C, or a set of decision trees, as shown in FIGS. 6A-6C.
[0171] The machine learning model can be trained based on segments of training genome sequences with known ancestral origins. The machine learning model can be trained based on training data derived from the complete genome data of a population of known ancestral origins identified by the machine learning model. For example, if the machine learning model classifies a segment into one of Africa, East Asia, and Europe, the training data can include genome data of individuals from various locales in Africa, East Asia, and Europe, as well as smaller geographical areas. From the complete genome sequences of these individuals, simulated genome sequences of their simulated mixed descendants can be generated based on a series of generational simulations (e.g., Wright-Fisher forward simulations). The machine learning model can be trained and validated using a training dataset including the genome sequences of the simulated mixed descendants (e.g., over multiple generations) of these individuals and the known ancestral origins of the segments of the simulated genome sequences. Training can be based, for example, on a combined cross-entropy loss function, a gradient tree boosting operation, or the like.
[0172] In step 804, the computer receives data representing an input genome sequence of a subject, the input genome sequence comprising a plurality of segments including a plurality of single nucleotide polymorphism (SNP) sites in the subject's genome, each segment including an array of SNP values at the SNP sites, each SNP value identifying a variant at the SNP site. Specifically, the data can be obtained from a haploid or diploid DNA sequence. The data can be obtained, for example, from a genome sequencing operation that provides the subject's genome sequence, a DNA microarray containing segments of DNA, or the like. Haplotype information in the data can be encoded, for example, to include different values for different variants. A first value can represent that the subject has a common variant at the SNP site (e.g., a value of -1). A second value can represent that the subject has a rare variant at the SNP site (e.g., a value of +1). A third value (e.g., a value of 0) can represent that genome information is missing at the SNP site.
[0173] In step 806, the computer determines an initial ancestral origin estimate for each segment of SNP values using the predictor submodel and based on the data. Specifically, in some embodiments, each classifier can perform a classification operation on non-overlapping segments of SNPs to generate a classifier output. Each classifier can determine the probability that the segment will be classified into each candidate ancestral origin category (e.g., African, East Asian, and European), and can combine the probabilities output by the classifiers to output an initial ancestral origin estimate based on the candidate ancestral origin category with the highest probability.
[0174] Further, in some embodiments, each regressor can perform a regression operation on a random subset of SNPs of the segment of SNPs, which can be combined to output one or more estimates of origin indicative of the ancestral origin of the segment of SNPs. The one or more estimates of origin can include, for example, geographic coordinates (e.g., longitude and latitude) of an ancestral origin locale, a code representing the ancestral origin locale, etc. Further, in some embodiments, the regressors can be trained to output coordinates in the multidimensional space obtained from the dimensionality reduction operation using coordinates representing the ancestral origin / breed of interest.
[0175] In step 808, the computer may smooth the initial ancestral origin estimates to generate a final prediction result of ancestral origin for each segment. For each segment of the plurality of segments, the computer may identify a subset of neighboring segments in the genome in step 808a. The identification may be based on a sliding window that moves with a target initial ancestral origin estimate that is replaced by the final prediction result, as shown in Figures 4A and 6C. The computer may then input the initial ancestral origin estimates of the subset of neighboring segments into a smoothing sub-model in step 808b. The computer may then use the smoothing sub-model to perform a smoothing operation on the segment and the subset of neighboring segments using the initial ancestral origin estimate to obtain a final prediction result of ancestral origin for the segment in step 808c. The smoothing operation may include calculating a weighted average of the initial ancestral origin estimates within the window. In some embodiments, a weight may be assigned to each initial ancestral origin based on a utility metric for the segment from which the initial ancestral origin is determined. The smoothing sub-model may include, for example, a convolutional neural network, a set of decision trees, etc.
[0176] IV. Computer Systems Any of the computer systems referred to herein may utilize any suitable number of subsystems. An example of such subsystems in computer system 10 is shown in FIG. 9. In some embodiments, a computer system includes a single computer device, and the subsystems can be components of the computer device. In other embodiments, a computer system can include multiple computer devices, each being a subsystem with internal components. Computer systems can include desktop and laptop computers, tablets, mobile phones, and other mobile devices. In some embodiments, the disclosed techniques can be implemented using cloud infrastructure (e.g., Amazon Web Services), graphics processing units (GPUs), or the like.
[0177] The subsystems shown in FIG. 9 are interconnected via a system bus 75. Additional subsystems are shown, such as a printer 74, a keyboard 78, a storage device 79, and a monitor 76 coupled to a display adapter 82. Peripherals and input / output (I / O) devices coupled to the I / O controller 71 can be connected to the computer system by any number of means known in the art, such as an input / output (I / O) port 77 (e.g., USB, FireWire®). For example, the I / O port 77 or an external interface 81 (e.g., Ethernet, Wi-Fi, etc.) can be used to connect the computer system 10 to a wide area network such as the Internet, a mouse input device, or a scanner. The interconnection via the system bus 75 allows the central processor 73 to communicate with each subsystem and control the execution of instructions from the system memory 72 or a storage device 79 (e.g., a fixed disk such as a hard drive or optical disk) and the exchange of information between the subsystems. The system memory 72 and / or the storage device 79 may embody computer-readable media. Another subsystem is data collection devices 85, such as cameras, microphones, accelerometers, etc. Any of the data mentioned herein can be output from one component to another and can be output to a user.
[0178] A computer system may include multiple identical components or subsystems connected to each other, for example, by external interfaces 81 or by internal interfaces. In some embodiments, computer systems, subsystems, or devices may communicate over a network. In such cases, one computer may be considered a client and another computer a server, each of which may be part of the same computer system. The client and server may each include multiple systems, subsystems, or components.
[0179] Aspects of the embodiments can be implemented using hardware (e.g., application specific integrated circuits or field programmable gate arrays) and / or using computer software with processors that are typically programmable in a modular or integrated fashion in the form of control logic. As used herein, a processor includes a single-core processor, a multi-core processor on the same integrated chip, or multiple processing units on a single circuit board or networked. Based on the disclosure and teachings provided herein, those skilled in the art will recognize and understand other ways and / or methods for implementing embodiments of the present disclosure using hardware and combinations of hardware and software.
[0180] Any of the software components or functions described in this application may be implemented as software code executed by a processor using any suitable computer language, such as, for example, Java, C, C++, C#, Objective-C, Swift, or a scripting language, such as, for example, Perl or Python, using conventional or object-oriented techniques. The software code may be stored as a series of instructions or commands on a computer-readable medium for storage and / or transmission. Suitable non-transitory computer-readable media may include random access memory (RAM), read-only memory (ROM), magnetic media such as a hard drive or floppy disk, or optical media such as a compact disc (CD) or DVD (digital versatile disc), flash memory, etc. The computer-readable medium may also be any combination of such storage or transmission devices.
[0181] Such programs may be encoded and transmitted using carrier wave signals adapted for transmission over wired, optical, and / or wireless networks according to various protocols, including the Internet. Thus, data signals encoded with such programs may be used to create computer-readable media. Computer-readable media encoded with program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download). Any such computer-readable medium may reside on or within a single computer product (e.g., a hard drive, CD, or an entire computer system), and may reside on or within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing a user with any of the results referred to herein.
[0182] Any of the methods described herein can be performed, in whole or in part, using a computer system including one or more processors that can be configured to perform the steps. Accordingly, embodiments can be directed to computer systems configured to perform the steps of any of the methods described herein, with different components possibly configured to perform each step or group of steps. Although presented as numbered steps, steps of the methods herein can be performed simultaneously or in a different order. Additionally, portions of these steps may be combined with portions of other steps from other methods. Also, all or portions of the steps may be optional. Additionally, any of the steps of any of the methods can be performed by a module, unit, circuit, or other means for performing these steps.
[0183] Specific details of particular embodiments may be combined in any suitable manner without departing from the spirit and scope of embodiments of the present disclosure, although other embodiments of the present disclosure may be directed to specific embodiments relating to each individual aspect or specific combinations of these individual aspects.
[0184] The foregoing description of exemplary embodiments of the present disclosure has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form described, and many modifications and variations are possible in light of the above teachings.
[0185] The use of "a," "an," or "the" is intended to mean "one or more" unless specifically stated to the contrary. The use of "or" is intended to mean "inclusive or" rather than "exclusive or" unless specifically stated to the contrary. A reference to a "first" element does not necessarily require that a second element be provided. Furthermore, a reference to a "first" or "second" element does not limit the referenced elements to a particular location unless explicitly stated.
[0186] All patents, patent applications, publications, and descriptions referred to herein are incorporated by reference in their entirety for all purposes. None is admitted to be prior art.
[0187] This specification is accompanied by appendices containing additional information regarding certain embodiments. Other terms used in the appendices may not (yet) be terms commonly used in the industry.
Claims
1. 1. A computer-implemented method for determining ancestral origins for different portions of a subject's genome, comprising: storing a trained machine learning model, the machine learning model including a predictor sub-model and a smoother sub-model, the machine learning model being trained based on segments of training genome sequences of known ancestral origin; receiving data representing an input genome sequence of the subject, the input genome sequence comprising a plurality of segments comprising a plurality of single nucleotide polymorphism (SNP) sites of the genome of the subject, each segment comprising an array of SNP values at the SNP sites, each SNP value identifying a variant at the SNP site; determining an initial ancestry estimate for each segment of SNP values using the predictor sub-model and based on the data; For each segment of the plurality of segments, identifying a subset of neighboring segments in the genome that are neighboring the segment; inputting the initial ancestral origin estimates of the subset of neighboring segments into the smoothing sub-model; and performing a smoothing operation over the segment and a subset of the neighboring segments using the initial ancestral origin estimate with the smoothing sub-model to obtain a final prediction of the ancestral origin of the segment.
2. the predictor sub-model includes one or more predictor units; determining the initial estimate of ancestral origin for each segment comprises inputting a sequence of SNP values for different segments of the plurality of segments into the one or more predictor units to generate an initial estimate of ancestral origin, the initial estimate of ancestral origin comprising one of a classification output or a coordinate output; the classification output indicating an ancestral origin category of the segment input to the predictor unit among a plurality of candidate ancestral origin categories; The method of claim 1 , wherein the coordinate output comprises coordinates indicating the ancestral origin or breed of the segment.
3. The method of claim 2 , wherein the coordinates comprise geographic coordinates of the ancestral locale in physical space.
4. The coordinates include a variety coordinate; 3. The method of claim 2, wherein subjects of different breeds have different breed coordinates generated from genomic sequences of the subjects of the different breeds.
5. The breed coordinates are defined in a multidimensional space, the multidimensional space being defined by dimensions obtained from a dimensionality reduction operation on the encoding of SNP sites; 5. The method of claim 4, wherein the predictor sub-model is trained using a vector representing a reference subject's genome sequence and reference breed coordinates obtained from performing the dimensionality reduction operation on the vector.
6. Determining the initial ancestral origin estimate for each segment comprises: determining, for each of the plurality of candidate ancestral origins, a probability that the segment is classified as the candidate ancestral origin; and selecting the candidate ancestral origin with the highest probability as the ancestral origin of the segment.
7. the predictor sub-model includes a single predictor unit; 7. The method of claim 2, wherein determining the initial estimate of ancestral origin for each segment comprises inputting an array of SNP values for different segments of the plurality of segments and a segment index associated with the array of SNP values into the predictor unit to generate an initial estimate of ancestral origin.
8. Each predictor unit includes a neural network model; The neural network model is an input layer including a plurality of input nodes, each receiving a SNP value of the segment input to the predictor unit, and each input node scaling the SNP value with an input layer weight; an output layer including a plurality of output nodes, each of the output nodes receiving an input based on the sum of the scaled SNP values and generating an output based on the input; The method of any one of claims 2 to 7, wherein the initial ancestral origin estimate from each predictor unit is generated based on the output of the output node of that predictor unit.
9. In each predictor unit, each output node of the output layer corresponds to one of the plurality of candidate ancestral origins; The method of claim 8 , wherein the output of each output node indicates that the segment is classified into a corresponding candidate ancestral origin.
10. In each predictor unit, Each output node of the output layer outputs a component of a geographic coordinate of an ancestral origin locale; 10. The method of claim 8 or 9, wherein the scaling of the SNP values by the input nodes is based on a regression model.
11. Each output node further includes an activation function; The method of any one of claims 8 to 10, wherein the output is generated based on applying the activation function to the input.
12. 12. The method of any one of claims 8 to 11, wherein in each predictor unit, each of the output nodes receives as its input the sum of the scaled SNP values from each of the plurality of input nodes.
13. In each predictor unit, the neural network model further includes a hidden layer including a plurality of intermediate nodes; each of the intermediate nodes receives the sum of the scaled SNP values from each of the plurality of input nodes and generates an intermediate output based on scaling the sum with the hidden layer weights; A method according to any one of claims 8 to 12, wherein each of the output nodes receives as input the intermediate output from each of the intermediate nodes.
14. each of the candidate ancestral origins is associated with a plurality of locales; each of the intermediate nodes corresponds to one locale of the plurality of locales of the candidate ancestral origin; The method of claim 13 , wherein the intermediate output of an intermediate node indicates whether the segment is classified into the corresponding locale.
15. the smoothing sub-model includes a convolutional neural network model; 15. The method according to any one of claims 2 to 14, wherein the smoothing operation is based on performing a convolution operation between a kernel and a subset of the initial ancestral provenance estimates included in a sliding window by the convolutional neural network model.
16. each initial ancestral origin estimate included in the sliding window is scaled by a weight indicative of a predetermined utility metric for the segment for which the initial ancestral origin estimate is generated; The method of claim 15 , wherein the convolution operation is performed between the kernel and the scaled initial ancestral origin estimate.
17. 17. The method of claim 16, wherein the utility metric for a segment is determined based on a predicted error rate associated with the SNP site in the genome at which the segment is located.
18. each predictor unit of the one or more predictor units comprising a plurality of decision trees; each decision tree receives a different subset of SNPs of the segment input to the predictor unit and generates a decision tree output based on the subset of SNPs; The method of any one of claims 2 to 17, wherein the initial ancestral origin estimate from each predictor unit is generated based on the decision tree outputs of the plurality of decision trees.
19. 20. The method of claim 18, wherein in each predictor unit, the decision tree outputs are combined to generate geographic coordinates of an ancestral origin locale based on a regression model as the initial ancestral origin estimate.
20. in each predictor unit, the decision tree outputs are combined to generate, for each of the plurality of candidate ancestral origins, a probability that the segment input to the predictor unit has the candidate ancestral origin; 20. The method of claim 18 or 19, wherein the candidate ancestral origin associated with the highest probability among the plurality of candidate ancestral origins is selected as the initial ancestral origin estimate for the predictor unit.
21. The method of any one of claims 17 to 20, wherein the smoothing sub-model comprises a plurality of decision trees.
22. The method of any one of claims 1 to 20, wherein the different segments do not overlap.
23. the machine learning model is trained using a training operation based on a combined cross-entropy loss function, the combined cross-entropy loss function being a linear combination of a first cross-entropy loss function and a second cross-entropy loss function; the first cross-entropy loss function compares a ground truth ancestral origin of a segment of a training sequence of SNPs with an initial ancestral origin estimate output by the predictor sub-model for the segment of the training sequence of SNPs to generate a first comparison result; weights of the predictor sub-model are updated based on the results of the first comparison; the second cross-entropy loss function compares the ground truth ancestry of the segment of the training sequence of the SNPs with the final prediction result output by the smoothed sub-model for the segment of the training sequence of the SNPs to generate a second comparison result; The method of any one of claims 1 to 22, wherein the weights of the smoothed sub-model are updated based on the result of the second comparison.
24. the machine learning model includes a plurality of decision trees; 22. The method of any one of claims 1 to 21, wherein the machine learning model is trained based on a gradient tree boosting operation that fits the plurality of decision trees to a regression model relating patterns of SNP sequences to ancestral origin.
25. 25. The method of any one of claims 1 to 24, further comprising transferring the final prediction result to an application to enable the application to determine a risk of disease for the subject based on the final prediction result and the sequence of the SNPs, and output the risk.
26. A computer product comprising a computer readable medium storing a plurality of instructions for controlling a computer system to perform the operations of the method of any one of claims 1 to 25.
27. 1. A system comprising:
27. A computer product according to claim 26; one or more processors for executing instructions stored on the computer-readable medium.
28. A system comprising means for carrying out the method according to any one of claims 1 to 25.
29. A system configured to carry out the method of any one of claims 1 to 25.
30. A system comprising modules for respectively performing the steps of the method according to any one of claims 1 to 25.
Citation Information
Patent Citations
Method and system for incorporating multiple environmental and genetic risk factors
JP2012502398A
Methods for predicting pathogenicity of gene sequence variants
JP2018527647A
Genomic, Metabolomic, and Microbiomics Search Engine
JP2019514143A
Interpreting genetic and genomic variants via an integrated computational and experimental deep mutation learning framework
JP2020524350A
Discovering Population Structure From Patterns of Identity-By-Descent
US20160350479A1