Generation of Organic Synthesis Procedures from Simplified Molecular Input Line-Entry System Reactions
Patent Information
- Application Number
- JP2023509391
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-18
- Filing Date
- 2021-08-09
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2041-08-09
Smart Images

Figure 0007643817000002 
Figure 0007643817000003 
Figure 0007643817000004
Abstract
Description
[Technical field]
[0001] The present invention relates generally to a method for generating organic synthetic procedures, and more particularly to a method for generating organic synthetic procedures from a simplified molecular-input line-entry system (hereinafter "SMILES"), and further to a system and computer program product for generating organic synthetic procedures from a simplified molecular-input line-entry system (hereinafter "SMILES"). Summary of the Invention
[0002] According to one aspect of the present invention, a computer-implemented method for generating an organic synthesis procedure from Simplified Molecular Input Line Entry System (hereinafter "SMILES") strings is provided. The method can include receiving a plurality of SMILES strings, a first portion of which describes a desired chemical product and a second remaining portion of which describes necessary reactants, and predicting procedural steps for an organic synthesis procedure to produce the desired chemical product by a deep machine learning model system trained using as training data the sets of SMILES strings describing each desired chemical product, necessary reactants, and associated procedural steps. In that regard, the sets can be extracted from a corpus of associated chemical literature. The predicted procedural steps are human readable.
[0003] The method may further include receiving a modification signal for a modification of the predicted procedural step, and storing the received plurality of simplified molecular input line entry system strings, the predicted procedural steps, and the modification of the predicted procedural steps.
[0004] According to another aspect of the present invention, a system for generating an organic synthesis procedure from a simplified molecular input line entry system string can be provided. The system can include a first receiving means adapted to receive a plurality of SMILES strings, a first portion of which describes a desired chemical product and a second remaining portion of which describes required reactants, and a predicting means adapted to predict procedural steps for an organic synthesis procedure for producing the desired chemical product by a deep machine learning model system trained using as training data a set of SMILES strings describing each desired chemical product, required reactants, and associated procedural steps. In that regard, the set can be extracted from a corpus of associated chemical literature. The predicted procedural steps can be human readable.
[0005] The system may further include a second receiving means adapted to receive a correction signal for a modification of the predicted procedural step, and a first storage means adapted to store the received plurality of simplified molecular input line entry system strings, the predicted procedural steps, and the modification of the predicted procedural steps.
[0006] The proposed computer-implemented methods and associated systems for generating organic synthetic procedures from multiple SMILES strings may provide numerous advantages, technical effects, contributions or improvements, or combinations thereof.
[0007] The described methods and systems can be addressed to the problem of generating sequences of commands that are understandable by humans and in a structured format, and further, potentially after transformation, by computer systems coupled to chemical robots that can execute these commands, potentially automating the process of performing chemical synthesis while allowing human oversight.
[0008] This can be achieved by providing a properly trained machine learning model with the molecules involved in the reaction, particularly the reaction products and required reactants, in a common chemical format, such as SMILES, and then receiving the human understandable actions, i.e., procedural steps or recipes, required to carry out the production of the chemical product. The predicted actions may be presented to a human expert or supervisor for correction and validation, and can then be stored in a data storage as computer structured technical data, e.g., JSON (JavaScript Object Notation), YAML ("YAML Ain't Markup Language"), Protobuf (Protocol Buffers) serialization, from where it can be picked up for execution by a robotic array for the chemical reactions that produce the requested chemical product.
[0009] A trained artificial intelligence system, i.e., machine learning (ML) system, can help interpret SMILES strings into possible and / or optimal sequences of processing steps based on a corpus, i.e., associated chemical documentation, i.e., the body of chemical documentation from the literature, in which combinations of SMILES strings describing a particular chemical product and associated recommended procedural steps for the synthesis of the desired chemical product may be described. Machine learning systems can be used to predict sequences of procedural steps even when a direct correspondence between a particular set of SMILES strings and all necessary procedural steps has not been described.
[0010] The sources of training data for ML systems can be numerous. Chemical reaction procedures have been published for many years in journals, textbooks, scientific literature, conference papers, private research databases via the Internet, and patent literature. Training data can be prepared manually for ML systems or automatically, i.e., collecting SMILES strings with associated reaction procedures. For example, the Beilstein database, the Reaxys database containing over 100 million chemicals, over 45 million chemical reactions, and over 500 million experimental facts, the Scopus database by Elsevier, the ChemSpider database by the Royal Society of Chemistry, the SciFinder database by Chemical Abstracts Service (CAS), and the Scientific and Technical Information Network (STN International by CAS), to name a few sources. The Beilstein database is available through Reaxys®. Reaxys® is a registered trademark of Elsevier Properties SA.
[0011] However, even with the amount of information currently available to scientists through chemical databases, for example, manually generating new drugs is impractical, extremely time-consuming and expensive.
[0012] Thus, the proposed method and associated system may represent an effective and elegant way to bridge the gap between theoretically possible compound options and practical experimental success. For many researchers, this may be the only practical option to develop new drugs and / or compounds (and other compounds) subject to the above constraints.
[0013] Therefore, the present concept allows for increasing the productivity of wet-lab chemical experiments and reducing the number of experiments required while automatically using a large amount of existing literature to produce a desired chemical product. By using additional analysis of the produced chemical products, possible retraining of the machine learning system, and repeated successful chemical experiments with at least partial human intervention in a closed loop, a self-optimizing system method and related systems can be achieved.
[0014] In the following, further embodiments of the inventive method will be described which are also applicable to the associated system.
[0015] According to an extended embodiment, the method may further comprise converting the corrected predicted procedural steps into a sequence of execution steps interpretable by a chemical robot and storing the sequence of execution steps. In this way, the method may support a more or less automated production of a desired chemical product.
[0016] According to an advantageous embodiment, the method may further comprise executing the sequence of execution steps by a chemical robot, which produces a desired chemical product according to the first part of the received SMILES string, thereby largely bypassing human interaction and the entire process, and largely relieving chemical professionals from routine tasks.
[0017] According to an acceptable embodiment of the method, the first portion of the received simplified molecular input line entry system string may relate to at least one of the following groups: polymers, polymer additives, catalysts, pesticides, dyes, fertilizers, artificial flavors and sweeteners, compounds used in fundamental research, peptidomimetics, synthetic proteins, and nanostructures. Other types of chemical products may also be accommodated. Thus, a large number of chemical reaction products may be widely used in wet lab experiments without human intervention.
[0018] According to a preferred embodiment, the method may further include retraining the deep machine learning model system with the set of SMILES strings and the associated corrected predicted procedural steps. In this way, the proposed method and associated system may improve over time and reduce human intervention in more complex experimental situations.
[0019] According to yet another useful embodiment, the method further includes extracting the simplified molecular input line entry system strings from the text literature. The text literature can be derived from a wide variety of different sources. For the analysis of the text literature, regular expression analysis or natural language processing techniques or both can be advantageously used.
[0020] According to one optional embodiment, the method may further include receiving a plurality of simplified molecular input line entry system strings through a user interface or an application programming interface of the deep machine learning model system. Thus, the proposed method does not limit the source of the simplified molecular input line entry system strings. Human-derived input, for example, entered through a user interface, is accepted as well as input from another system.
[0021] According to an advantageous embodiment of the method, receiving the correction signal includes providing the predicted procedural steps to a user interface, and receiving the correction signal indicating a correction to the predicted procedural steps. Thus, human experience can be included as a final measure of expertise before wet lab experiments can be performed. This can save valuable resources in terms of time and materials.
[0022] According to an advanced embodiment of the method, the chemical robot may be a first chemical robot, where the sequence of execution steps is directed to the first chemical robot with a first constraint, specifically in the form of degrees of freedom for the possible experiments to be performed, and the method further comprises transforming the sequence of execution steps for the first chemical robot to be executable by a second chemical robot under a second constraint. Thus, a sequence of execution steps designed for a particular chemical robot and made available, for example as a library, can be transformed for another chemical robot of another type with other constraints and capabilities to reflect technological advances and chemical robots. On the other hand, if there may be an incompatibility between the experimental options of different chemical robots, an error message can be generated and an expert can manually correct the sequence of execution steps by means of the dialogue subsystem.
[0023] Thus, according to a further extended embodiment of the proposed method, the sequence of execution steps interpretable by the first robot can be automatically converted from a sequence of execution steps for the first robot to a sequence of execution steps interpretable by the second robot. Alternatively, the execution steps interpretable by the second chemical robot can be obtained directly from the sequence of procedural steps.
[0024] According to an additional advanced embodiment, the method may further include analyzing the product produced by the robotically executing the sequence of steps, for example with a mass spectrometer, to determine whether the desired chemical product is in fact produced. The method may further optionally allow for correction of procedural steps using said user interface, and for semi-automatically retrying the experiment.
[0025] According to another advantageous embodiment, the method may further include augmenting the training data set with the predicted procedural steps and a confidence value indicating a positive outcome determination that the desired chemical product was produced, i.e., the procedural steps taken were successful. The confidence value may be output to a user.
[0026] According to a further advantageous embodiment of the method, the training data can also include technical constraint data of the chemical robot, i.e. data that essentially describes the limitations of the options of the chemical robot. This can be done using metadata that is broadly independent of a specific chemical robot. This aspect can therefore also address limitations of chemical robots between different manufacturers.
[0027] Furthermore, embodiments may take the form of an associated computer program product accessible from a computer usable or computer readable medium that provides program code for use by or in connection with a computer or any instruction execution system. For purposes of this description, a computer usable or computer readable medium may be any apparatus that includes means for storing, communicating, propagating, or transporting a program for use by or in connection with an instruction execution system, apparatus, or device. [Brief description of the drawings]
[0028] It should be noted that the embodiments of the present invention are described in relation to different subject matters. In particular, some embodiments are described in relation to method type claims, and other embodiments are described in relation to device type claims. However, those skilled in the art will recognize from the above and following description that, unless otherwise specifically notified, any combination of features belonging to one type of subject matter, and furthermore, any combination between features related to different subject matters, in particular between features of method type claims and features of device type claims, is considered to be disclosed herein.
[0029] The above-defined and further aspects of the invention will become apparent from and will be elucidated with reference to the example embodiments described hereinafter, to which the invention is not limited. Preferred embodiments of the invention will now be described, by way of example only, with reference to the following drawings, in which:
[0030] [Figure 1] 1 shows a block diagram of one embodiment of a computer-implemented method of the present invention for generating systematic Simplified Molecular Input Line Entry System (hereinafter "SMILES") strings. [Diagram 2] 1 illustrates an example flow of actions and required components. [Diagram 3] A block diagram of an example flow of activity starting with a SMILES string and ending with a procedural step is shown. [Figure 4] 1 shows an exemplary flow chart for one embodiment of a system for generating organic synthetic procedures from SMILES strings. [Diagram 5] FIG. 4 shows a block diagram of a computing system including the system. [Figure 6] 1 illustrates a cloud computing environment according to one embodiment of the present invention. [Figure 7] 3 illustrates abstraction model layers according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0031] Conducting chemical experiments for the synthesis of new molecules in chemical, biochemical or pharmaceutical fields is time-consuming and typically labor-intensive. To partially automate such synthesis experiments, instead of performing wet-lab experiments by humans, for example, chemical robots have been introduced that allow software-controlled experiments designed to react a limited number of raw materials for an experiment in a reaction chamber to produce a designed experimental product. The domain expert manages the complexity of programming the robot to perform specific tasks when utilizing automation hardware. These tasks are typically part of the expert's domain knowledge and represent key variables for successful chemical synthesis.
[0032] However, programming the hardware of (partially) autonomous chemical robots can present significant constraints, as programming these units may require highly skilled, experienced chemists with additional programming skills.
[0033] In this regard, several publications have been published for analyzing the relationships between molecular structures and biological activities in one or more molecules by converting molecular structure data into hierarchical representations of chemical concepts and descriptors and detecting common tree-like patterns in the data, and for designing and processing rule pipelines for computational prediction of chemical reactions.
[0034] However, these approaches too have so far likely required too much human intervention and do not solve the problem of providing only the desired chemical reaction product molecules and leaving the details of how to perform the experiment, particularly the correct individual procedural steps, to the laboratory automation system.
[0035] In the context of this description, the following definitions, terms or expressions, or combinations thereof, may be used:
[0036] The term "Simplified Molecular Input Line Entry System string" (SMILES string) can refer to the known specification of a form of line notation for describing the structure of chemical species using short ASCII strings. SMILES strings can be imported by most molecular editors for conversion back into a 2D drawing or 3D model of the molecule.
[0037] The term "organic synthesis procedure" can refer to a sequence of experimental steps in wet lab chemistry to synthesize a chemical product. It can be a step-by-step described process that chemically transforms one set of chemicals into another. The substances or substances initially involved in a chemical reaction are called reactants or reagents. A chemical reaction is usually characterized by a chemical change, which usually results in one or more products with different properties than the reactants. Reactions often consist of a sequence of individual sub-steps, so-called elementary reactions, and information about the exact course of action is part of the reaction mechanism. A chemical reaction is described by a chemical equation that symbolically represents the starting materials, the final product, and sometimes intermediate products, as well as the reaction conditions. There are several notations for the chemical equation or the products or both, e.g. SMILES strings.
[0038] The term "desired chemical product" may refer to a chemical product that can potentially be produced by a chemical robot and that can be described by a SMILES string. A sequence of procedural steps may be required to reach the desired chemical product starting from multiple reactants.
[0039] The term "deep machine learning (ML) model system" can refer to an artificial intelligence system that uses a deep neural network with an input layer, an output layer, and multiple embedding layers. Each layer can typically include multiple nodes that receive input from multiple nodes of the previous layer and deliver signals to the next layer. After training, each node can perform a specific transformation on the received signal(s) and add a weighting function, as opposed to procedural programming. ML models can be trained with known data that results in known output data being generated (supervised training). Learning methods may allow learning by example without using procedural programming. This may be particularly useful when analyzing text literature to associate chemicals (e.g., a desired chemical product as described herein) with procedural steps to arrive at the desired chemical product after a sequence of steps.
[0040] The term "correction of predicted procedural steps" can represent human intervention in the determined sequence of predicted procedural steps and converting these steps into a sequence of steps that can be executed by the chemical robot. The human supervisor can modify the procedural steps proposed by the system to avoid failure of the chemical experiment. At this point, human experience can be combined with the machine intelligence of the ML system.
[0041] The term "executable step" can refer to an individual step that can be performed and is being performed by the chemical robot. The executable step does not have to be machine-readable, but can be a useful instruction that is directly executed by the chemical robot.
[0042] The term "chemical robot", also called laboratory robot, can refer to a robot adapted to move biological or chemical samples to synthesize new chemical compounds or to test the pharmaceutical value of existing chemicals. Advanced laboratory robots can be used to fully automate scientific processes, as in known robotic science projects. Laboratory processes are suitable for robotic automation if they consist of repetitive movements (e.g., picking / placing, adding liquids / solids, heating / cooling, mixing, shaking, testing). Many laboratory robots are commonly called autosamplers, since their main task is to continuously supply samples for analytical devices.
[0043] The term "technical constraint data" may represent a part of the specification of a chemical robot. The constraints may be defined, for example, as the maximum number of reagents, the currently loaded reagents, the available auxiliary reagents (such as water or solvents), and the selectable temperature conditions. However, the specification of a chemical robot may indicate a wide variety of limitations and options. Features describing these may be interpreted as constraints in this specification.
[0044] In the following, a detailed description of the drawings will be given. All indications in the drawings are schematic. First, a block diagram of one embodiment of the computer-implemented method of the present invention for generating organic synthesis procedures from SMILES strings will be given. Then, further embodiments will be described, as well as related system embodiments.
[0045] FIG. 1 shows a block diagram of a preferred embodiment of a computer-implemented method 100 for generating organic synthetic procedures from SMILES strings according to one embodiment.
[0046] The method 100 includes receiving 102 a plurality of SMILES strings, a first portion describing a desired chemical product and a second remaining portion describing necessary reactants. The method 100 continues with predicting 104 procedural steps for an organic synthesis procedure to produce the desired chemical product by a deep machine learning (ML) model system. The deep ML model system has been trained using as training data a set of SMILES strings describing each desired chemical product, the necessary reactants, and the associated procedural steps. This allows the set to be extracted from a corpus of associated chemical documents, i.e., chemical literature. Any type of literature from libraries, scientific studies, textbooks, etc. can be used. The predicted procedural steps can be further human readable and displayed for a user.
[0047] Further, the method 100 includes receiving 106 a correction signal for a correction of the predicted procedural step. The method 100 continues with storing 108 the received SMILES string, the predicted procedural step and the correction of the predicted procedural step. Optionally (indicated by the wavy line), the method 100 further includes converting 110 the corrected predicted procedural steps into a sequence of execution steps interpretable by the chemical robot and storing 112 the sequence of execution steps, e.g., for later execution or immediate execution.
[0048] FIG. 2 shows an exemplary flow of the actions and associated components of the method in use in one embodiment. After the system receives the chemical reaction products and chemical formulas of the reactants, the deep ML model is queried 202. This can result in a list of procedural steps 204 generated by the deep ML model system based on previous training. This can be displayed (not shown) and possibly modified by the user and supervisor. It can then be converted 206 into a machine-readable data structure format and stored for use by the chemical robot 208. The proposed system is not part of the chemical robot 208 (but it can be). The machine-readable format of the execution steps (conversions shown at 110, 112) can be optionally transmitted to the chemical robot 208. In comparison to the proposed system, the chemical robot can be placed in a remote location, for example in a protected area that does not put the supervisor at risk.
[0049] 3 shows a block diagram of an example flow 300 of activity starting with a concatenated SMILES string 302 and ending with a procedural step 314, according to one embodiment. The SMILES string 302 (an example concatenation of the SMILES string 302 is shown) is used as input to a deep ML model system 304. It can be directed to an input layer of the deep ML model system 304. This can be populated by multiple hidden layers 308 in the respective ML system model vector space. The output layer 310 of the ML model system 304 can have a pointer to a recipe for making a desired chemical product in the form of a human-readable list of procedural steps 314. These can be stored in a data storage 312.
[0050] Additionally, these procedural steps 314 can be displayed to a user / supervisor / operator for potential modification before the procedural steps 314 can be translated into a sequence of execution steps interpretable by a chemical robot (not shown).
[0051] Table 1 below shows exemplary procedural steps. [Table 1]
[0052] FIG. 4 illustrates an exemplary flowchart of an embodiment of a system 400 for generating organic synthesis procedures from SMILES strings, according to one embodiment. The system 400 includes a first receiving means, specifically a first receiver 402, adapted to receive a SMILES string describing a desired chemical product, and a predicting means, specifically a deep machine learning model system 404, adapted to predict procedural steps for an organic synthesis procedure to produce the desired chemical product. The deep ML model-based system is trained using as training data a set of simplified SMILES strings describing each desired chemical product, required reactants, and associated procedural steps, which are extracted from a corpus of associated chemical literature. The predicted procedural steps are human readable.
[0053] The system 400 further comprises a second receiving means, in particular a second receiver 406, adapted to receive a correction signal for a correction of the predicted procedural step. The system 400 comprises a first storage means, in particular a first storage unit 408, adapted to store the received SMILES string, the predicted procedural step and the correction of the predicted procedural step.
[0054] The system 400 comprises a conversion means, in particular a converter 410, adapted to convert the corrected predicted procedure steps into a sequence of execution steps interpretable by a chemical robot. The system 400 comprises a second storage means, in particular a second storage unit 412, adapted to store the sequence of execution steps. The first and second storage units 408, 412 can be the same as an associated storage management system.
[0055] It should be noted that the mentioned units and modules can be directly or indirectly interconnected for the exchange of information or signals or both. Alternatively, the first receiver 402, the deep ML model based system 404, the first storage unit 408, the optional converter 410 (shown in dashed lines) and the second storage unit 412 can be interconnected via a system internet bus system 414.
[0056] The embodiments of the present invention can be implemented in conjunction with virtually any type of computer, regardless of the platform suitable for storing and / or executing program code. Figure 5 shows, by way of example, a computing device 500 suitable for executing program code associated with the proposed method.
[0057] The computing device 500 is merely one example of a suitable computer system, and whether the computing device 500 is capable of implementing or executing any of the functionality set forth above or both is not intended to suggest any limitation to the scope of use or functionality of the embodiments of the invention described herein. There are components of the computing device 500 that are operable with many other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments and / or configurations suitable for use with the computing device 500 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices. The computing device 500 may be described in the context of computer system executable instructions, such as program modules, executed by the computing device 500. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. Computing device 500 may be executed in a distributed cloud computing environment where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
[0058] As shown in Figure 5, a block diagram of components of a computing device is shown in accordance with an embodiment of the present invention. It should be appreciated that Figure 5 provides only one example of an implementation and is not intended to imply any limitation with respect to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
[0059] A computing device may include one or more processors 502, one or more computer readable RAMs 504, one or more computer readable ROMs 506, one or more computer readable storage media 508, device drivers 512, read / write drives or interfaces 514, and network adapters or interfaces 516, interconnected over a communications fabric 518. The communications fabric 518 may be implemented by any architecture designed to pass data and / or control information between processors (such as microprocessors, communications and network processors), system memory, peripheral devices, and any other hardware components in the system.
[0060] One or more operating systems 510 and one or more application programs 511 are stored on one or more computer readable storage media 508 for execution by one or more processors 502 via their respective RAM 504 (which typically includes cache memory). For example, exemplary flow 200 and exemplary flow 300 may each be stored on one or more computer readable storage media 508. In the illustrated embodiment, each of the computer readable storage media 508 may be an internal hard drive magnetic disk storage device, a CD-ROM, a DVD, a memory stick, a magnetic tape, a magnetic disk, an optical disk, a semiconductor storage device such as RAM, ROM, EPROM, flash memory, or any other computer readable tangible storage device capable of storing computer programs and digital information.
[0061] The computing device may further include a R / W drive or interface 514 for reading from and writing to one or more portable computer readable storage media 526. Application programs 511 on the computing device may be stored on one or more portable computer readable storage media 526 and may be read via the respective R / W drive or interface 514 and loaded into the respective computer readable storage media 508.
[0062] The computing device may further include a network adapter or interface 516, such as a TCP / IP adapter card or a wireless communication adapter (such as a 4G wireless communication adapter using OFDMA technology). The application program 511 may be downloaded to the computing device from an external computer or external storage device via a network (e.g., the Internet, a local area network or other wide area network, or a wireless network) and the network adapter or interface 516. The program may be loaded from the network adapter or interface 516 into the computer-readable storage medium 508. The network may include copper wire, optical fiber, wireless transmission, routers, firewalls, switches, gateway computers or edge servers, or combinations thereof.
[0063] The computing device may further include a display screen 520, a keyboard or keypad 522, and a computer mouse or touchpad 524. The device driver 512 interfaces to the display screen 520 for imaging, the keyboard or keypad 522, the computer mouse or touchpad 524, or the display screen 520 for alphanumeric input and pressure sensing of user selection, or a combination thereof. The device driver 512, the R / W driver or interface 514, and the network adapter or interface 516 may include hardware and software (stored in the computer readable storage medium 508 or in the ROM 506, or both).
[0064] Additionally, the system 400 for generating organic synthesis procedures from SMILES strings can be attached to the communications fabric 518 .
[0065] The description of various embodiments of the present invention has been presented for illustrative purposes, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations that do not depart from the scope and spirit of the described embodiments will be apparent to those skilled in the art. The terms used in this specification are selected to best explain the principles of the embodiments, practical applications, or technical improvements beyond the technology found in the market, or to enable other skilled in the art to understand the embodiments disclosed herein.
[0066] The programs described herein are identified based on the application for which they are implemented in specific embodiments of the invention. However, any particular program scheme is used herein merely for convenience, and therefore the invention should not be limited to use with only any particular application identified and / or implied by such scheme.
[0067] An embodiment of the present invention can be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to the provision of scalable computing resources as a service over a network. More formally, cloud computing can be defined as a computing capability that provides virtualization between computing resources and their underlying technical architecture (e.g., servers, storage, network) that allows convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction. Hence, cloud computing allows users to access actual computing resources (e.g., storage, data, applications, and even complete virtualized computing systems) in the "cloud" without regard for the underlying physical systems (or the location of those systems) used to provide the computing resources.
[0068] Typically, cloud computing resources are provided to users on a pay-per-use basis where the users are charged only for the computing resources that they actually use (e.g., the amount of storage space consumed by the user or the number of virtualization systems instantiated by the user). The users can access any of the resources residing in the cloud from any location on the Internet at any time. In the context of the present invention, the users can access a standardized search engine or associated data available in the cloud. For example, the standardized search engine can run on a computing system in the cloud and perform a standardized search. In such a case, the standardized search engine can standardize a corpus of information and store the standardized index in a storage location in the cloud. Doing so allows the users to access this information from any computing system attached to a network (e.g., the Internet) connected to the cloud.
[0069] Although this disclosure includes detailed descriptions of cloud computing, it is to be understood that implementation of the teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the invention may be practiced in connection with any other type of computing environment now known or later developed.
[0070] Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal administrative effort or interaction with the service provider. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.
[0071] Its features are as follows.
[0072] On-Demand Self-Service: Cloud consumers can automatically and unilaterally provision computing capacity, such as server time and network storage, as they need it, without the need for human interaction with the provider of the service.
[0073] Pervasive Network Access: Functionality is available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin- or thick-client platforms (e.g., cell phones, laptops, and PDAs).
[0074] Resource Pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically allocated and reallocated on demand. Consumers are location independent in that they generally have no control or knowledge of the exact location of the resources provided to them, although location may be specified at a higher level of abstraction (e.g., country, state, or data center).
[0075] Rapid Elasticity: Capabilities can be rapidly and elastically provisioned and quickly scaled out, and rapidly released and quickly scaled in, sometimes automatically. To the consumer, the capacity available for provisioning often appears unlimited, and can be purchased in any quantity at any time.
[0076] Metering of Services: Cloud systems automatically control and optimize resource usage by using metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the services being used.
[0077] The service model is as follows: Software as a Service (SaaS): The functionality provided to the consumer is the use of the provider's applications running on a cloud infrastructure. These applications are accessible from a variety of client devices through thin-client interfaces such as web browsers (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure, including the network, servers, operating systems, storage, or individual application capabilities, with the expected exception of limited user-specific application configuration settings. Platform as a Service (PaaS): The functionality offered to the consumer is the deployment onto a cloud infrastructure of applications the consumer creates or acquires, written using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but does control the deployed applications and, in some cases, the configuration of the environment that hosts the applications. Infrastructure as a Service (IaaS): The functionality provided to a consumer is to provision processing, storage, network, and other basic computing resources onto which the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but has control over the operating systems, storage, deployed applications, and possibly limited control over network component (e.g., host firewall) selection.
[0078] The deployment model is as follows: Private Cloud: The cloud infrastructure is operated exclusively for an organization. It can be managed by the organization or a third party and can exist on-premise or off-premise. Community Cloud: Cloud infrastructure is shared by several organizations to support a specific community with common concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by those organizations or by a third party and can reside on-premise or off-premise. Public Cloud: The cloud infrastructure is available to the general public or large industry groups and is owned by organizations that sell cloud services. Hybrid Cloud: A cloud infrastructure is a hybrid of two or more clouds (private, community, or public) that remain unique entities but are tied together by standardized or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that enable data and application portability.
[0079] Cloud computing environments are service-oriented and focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.
[0080] Referring now to FIG. 6, an exemplary cloud computing environment 600 utilizing cloud computing is illustrated. As illustrated, the cloud computing environment 600 includes one or more cloud computing nodes 610 with which local computing devices used by cloud consumers, such as, for example, a personal digital assistant (PDA) or cellular phone 640A, a desktop computer 640B, a laptop computer 640C, or an automobile computer system 640N, or combinations thereof, can communicate. The nodes 610 can communicate with each other. The nodes 610 can be physically or virtually grouped in one or more networks, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud, or combinations thereof, as described above (not shown). This enables the cloud computing environment 600 to provide Infrastructure as a Service, Platform as a Service, or Software as a Service, or combinations thereof, without the cloud consumer having to maintain resources on a local computing device. It will be understood that the types of computing devices 640A-N shown in FIG. 6 are intended to be merely exemplary, and that the computing node 610 and cloud computing environment 600 are capable of communicating with any type of computerized device (e.g., using a web browser) via any type of network or network-addressable connection or both.
[0081] 7, an exemplary set of functional abstraction layers provided by cloud computing environment 600 (FIG. 6) is shown. It should be understood in advance that the components, layers, and functions shown in FIG. 7 are intended to be merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0082] Hardware and software layer 760 includes hardware and software components. Example hardware components include mainframe 761, RISC (Reduced Instruction Set Computer) architecture based servers 762, servers 763, blade servers 764, storage devices 765, and networks and networking components 766. In some embodiments, software components include network application server software 767 and database software 768.
[0083] The virtualization layer 770 provides an abstraction layer that can provide the following examples of virtual entities: virtual servers 771, virtual storage 772, virtual networks including virtual private networks 773, virtual applications and operating systems 774, and virtual clients 775.
[0084] In one example, the management layer 780 can provide the functionality described below. Resource provisioning 781 provides dynamic procurement of computing and other resources utilized to execute tasks within the cloud computing environment. Metering and pricing 782 provides cost tracking as resources are utilized within the cloud computing environment and billing or invoicing for the consumption of these resources. In one example, these resources can include application software licenses. Security provides identity verification for cloud consumers and tasks, and protection for data and other resources. User portal 783 provides access to the cloud computing environment for consumers and system administrators. Service level management 784 provides allocation and management of cloud computing resources such that required service levels are met. Service level agreement (microservice level agreement, SLA) planning and fulfillment 785 provides pre-positioning and procurement of cloud computing resources for predicted future needs according to SLAs.
[0085] The workload layer 790 provides examples of functionality that can utilize a cloud computing environment. Examples of workloads and functionality that can be provided from this layer include mapping and navigation 791, software development and lifecycle management 792, virtual classroom instruction delivery 793, data analytics processing 794, transaction processing 795, and organic synthesis procedure generation 796.
[0086] The present invention may be embodied as a system, method, or computer program product, or combination thereof, at any possible level of technical detail. The computer program product may include a computer readable storage medium or media having computer readable program instructions for causing a processor to carry out aspects of the present invention.
[0087] A computer readable storage medium may be any tangible device capable of holding and storing instructions for use by an instruction execution device. A computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage media includes the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanically encoded devices such as punch cards or ridge structures in grooves having instructions recorded thereon, and any suitable combination of the above. As used herein, a computer-readable storage medium is not to be construed as a transitory signal per se, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal sent through a wire.
[0088] The computer readable program instructions described herein may be downloaded from a computer readable storage medium to each computing / processing device or to an external computer or storage device over a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fiber, wireless transmission, routers, firewalls, switches, gateway computers, or edge servers, or combinations thereof. A network adapter card or network interface in each computing / processing device receives the computer readable program instructions from the network and transfers the computer readable program instructions for storage in a computer readable storage medium in the respective computing / processing device.
[0089] The computer readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Smalltalk, C++, and traditional procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer readable program instructions to individualize the electronic circuitry by utilizing state information of the computer readable program instructions to perform aspects of the invention.
[0090] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0091] These computer readable program instructions may be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing apparatus create means for performing the functions / operations specified in one or more blocks of the flowcharts or block diagrams, or both. These computer program instructions may also be stored in a computer readable medium capable of directing a computer, other programmable data processing apparatus, or other device, or combination thereof, to function in a particular manner, such that the instructions stored in the computer readable medium include an article of manufacture including instructions implementing aspects of the functions / operations specified in one or more blocks of the flowcharts or block diagrams, or both.
[0092] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, such that the instructions executing on the computer or other programmable apparatus, or other device, provide a process for performing the functions / operations specified in one or more blocks of the flowchart or block diagram, or both.
[0093] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts may represent a module, segment, or portion of code, including one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions shown in the blocks may occur in a different order than that shown in the figures. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or these blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, may be implemented by a dedicated hardware-based system that executes the specified functions or operations, or executes a combination of dedicated hardware and computer instructions.
[0094] The description of various embodiments of the present disclosure has been presented for illustrative purposes, but they are not intended to be exhaustive or to be limited to the disclosed embodiments. The terms used herein have been selected to best explain the principles of the embodiments, practical applications, or technical improvements over the art found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for generating an organic synthesis procedure from a Simplified Molecular Input Line Entry System (SMILES) string by computer information processing, comprising: receiving, by the computer, a plurality of SMILES strings, a first portion of which describes a desired chemical product and a second remaining portion of which describes a required reactant; predicting, by a computer, procedural steps for an organic synthesis procedure for producing the desired chemical products using a deep machine learning model system trained using as training data a set of SMILES strings describing each desired chemical product, required reactants, and associated procedural steps, the set being extracted from a corpus of associated chemical literature, the predicted procedural steps being human readable; receiving, by a computer, a correction signal for modifying the predicted procedural step; storing, by a computer, the received plurality of SMILES strings, the predicted procedural steps, and the modifications to the predicted procedural steps; The method includes: converting, by a computer, the modified predicted procedural steps into a sequence of execution steps interpretable by a chemical robot; storing, by a computer, the sequence of steps performed; The method of claim 1 further comprising:
3. 3. The method of claim 2, further comprising: executing the sequence of execution steps by the chemical robot, thereby producing the desired chemical product according to the first portion of the received plurality of SMILES strings.
4. 2. The method of claim 1, wherein the first portion of the received plurality of SMILES strings relates to at least one of a group including polymers, polymer additives, catalysts, pesticides, dyes, fertilizers, artificial flavors and sweeteners, compounds used in fundamental research, peptidomimetics, synthetic proteins, and nanostructures for generating organic synthesis procedures from SMILES strings.
5. The method of claim 1, further comprising retraining, by a computer, the deep machine learning model system with the set of SMILES strings and associated modified predicted procedural steps.
6. The method of claim 1, further comprising extracting, by a computer, the plurality of SMILES strings from a text document.
7. The method of claim 1, further comprising receiving, by a computer, the plurality of SMILES strings through a user interface or an application programming interface of the deep machine learning model system.
8. The method of claim 1 , wherein receiving the modification signal comprises presenting the predicted procedural step to a user interface and receiving the modification signal indicative of a modification to the predicted procedural step.
9. 3. The method of claim 2, wherein the chemical robot is a first chemical robot, and the sequence of execution steps is directed to the first chemical robot having a first constraint, and the method further comprises: converting, by a computer, the sequence of execution steps for the first chemical robot to be executable by a second chemical robot under a second constraint.
10. 3. The method of claim 2, wherein the sequence of execution steps is interpretable by a first chemical robot, the method further comprising: converting, by a computer, the sequence of execution steps for the first chemical robot into a sequence of execution steps interpretable by a second chemical robot.
11. The method of claim 2, further comprising: analyzing, by a computer, the product produced by executing the sequence of execution steps by the chemical robot to determine whether the desired chemical product has been produced.
12. 12. The method of claim 11, further comprising augmenting the training data with the predicted procedural steps and a confidence value indicating that the performed procedural steps were successful if it is determined that the desired chemical product is being produced.
13. The method of claim 1 , wherein the training data further comprises technical constraint data for a chemical robot.
14. A system for generating organic synthesis procedures from Simplified Molecular Input Line Entry System (SMILES) strings, comprising: a first receiving means adapted to receive a plurality of said SMILES strings, a first portion of which describes a desired chemical product and a second remaining portion of which describes a required reactant; a prediction means adapted to predict procedural steps for an organic synthesis procedure for producing said desired chemical products by a deep machine learning model system trained using as training data a set of SMILES strings describing each desired chemical product, required reactants, and associated procedural steps, said set being extracted from a corpus of associated chemical literature, and said predicted procedural steps being human readable; - a second receiving means adapted to receive a correction signal for a correction of the predicted procedure step; a first storage means adapted to store the received plurality of SMILES strings, the predicted procedural steps, and the modification of the predicted procedural steps; A system comprising:
15. 15. The system of claim 14, further comprising: an execution means adapted to execute a sequence of execution steps by a chemical robot, thereby producing the desired chemical product according to the first portion of the received plurality of SMILES strings.
16. 15. The system of claim 14, wherein the first portion of the received plurality of SMILES strings relates to at least one of the group including polymers, polymer additives, catalysts, pesticides, dyes, fertilizers, artificial flavors and sweeteners, compounds used in fundamental research, peptidomimetics, synthetic proteins, and nanostructures.
17. 15. The system of claim 14, further comprising retraining means adapted to retrain the deep machine learning model system with the set of SMILES strings, the required reactants and associated modified predicted procedural steps.
18. The system of claim 14, further comprising an extracting means adapted to extract said plurality of SMILES strings from text documents.
19. 15. The system of claim 14, further comprising a third receiving means for receiving the plurality of SMILES strings through a user interface or an application programming interface of the deep machine learning model system.
20. 15. The system of claim 14, wherein receiving the modification signal further comprises rendering means adapted to render the predicted procedural step in a user interface and to receive the modification signal indicative of a modification to the predicted procedural step.
21. 16. The system of claim 15, wherein the chemical robot is a first chemical robot, the sequence of execution steps being directed to the first chemical robot having a first constraint, and the system further comprises a conversion means adapted to convert the sequence of execution steps for the first chemical robot to be executable by a second chemical robot under a second constraint.
22. 16. The system of claim 15, wherein the sequence of execution steps is interpretable by a first chemical robot, the system further comprising a conversion means adapted to convert the sequence of execution steps for the first chemical robot into a sequence of execution steps interpretable by a second chemical robot.
23. 16. The system of claim 15, further comprising an analysis means adapted to analyze a product produced by said chemical robot executing said sequence of execution steps whether said desired chemical product has been produced.
24. 24. The system of claim 23, further comprising an augmentation means adapted to augment the training data with the predicted procedural steps and a confidence level for determining that the desired chemical product is being produced.
25. 14. A computer program for generating organic synthesis procedures from Simplified Molecular Input Line Entry System (SMILES) strings, comprising computer readable program instructions that cause a computer to perform the method of any one of claims 1 to 13.
26. 26. A computer readable storage medium having stored thereon the computer program of claim 25.