Optimizing molecule fitness using multiple diverse molecule design techniques
By employing multiple optimization rounds with diverse molecule design techniques and machine learning models, the system addresses the limitations of directed evolution and hit recombination, achieving substantial improvements in molecule fitness, particularly for proteins like biofilm-degrading nuclease molecules.
Patent Information
- Application Number
- PCT/US2025/017930
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-01
- Filing Date
- 2025-02-28
- Publication Date
- 2025-09-04
AI Technical Summary
Current methods for optimizing molecule fitness, such as directed evolution and hit recombination, often fail to explore the protein fitness landscape effectively due to issues like getting stuck in local optima and neglecting epistasis effects, leading to suboptimal results.
A system utilizing multiple optimization rounds with diverse molecule design techniques, including machine learning models, to generate and evaluate new candidate molecules, accounting for epistasis and increasing diversity, thereby improving fitness.
The described techniques generate candidate molecules with significantly enhanced fitness, exemplified by a 19-fold improvement in catalytic activity for biofilm-degrading nuclease molecules compared to conventional methods.
Smart Images

Figure US2025017930_04092025_PF_FP_ABST
Abstract
Description
[0001] OPTIMIZING MOLECULE FITNESS USING MULTIPLE DIVERSE MOLECULE DESIGN TECHNIQUES
[0002] CROSS-REFERENCE TO RELATED APPLICATION
[0003] This application claims priority to U.S. Application No. 63 / 560,587, filed March 1, 2024, the disclosure of which is incorporated herein by reference.
[0004] BACKGROUND
[0005] This specification relates to designing molecules using machine learning models.
[0006] For example, neural networks are machine learning models that employ one or more layers of nonlinear units to predict an output for a received input. Some neural networks include one or more hidden layers in addition to an output layer. The output of each hidden layer is used as input to the next layer in the network, i.e., the next hidden layer or the output layer. Each layer of the network generates an output from a received input in accordance with current values of a respective set of parameters.
[0007] SUMMARY
[0008] This specification describes a system implemented as one or more computer programs on one or more computers in one or more locations that optimizes the fitness of a molecule by outputting one or more new candidate molecules using multiple optimization rounds. In particular, the system uses multiple optimization rounds that each generate new candidate molecules using a diverse set of different molecule design techniques.
[0009] Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
[0010] The ability to optimize the fitness of a molecule has numerous applications in industry and therapeutics. For example, protein engineering (e.g., improving the catalytic activity, binding strength, thermostability, stereoselectivity and so on of a protein) is of great interest due to its potential for applications in medicine and biotechnology .
[0011] Current techniques for optimizing the fitness of a molecule, e.g.. optimizing the fitness of a protein ,i.e.. protein engineering, often rely on directed evolution (i.e.. a technique of iteratively creating a large library of protein variants through random mutagenesis of the amino acid sequence of the protein, then screening for those with desired traits) and hit recombination (i.e., a technique of combining beneficial amino acid sequence mutations from different protein variants to create new, improved proteins) to generate new candidate molecules. While both of these methods are capable of providing one or more new candidate molecules, they are not without challenges.
[0012] For example, directed evolution for protein fitness optimization can fail to cross valleys of a protein fitness landscape (i.e., the space of protein fitness as a function of amino acid sequence that correspond to new candidate molecules), leading to dead ends in an optimization of the molecule fitness (i.e., the diversity of protein variants that are new candidate molecules collapses). In other words, directed evolution as a technique for optimizing the fitness of a molecule may produce new candidate molecules over iterations that plateau in terms of fitness improvement after a few iterations due to its inability' to robustly explore changes to the amino acid sequence that would lead to a better protein.
[0013] As another example, hit recombination fails to account for the effects of epistasis (i.e., interaction effects between different mutations within an amnio acid sequence, where the combined effect of these mutations on the protein's function is different from the sum of their individual effects). In other words, hit recombination attempts to optimize the fitness of a molecule using a method that combines multiple changes to a molecule to generate new candidate molecules. But combining multiple changes only sometimes result in positive epistasis (i.e., epistasis effects that improve the fitness of the molecule) and other times results in negative epistasis (i.e., epistasis effects that worsen the fitness of the molecule). As a result, using hit recombination to optimize the fitness of a molecule is not ideal because it is difficult to predict when positive or negative epistasis will occur after combining changes.
[0014] This specification describes a system that can address the aforementioned challenges. That is, this specification describes techniques that can take into account epistasis effects and increase diversity of new candidate molecules without sacrificing the performance of these molecules’ functions, which helps avoid the traps presented by local optima in the fitness landscape and increase the likelihood that one or more of the new candidates generated by the system meet requirements for target attributes of the molecule. In particular, the described techniques use multiple optimization rounds, where each optimization round generates new candidate molecules using a diverse set of different molecule design techniques. As a consequence, the described techniques can optimize the fitness of the molecule to generate new candidate molecules that perform significantly better than would be the case using traditional techniques.
[0015] For example, the described techniques optimize the fitness of a biofilm-degrading nuclease molecule to generate hundreds of new candidate molecules such that the catalytic activity of the best of these new candidate molecules is 19 times greater than that of the initial molecule and greater than that of new candidate molecules produced using conventional techniques (such as directed evolution and hit recombination).
[0016] 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.
[0017] According to a first aspect there is provided a method performed by one or more computers and for optimizing a fitness of a molecule, where the fitness of the molecule is based on respective values for each of one or more target attributes of the molecule. The method includes, at each of a sequence of optimization rounds, generating, using each molecule design technique of a diverse set of different molecule design techniques for the optimization round, a respective sub-library of new candidate molecules for the optimization round. Then, generating, using the sub-libraries for the optimization round, a library for the optimization round that includes a plurality of new candidate molecules. Then finally, obtaining, for each of the new candidate molecules in the library, a respective fitness label that characterizes values for each of the one or more target attributes for the new candidate molecule. After performing the plurality of optimization rounds, the method includes providing, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules.
[0018] In some implementations, the molecule is a protein, and the one or more target attributes include physical attributes of the protein.
[0019] In some implementations, the physical attributes of the protein includes one or more attributes characterizing one or more of stability, binding affinity, or catalytic activity of the protein.
[0020] In some implementations, the molecule is an enzyme.
[0021] In some implementations, the one or more target attributes include one or more of a catalytic activity of the enzyme, a thermostability of the enzyme, or a stereoselectivity of the enzyme.
[0022] In some cases, for each of the optimization rounds, the respective fitness labels for the new candidate molecules are obtained as a result of experiments performed on synthesized versions of the new candidate molecules.
[0023] In some implementations, generating, using each molecule design technique of a diverse set of different molecule design techniques, a respective sub-library of new candidate molecules for the optimization round includes, for a particular molecule design technique at a particular optimization round, includes obtaining training data for the particular optimization round. The training data includes, for each of a plurality of candidate molecules, a respective fitness label characterizing values for each of the one or more target attributes for the candidate molecule. Then, after obtaining training data, fitting a machine learning model on the training data, where the machine learning model is configured to receive data characterizing an input molecule and to process the data characterizing the input molecule to generate a predicted output that characterizes a predicted fitness of the input molecule. Then finally, generating, using the machine learning model, the respective sub-library for the particular molecule design technique.
[0024] In some cases, the training data for the particular optimization round includes new candidate molecules generated during the preceding optimization rounds.
[0025] In some cases, fitting the machine learning model includes dividing the training data into a training set and a test set. Then, fitting a plurality of candidate machine learning models on the training set, each candidate machine learning model having a respective set of hyperparameters. Then finally, selecting one of the candidate learning models based on a performance of the candidate machine learning models on the test set.
[0026] In some cases, fitting the machine learning model further includes re-fitting the selected candidate machine learning model on the training set and the test set.
[0027] In some cases, the training set includes each candidate molecule having fewer than a threshold number of mutations relative to a wild type for the molecule and the test set includes each candidate molecule having at least the threshold number of mutations relative to the wild type for the molecule.
[0028] In some implementations, generating, using the machine learning model, the respective sub-library for the particular molecule design technique includes performing a search technique guided by quality scores generated from predicted outputs generated by the machine learning model to identify an initial set of candidate new molecules.
[0029] In some cases, the search technique is a random search technique.
[0030] In some cases, each predicted output includes a respective score for each of a plurality of fitness classes, and the quality scores are generated from predicted outputs generated from the respective score assigned to a highest fitness class of the plurality of fitness classes.
[0031] In some implementations, generating a respective sub-library of using each molecule design technique includes generating an initial set of candidate new molecules using the molecule design technique. Then, dividing the initial set of candidate new molecules into a pl urali ty of groups based on a respective number of mutations for each of the initial set of candidate new molecules relative to a wild type for the molecule. Then finally, selecting a respective specified number of candidate new molecules from each group.
[0032] In some cases, the respective specified number of candidate new modules for each group follows a prescribed distribution over distances from the wild type.
[0033] In some cases, selecting a respective specified number of candidate new molecules from each group includes constraining each of a set of mutations to not appear in more than a threshold number of candidate molecules in the sub-library.
[0034] In some cases, selecting a respective specified number of candidate new molecules from each group includes clipping quality scores to not exceed a threshold quality score. Then, selecting the respective specified number of candidate new molecules from each group using the clipped quality scores.
[0035] In some cases, generating a respective sub-library of new candidate molecules includes, for a particular optimization round and for a particular molecule design technique, generating a plurality of candidate molecules using a protein sequence activity relationship model given the wild type for the molecule. Then, filtering the plurality of candidate molecules to reject candidate molecules based on likelihoods for the candidate molecules under a variational auto-encoder (VAE) neural network trained on natural molecules.
[0036] In some implementations, the sets of molecule design techniques are different across the plurality of optimization rounds.
[0037] In some cases, the set of molecule design techniques at a later optimization round in the sequence include one or more molecule design techniques that are more computationally complex than the set of molecule design techniques at an earlier round.
[0038] In some implementations, for a particular optimization round, the set of molecule design techniques includes one or more molecule design techniques that generate candidate molecules using one or more deep neural networks.
[0039] In some cases, the one or more deep neural networks include a convolutional neural network.
[0040] In some cases, the diverse set of molecule design techniques for the optimization round have been selected based on a diversity of candidate molecules proposed by the molecule design techniques.
[0041] In some implementations, after performing the plurality of optimization rounds, providing, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules includes providing the one or more new candidate molecules for synthesis.
[0042] In some cases, after performing the plurality of optimization rounds, providing, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules includes synthesizing the one or more new candidate molecules.
[0043] According to a second aspect, there is provided the methods of the first aspect performed by one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform the operations of the respective method.
[0044] According to a third aspect, there is provided the methods of the first aspect performed by a computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform the operations of the respective method.
[0045] Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.
[0046] BRIEF DESCRIPTION OF THE DRAWINGS
[0047] FIG. 1 shows a molecule design system.
[0048] FIG. 2 is a flow diagram of an example process for providing new candidate molecules as output.
[0049] FIG. 3 is a flow diagram of an example process for generating a respective sublibrary of new candidate molecules for the optimization round using a machine learning model as the molecule design technique.
[0050] FIG. 4 is a flow diagram of an example process for fitting a machine learning model.
[0051] FIG. 5 is an example of the performance of the described techniques.
[0052] FIG. 6 is an example of the performance of the described techniques.
[0053] DETAILED DESCRIPTION
[0054] FIG. 1 shows an example molecule design system 100. The molecule design 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 can be implemented. The system may further include laboratory equipment, including liquid handling robots for the automated performance of physical experiments.
[0055] The goal of the molecule design system 100 is to design one or more molecules with improved “fitness” relative to an original design of the molecule that performs a specific function. Generally, the fitness of a molecule is based on respective values for each of one or more target attributes of the molecule.
[0056] For example, when there is a single target attribute, the fitness can be a function of the value of the target attribute, e.g., equal to the value of the target attribute or a normalized value of the target attribute, e.g., the fitness can be the target attribute of catalytic activity. When there are multiple target attributes, the fitness can be a function of the values of the multiple target attributes, e.g., a sum or weighted sum of the values of the target attributes.
[0057] Examples of molecules, their respective functions, and their respective fitness (i.e., one or more target attributes of the molecule) follow.
[0058] As one example, the molecule can be protein that can serve any of a variety of biological functions, e.g.. a biochemical catalyst, cell structure support, cell membrane transport, cell communication, and so on. The target attributes can be physical attributes of the protein, e.g., stability (e.g., stability' at a given temperature or pH), binding affinity or binding strength of the protein to a target (e.g., Kd (typically measured in units of molarity')), binding specificity, catalytic activity for a given chemical reaction (e.g.. reaction rate).
[0059] As a specific example, the molecule can be an antibody that sen es the function of identifying and neutralizing antigens by binding to them. The antibodies target attribute can be binding strength and binding specificity' to particular antigens.
[0060] As another example, the molecule can be an enzyme that serves as a catalyst for biochemical reaction, e.g., biofilm degrading nuclease, nitrogen fixating nitrogenase, sugar processing amylase, and so on. The enzyme target attributes can include the enzyme’s catalytic activity, thermostability, stereoselectivity', and so on.
[0061] In this specification the term “molecule” refers not only to the physical arrangement of atoms that make up a chemical structure of a molecule but also to the design of the molecule (i.e., any data in any format in any medium that identifies and represents that molecule, such as text representation of a biological sequence (e.g., an amino acid sequence, e.g., UCAG), text representation of simplified molecular input line entry' representation, representation through one or more embeddings, graph-based representations, adjacency matrices, a list of 3D atomic coordinates, a set of numerical values of descriptors of the molecule, electron density maps, and so on). So, providing, as output, one or more new candidate molecules can refer to providing, as output, data that uniquely identifies the candidate molecules designs, e.g., providing any of the above example representations. Additionally, processing a molecule can refer to processing data that uniquely identifies the molecule design. In order to improve the fitness of the molecule, the system 100 can make changes to the design of the molecule, evaluate the resulting fitness associated with these changes, and repeat making changes and evaluating the fitness until one or more criteria are satisfied. Generally, the system 100 makes changes to molecules and evaluates the respective fitness of these changed molecules during an '‘optimization round” (i.e., a step in the process of designing a molecule with optimized fitness that generates new candidate molecules and obtains respective fitness labels for those new candidate molecules) and performs multiple optimization rounds as a repeated iterative process. So. the system 100 optimizes the fitness of a molecule by providing, as output 106, one or more of the new candidate molecules generated from a plurality of optimization rounds (i.e., 104A-D) based on the respective fitness labels for the new candidate molecules.
[0062] In particular, the system 100 receives data 102. The data 102 identifies one or more initial candidate molecules, e.g., each initial candidate can be a variant of a molecule that performs a function with a non-zero level of activity. For example, the data 102 identifying the initial candidate molecules can include at least data identifying a wild type of a protein molecule (i.e., data identifying the most common variant or design of the molecule found in a natural population of organisms). The data 102 also includes information of how the system will compute the fitness label of a molecule (i.e., how to determine the fitness of a molecule based on one or more target attributes and represent that fitness as a fitness label).
[0063] The system 100 then performs an optimization phase to optimize the fitness of the molecule, e.g., to identify molecules that perform the specified function but that have improved values for the one or more target attributes relative to the one or more initial candidate molecules and hence improved fitness.
[0064] For example, the molecule can be a protein and the one or more target attributes can include physical attributes of the protein. As a particular example, the physical attributes of the protein can include one or more attributes characterizing one or more of the stability, binding affinity, or catalytic activity of the protein.
[0065] As a specific example, the molecule can be an enzyme and the one or more target attributes can include one or more of a catalytic activity of the enzyme, a thermostability of the enzyme, or a stereoselectivity of the enzyme. The system 100 generally performs the optimization phase across a sequence of optimization rounds 104A-D, where each optimization round includes generating new candidate molecules and obtaining respective fitness labels for those new candidate molecules.
[0066] At each optimization round (e.g., 104B), the system 100 generates, using each molecule design technique (e.g., 108A-C) of a diverse set of different molecule design techniques for the optimization round, a respective sub-library (e.g.. 1 10A-C) of new candidate molecules (e.g., 112A-C) for the optimization round.
[0067] Generally, different optimization rounds 104A-D can have different sets of molecule design techniques, e.g., the set of molecule design techniques associated with optimization round 104B is different than the set of molecule design techniques associated with 104C.
[0068] In some cases, the system 100 selects the set of molecule design techniques (and therefore the respective sub-libraries) for a given optimization round that the system carries on with based on a diversity' of candidate molecules proposed by the molecule design techniques.
[0069] Additionally, some or all of the molecule design techniques will generally make use of already generated candidate molecules, e.g., the initial candidate molecules, new candidate molecules from preceding optimization rounds, or both, when generating new candidate molecules.
[0070] For at least a subset of the optimization rounds 104A-D. some or all of the molecule design techniques can be machine learning techniques that leverage machine learning models that are fit using already generated candidate molecules (and corresponding fitness labels) to generate new molecules that are predicted to be likely to have improved fitness relative to the already generated candidate molecules.
[0071] Generally, in each round 104A-D, the system 100 uses a portfolio of diverse molecule design techniques to design distinct sub-libraries. This increases the diversity' of the candidates and hedges against certain machine learning techniques not performing well.
[0072] Across rounds 104A-D. the system 100 can vary the type of machine learning techniques used in order to improve the quality' of the optimization process, e.g., transitioning from simple methods that do basic exploration of the fitness search space and require less training data at earlier rounds to deep-leaming based methods that thrive (i.e., performs more effectively) once the number of already generated candidates increases at later rounds. For example, because multi-class logistic regression (also known as multinomial logistic regression) is a machine learning technique that typically requires relatively few parameters (and therefore requires relatively few training examples) compared to deep convolution neural networks, which typically require many parameters (and therefore requires many training examples), earlier rounds may include the use of regularized multiclass logistic regression in order to use the little training data present during that round, while later rounds include the use of deep convolutional neural networks in order to use the larger training data present at that round.
[0073] Further details of the multi-class logistic regression and neural networks machine learning techniques will be described in more detail below.
[0074] Optionally, prior to performing the optimization rounds 104A-D that use multiple different molecule design techniques, the system 100 can perform one or more initial optimization rounds that each use a single optimization technique to “seed” the population of candidate molecules. That is, the system 100 can use initial optimization rounds that may not strictly optimize the fitness of the initial candidate molecule but do introduce diverse changes to the initial candidate molecule to create a larger population of initial candidate molecules.
[0075] For example, if the initial candidate molecule is a single wild type variant of a protein, the system 100 can apply error-prone polymerase chain reaction (epPCR) to the initial candidate molecule to generate new candidate molecules (“variants”) so that the population of initial candidate molecules is greater than one, and then, the system 100 can perform the optimization rounds 104A-D.
[0076] At each optimization round (e.g., 104B), the system 100 then generates, using the sub-libraries for the optimization round (e.g., sub-libraries 110A-C for molecule design techniques 108A-C, for optimization round 104B), a library for the optimization round (e.g., library 114 for sub-libraries 110A-C). For example, the library 114 for the optimization round 104B can be a combination of the sub-libraries 110A-C, e.g., can include all of the new candidate molecules 112A-C from all of the sub-libraries 110A-C. As another example, the library 114 for the optimization round 104B can be a combination of samples of new candidate molecules from the sub-libraries 110A-C.
[0077] The system 100 obtains, for each of the new candidate molecules in the library, a respective fitness label that characterizes values for each of the one or more target properties for the new candidate molecule (e.g.. for round 104B, the system 100 obtains respective fitness labels 116 for new candidate molecules 112A-C of library 114). For example, the system 100 can obtain the fitness labels as a result of experiments performed on synthesized versions of the new candidate molecules. That is. after the system 100 generates the library for the round, the molecules in the library can be synthesized in order to determine the respective fitness labels for the molecules.
[0078] Generally, synthesizing the molecule refers to any of a variety of synthesis techniques that physically produce the molecule (e.g., oligonucleotide synthesis, PCR synthesis, chemical synthesis, protein synthesis using recombinant protein production, cell- free protein synthesis etc.) Also generally, experiments performed on synthesized versions of the molecule refers to any of a variety of physical experiments performed on the physical molecule (e.g., using laboratory' equipment) that yield information that the system 100 can use to determine a fitness label (e.g., biological assay experiments, e.g.. stopped flow experiments to measure reaction kinetics or catalytic activity, saturation binding assays or surface plasmon resonance experiments to measure a binding affinity, Ka, of the molecule to a binding target, UV -Visible light spectroscopy of solutions containing the molecule to measure solubility, and so on).
[0079] As an example of synthesizing a new candidate molecule that is an amino acid sequence, the system 100 can convert the new candidate molecule, i.e., data representing an amino acid sequence, into a DNA sequence through the known relationship between amino acids to DNA codons. Then the system 100 can use chemical synthesis or PCR synthesis or both to produce the physical DNA representation of the amino acid sequence. After that, the system 100 can insert the physical DNA sequence into a plasmid vector (a larger physical DNA sequence for a host organism) which in turn is placed into the host organism, e.g., the bacteria B. subtilis, through transformation, e.g., using the heat shock technique. The system 100 then allows the host organism to express the protein (the molecule represented by the amino acid sequence) and then isolates the protein, e.g., through lysing colonies of B. subtilis. and using chromatography to isolate the protein.
[0080] As an example of an experiment the system can use to produce a fitness label for molecule represented as an amino acid, the system can perform a "‘specific activity assay”, an experiment to determine a fitness label that corresponds to a kinetic rate, i.e., the maximum rate the molecule can catalyze a specific reaction. That is, the system 100 can place a concentration of a synthesized new' candidate molecule, e.g., synthesized as described above, into a solution with a concentration of fluorescent substrate that the candidate molecule will react with and produce fluorescence intensity (emitted light intensity) in proportion to the amount of substrate the new candidate molecules have reacted with. After which, the system 100 can use information of the fluorescence intensity over a time window to extract the kinetic activity of the new molecule.
[0081] After performing the plurality of optimization rounds 104A-D, and because of the way that the system 100 performs the optimization rounds, the system 100 has generated (“designed”) a variety' of diverse candidate molecules, i.e., a variety of candidate molecules that each have a unique amino acid sequence and / or candidate molecules that have amino acid sequences that are dissimilar to each other by one or more amino acids, that have improved fitness relative to the initial candidate molecule(s) that were received by the system 100. This diversity increases the likelihood that at least one of the highest- performing candidates (e.g., in terms of fitness) determined by the system 100 will be suitable for a real-world application.
[0082] The system 100 can determine the one or more new candidate molecules to provide as output 106 using any of a variety of techniques. Some example techniques include the system 100 selecting the new candidate molecule with the highest fitness label score, the system 100 selecting the top-N new candidate molecules with the highest fitness labels (where N is a system or user determined integer value), the system 100 selecting new candidates probabilistically (with new candidate molecules with higher fitness labels being more likely to be selected than those with lower fitness labels), and so on.
[0083] Thus, after performing the optimization rounds 104A-D, the system 100 provides, as output 106. one or more of the new candidate molecules generated for the plurality of optimization rounds 104A-D based on the respective fitness labels for the new candidate molecules. That is, providing, as output, one or more new candidate molecules refers to providing, as output, data that uniquely identifies the candidate molecule, e.g., that uniquely identifies the structure or design of the candidate molecule, e.g.. providing strings of codes that represent amino acid sequences of the candidate molecules.
[0084] For example, the system 100 can provide the one or more new candidate molecules for synthesis or can synthesize the one or more new candidate molecules 106 using any appropriate technique.
[0085] For example, the system 100 can provide, for synthesis, a fixed number of new candidate molecules generated across the optimization rounds 104A-D that have the highest fitness.
[0086] As another example, the system 100 can provide, for synthesis, each new candidate molecule generated across the optimization rounds that has at least a threshold fitness. As another example, the system 100 can select, for synthesis, a fixed number of new candidate molecules from a subset of the new candidate molecules that have at least the threshold fitness.
[0087] While FIG. 1 shows only four optimization rounds 104A-D and three molecule design techniques 108A-C with respective three sub-libraries 110A-C for round 104B, in practice the system 100 can include any number of optimization rounds and any number of different or similar molecule design techniques between or within rounds for each round.
[0088] FIG. 2 is a flow diagram of an example process 200 for providing new candidate molecules as output. For convenience, the process 200 will be described as being performed by a system of one or more computers located in one or more locations. For example, a molecule design system, e.g.. the molecule design 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 100.
[0089] As described above, the system optimizes the fitness of initial molecule(s) by providing as output one or more new candidate molecules (i.e., data that uniquely identifies the one or more new candidate molecules, e.g., that uniquely identifies the structure or design of the one or more new candidate molecules), where the output new candidate molecules generally perform a specific function and have an improved fitness (i.e., one or more target attributes are improved relative to the initial candidate molecule).
[0090] As described above, before generating output new candidate molecules, the system receives data identifying one or more initial candidate molecules that the system will optimize the fitness of.
[0091] For example, the system can receive data identifying an initial molecule that corresponds to a wild type protein, e.g., biological sequence, e.g., an amnio acid sequence, a codon sequence, DNA sequence, and so on, before optimizing the fitness of the protein.
[0092] As another example, the system can receive data identify ing both a molecule that corresponds to a wild type protein and many variants of the protein. That is, the system can receive, e.g., a set of biological sequences, where each sequence corresponds to the wild type or variant of the protein.
[0093] As a particular example, the system can receive data identifying initial molecules that are natural biological sequences of proteins that all perform a similar function. These initial proteins can be, e.g., natural variants such as homologs (e.g., orthologs, i.e., proteins of different species with a common ancestral gene, and paralogs, i.e., different proteins within the same species that perform the same function). After receiving data identifying one or more initial candidate molecules, the system performs the following.
[0094] At each of a sequence of optimization rounds, the system generates, using each molecule design technique of a diverse set of different molecule design techniques for the optimization round, a respective sub-library of new candidate molecules for the optimization round (step 202).
[0095] The molecule design techniques can be any of a variety of techniques that generate new candidate molecules. The variety of techniques may include molecular biology techniques and / or computational techniques. For example, especially when the optimization round is the first of the sequence of optimization rounds or is an optimization round used to “seed” the population of candidate molecules, such molecule design techniques include site- directed mutagenesis (e.g., hit recombination), DNA shuffling, chemical mutagenesis, and so on, which may be performed in an automated manner by the system.
[0096] As a particular example of a molecule design technique, the system can apply error- prone polymerase chain reaction (epPCR) to the initial candidate molecule(s) to generate new candidate molecules (‘’variants”).
[0097] As another example when the initial candidates are natural sequence variants (e g. homologs and paralogs), the system can use patterns in the alignment of the natural sequences of the molecule to generate variants as new candidate molecules. In other words, the system can use. e.g., natural homologs / paralogs to generate variants as new candidate molecules.
[0098] As a particular example, the system can apply “zero-shot sampling” to generate new candidate molecules. For example, by employing a variational autoencoder (VAE) with an encoder and decoder, e.g., based on the DeepSequence model (as described in DOI: 10. 1038 / s41592-018-0138-4), fit on alignments of natural homologs of initial candidate molecules, the system can sample novel biological sequences that correspond to variants of the protein as initial candidates. To be more precise, The VAE is a latent variable model with latent variable z. a prior distribution P(z), a conditional distribution P(x|z) over amino acid sequence x given by a 'decoder' neural network, and an approximate posterior distribution P(z | x) given by an 'encoder' neural network. To perform “zero-shot sampling” the system can repeatedly sample a latent variable from the posterior P(z | WT) (where WT denotes the wild type amino acid sequence) and then sample from P(x | z) to generate the initial candidates. The use of VAE for “zero-shot sampling”, as opposed to using random mutagenesis, allows for the generation of initial candidate using a probabilistic frame-work that increases the likelihood that the initial candidate molecules maintain their intended function while also being diverse among each other.
[0099] As another particular example, the system can fit an additive regression model to a dataset of variants to estimate the relationship between a sequence and its observed enrichment factor (i.e., a protein sequence activity relationships (ProSAR) model, e.g., a ProSAR model as described in DOI: 10. 1038 / nbtl286) to generate new candidate molecules. By using the parameters of the ProSAR model to estimate the effect of each possible single-point mutation on protein function, the system can generate new candidate molecules that will improve the fitness of the molecule.
[0100] As another particular example, the system can combine the use of the described example VAE and ProSAR models above to generate new candidate molecules. That is, the system can generate a plurality of new candidate molecules using a protein sequence activity relationship model given the wild type for the molecule, and then, the system can filter the plurality of candidate molecules to reject candidate molecules based on likelihoods for the candidate molecules determined under a variational auto-encoder neural network trained on natural molecules.
[0101] Generally, when the optimization round is not the first of the sequence of optimization rounds or the round used to “seed” the population of candidate molecules, the molecule design technique can make use of already generated candidate molecules, e g., the initial candidate molecules, new candidate molecules from preceding optimization rounds, or both, when generating new candidate molecules.
[0102] For example, the system can perform directed evolution or hit recombination as described above using a subset of the initial candidate molecules, new candidate molecules from preceding optimization rounds, or both.
[0103] As another example, the system can perform “zero-shot sampling”, additive “ProSAR” regression model sampling, or both, as described above, using a subset of the initial candidate molecules, new candidate molecules from preceding optimization rounds, or both to train the VAE and ProSar models.
[0104] As another example, the molecule design technique can use a machine learning model (other than VAE and ProSar models) to generate new candidate molecules. That is, the system can fit one or more machine learning models (to predict outputs, also known as quality scores, that characterizes predicted fitness of an input molecule) using already generated candidate molecules. The system can then perform one or more search optimizations using the machine learning model(s) to determine new candidate molecules. In other words, the system can perform a search optimization algorithm designed to systematically explore different input candidate molecules and observe how the machine learning model’s outputs change to determine the new input candidate molecules that optimize the output of the machine learning model.
[0105] In some cases, the predicted output is represented as a continuous value. That is the predicted output represents a quality score that can be represented as a continuous real number. For example, the predicted fitness of an input molecule may be its catalytic activity or reaction rate for a given reaction (e g., moles per liter per second (M / s)) and the reaction rate can span several orders of magnitude, e.g., extremely fast reactions occurring in fractions of a second to very slow reactions taking years or even longer.
[0106] In other cases, the predicted output is a discrete value. For example, an output can include a respective score (e.g., a logit value or probability value) for each of a plurality of fitness classes. The fitness classes may include a plurality of classes which qualitatively describe an attribute, such as fitness classes of “low”, “medium” or “high” for e.g., catalytic activity or reaction rate for a given reaction. In turn, a quality score can be generated from the respective score assigned to a highest scoring fitness class of the plurality of fitness classes. As a particular example, the system can generate the uality score representing the catalytic activity or reaction rate to be the assigned value of the fitness class (e.g., “low”, “medium”, or “high” activity) with the highest score. That is, the quality score is that of the fitness class with the highest respective score. So, for example, if the scores for the fitness classes were “low”:0.50, “medium”:0.30, “high”:0.20, then the fitness class “low” has the highest score of 0.50 and, in turn, the system generates the quality score to be “low”. As another example, if the scores for the fitness classes were “low”:20, “medium”:30, “high”: 50, then the fitness class “high” has the highest score of 50 and, in turn, the system generates the quality score to be “high”.
[0107] The machine learning model can be any of a variety of machine learning models. For example, the machine learning model can be a neural network or a deep neural network with any appropriate architecture in any appropriate configuration that processes an input molecule, i.e., data that represents the input molecule as one or more values, to generate predicted output that characterizes predicted fitness of the input molecule, including fully connected layers, convolutional layers, recurrent layers, attention-based layers, and so on, as is appropriate.
[0108] As another example, the machine learning model can be a multi-class logistic regression model. The multi-class logistic regression model can process the input molecule. i.e., data that represents the input molecule as one or more values, by calculating weighted sums of the values to generate scores for each of a plurality of fitness classes and applying the Softmax function to the scores to generate a probability over a plurality of fitness classes.
[0109] To select input candidate molecules as new candidate molecules the system can, e.g., fit a single machine learning model and perform a randomized local search with manyreplicates, where each local search trajectory starts by using a molecule that belongs to the set of already generated molecules and proceeds by varying the design of that molecule in search of new candidate molecules with a better fitness.
[0110] In some cases, the system fits an ensemble of machine learning models with different initial parameters on the same data and uses the ensemble of machine learning models to predict output that characterizes predicted fitness of an input molecule. For example, the system can average the predicted fitness of an input molecule over all fit model outputs.
[0111] In some cases, the system can perform more than one search optimization strategy to further improve the diversity of the input molecules used to determine new candidate molecules. In other words, the system can perform more than one search optimization and the entirety- of all these search optimization processes will explore more different input molecules than if the system only performed a single search optimization.
[0112] In some cases, the system can perform the search optimization over input molecules one modification at a time to avoid antagonist combinations of modifications so that the system can, e.g., avoid negative epistasis when generating new candidate molecules as amino acid sequences by vary ing only one amino acid in the sequence at a time.
[0113] When the system selects an input molecule as a new candidate molecule, the system can, e.g., select the input molecule according to if its predicted fitness exceeds a threshold, where the threshold may be defined as the best score of already generated molecules, a fixed value, or a value that varies according to a predetermined schedule, and so on.
[0114] Further details of generating a respective sub-library of new candidate molecules for the optimization round using a machine learning model are described below with reference to FIG. 3.
[0115] Further details of fitting machine learning model(s) are described below with reference to FIG. 4.
[0116] Generally, the sets of molecule design techniques are different across the plurality of optimization rounds. In some cases, the set of molecule design techniques at a later optimization round in the sequence of optimization rounds includes one or more molecule design techniques that are more computationally complex than the set of molecule design techniques at an earlier round.
[0117] For example, the system can use machine learning techniques as molecule design techniques for earlier optimization rounds that require fewer trainable parameters for its respective machine learning model relative to the machine learning models used in later rounds. For example, earlier optimization rounds can utilize a multi-class logistic regression model with 500 learnable parameters, while later optimization rounds can utilize a deep convolutional neural network with hundreds of thousands or more of learnable parameters.
[0118] Continuing with the description of providing new candidate molecules as output, the system generates, using the sub-libraries for the optimization round, a library for the optimization round that includes a plurality of new candidate molecules (step 204).
[0119] In some cases, to generate a sub-library for a molecule design technique, the system generates an initial set of new candidate molecules using the molecule design technique, divides the initial set of new candidate molecules into a plurality of groups based on a respective number of mutations for each of the initial set of new candidate molecules relative to a wild type for the molecule, and selects a respective specified number of new candidate molecules from each group. In other words, the system performs a stratified sampling across number of mutations of the initial candidate molecules of the sub-library to determine the sub-library before generating the library for the optimization round that includes a plurality of new candidate molecules from the sub-libraries.
[0120] In some cases, the respective specified number of new candidate molecules for each group follows a prescribed distribution over distances from the wild type.
[0121] For example, the system can group the new candidate molecules by the number of mutations from the w ild type and select the top-scoring (in terms of quality scores) members of each group, where the number selected per group follow s a prescribed distribution of distances from the wild type.
[0122] In some cases, the system constrains each of a set of mutations to not appear in more than a threshold number of new candidate molecules in the sub-library.
[0123] For example, the system could (i) sort the new candidate molecules by quality score in decreasing order; (ii) select the top candidate from the sorted list, and discard the candidate if any of its mutations appear more than M times in the pool of candidates selected so far; Otherwise, include it in the pool of selected candidates; and (iii) repeat (ii) until N candidates have been selected.
[0124] In some implementations, the system clips quality scores of new candidate molecules to not exceed a threshold quality score and selects a respective specified number of new candidate molecules from each group using the clipped quality scores.
[0125] For example, to increase diversity of the new candidate molecules, the system can clip quality scores such that all new candidate molecules with a quality score above some threshold are considered equally attractive within a given group and constrain each mutation to not appear in more than N variants in the library using a greedy algorithm.
[0126] The system obtains, for each of the new candidate molecules in the library, a respective fitness label that characterizes values for each of the one or more target attributes for the new candidate molecule (step 206).
[0127] In some cases, the system, for each of the optimization rounds, obtains the respective fitness labels for the new candidate molecules as a result of experiments performed on synthesized versions of the new candidate molecules. In other words, the system can synthesize the new candidate molecules, and then perform real-world experiments to determine real-world fitness as the fitness label for the new candidate molecules. The real- world experiments may be performed by the system automatically.
[0128] For example, for the case that the molecule of interest is a nuclease enzyme with fitness corresponding to nuclease activity, the system can use any of a variety real-world experiments to evaluate nuclease activity. For example, the system can use a fluorescencebased ultra-high-throughput platform. In particular, e.g., the system can transform variants into B. subtilis and individually encapsulate these into droplets; After protein expression (i.e., the synthesis of new candidate molecules that correspond to the variants), the system injects the nuclease substrate, a 20-mer dsDNA carrying a dye and a quencher, into the droplets. Then, when cleavage by the nuclease causes the dye and the quencher to separate, the system can process the increase in fluorescence of the droplet into a fitness label.
[0129] In addition, or as an alternative to performing real-world experiments to obtain fitness labels for a molecule of interest, the system may obtain fitness labels for a molecule of interest by searching one or more databases that include biological sequences and corresponding fitness data, such as the BRENDA, UniProt and / or the SABIO-RK databases.
[0130] The system, after performing the plurality of optimization rounds, provides, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules (step 208). That is, the system providing, as output, one or more new candidate molecules refers to providing, as output, data that uniquely identifies the candidate molecules, e.g., providing strings of codes that represent amino acid sequences.
[0131] The system can determine the one or more new candidate molecules to output at step 208 based on the respective fitness labels of the one or more new candidate molecules using any of a variety of techniques.
[0132] For example, the system can determine the new candidate molecules based on their respective fitness labels using a threshold. For example, the system can determine to output all new candidate molecules with respective fitness labels that exceed a threshold value. As another example, the system can determine to output all new candidate molecules with respective fitness labels that are within a specified threshold of the highest fitness label among the new candidates.
[0133] As another example, the system can determine to output the top-N new candidate molecules with the highest fitness labels.
[0134] As another example, the system can determine to output new candidate molecules probabilistically (i.e.. output new candidate molecules according to likelihood that is proportional to the new- candidate molecule fitness label, i.e., new candidate molecules with higher fitness labels being more likely to be outputted than those with low er fitness labels).
[0135] In some cases, the system provides the one or more new candidate molecules for synthesis. For example, the system can provide the biological sequences, e.g.. the amino acid sequences, corresponding to the one or more new candidate molecules.
[0136] In some cases, the system synthesizes the one or more new' candidate molecules. For example, the system can provide the amino acid sequences of the one or more new candidate molecules for synthesis to a laboratory protein synthesizer (e.g., Solid-Phase Peptide Synthesizer, Microwave-assisted peptide Synthesizer, Continuous flow solid-phase peptide Synthesizer, and so on). The laboratory protein synthesizer may be part of the system and the synthesis may be performed by the system automatically.
[0137] FIG. 3 is a flow diagram of an example process 300 for generating a respective sublibrary of new' candidate molecules for the optimization round using a machine learning model as the molecule design technique. For convenience, the process 300 will be described as being performed by a system of one or more computers located in one or more locations. For example, a molecule design system, e.g.. the molecule design 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 100. The system obtains training data for the particular optimization round, the training data including, for each of a plurality of candidate molecules, a respective fitness label characterizing values for each of the one or more target attributes for the candidate molecule (step 302).
[0138] Generally, the training data includes data of already generated candidate molecules, e.g., the initial candidate molecules, new candidate molecules from preceding optimization rounds, or both, in a format that a machine learning model can process. For example, the data of a candidate molecule can include the biological sequence, e.g., amino acid sequence, that corresponds to the candidate molecule as a sequence or set of numbers, vectors, or embeddings that the machine learning model can process. The training data may also include data obtained from databases that include biological sequences and corresponding fitness data, such as the BRENDA, UniProt and / or the SABIO-RK databases. The data obtained from databases includes a plurality a molecules and a respective fitness label characterizing values for each of the one or more target attributes for the molecule
[0139] The system fits a machine learning model on the training data, wherein the machine learning model is configured to receive data characterizing an input molecule and to process the data characterizing the input molecule to generate a predicted output that characterizes a predicted fitness of the input molecule (step 304).
[0140] As described earlier, the machine learning model can be any of a variety of models, including deep neural networks. For example, the deep neural network can be a convolutional neural network, e g., a convolutional neural network that processes the biological sequence to generate a quality score.
[0141] Prior to using the machine learning model to generate predicted output, the system or another training system fits the machine learning model on training data.
[0142] As described earlier, the system or another training system can use already generated candidate molecules (and corresponding fitness labels) as data to fit the machine learning model.
[0143] In some cases, the system first pre-trains the machine learning model and then finetunes the machine learning model on training data.
[0144] Further details of fitting machine learning model(s) are described below with reference to FIG. 4.
[0145] The system generates, using the machine learning model, the respective sub-library for the particular molecule design technique (step 306). As described earlier, the system can use machine learning models for a design technique to select input candidate molecules as new candidate molecules according to the output, or quality score, of the input candidate molecule to generate the respective sub-library. That is, the system performs a search technique (i. e. , search optimization) guided by quality scores generated from predicted outputs generated by the machine learning model to identify an initial set of candidate new molecules for the sub-library.
[0146] In some cases, the search technique the system uses is a random search technique. That is. e.g., for a molecule represented as an amino acid sequence, the system can search new candidate molecules by randomly mutating the sequence. Additionally, in some cases, the random mutations to the sequence can be a set number changes.
[0147] Generally, the search technique can be any technique that explores possible candidate new molecules until optimal (or local optimal) input molecule(s) are found according to the qualify scores of these molecules generated by the machine learning model. Some other examples of search techniques include hill climbing, simulated annealing, and Tabu search.
[0148] FIG. 4 is a flow diagram of an example process 400 for fitting a machine learning model. 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, a molecule design system, e.g., the molecule design 100 of FIG. 1, appropriately programmed in accordance with this specification, can perform the process 100.
[0149] The system divides the training data into a training set and a test set (step 402). As described earlier, generally, the training data includes already generated candidate molecules and corresponding fitness labels that the system will use to fit the machine learning model.
[0150] As described earlier, the fitness labels generally are one or more target attributes of the molecule. The one or more target attributes can be represented as continuous real values or discrete values.
[0151] For example, a target attribute that represents an enz me activity can be a continuous value, but the target attribute can also be discrete values that represent multiple activity levels.
[0152] Generally, the training set is the data that the system will use to fit candidate machine learning models such that the machine learning models can glean underlying patterns and relationships between an input molecule and its respective fitness label.
[0153] On the other hand, the test set serves the purpose of providing a way to evaluate the performance of the fit candidate machine learning models. That is, the fit candidate machine learning models will predict outputs for input molecules included in the test data, and the system will evaluate how well the predicted outputs represent the respective fitness labels of the input molecule in the test set.
[0154] In some cases, the training set includes each candidate molecule having fewer than a threshold number of mutations relative to a wild ty pe for the molecule, and the test set includes each candidate molecule having at least the threshold number of mutations relative to the wild type for the molecule. Dividing the training data in such a manner has the advantage of facilitating the evaluation of candidate models that extrapolate well. That is, evaluating the performance of a machine learning model using a test set that includes input molecules with equal or more mutations relative to the training set that the machine learning fits to allows the system to verify if the machine learning model extrapolates well by verifying that the performance of the machine learning model on the test set is satisfactory. The extrapolation capabilities of the machine learning models depended on the models' ability to infer epistasis, or non-additive effects of multiple mutations on enzy me activity, where epistasis can be learned from non-additive interactions observed in the experimental data, from correlations between residues in related natural homologs, or from combining both. When the machine learning model is a deep convolutional neural network, the machine learning model can infer epistasis well.
[0155] The system fits a plurality of candidate machine learning models on the training set, each candidate machine learning model having a respective set of hyperparameters (step 404).
[0156] In some cases, the system determines the sets of hyperparameters as every' combination of values from a grid of possible hyperparameter values. That is, a grid of possible hyperparameter values define a range or set of values each hyperparameter value can be, and the system fits a candidate machine learning model for each possible combination of values.
[0157] In other cases, instead of using the grid of possible hyperparameters to determine the hyperparameter values for each candidate machine learning model, the system can use an evolutionary algorithm based method, or Bayesian optimization method to determine the hyperparameters.
[0158] The hyperparameter can be any of a variety' of hyperparameters appropriate for the machine learning model. For example, the hyperparameters can correspond to aspects of the machine learning model architecture or aspects of fitting of the machine learning model. For example, when the machine learning model is a deep convolutional neural network, the hyperparameters can include the training batch size, number of epochs for training, learning rate, dropout rate, number of convolutional layers, and so on.
[0159] As another example, when the machine learning model is a multi-class logistic regression model, the hyperparameters can include class weights, choices for a penalty7term (e.g., L2-norm, LI -norm, or both), scalar value choice to scale the penalty term, and so on.
[0160] Generally, the system or another training system fits each of the candidate machine learning models by repeatedly updating the learnable parameters of the model using the training set of the system. That is, the system can repeatedly perform the following described example process using the input molecules and their respective fitness labels to fit a candidate model from scratch, i.e., train from randomly initialized parameters, or finetune, i.e., further train.
[0161] The system obtains the training set which includes input molecules and their respective fitness labels as described above.
[0162] The system processes the input molecule and generates a respective predicted fitness label.
[0163] That is, the system generates predictions for one or more target attributes that make up the fitness label or quality7score for each input molecule using the candidate machine learning model.
[0164] The system evaluates an objective function using the predicted fitness label for each input molecule.
[0165] The objective function can include a loss for each input molecule and any additional regularization terms to improve the machine learning model generalization.
[0166] One example loss function to compute the loss for an input molecule is the squared error loss function associated with the predicted fitness label of the input molecule and respective fitness label that are continuous real numbers. More specifically, for this example, the squared error loss is the square of the difference of the predicted fitness label with the respective true fitness label. For this example, an example objective function can be the mean squared error, i.e., the mean of the squared error loss for all input molecules in the training set.
[0167] Another example loss function to compute the loss for an input molecule is the cross-entropy loss function associated with the predicted fitness label of the input molecule and respective fitness label that are discrete class labels. More specifically7, for this example, the cross-entropy loss is the difference of the predicted multi-class distribution with the respective true multi -class labels. For this example, an example objective function can be the mean cross entropy loss, i.e., the mean of the cross-entropy loss for all input molecules in the training set.
[0168] The system then updates the candidate model trainable parameters to optimize the objective function.
[0169] The system can update the candidate model trainable parameters to optimize the objective in any of variety of ways, e.g., gradient based methods.
[0170] For example, the system can optimize the objective function by minimizing the loss of one or more training input molecules described above using any of a variety of gradient descent techniques (e.g., batch gradient descent, stochastic gradient descent, or mini-batch gradient descent) that include the use of a backpropagation technique to estimate the gradient of the loss with respect to model learnable parameters and to update the learnable parameters accordingly.
[0171] Generally, the system repeats the above steps until one or more criteria are satisfied (e.g., the system performs a pre-determined number of iterations, the updates to the learning parameters no longer exceed a pre-determined magnitude of change, a metric regarding a validation dataset exceeds a pre-determined value, and so on).
[0172] Continuing with the description of fitting a machine learning model, the system selects one of the candidate learning models based on a performance of the candidate machine learning models on the test set (step 406).
[0173] Generally, the system selects the candidate machine learning model with the ‘best’ performance on the test set, where what is ‘best’ depends on the how the system evaluates the performance.
[0174] For example, the system can evaluate the performance of the candidate machine learning models on the test set to be the loss over the test set. That is, the same loss function used to fit the candidate models can be used to evaluate the performance of the candidate models on the test set, and the system can select the candidate machine learning model with the lowest average loss.
[0175] In some cases, fitting the machine learning model further includes re-fitting the selected candidate machine learning model on the training set and the test set. That is, after the system selects the candidate machine learning model, the system retrains the candidate machine leaning model using the training set and test set input molecules and respective fitness labels while also keeping the hyperparameters of the selected candidate machine learning model static. FIG. 5 is an example 500 of the performance of the described techniques.
[0176] More specifically, example 500 shows the performance of the described techniques relative to other common techniques for optimizing the fitness of a biofilm-degrading nuclease molecule. The top-performing new candidate molecules (“variants”) from each round of optimization were synthesized, purified, and assessed for nuclease activity at four enzyme concentrations (i.e., the fitness label experimentally determined from the synthesized molecules), normalized by the activity of the wildtype molecule (the initial candidate molecule). The column labels of example 500 refer to the techniques to optimize the fitness of the biofilm-degrading nuclease (NucB) molecule. The techniques are: WT referring to ‘wildtype’ (i.e., the baseline initial candidate molecule to compare fitness to). epPCR (referring to ‘error prone polymerase chain reaction’ [i.e., optimization using random mutations]), ML2 (referring to the described techniques with one round of optimization starting from the new candidates of epPCR), DE3 (referring to the conventional technique of directed evolution with two rounds of optimization starting from the new candidates of epPCR), and ML3 (referring to the described techniques with two rounds of optimization starting from the new candidates of epPCR). The y-axis 'Nuclease Activity Fold-Improvement’ refers to the fitness of the molecule, where higher values are better fitness.
[0177] The ML2 technique includes the use of a single initial optimization round to ‘seed’ the population of candidate molecules, i.e., the single optimization round of epPCR, i.e., the baseline epPCR described above. The first and only round of optimization for the ML2 includes just one molecule design technique of search optimization using an ensemble of machine learning models, where each machine learning model is a convolutional neural network (CNN) configured with 3 convolutional layers containing 32 width-5 filters, two fully -connected layers of width 64 and trained using data of the seed candidate molecules to generate predictions of continuous-valued transformation of enrichment factors (i.e., the experimentally determined fitness labels). The ensemble of machine learning models predicts the fitness label as the average predicted fitness label of this ensemble.
[0178] The ML3 technique also includes a single initial optimization round to ‘seed’ the population of candidate molecules, i.e., the single optimization round of epPCR, i.e., the baseline epPCR described above. The molecule design techniques of the first optimization round includes various search optimization strategies that each utilize an ensemble of CNN (i.e., the previously described ensemble of CNN) to make predictions of fitness labels, and hit recombination. The second optimization round for ML3 include just one molecule design technique of search optimization using an ensemble of machine learning models, and the ensemble of machine learning models also use a CNN configured similarly to the previously described CNN but uses a single fully-connected layer and is trained using data of the seed candidate molecules and molecules of any preceding optimization rounds to predict discrete fitness labels.
[0179] In particular, example 500 shows that the best enzyme discovered (i.e., the new candidate molecule with the highest optimized fitness) was generated by two optimization rounds using the described techniques (ML3), and it significantly outperforms the best enzyme discovered using two optimization rounds of DE (p<0.05, permutation test). The best enzyme discovered by one optimization round of the described techniques (ML2) also outperforms the best enzyme discovered using two optimization rounds of DE. After three optimization rounds, that includes ~23K variants, ML3 discovered a high-activity enzyme (A63P, A73R, D74H, I84Y) with ~19 fold improved activity that outperforms the best DE3 enzy me (A63S, D64S, A73R), with ~12 fold improved activity. FIG. 6 is another example 600 of the performance of the described techniques.
[0180] More specifically, example 600 shows the performance of the described technique for optimizing the fitness of a biofilm-degrading nuclease molecule relative to other conventional techniques (specifically, it compares the described techniques using four rounds of optimization to conventional techniques of using hit recombination for four rounds of optimization).
[0181] Before the four optimization rounds there is also a single initial optimization round to ‘seed’ the population of candidate molecules, i.e., the single optimization round of epPCR, i.e., the baseline epPCR described above. The four optimization rounds are as follows. The first optimization round is the same as that described for the first optimization round of ML3 described above. For the second through fourth optimization rounds those molecule design techniques that utilize a machine learning model also use a CNN configured similarly to the previously described CNN that uses a single fully -connected layer to predict discrete fitness labels and is trained using data of the seed candidate molecules and molecules of any preceding optimization rounds before the round of its current use. The molecule design techniques of the second optimization round to generate new candidate molecules include the following: hit recombination and various search optimization strategies that each utilize an ensemble of CNN (i.e., the previously described ensemble of CNN) to make predictions of fitness labels. The molecule design techniques of the third optimization round include the following: hit recombination, and various search optimization strategies that each utilize an ensemble of machine learning models to make predictions of fitness labels, ProSar technique, as described above, trained using data of the seed candidate molecules and molecules of any preceding optimization rounds, and a combined ProSar and VAE technique as described above. The molecule design techniques of the fourth optimization round to generate new candidate molecules include the same techniques as the third, but updated training data that includes the candidate molecule generated during the third optimization for techniques that require training data.
[0182] In particular, example 602A shows the hit rate (i.e., the fraction of new candidate molecules that meet criteria for real world applications according to the fitness label or one or more target attributes of the new candidate molecules) and “# design” (i.e., number of new candidate molecules) per groups of new candidate molecules, which are grouped according to the number of mutations new candidate molecules have relative to the initial candidate molecules (the wildtype).
[0183] The described techniques (ML) have a far higher hit rate than hit-recombination (HR) for improving activity above the level of A73R, the best variant observed in the epPCR data described in example 500. Notably, the described techniques extend new candidate molecules out to 15 mutations from the NucB wild type, while still exceeding this threshold. Additionally, the described techniques generated most of its new candidate molecules with more than 9 mutations. While hit recombination, the conventional technique, generated most of its new candidate molecules with less than 9 mutations.
[0184] Also, example 602B shows the diversity of the new generated molecules for both the described techniques (ML) and conventional techniques (HR) by clustering hits by sequence similarity and counting the number of clusters. Hits are clustered by sequence similarity. The x-axis refers to the cluster diameter defined as the maximum hamming distance between two sequences in the same cluster. The y-axis is a count of the number sequences belonging to the cluster. Example 602B illustrates that the new candidate molecules of the descried techniques (ML) are substantially more diverse than those of the conventional techniques (HR). The diversity of the new candidate molecules of the described techniques was driven by the improved hit-rate of the described techniques compared to conventional techniques.
[0185] Optionally, a molecule that is a result of a process as described herein can be afterwards evaluated in silico, or after physical synthesis, in vitro (e.g. in a cell culture or tissue model), or in vivo. For example, the molecule can be evaluated for useful properties such as a degree of biological effect (e.g. therapeutic, catalytic, or other effect), e.g.. facilitating a biological mechanism or directly or indirectly inhibiting a biological disease mechanism, and so forth. Such biological effects can apply to organisms including humans, animals, plants, and microorganisms.
[0186] In this specification, the term "configured" is used in relation to computing systems and environments, as well as computer program components. A computing system or environment is considered "configured" to perform specific operations or actions when it possesses the necessary software, firmware, hardware, or a combination thereof, enabling it to carry out those operations or actions during operation. For instance, configuring a system might involve installing a software library with specific algorithms, updating firmware with new instructions for handling data, or adding a hardware component for enhanced processing capabilities. Similarly, one or more computer programs are "configured" to perform particular operations or actions when they contain instructions that, upon execution by a computing device or hardware, cause the device to perform those intended operations or actions.
[0187] The embodiments and functional operations described in this specification can be implemented in various forms, including digital electronic circuitry, software, firmware, computer hardware (encompassing the disclosed structures and their structural equivalents), or any combination thereof. The subject matter can be realized as one or more computer programs, essentially modules of computer program instructions encoded on a tangible non- transitory storage medium for execution by or to control the operation of a computing device or hardware. The storage medium can be a storage device such as a hard drive or solid-state drive (SSD), a storage medium, a random or serial access memory device, or a combination of these. Additionally or alternatively, the program instructions can be encoded on a transmitted signal, such as a machine-generated electrical, optical, or electromagnetic signal, designed to carry information for transmission to a receiving device or system for execution by a computing device or hardw are. Furthermore, implementations may leverage emerging technologies like quantum computing or neuromorphic computing for specific applications, and may be deployed in distributed or cloud-based environments where components reside on different machines or within a cloud infrastructure.
[0188] The term "computing device or hardware" refers to the physical components involved in data processing and encompasses all types of devices and machines used for this purpose. Examples include processors or processing units, computers, multiple processors or computers working together, graphics processing units (GPUs), tensor processing units (TPUs), and specialized processing hardware such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). In addition to hardware, a computing device or hardware may also include code that creates an execution environment for computer programs. This code can take the form of processor firmware, a protocol stack, a database management system, an operating system, or a combination of these elements. Embodiments may particularly benefit from utilizing the parallel processing capabilities of GPUs, in a General-Purpose computing on Graphics Processing Units (GPGPU) context, where code specifically designed for GPU execution, often called kernels or shaders, is employed. Similarly, TPUs excel at running optimized tensor operations crucial for many machine learning algorithms. By leveraging these accelerators and their specialized programming models, the system can achieve significant speedups and efficiency gains for tasks involving artificial intelligence and machine learning, particularly in areas such as computer vision, natural language processing, and robotics.
[0189] A computer program, also referred to as software, an application, a module, a script, code, or simply a program, can be written in any programming language, including compiled or interpreted languages, and declarative or procedural languages. It can be deployed in various forms, such as a standalone program, a module, a component, a subroutine, or any other unit suitable for use within a computing environment. A program may or may not correspond to a single file in a file system and can be stored in various ways. This includes being embedded within a file containing other programs or data (e.g., scripts within a markup language document), residing in a dedicated file, or distributed across multiple coordinated files (e.g., files storing modules, subprograms, or code segments). A computer program can be executed on a single computer or across multiple computers, whether located at a single site or distributed across multiple sites and interconnected through a data communication network. The specific implementation of the computer programs may involve a combination of traditional programming languages and specialized languages or libraries designed for GPGPU programming or TPU utilization, depending on the chosen hardware platform and desired performance characteristics.
[0190] In this specification, the term "engine" broadly refers to a software-based system, subsystem, or process designed to perform one or more specific functions. An engine is typically implemented as one or more software modules or components installed on one or more computers, which can be located at a single site or distributed across multiple locations. In some instances, one or more dedicated computers may be used for a particular engine, while in other cases, multiple engines may operate concurrently on the same one or more computers. Examples of engine functions within the context of Al and machine learning could include data pre-processing and cleaning, feature engineering and extraction, model training and optimization, inference and prediction generation, and post-processing of results. The specific design and implementation of engines will depend on the overall architecture and the distribution of computational tasks across various hardware components, including CPUs, GPUs, TPUs, and other specialized processors.
[0191] The processes and logic flows described in this specification can be executed by one or more programmable computers running one or more computer programs to perform functions by operating on input data and generating output. Additionally, graphics processing units (GPUs) and tensor processing units (TPUs) can be utilized to enable concurrent execution of aspects of these processes and logic flows, significantly accelerating performance. This approach offers significant advantages for computationally intensive tasks often found in Al and machine learning applications, such as matrix multiplications, convolutions, and other operations that exhibit a high degree of parallelism. By leveraging the parallel processing capabilities of GPUs and TPUs, significant speedups and efficiency gains compared to relying solely on CPUs can be achieved. Alternatively or in combination with programmable computers and specialized processors, these processes and logic flows can also be implemented using specialized processing hardware, such as field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs), for even greater performance or energy efficiency in specific use cases.
[0192] Computers capable of executing a computer program can be based on general- purpose microprocessors, special-purpose microprocessors, or a combination of both. They can also utilize any other type of central processing unit (CPU). Additionally, graphics processing units (GPUs), tensor processing units (TPUs), and other machine learning accelerators can be employed to enhance performance, particularly for tasks involving artificial intelligence and machine learning. These accelerators often work in conjunction with CPUs, handling specialized computations while the CPU manages overall system operations and other tasks. Typically, a CPU receives instructions and data from read-only memory (ROM), random access memory (RAM), or both. The elements of a computer include a CPU for executing instructions and one or more memory devices for storing instructions and data. The specific configuration of processing units and memory will depend on factors like the complexity of the Al model, the volume of data being processed, and the desired performance and latency requirements. Embodiments can be implemented on a wide range of computing platforms, from small embedded devices with limited resources to large-scale data center systems with high-performance computing capabilities. The system may include storage devices like hard drives, SSDs, or flash memory for persistent data storage.
[0193] Computer-readable media suitable for storing computer program instructions and data encompass all forms of non-volatile memory, media, and memory devices. Examples include semiconductor memory' devices such as read-only memory' (ROM), solid-state drives (SSDs), and flash memory devices; hard disk drives (HDDs); optical media; and optical discs such as CDs, DVDs, and Blu-ray discs. The specific type of computer-readable media used will depend on factors such as the size of the data, access speed requirements, cost considerations, and the desired level of portability' or permanence.
[0194] To facilitate user interaction, embodiments of the subject matter described in this specification can be implemented on a computing device equipped with a display device, such as a liquid crystal display (LCD) or an organic light-emitting diode (OLED) display, for presenting information to the user. Input can be provided by the user through various means, including a keyboard), touchscreens, voice commands, gesture recognition, or other input modalities depending on the specific device and application. Additional input methods can include acoustic, speech, or tactile input, while feedback to the user can take the form of visual, auditory, or tactile feedback. Furthermore, computers can interact with users by exchanging documents with a user's device or application. This can involve sending web content or data in response to requests or sending and receiving text messages or other forms of messages through mobile devices or messaging platforms. The selection of input and output modalities will depend on the specific application and the desired form of user interaction.
[0195] Machine learning models can be implemented and deployed using machine learning frameworks, such as TensorFlow or JAX. These frameworks offer comprehensive tools and libraries that facilitate the development, training, and deployment of machine learning models.
[0196] Embodiments of the subject matter described in this specification can be implemented within a computing system comprising one or more components, depending on the specific application and requirements. These may include a back-end component, such as a back-end server or cloud-based infrastructure; an optional middleware component, such as a middleware server or application programming interface (API), to facilitate communication and data exchange; and a front-end component, such as a client device with a user interface, a web browser, or an app, through which a user can interact with the implemented subject matter. For instance, the described functionality could be implemented solely on a client device (e.g., for on-device machine learning) or deployed as a combination of front-end and back-end components for more complex applications. These components, when present, can be interconnected using any form or medium of digital data communication, such as a communication network like a local area network (LAN) or a wide area network (WAN) including the Internet. The specific system architecture and choice of components will depend on factors such as the scale of the application, the need for real-time processing, data security requirements, and the desired user experience.
[0197] The computing system can include clients and servers that may be geographically separated and interact through a communication network. The specific type of network, such as a local area network (LAN), a wide area network (WAN), or the Internet, will depend on the reach and scale of the application. The client-server relationship is established through computer programs running on the respective computers and designed to communicate with each other using appropriate protocols. These protocols may include HTTP, TCP / IP, or other specialized protocols depending on the nature of the data being exchanged and the security requirements of the system. In certain embodiments, a server transmits data or instructions to a user's device, such as a computer, smartphone, or tablet, acting as a client. The client device can then process the received information, display results to the user, and potentially send data or feedback back to the server for further processing or storage. This allows for dynamic interactions between the user and the system, enabling a wide range of applications and functionalities.
[0198] 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.
[0199] 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.
[0200] 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.
[0201] What is claimed is:
Claims
CLAIMS1. A method performed by one or more computers and for optimizing a fitness of a molecule, wherein the fitness of the molecule is based on respective values for each of one or more target attributes of the molecule, and wherein the method comprises: at each of a sequence of optimization rounds: generating, using each molecule design technique of a diverse set of different molecule design techniques for the optimization round, a respective sub-library of new candidate molecules for the optimization round; generating, using the sub-libraries for the optimization round, a library for the optimization round that comprises a plurality of new candidate molecules; and obtaining, for each of the new candidate molecules in the library, a respective fitness label that characterizes values for each of the one or more target attributes for the new candidate molecule; and after performing the plurality of optimization rounds, providing, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules.
2. The method of claim 1, wherein the molecule is a protein, and wherein the one or more target attributes comprise physical attributes of the protein.
3. The method of claim 2, wherein the physical attributes of the protein comprise one or more attributes characterizing one or more of stability’, binding affinity, or catalytic activity of the protein.
4. The method of claim 2 or claim 3, wherein the molecule is an enzyme.
5. The method of claim 4, wherein the one or more target attributes comprise one or more of a catalytic activity of the enzyme, a thermostability of the enzyme, or a stereoselectivity of the enzyme.
6. The method of any preceding claim, wherein, for each of the optimization rounds, the respective fitness labels for the new candidate molecules are obtained as a result of experiments performed on synthesized versions of the new candidate molecules.
7. The method of any preceding claim, wherein generating, using each molecule design technique of a diverse set of different molecule design techniques, a respective sub-library of new candidate molecules for the optimization round comprises, for a particular molecule design technique at a particular optimization round: obtaining training data for the particular optimization round, the training data comprising, for each of a plurality of candidate molecules, a respective fitness label characterizing values for each of the one or more target attributes for the candidate molecule; fitting a machine learning model on the training data, wherein the machine learning model is configured to receive data characterizing an input molecule and to process the data characterizing the input molecule to generate a predicted output that characterizes a predicted fitness of the input molecule; and generating, using the machine learning model, the respective sub-library for the particular molecule design technique.
8. The method of claim 7, wherein the training data for the particular optimization round comprises new candidate molecules generated during the preceding optimization rounds.
9. The method of any one of claims 7 or 8, wherein fitting the machine learning model comprises: dividing the training data into a training set and a test set; fitting a plurality of candidate machine learning models on the training set, each candidate machine learning model having a respective set of hyperparameters; and selecting one of the candidate learning models based on a performance of the candidate machine learning models on the test set.
10. The method of claim 9. wherein, fitting the machine learning model further comprises: re-fitting the selected candidate machine learning model on the training set and the test set.
11. The method of claim 9 or 10, wherein the training set comprises each candidate molecule having fewer than a threshold number of mutations relative to a wild type for the molecule and the test set comprises each candidate molecule having at least the threshold number of mutations relative to the wild type for the molecule.
12. The method of any one of claims 7-11, wherein generating, using the machine learning model, the respective sub-library for the particular molecule design technique comprises: performing a search technique guided by quality7scores generated from predicted outputs generated by the machine learning model to identify an initial set of candidate new molecules.
13. The method of claim 12, wherein the search technique is a random search technique.
14. The method of claim 12 or 13, wherein each predicted output comprises a respective score for each of a plurality7of fitness classes, and wherein the quality scores are generated from predicted outputs generated from the respective score assigned to a highest fitness class of the plurality7of fitness classes.
15. The method of any preceding claim, wherein generating a respective sub-library of using each molecule design technique comprises: generating an initial set of candidate new molecules using the molecule design technique; dividing the initial set of candidate new molecules into a plurality of groups based on a respective number of mutations for each of the initial set of candidate new molecules relative to a wild type for the molecule; and selecting a respective specified number of candidate new molecules from each group.
16. The method of claim 15, wherein the respective specified number of candidate new modules for each group follows a prescribed distribution over distances from the wild type.
17. The method of claim 1 or 16, wherein selecting a respective specified number of candidate new molecules from each group comprises: constraining each of a set of mutations to not appear in more than a threshold number of candidate molecules in the sub-librarv.
18. The method of any one of claims 15-17, wherein selecting a respective specified number of candidate new molecules from each group comprises: clipping quality scores to not exceed a threshold quality score; and selecting the respective specified number of candidate new molecules from each group using the clipped quality scores.
19. The method of any preceding claim, wherein generating a respective sub-hbrary of new candidate molecules comprises, for a particular optimization round and for a particular molecule design technique: generating a plurality of candidate molecules using a protein sequence activity relationship model given the wild type for the molecule; and filtering the plurality of candidate molecules to reject candidate molecules based on likelihoods for the candidate molecules under a variational auto-encoder (VAE) neural network trained on natural molecules.
20. The method of any preceding claim, wherein the sets of molecule design techniques are different across the plurality of optimization rounds.
21. The method of claim 20, wherein the set of molecule design techniques at a later optimization round in the sequence comprises one or more molecule design techniques that are more computationally complex than the set of molecule design techniques at an earlier round.
22. The method of any preceding claim, wherein for a particular optimization round, the set of molecule design techniques comprises one or more molecule design techniques that generate candidate molecules using one or more deep neural networks.
23. The method of claim 22, wherein the one or more deep neural networks comprise a convolutional neural network.
24. The method of any preceding claim, wherein the diverse set of molecule design techniques for the optimization round have been selected based on a diversity of candidate molecules proposed by the molecule design techniques.
25. The method of any preceding claim, wherein after performing the plurality' of optimization rounds, providing, as output, one or more of the new candidate molecules generated for the plurality of optimization rounds based on the respective fitness labels for the new candidate molecules comprises: providing the one or more new candidate molecules for synthesis.
26. The method of any preceding claim, wherein after performing the plurality of optimization rounds, providing, as output, one or more of the new candidate molecules generated for the plurality' of optimization rounds based on the respective fitness labels for the new candidate molecules comprises: synthesizing the one or more new candidate molecules.
27. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform the operations of the respective method of any one of claims 1-26.
28. A computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform the operations of the respective method of any one of claims 1-26.
29. A molecule having a design that has been generated by performing the operations of the respective method of any one of claims 1-26.
Citation Information
Patent Citations
Method and apparatus using machine learning for evolutionary data-driven design of proteins and other sequence defined biomolecules
US20220348903A1
Multiparametric discovery and optimization platform
US20230154562A1