Predicting properties of biological entities using evolutionary trees
By employing evolutionary trees to generate feature representations for biological entities, the system effectively predicts properties with improved accuracy, addressing the limitations of existing methods by incorporating evolutionary information in a computationally efficient manner.
Patent Information
- Application Number
- PCT/US2024/048319
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-25
- Filing Date
- 2024-09-25
- Publication Date
- 2025-04-03
AI Technical Summary
Existing methods for predicting properties of biological entities face challenges due to the obscuration of phenotype signals by phylogenetic relatedness, leading to difficulties in accurately inferring predictive models from high-content molecular data.
A system that uses evolutionary trees to generate evolutionary feature representations of biological entities, which are then processed by machine learning models to predict properties. This approach leverages hierarchical clustering and spectral representations to encode evolutionary history and improve prediction accuracy.
The system achieves more accurate predictions of biological properties by encoding evolutionary information in a low-dimensional and sparse manner, reducing overfitting and requiring fewer computational resources for training and operation.
Smart Images

Figure US2024048319_03042025_PF_FP_ABST
Abstract
Description
PREDICTING PROPERTIES OF BIOLOGICAL ENTITIES USING EVOLUTIONARY TREESGOVERNMENT INTEREST STATEMENT|0001] This invention was made with government support under GM146702 awarded by the National Institutes of Health. The government has certain rights in the invention.CROSS-REFERENCE TO RELATED APPLICATION[0002J This application claims priority to U.S. Provisional Patent Application No. 63 / 540,288, filed on September 25, 2023, the disclosure of which is hereby incorporated by reference in its entirety.BACKGROUND|0003] This specification relates to processing data using machine learning models to predict properties of biological entities.
[0004] Machine learning models receive an input and generate an output, e.g., a predicted output, based on the received input. Some machine learning models are parametric models and generate the output based on the received input and on values of the parameters of the model.]0005] Recent technological innovations have made deep-phenotyping of biological systems practically accessible. Coupling deep-phenotyping with sequencing provides a route for elucidating structure-function relationships but is predicated on statistical inference. A well-known limitation of this approach is that relatedness between systems can obscure statistically isolating signals associated with phenotypes of interest.SUMMARY
[0006] This specification generally describes a system implemented as computer programs on one or more computers in one or more locations that can predict properties of biological entities using machine learning models and evolutionary trees.
[0007] According to a first aspect, there is provided a method performed by one or more computers, the method comprising: receiving a request to predict a property of an input biological entity; and generating a prediction for the property of the input biological entity using data defining an evolutionary tree that specifies a hierarchical clustering of a collection of biological entities, comprising: generating an evolutionary feature representation of the input biological entity based at least in part on the evolutionary tree; and processing a model input that comprises the evolutionary' feature representation of the input biological entityusing a machine learning model, in accordance with values of a set of machine learning model parameters, to generate the prediction for the property of the input biological entity.
[0008] In some implementations, the evolutionary tree comprises a plurality of nodes that each represent a respective set of biological entities from the collection of biological entities; and for each non-leaf node in the evolutionary tree: (i) the non-leaf node has a plurality' of child nodes, and (ii) the sets of biological entities represented by the plurality of child nodes of the non-leaf node define a partition of the set of biological entities represented by the non- leaf node.
[0009] In some implementations, the evolutionary tree comprises a plurality of leaf nodes, wherein each leaf node represents a respective biological entity from the collection of biological entities.
[0010] In some implementations, generating the evolutionary feature representation of the input biological entity comprises: mapping the input biological entity to a corresponding leaf node in the evolutionary tree; and generating the evolutionary feature representation to characterize a path from a root node of the tree to the leaf node corresponding to the input biological entity.[00111 In some implementations, the evolutionary feature representation of the input biological entity' defines, for each of a plurality of nodes in the evolutionary' tree, whether the node is an ancestor of the leaf node corresponding to the input biological entity.
[0012] In some implementations, the input biological entity is included in the collection of biological entities; and mapping the input biological entity to a corresponding node in the evolutionary tree comprises: mapping the input biological entity to a leaf node representing the input biological entity' in the evolutionary tree.
[0013] In some implementations, the input biological entity is not included in the collection of biological entities; and mapping the input biological entity to a corresponding node in the evolutionary tree comprises: determining a respective similarity measure between: (i) the input biological entity', and (ii) biological entities represented by each of a plurality of leaf nodes of the evolutionary’ tree; and mapping the input biological entity to a leaf node in accordance with the similarity measures.
[0014] In some implementations, the evolutionary tree has been generated by performing operations comprising: receiving, for each biological entity in the collection of biological entities, a respective feature vector characterizing the biological entity'; processing the feature vectors characterizing the collection of biological entities to generate, for each of a pluralityof pairs of biological entities from the collection of biological entities, a similarity score characterizing a similarity between the pair of biological entities; and processing the similarity scores to generate data defining the evolutionary tree.|0015] In some implementations, processing the feature vectors characterizing the collection of biological entities to generate, for each of a plurality of pairs of biological entities, the similarity score characterizing the similarity between the pair of biological entities comprises: generating a matrix factorization of a matrix representing the feature vectors characterizing the collection of biological entities, wherein the matrix factorization defines a respective spectral representation of each biological entity in the collection of biological entities; and generating, for each of the plurality of pairs of biological entities, the similarity score for the pair of biological entities based on a similarity measure between: (i) a spectral representation of a first biological entity in the pair of biological entities, and (ii) a spectral representation of a second biological entity in the pair of biological entities.
[0016] In some implementations, the matrix factorization of the matrix representing the feature vectors characterizing the collection of biological entities comprises a singular value decomposition (SVD) factorization.[0017 | In some implementations, the matrix factorization of the matrix representing the feature vectors characterizing the collection of biological entities comprises a principal component analysis (PCA) factorization.
[0018] In some implementations, the method further comprises: generating an ensemble of sample evolutionary trees that each specify a respective hierarchical clustering of the collection of biological entities, comprising, for each sample evolutionary tree: selecting a proper subset of a set of feature dimensions included in the feature vectors characterizing the collection of biological entities; and generating the sample evolutionary tree using only the selected proper subset of the feature dimensions of the feature vectors characterizing the collection of biological entities; modifying the evolutionary tree based on the ensemble of sample evolutionary trees.
[0019] In some implementations, modifying the evolutionary tree based on the ensemble of sample evolutionary trees comprises: determining a respective confidence score for each branch of the evolutionary tree based on similarity of the branch of the evolutionary tree to branches occurring in sample trees of the ensemble of sample trees; and pruning one or more branches from the evolutionary tree based on the confidence scores.[0020| In some implementations, pruning one or more branches from the evolutionary tree based on the confidence scores comprises pruning each branch in the evolutionary tree having a confidence score that fails to satisfy a threshold.|0021] In some implementations, the values of the set of machine learning model parameters have been determined by training the machine learning model on a set of training data using a machine learning training technique.
[0022] In some implementations, the set of training data comprises a plurality of training examples that each include: (i) a training input that corresponds to a training biological entity and comprises an evolutionary' feature representation of the training biological entity; and (ii) a target property of the training biological entity.|0023] In some implementations, training the machine learning model on the set of training data comprises, for each training example: training the machine learning model, by the machine learning training technique, to reduce a discrepancy between: (i) the target property7specified by the training example, and (ii) a predicted property7generated by the machine learning model by processing the training input of the training example.[0024| In some implementations, the machine learning model comprises one or more of: a neural network model; a random forest model; a linear regression model; or a support vector machine model.
[0025] In some implementations, the input biological entity comprises a microorganism.
[0026] In some implementations, the input biological entity comprises a bacterium.
[0027] In some implementations, the property of the input biological entity characterizes one or more of: a metabolic profile of the bacterium; an antibiotic resistance of the bacterium; a morphology of the bacterium; a motility of the bacterium; a pigmentation of the bacterium; or a biofilm of the bacterium.
[0028] In some implementations, the input biological entity comprises a fungus.
[0029] In some implementations, the property of the input biological entity characterizes one or more of: a growth morphology of the fungus; spore production of the fungus; mycelial networks of the fungus; or pigmentation of the fungus.[0030| In some implementations, the input biological entity comprises a protozoan.[00 11 In some implementations, the property of the input biological entity characterizes one or more of: a mobility of the protozoan; a shape of protozoan; a size of the protozoan; or a feeding mechanism of the protozoan.
[0032] In some implementations, the input biological entity comprises a virus.[00331 In some implementations, the property' of the input biological entity characterizes one or more of: a host specificity’ of the virus; a reproductive cycle of the virus; a capsid structure of the virus; or an envelope presence of the virus.|0034] In some implementations, the input biological entity comprises a plant.
[0035] In some implementations, the property7of the input biological entity7characterizes one or more of: leaf characteristics of the plant; flower characteristics of the plant; fruit and seed characteristics of the plant; stem and branching characteristics of the plant; root characteristics of the plant; disease resistance of the plant; cold or heat tolerance of the plant; salt tolerance of the plant; or drought tolerance of the plant.
[0036] In some implementations, the input biological entity comprises a protein.|0037] In some implementations, the property of the input biological entity characterizes one or more of: enzyme activity of the protein; a folding state of the protein; a binding affinity7of the protein; transport specificity' of the protein; an expression level of the protein; or a phosphorylation state of the protein.[00381 In some implementations, the input biological entity comprises a bacterium, or a fungus, or a protein; and the method further comprises: selecting the input biological entity' for inclusion in a drug based at least in part on the prediction for the property7of the input biological entity7; physically synthesizing the drug that includes the input biological entity7.
[0039] In some implementations, the method further comprises administering the drug that includes the input biological entity to a subject.
[0040] In some implementations, the input biological entity comprises a virus; and the method further comprises: selecting the virus for use in a viral-based therapy based at least in part on the prediction for the property of the input biological entity.
[0041] In some implementations, the method further comprises applying the viral -based therapy that uses the virus to a subject.
[0042] In some implementations, the input biological entity comprises a plant; and the method further comprises: selecting the plant to be cultured based at least in part on the prediction for the property of the input biological entity.[0043 [ In some implementations, the method further comprises culturing the plant.
[0044] In some implementations, the collection of biological entities comprises at least 1000 biological entities.|0045] In some implementations, the collection of biological entities comprises at least 100,000 biological entities.
[0046] In some implementations, the method further comprises providing the prediction for the property of the input biological entity in response to the request.
[0047] In some implementations, providing the prediction for the property of the input biological entity in response to the request comprises: storing data defining the prediction for the property of the input biological entity in a memory'; or transmitting data defining the prediction for the property of the input biological entity over a data communications network; or displaying the data defining the prediction for the property of the input biological entity on a display.
[0048] According to another aspect, there is provided a system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the methods described herein.
[0049] According to another aspect, there are provided one or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the methods described herein.
[0050] The subject matter described in this specification can be implemented in particular embodiments so as to realize one or more of the following advantages.
[0051] A unique facet of natural systems is their historical relatedness. Unlike engineered systems, extant biological systems arise from ancestors through the evolutionary process.One approach to interrogating structure-function relationships in a biological system involves discovering low-dimensional descriptors that can be used to elucidate the origins of phenoty pes. However, because natural systems are related to each other through paths of selection and variation, emergent characteristics of biological ensembles may be lost in the process of distilling their complexity' to key, conserved features. Moreover, connections between system structure and function are often confounded by' phylogenetic relatedness, making it difficult to infer accurate predictive models of behavior from comparative analysis of high-content molecular data.
[0052] To address these issues, the system described in this specification can generate an effective, interpretable, and sparse hierarchical representation of a biological entity7from an evolutionary tree that defines a hierarchical clustering of a system of biological entities. In particular, the system can represent a biological entity through evolutionary' features characterizing a path from the root node of the evolutionary tree to a leaf node thatcorresponds to the biological entity. The evolutionary features can encode information related to the evolutionary history of the biological entity in relation to the broader system of biological entities. The system can then process the evolutionary features characterizing the biological entity using a machine learning model to generate predictions for properties of the biological entity7. The evolutionary features can be low-dimensional and sparse, thus reducing the likelihood of overfitting by the machine learning model, while simultaneously encoding fine-grained and coarse-grained evolutionary information that can be exploited by the machine learning model to precisely predict biological properties.
[0053] Leveraging evolutionary features derived from evolutionary trees, as described above, can thus enable the system to predict properties of biological entities more accurately than conventional systems which, e.g., discard evolutionary information, or distill evolutionary information down to key, conserved features. Moreover, the sparsity and compactness of the described evolutionary features can enable the machine learning model to be trained over fewer training iterations and on less training data than would otherwise be required, thus reducing consumption of computational resources during training. Further, the described evolutionary features can enable the machine learning model to achieve an acceptable prediction accuracy using an efficient lightweight architecture that requires fewer computational resources to maintain and operate in comparison to more complex machine learning models that process less effective feature representations.
[0054] The system described in this specification can generate an evolutionary tree based on pairwise similarities between biological entities in a biological system. The system can determine the pairwise similarities based on spectral representations of biological entities derived from a matrix factorization of a matrix including feature vectors representing the system of biological entities. Spectral representations can be particularly effective for generating evolutionary trees because the mathematical constructs underlying spectral factorization, such as the characteristic polynomial, are themselves hierarchically nested structures that capture specific variation conditioned upon more general variation. Evolutionary trees generated based on spectral representations can thus exploit the mathematical properties of spectral factorization to resolve both broad and context-dependent phylogenetic diversifications more effectively than would otherwise be possible. Further, the matrix operations underlying the generation of spectral representations allow pairwise similarities between biological entities to be efficiently computed using fewer computational resources than would otherwise be required.
[0055] The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS
[0056] FIG. 1 shows an example machine learning system.
[0057] FIG. 2A shows an example evolutionary tree generation system.[0058[ FIG. 2B shows an example of generating a feature matrix.
[0059] FIG. 2C shows another example of generating a feature matrix.
[0060] FIG. 2D shows an example evolutionary tree.|0061] FIG. 3A shows an example property prediction system.
[0062] FIG. 3B shows an example of generating an evolutionary feature representation.
[0063] FIG. 4 is a flow diagram of an example process for predicting properties of a biological entity.
[0064] FIG. 5 is a flow diagram of an example process for generating data defining an evolutionary tree.
[0065] FIG. 6 demonstrates the predictive accuracy of the described techniques.
[0066] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION
[0067] FIG. 1 shows an example machine learning system 100. The machine learning system 100 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.|0068] The machine learning system 100 includes an evolutionary tree generation system 200, a property prediction system 300, and a model training system 350, which will each be described in more detail below.
[0069] The evolutionary tree generation system 200 processes biological entity data 210, which characterizes a collection of biological entities, to generate data representing an evolutionary tree 260 for this collection. An example of the evolutionary tree generation system 200 is described in more detail below with reference to FIG. 2.
[0070] The size of the collection of biological entities can vary depending on factors such as data availability and the specific types of biological entities included. In one example, thecollection of biological entities includes at least 1000 biological entities. In another example, the collection of biological entities includes at least 100,000 biological entities. In some cases, the collection can include microorganisms, such as bacteria, fungi, protozoans, or viruses. In some cases, the collection can include complex organisms, such as plants or animals. In some cases, the collection can include biological macromolecules, such as proteins.
[0071] The evolutionary tree 260 can have a hierarchical tree structure. It includes multiple nodes, with each node representing a set of biological entities from the collection. Each nonleaf node 262 has multiple child nodes. The biological entities represented by the child nodes form a partition of the set represented by the non-leaf node. The evolutionary tree 260 also includes multiple leaf nodes 264. Each leaf node 264 represents a specific biological entity from the collection.
[0072] For example, in a bacteria evolutionary tree, the hierarchy can include levels such as class, order, family, genus, species, and strain. A non-leaf node may represent a particular genus, with child nodes representing different species within that genus. At the lowest level, leaf nodes can represent specific strains of bacteria. For instance, a leaf node can represent a particular strain of Escherichia coli (e.g., Escherichia coli K-12) within the species level of the tree.
[0073] The property prediction system 300 receives a request to predict a property of an input biological entity 305. The request includes input biological entity data 310 that characterizes the input biological entity 305. The property prediction system 300 processes the input biological entity data 310 and uses the evolutionary tree to generate a predicted property 340 for the input biological entity.[00741 In general, the property prediction system 300 generates an evolutionary feature representation of the input biological entity 305 based on the evolutionary tree. The evolutionary feature representation captures relevant characteristics of the input biological entity 305 derived from the evolutionary tree, such as phylogenetic relationships and lineagespecific variations. The system 300 then uses a machine learning model 330 to process input data including the evolutionary feature representation, to generate a model output that specifies the predicted property. A detailed description of the property' prediction system 300 is provided below with reference to FIG. 3.|0075] The input biological entity 305 can be any ty pe of biological entity, and the property to be predicted can be any relevant property.
[0076] In some cases, the input biological entity 305 is a microorganism.[0077| For example, the input biological entity 305 can be a bacterium. The predicted property of the bacterium can include one or more of the following: its metabolic profile, antibiotic resistance, morphology, motility7, pigmentation, or biofilm formation.
[0078] In another example, the input biological entity 305 can be a fungus. The predicted property of the fungus can include one or more of the following: its growth morphology, spore production, mycelial networks, or pigmentation.
[0079] In another example, the input biological entity 305 can be a protozoan. The predicted property of the protozoan can include one or more of the following: its mobility7, shape, size, or feeding mechanism.|OO80] In another example, the input biological entity 305 can be a virus. The predicted property of the virus can include one or more of the following: its host specificity, reproductive cycle, capsid structure, or envelope presence.
[0081] In some cases, the input biological entity 305 can be a plant. The predicted property7of the plant can include one or more of the following: leaf characteristics, flower characteristics, fruit and seed characteristics, stem and branching characteristics, root characteristics, disease resistance, cold or heat tolerance, salt tolerance, or drought tolerance. |0082] In some cases, the input biological entity 305 can be a protein. The predicted property of the protein can include one or more of the following: enzyme activity, folding state, binding affinity, transport specificity, expression level, or phosphorylation state.
[0083] The machine learning model 330 can be any suitable predictive model. Examples of the machine learning model 330 can include, for example, a neural network model, a random forest model, a linear regression model, or a support vector machine model.
[0084] Before using the machine learning model 330 to predict the properties, the values of the model parameters 335 of the machine learning model 330 are determined by the model training system 350. The model training system 350 performs training of the machine learning model 330 by adjusting the values of the model parameters 335 based on a set of training data 355 using a selected machine learning training technique. Training techniques can include methods such as gradient descent, backpropagation (for neural networks), or decision tree splitting (for random forests). The goal of the training is to optimize the model parameters 335 to predict properties for biological entities that are not seen in the training data 355.[0085| The set of training data 355 can include multiple training examples. Each training example includes (i) a training input representing a specific biological entity, characterized by an evolutionary' feature representation of that entity, and (ii) a target property associated with the entity7. During training, the model training system 350 adjusts the model parameters by' comparing the target property7(the ground truth) with the property7predicted by the machine learning model based on the training input. The system uses a machine learning technique to minimize the discrepancy between the actual target property and the predicted property7.[00861 FIG. 2A shows an example evolutionary tree generation system 200 for generating an evolutionary' tree 260 for a collection of biological entities represented by a set of biological entity data 210. The evolutionary tree generation system 200 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.[0087| The evolutionary tree 260 represents the relationships and evolutionary pathways among the collection of biological entities. As described with reference to FIG. 1, the evolutionary tree 260 has a hierarchical tree structure that illustrates these relationships. The tree 260 includes multiple nodes, where each node represents a set or group of biological entities from the collection. Each non-leaf node 262 has multiple child nodes, with the biological entities represented by the child nodes forming a partition of the group represented by the non-leaf node. This hierarchical partitioning reflects how closely related groups split into more specific subgroups as one moves down the tree. Each leaf node 264 represents a specific biological entity7from the collection.[00881 The biological entity data 210 can include various ty pes of biological information relevant to characterizing each entity7in the collection. This data can include genomic sequences, protein sequences, proteomic profiles, gene expression data, metabolic profiles, morphological features, or other relevant biological attributes. The system uses this data to generate representations of each biological entity7that capture key evolutionary characteristics.[0089| The system can generate a set of feature vectors 220 based on the biological entity data 210. For each biological entity in the collection, the system can generate a respective feature vector characterizing the biological entity' using the corresponding biological entity7data. The feature vectors can include encoded representations of the biological attributes,such as numerical values characterizing genomic markers, protein expressions, or other features specified by the biological entity data 210.(0090| The system 200 generates a feature matrix 230 using the set of feature vectors 220, e.g., by arranging the set of feature vectors 220 as rows or columns in the matrix. The entries in the feature matrix 230 can be binary' values (e.g., indicating the presence or absence of a particular gene or protein) or numerical values (e.g., representing gene expression levels or metabolic concentrations).[00911 Examples of the feature vectors 220 and the feature matrix 230 will be described below with references to FIG. 2B and FIG. 2C.[0092| The system 200 generates, from the feature matrix 230, a respective spectral representation 240 for each biological entity in the collection. The spectral representations 240 represent the biological entities in a different space than the feature vectors 220, e.g., in a lower-dimensional space. The spectral representations 240 can capture the underlying patterns and relationships within the feature matrix 230, enabling the identification of key evolutionary trends and similarities among the biological entities.[0093| In some cases, the system performs a matrix factorization 235 on the feature matrix 230 to generate the spectral representations 240. The matrix factorization 235 decomposes the feature matrix 230 into a product of two or more simpler matrices. The matrix factorization 235 can simplify the original feature matrix 230, reveal its underlying structure, and extract latent features or patterns that capture the co-evolutionary relationships among the biological entities in the collection.[0094| For example, the matrix factorization 235 can be a singular value decomposition (SVD) factorization. The SVD factorization decomposes the feature matrix 230 M into three matrices, as M = t / EVT The U matrix contains the left singular vectors, which represent the biological entities in a transformed space. Each row of the U matrix represents a corresponding biological entity. The E matrix is a diagonal matrix containing the singular values, which quantify the importance of each dimension in the transformed space. The Vtmatrix contains the right singular vectors, which represent the contributions of the original features to each dimension in the transformed space. The spectral representation 240 for each biological entity is computed by multiplying the corresponding row in the U matrix by the E matrix, that is, P = Uh.[0095[ In another example, the matrix factorization 235 can be a principal component analysis (PCA) factorization. The PCA factorization is a dimensionality' reduction techniquethat identifies the principal components, which are the directions of greatest variance in the data. The principal components are obtained by performing an eigenvalue decomposition on the covariance matrix of the feature matrix 230. The spectral representation 240 for each biological entity is then obtained by projecting the corresponding feature vector 220 onto the principal components.[0096} The system 200 generates, for each of multiple pairs of biological entities from the collection, a similarity score that characterizes a similarity between the pair. The similarity score can be computed by evaluating a similarity measure between the spectral representations of the two entities in the pair. For example, for a pair that includes a first biological entity and a second biological entity, the system calculates the similarity score for the pair based on the similarity measure between (i) the spectral representation of the first biological entity and (ii) the spectral representation of the second biological entity. The similarity score can be computed using various distance or similarity metrics, such as Euclidean distance, cosine similarity, or correlation coefficient.[0097} The system 200 uses the similarity scores 250 to generate data defining the evolutionary tree 260. The system uses these similarity scores 250, which quantify the pairwise similarities between biological entities, to determine how closely related the biological entities are and to cluster them accordingly. In particular, the system can apply a hierarchical clustering algorithm that groups biological entities based on their similarity scores. In one particular example, the system 200 uses the fast Neighbor Joining algorithm, which employs a bottom-up approach, by iteratively merging the two most similar entities (based on their similarity scores 250) into a new node in the tree. The distances between the newly formed node and the remaining entities are then recalculated (e.g., by using a vector that represents a combined position of the newly merged nodes in the feature vector space), and the process repeats until all entities have been incorporated into the tree structure. Additional details of the fast Neighbor Joining algorithm are described in Li, et al., “A fast neighbor joining method,” Genet. Mol. Res. 14, 8733-8743 (2015).[0098} The resulting tree 260 is organized hierarchically, where each internal node can represent a common ancestor and the branches can represent evolution divergences.[0099} In some implementations, the system 200 generates an ensemble of sample evolutionary trees 265 to assess the robustness and reliability of the inferred evolutionary' relationships represented by the evolutionary' trees 260. Each sample evolutionary tree 265 represents a hierarchical clustering of the biological entities based on a subset of the featurescharacterizing them. To generate a sample evolutionary tree 265, the system 200 randomly selects a subset of the feature dimensions from the feature vectors 220. The system 200 then constructs the sample evolutionary tree 265 using only the selected subset of features. The process of generating sample evolutionary trees is repeated multiple times, each time with a different subset of features, resulting in an ensemble of sample trees 265 that reflect a variety' of possible evolutionary pathways based on different feature combinations.[01001 The system 200 then refines the evolutionary tree 260 by incorporating information from the ensemble of sample evolutionary' trees 265. This refinement process aims to enhance the confidence and accuracy of the inferred evolutionary' relationships. In some cases, the system 200 calculates a confidence score for each branch in the evolutionary tree 260 based on its similarity to branches observed in the ensemble of sample trees 265. For instance, the confidence score for a branch can be computed as the proportion of sample trees 265 in which a similar branch, defined by a comparable grouping of biological entities, is present. Branches that consistently appear across multiple sample trees are considered more reliable and are assigned higher confidence scores. The system then performs a pruning process 270 to prune branches with low confidence scores from the evolutionary tree 260, effectively removing less supported relationships and improving the overall robustness of the tree 260. For example, when pruning branches from the evolutionary' tree 260, the system 200 can remove branches with confidence scores that fall below a specified threshold.
[0101] An example of the evolutionary tree 260 will be described with reference to FIG. 2D.
[0102] FIG. 2B shows an example of feature vectors 220b and a feature matrix 230b generated based on OGGs in the proteomes of a collection of biological entities, such as a set of bacterial strains. The OGGs are clusters of genes that share a common ancestor and ty pically perform similar functions across different species.[0103J The proteome of each biological entity7includes a set of proteins, which are annotated based on their membership in OGGs. The feature vector 220b for that biological entity includes values indicating the presence, absence, or abundance of specific OGGs within its proteome. The values in the vector can be binary (indicating presence or absence), counts (indicating the number of proteins matching the OGG), or normalized values that account for genome size or sequencing depth. The example shown in FIG. 2B uses the counts of proteins matching each particular OGG.[0.104| Once feature vectors are generated for all biological entities in the collection, they are assembled into the feature matrix 230b. In this matrix 230b. each row represents a biological entity (e.g., a particular bacterial strain), and each column represents a particular OGG. The entries in the matrix quantify the relationship between each biological entity and the OGGs, capturing the presence or absence, or abundance of each OGG in the proteome of each biological entity. This resulting feature matrix 230b serves as a foundation for downstream analyses, such as generating evolutionary trees, and generating evolutionary features for predicting the properties of biological entities.[0.105] FIG. 2C illustrates an example of feature vectors 220c and a feature matrix 230c generated based on a multiple sequence alignment (MSA) of homologous protein sequences from a collection of biological entities. The MSA captures the variations in amino acid sequences across the entities, providing insights into their evolutionary relationships. The specific proteins chosen for the MSA can depend on the particular application. In a particular example, a set of 16 ribosomal proteins are selected for the MSA, as these ribosomal proteins are conserved across different species and play important functional roles.[0106| The feature vector 220c for each biological entity is generated to characterize its protein sequences in the MSA. FIG. 2C represents a protein sequence as single-letter amino acid codes, e.g., ‘A’ for Alanine, and ‘C’ for Cysteine. The symbol represents a gap.[0107| The protein sequences can be numerically encoded in various ways in the feature vector 220c. One approach is one-hot encoding, which transforms the categorical amino acid data into a binary representation. In this case, each amino acid position in the MSA is represented by 21 binary' features, representing the 20 possible amino acids and gaps. The resulting feature vector for each entity is a binary vector where each element corresponds to one of the one-hot encoded features, where each one-hot encoded feature indicates whether a specific amino acid or gap is present at that position in the entity's protein sequence.(0108] The feature vectors 220c for all biological entities in the collection are then assembled into the feature matrix 230c. In this matrix, each row represents a biological entity, and each column represents a feature derived from the MSA, which can be a one-hot encoded amino acid / gap position or other representations of the sequence information. The entries in the matrix quantify the relationship between each biological entity and the features, capturing the variations in their protein sequences.|0109] FIG. 2D shows an example evolutionary tree 260d generated for bacteria within the family Bifldobacteriaceae . Bifldobacteriaceae includes well-known genera such asBifidobacterium, which are common inhabitants of the human gut and play a significant role in digestion and overall health. The branching patterns within the evolutionary tree 260d illustrate the evolutionary relationships among different genera and species within this family. The tree can reveal clusters of closely related Bifidobacterium species, highlighting their shared evolutionary history' and potentially shared functional characteristics.
[0110] The evolutionary tree 260d is generated using feature vectors that represent the presence or absence of specific orthologous gene groups (OGGs) in the proteomes of a collection of Bifidobacteriaceae strains. Further details of generating these feature vectors are described with reference to FIG. 2B.[01111 FIG. 3 A shows an example property prediction system 300 for predicting a property' of an input biological entity. The property prediction system 300 is an example of a system implemented as computer programs on one or more computers in one or more locations in which the systems, components, and techniques described below are implemented.
[0112] As described with reference to FIG. 1, the input biological entity' can be any type of biological entity, and the property to be predicted can be any relevant property. The system 300 receives input biological entity data 310 that characterizes the input biological entity. The input biological entity data 310 can include various ty'pes of biological information relevant to characterizing the input biological entity'. This data can include genomic sequences, protein sequences, proteomic profiles, gene expression data, metabolic profiles, morphological features, or other relevant biological attributes.
[0113] The system 300 uses input biological entity data 310 to map the input biological entity' to a corresponding leaf node 265 in an evolutionary' tree 260, e.g., the evolutionary' tree that has been generated using the processes described with references to FIG. 2A. The system 300 generates an evolutionary feature representation 320 that characterizes a path from a root node of the tree 260 to the leaf node 265 corresponding to the input biological entity. The system then processes a model input that includes the evolutionary feature representation 320 of the input biological entity using a machine learning model 330 to generate the prediction 340 for the property of the input biological entity.
[0114] To map the input biological entity to the corresponding leaf node 265, the system can first determine whether the input biological entity7is part of the collection from which the evolutionary tree 260 was originally generated. If the input biological entity7is included in this collection, the system 300 can directly map it to the corresponding leaf node in the tree, representing that specific biological entity.[0U5| If the input biological entity is not included in the original collection, the system 300 determines which leaf node in the evolutionary tree most closely corresponds to the input biological entity. To do this, the system can determine a similarity measure between the input biological entity and the biological entities represented by each of the leaf nodes in the tree. The system then maps the input biological entity to the leaf node with the highest similarity score. As described with reference to FIG. 1, a leaf node represents a specific biological entity in the evolutionary tree and sen es as the endpoint of the path that defines the evolutionary history of that entity.[0.1 J 6] By mapping the input biological entity to a leaf node in the tree 260, the system 300 can place the input biological entity within the broader evolutionary context, allowing a machine learning model in the downstream processing to make a more informed and accurate prediction based on both the input data and the evolutionary relationships encoded in the tree.
[0117] The similarity measure between the input biological entity and a biological entity represented by a leaf node of the tree 260 can be based on the similarity between (i) a first feature vector that represents input biological entity data 310 and (ii) a feature vector that represents the biological entity data of the entity that corresponds to that leaf node. The feature vectors can be generated using the same techniques as described with references to FIG. 2A, FIG. 2B, and FIG. 2C. The similarity measure can be any suitable metric that quantifies the similarity between the two feature vectors, such as Euclidean distance, cosine similarity, or correlation coefficient.
[0118] In some cases, the evolutionary feature representation 320 of the input biological entity defines, for each of a plurality of nodes in the evolutionary tree, whether the node is an ancestor of the leaf node corresponding to the input biological entity. To generate this representation, the system 300 can trace the path from the root of the tree 260 to the leaf node 265 mapped to the input biological entity. At each node along the path, the system can encode information indicating whether that node is an ancestor of the leaf node. This encoding can take various forms, such as a binary vector, where each position represents a specific node in the tree and the value indicates whether the node is part of the ancestral path.[0119| An example of generating the evolutionary feature representation 320 will be described with reference to FIG. 3B.[0120| The evolutionary feature representation 320 captures the evolutionary' lineage of the input entity, highlighting its relationships with other entities at different levels of the tree hierarchy. The evolutionary feature representation may provide valuable information aboutthe evolutionary context of the input entity, which can be leveraged by the machine learning model 330 to make more infonned predictions about its properties. This representation can be particularly useful for accurately predicting properties in cases where the evolutionary context plays a significant role, such as in the functional characterization of new strains or the identification of traits linked to evolutionary adaptations.
[0121] As described with reference to FIG. 1, before using the machine learning model 330 to predict the property of the input biological entity, the values of the model parameters of the machine learning model 330 have been determined using a training process, e g., by the model training system 350 described with reference to FIG. 1.
[0122] The machine learning model 330 can be any suitable predictive model. Examples of the machine learning model 330 include, for example, a neural network model, a random forest model, a linear regression model, or a support vector machine model. In a particular example, the machine learning model 330 is a LASSO (Least Absolute Shrinkage and Selection Operator) model.
[0123] The predicted property 340 can be used in a variety of ways.
[0124] In some cases, the input biological entity can be a microorganism (e.g. a bacterium or fungus) or a protein. Based on the predicted property 340, the system 300 or another system can select the input biological entity for inclusion in a drug. This selection process leverages the predicted property to identify entities with desirable characteristics for therapeutic purposes. Subsequently, a system can physically synthesize the drug that includes the selected biological entity. The synthesized drug can then be administered to a subject for treatment or prevention of a disease or condition.
[0125] In some cases, the input biological entity can be a virus. The system 300 or another system can select the virus for use in a viral-based therapy, based at least in part on the predicted property 340. This selection process aims to identify viruses with suitable properties for therapeutic applications, such as targeted delivery' of genetic material or oncolytic activity. The viral-based therapy utilizing the selected virus can then be applied to a subject for treatment.
[0126] In some cases, the input biological entity can be a plant. The system 300 or another system can select the plant for cultivation based on the predicted property' 340. This selection process can aid in identifying plants with desired traits, such as improved yield, disease resistance, or stress tolerance. The system or another system can then proceed to cultivate the selected plant.[0127} In some cases, the system 300 can provide the prediction 340 through various means, including storing the prediction data in a memory, transmitting it over a data communications network, or displaying it on a display device. This allows the prediction to be accessed and utilized by other systems or users for further analysis, decision-making, or downstream applications.[0128} FIG. 3B shows an example of generating an evolutionary feature representation 320b of an input biological entity that has been mapped to a leaf node 265b of an evolutionary tree. The representation 320b encodes a path ‘a-b-d’ from the root of the tree to the leaf node 265b representing the input entity. In this particular example, the evolutionary feature representation 320 is a binary' vector where each element corresponds to a node in the tree, and the value is T' if the node is an ancestor of the input entity's leaf node, and 'O' otherwise.
[0129] FIG. 4 is a flow diagram of an example process 400 for predicting a property of a biological entity. For convenience, the process 400 will be described as being performed by a system of one or more computers located in one or more locations. For example, the property prediction system 300 of FIG. 3 A, appropriately programmed in accordance with this specification, can perform the process 400.|(H30| At 410, the system receives a request to predict a property' of an input biological entity.[0131} As described with reference to FIG. 1 and FIG. 3 A. the input biological entity can be any of a variety ty pes of biological entities.[0132} In some cases, the input biological entity includes a microorganism.[01 31 In some cases, the input biological entity includes a bacterium. The property' of the input biological entity can characterize one or more of: a metabolic profile of the bacterium, an antibiotic resistance of the bacterium, a morphology of the bacterium, a motility of the bacterium, a pigmentation of the bacterium, or a biofilm of the bacterium.[0134} In some cases, the input biological entity includes a fungus. The property of the input biological entity can characterize one or more of: a growth morphology of the fungus, spore production of the fungus, mycelial networks of the fungus, or pigmentation of the fungus.[01 5} In some cases, the input biological entity includes a protozoan. The property of the input biological entity can characterize one or more of: a mobility of the protozoan, a shape of protozoan, a size of the protozoan, or a feeding mechanism of the protozoan.[0.136| In some cases, the input biological entity includes a virus. The property of the input biological entity can characterize one or more of: a host specificity of the virus, a reproductive cycle of the virus, a capsid structure of the virus, or an envelope presence of the virus.
[0137] In some cases, the input biological entity includes a plant. The property of the input biological entity can characterize one or more of: leaf characteristics of the plant, flower characteristics of the plant, fruit and seed characteristics of the plant, stem and branching characteristics of the plant, root characteristics of the plant, disease resistance of the plant, cold or heat tolerance of the plant, salt tolerance of the plant, or drought tolerance of the plant.1 138] In some cases, the input biological entity includes a protein. The property of the input biological entity can characterize enzyme activity of the protein, a folding state of the protein, a binding affinity of the protein, transport specificity of the protein, an expression level of the protein, or a phosphory lation state of the protein.[0139[ At 420, the system generates an evolutionary’ feature representation of the input biological entity.
[0340] In some implementations, the system generates the evolutionary feature representation based at least in part on an evolutionary’ tree that specifies a hierarchical clustering of a collection of biological entities.
[0141] Example processes of generating the evolutionary tree are further described with references to FIG. 2A and FIG. 4. An example of the evolutionary' tree is described with reference to FIG. 2D.[01421 In general, the evolutionary' tree includes a plurality of nodes that each represents a respective set of biological entities from the collection of biological entities. For each nonleaf node in the evolutionary tree: (i) the non-leaf node has a plurality' of child nodes, and (ii) the sets of biological entities represented by' the plurality of child nodes of the non-leaf node define a partition of the set of biological entities represented by the non-leaf node. The evolutionary tree includes a plurality of leaf nodes, wherein each leaf node represents a respective biological entity from the collection of biological entities.
[0143] In some implementations, the system performs 422 and 424 to generate the evolutionary feature representation.
[0144] At 422, the system maps the input biological entity' to a corresponding leaf node in the evolutionary tree. In some cases, the evolutionary feature representation of the inputbiological entity defines, for each of a plurality of nodes in the evolutionary tree, whether the node is an ancestor of the leaf node corresponding to the input biological entity. Examples of generating the evolutionary feature representation are further described with references to FIG. 3 A and FIG. 3B.
[0145] At 424, the system generates the evolutionary feature representation to characterize a path from a root node of the tree to the leaf node corresponding to the input biological entity.
[0146] In some cases, the input biological entity is included in the collection of biological entities, and the system maps the input biological entity to a leaf node representing the input biological entity in the evolutionary tree.|(H47] In some cases, the input biological entity is not included in the collection of biological entities. To map the input entity to the leaf node, the system determines a respective similarity measure between: (i) the input biological entity, and (ii) biological entities represented by each of a plurality of leaf nodes of the evolutionary tree, and maps the input biological entity to a leaf node in accordance with the similarity measures. Examples of mapping the input entity to the leaf node are further described with reference to FIG. 3A.[01481 At 430, the system processes a model input that includes the evolutionary feature representation using a machine learning model, in accordance with values of a set of machine learning model parameters, to generate the prediction for the property of the input biological entity. The machine learning model can include one or more of: a neural network model, a random forest model, a linear regression model, or a support vector machine model.[0149| Before using the machine learning model to make the prediction, the values of the set of machine learning model parameters have been determined by training the machine learning model on a set of training data using a machine learning training technique. The set of training data can include a plurality of training examples that each include: (i) a training input that corresponds to a training biological entity and includes an evolutionary feature representation of the training biological entity; and (ii) a target property of the training biological entity. In some cases, a training system, e.g., the model training system 350 described with reference to FIG. 1, trains the machine learning model, by the machine learning training technique, to reduce a discrepancy between (i) the target property specified by the training example, and (ii) a predicted property7generated by the machine learning model by processing the training input of the training example.[0.150| FIG. 5 is a flow diagram of an example process 500 for generating data defining an evolutionary tree. For convenience, the process 500 will be described as being performed by a system of one or more computers located in one or more locations. For example, the evolutionary tree generation system 200 described with references to FIG. 1 and FIG. 2, appropriately programmed in accordance with this specification, can perform the process 500.[0151 [ The evolutionary tree specifies a hierarchical clustering of a collection of biological entities. In some cases, the collection of biological entities includes at least 1000 biological entities. In some cases, the collection of biological entities includes at least 100,000 biological entities.|(H 52 J At 510. the system obtains, for each biological entity in the collection of biological entities, a respective feature vector characterizing the biological entity. Examples of the feature vectors are described with references to FIG. 2A, FIG. 2B, and FIG. 2C. The feature vector can characterize any of a variety' of attributes of the biological entity, such as genomic sequences, protein sequences, proteomic profiles, gene expression data, metabolic profiles, morphological features, or other relevant biological attributes.[01531 At 520, the system processes the feature vectors characterizing the collection of biological entities to generate, for each of a plurality' of pairs of biological entities from the collection of biological entities, a similarity score characterizing a similarity between the pair of biological entities.
[0154] In some implementations, the system performs 522 and 524 to generate the similarity' scores[01551 At 522, the system generates a matrix factorization of a matrix representing the feature vectors characterizing the collection of biological entities. The matrix factorization defines a respective spectral representation of each biological entity in the collection of biological entities.
[0156] In some cases, the matrix factorization includes a singular value decomposition (SVD) factorization. In some cases, the matrix factorization includes a principal component analysis (PCA) factorization.
[0157] At 524, the system generates, for each of the plurality of pairs of biological entities, the similarity' score for the pair of biological entities based on a similarity' measure between: (i) a spectral representation of a first biological entity in the pair of biological entities, and (ii) a spectral representation of a second biological entity in the pair of biological entities.[0.158| At 530, the system processes the similarity scores to generate the data defining the evolutionary tree. Examples of processing the similarity scores to generate the data are further described with reference to FIG. 2A.|0159] In some implementations, the system further performs 540 and 550 to refine the evolutionary tree.
[0160] At 540, the system generates an ensemble of sample evolutionary trees that each specify a respective hierarchical clustering of the collection of biological entities. For each sample evolutionary tree, the system selects a proper subset of a set of feature dimensions included in the feature vectors characterizing the collection of biological entities, and generates the sample evolutionary tree using only the selected proper subset of the feature dimensions of the feature vectors characterizing the collection of biological entities.
[0161] At 550, the system modifies the evolutionary tree based on the ensemble of sample evolutionary trees.
[0162] In some implementations, the system determines a respective confidence score for each branch of the evolutionary tree based on similarity of the branch of the evolutionary’ tree to branches occurring in sample trees of the ensemble of sample trees, and prunes one or more branches from the evolutionary tree based on the confidence scores. For example, the system can prune each branch in the evolutionary’ tree having a confidence score that fails to satisfy a threshold.
[0163] FIG. 6 shows a scatter plot 600 illustrating the predictive accuracy of estimating acetate metabolism across various bacterial strains using the techniques described above. The x-axis represents the predicted fold-change (FC) in acetate levels for data not used during model training, while the y-axis represents the experimentally measured acetate FC for each bacterial strain. Each point in the scatter plot represents a bacterial strain, with its position indicating the model's predicted acetate FC (x-axis) and the actual measured acetate FC (y- axis) for that strain. FIG. 6 demonstrates the effectiveness of the described techniques in accurately predicting acetate metabolism across diverse strains.
[0164] This specification uses the term “‘configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructionsthat, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.[01651 Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine- readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially -generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.[0166| The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be. or further include, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an execution environment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.[01671 A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single filededicated to the program in question, or in multiple coordinated files, e.g., fdes that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
[0168] In this specification the term “engine” is used broadly to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in other cases, multiple engines can be installed and running on the same computer or computers.1 169] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers. [0170 [ Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory' or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry'. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few. [0171 | Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory; media and memory devices, including by way of example semiconductor memory' devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.[0.172| To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g.. a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user’s device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.[01731 Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and compute-intensive parts of machine learning training or production, i.e., inference, workloads.[0174| Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, or a Jax framework.
[0175] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g.. an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.[0176| The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on therespective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g.. for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device.
[0177] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination.Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.[0178| Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0179] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.What is claimed is:
Claims
CLAIMS1. A method performed by one or more computers, the method comprising: receiving a request to predict a property of an input biological entity: and generating a prediction for the property of the input biological entity using data defining an evolutionary tree that specifies a hierarchical clustering of a collection of biological entities, comprising: generating an evolutionary feature representation of the input biological entity based at least in part on the evolutionary tree; and processing a model input that comprises the evolutionary feature representation of the input biological entity using a machine learning model, in accordance with values of a set of machine learning model parameters, to generate the prediction for the property of the input biological entity.
2. The method of claim 1, wherein the evolutionary tree comprises a plurality of nodes that each represent a respective set of biological entities from the collection of biological entities; and wherein for each non-leaf node in the evolutionary tree: (i) the non-leaf node has a plurality7of child nodes, and (ii) the sets of biological entities represented by the plurality of child nodes of the non-leaf node define a partition of the set of biological entities represented by the non-leaf node.
3. The method of any preceding claim, wherein the evolutionary tree comprises a plurality of leaf nodes, wherein each leaf node represents a respective biological entity from the collection of biological entities.
4. The method of any preceding claim, wherein generating the evolutionary feature representation of the input biological entity comprises: mapping the input biological entity to a corresponding leaf node in the evolutionary tree; and generating the evolutionary feature representation to characterize a path from a root node of the tree to the leaf node corresponding to the input biological entity.
5. The method of claim 4, wherein the evolutionary feature representation of the input biological entity defines, for each of a plurality of nodes in the evolutionary’ tree, whether the node is an ancestor of the leaf node corresponding to the input biological entity.
6. The method of any one of claims 4-5, wherein the input biological entity is included in the collection of biological entities; and wherein mapping the input biological entity to a corresponding node in the evolutionary tree comprises: mapping the input biological entity' to a leaf node representing the input biological entity in the evolutionary tree.
7. The method of any one of claims 4-5, wherein the input biological entity7is not included in the collection of biological entities; and wherein mapping the input biological entity to a corresponding node in the evolutionary tree comprises: determining a respective similarity measure between: (i) the input biological entity', and (ii) biological entities represented by7each of a plurality of leaf nodes of the evolutionary' tree; and mapping the input biological entity to a leaf node in accordance with the similarity measures.
8. The method of any preceding claim, wherein the evolutionary7tree has been generated by performing operations comprising: receiving, for each biological entity in the collection of biological entities, a respective feature vector characterizing the biological entity; processing the feature vectors characterizing the collection of biological entities to generate, for each of a plurality' of pairs of biological entities from the collection of biological entities, a similarity score characterizing a similarity’ between the pair of biological entities; and processing the similarity7scores to generate data defining the evolutionary tree.
9. The method of claim 8, wherein processing the feature vectors characterizing the collection of biological entities to generate, for each of a plurality of pairs of biologicalentities, the similarity score characterizing the similarity between the pair of biological entities comprises: generating a matrix factorization of a matrix representing the feature vectors characterizing the collection of biological entities, wherein the matrix factorization defines a respective spectral representation of each biological entity in the collection of biological entities; and generating, for each of the plurality of pairs of biological entities, the similarity score for the pair of biological entities based on a similarity measure between: (i) a spectral representation of a first biological entity in the pair of biological entities, and (ii) a spectral representation of a second biological entity in the pair of biological entities.
10. The method of claim 9, wherein the matrix factorization of the matrix representing the feature vectors characterizing the collection of biological entities comprises a singular value decomposition (SVD) factorization.
11. The method of claim 9, wherein the matrix factorization of the matrix representing the feature vectors characterizing the collection of biological entities comprises a principal component analysis (PCA) factorization.
12. The method of any one of claims 8-11, further comprising: generating an ensemble of sample evolutionary trees that each specify a respective hierarchical clustering of the collection of biological entities, comprising, for each sample evolutionary tree: selecting a proper subset of a set of feature dimensions included in the feature vectors characterizing the collection of biological entities; and generating the sample evolutionary tree using only the selected proper subset of the feature dimensions of the feature vectors characterizing the collection of biological entities; modifying the evolutionary tree based on the ensemble of sample evolutionary trees.
13. The method of claim 12, wherein modifying the evolutionary tree based on the ensemble of sample evolutionary trees comprises:determining a respective confidence score for each branch of the evolutionary tree based on similarity of the branch of the evolutionary’ tree to branches occurring in sample trees of the ensemble of sample trees; and pruning one or more branches from the evolutionary tree based on the confidence scores.
14. The method of claim 13, wherein pruning one or more branches from the evolutionary tree based on the confidence scores comprises: pruning each branch in the evolutionary tree having a confidence score that fails to satisfy a threshold.
15. The method of any preceding claim, wherein the values of the set of machine learning model parameters have been determined by training the machine learning model on a set of training data using a machine learning training technique.
16. The method of claim 15, wherein the set of training data comprises a plurality of training examples that each include: (i) a training input that corresponds to a training biological entity and comprises an evolutionary’ feature representation of the training biological entity; and (ii) a target property of the training biological entity.
17. The method of claim 1 , wherein training the machine learning model on the set of training data comprises, for each training example: training the machine learning model, by the machine learning training technique, to reduce a discrepancy between: (i) the target property specified by the training example, and (ii) a predicted property generated by the machine learning model by processing the training input of the training example.
18. The method of any preceding claim, wherein the machine learning model comprises one or more of: a neural network model; a random forest model; a linear regression model; or a support vector machine model.
19. The method of any preceding claim, wherein the input biological entity comprises a microorganism.
20. The method of claim 19, wherein the input biological entity comprises a bacterium.
21. The method of claim 20, wherein property of the input biological entity characterizes one or more of: a metabolic profde of the bacterium; an antibiotic resistance of the bacterium; a morphology of the bacterium; a motility of the bacterium; a pigmentation of the bacterium; or a biofilm of the bacterium.
22. The method of claim 19, wherein the input biological entity comprises a fungus.
23. The method of claim 22, wherein the property of the input biological entity characterizes one or more of: a growth morphology of the fungus; spore production of the fungus; mycelial networks of the fungus; or pigmentation of the fungus.
24. The method of claim 19, wherein the input biological entity comprises a protozoan.
25. The method of claim 24, wherein the property of the input biological entity characterizes one or more of: a mobility' of the protozoan; a shape of protozoan; a size of the protozoan; or a feeding mechanism of the protozoan.
26. The method of any one of claims 1-18, wherein the input biological entity comprises a virus.
27. The method of claim 26, wherein the property of the input biological entity characterizes one or more of: a host specificity of the virus; a reproductive cycle of the virus; a capsid structure of the virus; or an envelope presence of the virus.
28. The method of any one of claims 1-18, wherein the input biological entity comprises a plant.
29. The method of claim 28, wherein the property7of the input biological entity characterizes one or more of: leaf characteristics of the plant; flower characteristics of the plant; fruit and seed characteristics of the plant; stem and branching characteristics of theplant; root characteristics of the plant; disease resistance of the plant; cold or heat tolerance of the plant; salt tolerance of the plant; or drought tolerance of the plant.
30. The method of any one of claims 1-18, wherein input biological entity comprises a protein.
31. The method of claim 30, wherein the property of the input biological entity characterizes one or more of: enzyme activity of the protein; a folding state of the protein; a binding affinity of the protein; transport specificity of the protein; an expression level of the protein; or a phosphorylation state of the protein.
32. The method of any one of claims 1-18, wherein the input biological entity comprises a bacterium, or a fungus, or a protein; and wherein the method further comprises: selecting the input biological entity for inclusion in a drug based at least in part on the prediction for the property of the input biological entity; physically synthesizing the drug that includes the input biological entity'.
33. The method of claim 32, further comprising administering the drug that includes the input biological entity to a subject.
34. The method of any one of claims 1-18, wherein the input biological entity comprises a virus; and wherein the method further comprises: selecting the virus for use in a viral-based therapy based at least in part on the prediction for the property of the input biological entity.
35. The method of claim 34, further comprising applying the viral-based therapy that uses the virus to a subject.
36. The method of any one of claims 1-18, wherein the input biological entity comprises a plant; and wherein the method further comprises:selecting the plant to be cultured based at least in part on the prediction for the property of the input biological entity.
37. The method of claim 36, further comprising culturing the plant.
38. The method of any preceding claim, wherein the collection of biological entities comprises at least 1000 biological entities.
39. The method of any preceding claim, wherein the collection of biological entities comprises at least 100,000 biological entities.
40. The method of any preceding claim, further comprising providing the prediction for the property of the input biological entity in response to the request.
41. The method of claim 40, wherein providing the prediction for the property of the input biological entity in response to the request comprises: storing data defining the prediction for the property of the input biological entity in a memory; or transmitting data defining the prediction for the property of the input biological entity over a data communications network; or displaying the data defining the prediction for the property of the input biological entity7on a display.
42. A system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method of any one of claims 1-31.
34.
36. or 38-41.
43. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the respective method of any one of claims 1-31, 34, 36, or 38-41.
Citation Information
Cited By
Time series data processing method and system based on dynamic hierarchical clustering and LSTM
CN121580053A