Control device and method

The control device enhances experimental efficiency by converting user-designed mushroom graphs into event handlers and adjacent queue lists, enabling efficient parallel processing of multiple experimental tasks.

JP7622865B2Active Publication Date: 2025-01-28SHIMADZU SEISAKUSHO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2023552756
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-10-06
Filing Date
2022-09-06
Publication Date
2025-01-28
Estimated Expiration
2042-09-06

AI Technical Summary

Technical Problem

Existing control devices struggle to manage experimental protocols that include parallel processing, making it difficult to efficiently execute multiple processes simultaneously, leading to suboptimal experimental efficiency.

Method used

A control device that converts a user-designed experimental protocol in a mushroom graph format into an event handler and adjacent queue list, allowing it to manage dependencies and execute nodes based on completion status, thereby facilitating parallel processing.

Benefits of technology

Improves experimental efficiency by enabling the simultaneous execution of multiple processes according to a designed protocol, reducing user burden in setting up complex experimental workflows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007622865000001
    Figure 0007622865000001
  • Figure 0007622865000002
    Figure 0007622865000002
  • Figure 0007622865000003
    Figure 0007622865000003
Patent Text Reader

Abstract

This control device comprises an input unit for accepting input of an experimental protocol designed using a directed graph, a generating unit for generating a dependency list including first dependency information indicating that the start of processing at a second node depends on the completion of processing at a first node, a selecting unit (step S115) for selecting, on the basis of the dependency list, a node at which processing is to be started, from among a plurality of nodes, a command unit (step S117) for commanding an experimental device to perform the processing at the selected node, and an updating unit (step S121) for updating the dependency list upon completion of the processing at any of the plurality of nodes, wherein: the updating unit updates the first dependency information from first information to second information upon completion of the processing at the first node (step S121); and the selecting unit selects the second node if the first dependency information has been updated from the first information to the second information (step S113, step S115).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a control device and method, and more particularly to a control device for controlling an experimental device based on an experimental protocol and a method for controlling an experimental device based on an experimental protocol. [Background technology]

[0002] Conventionally, configurations have been known in which experiments are performed according to an experimental protocol designed by a user on a computer. For example, a system disclosed in International Publication No. 2016 / 208623 (Patent Document 1) acquires and displays a graph in which a chain of experiments is formed in a mesh shape from a database containing information on the experimental protocol. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2016 / 208623 Summary of the Invention [Problem to be solved by the invention]

[0004] When aiming to automate processes based on an experimental protocol, it is possible to adopt a method in which the control device sequentially executes each process based on the experimental protocol. This method simplifies the control of the control device, as it waits for one process to be completed before proceeding to the next process. For example, the control device only needs to sequentially execute multiple processes included in the experimental protocol as a set of instructions with a one-dimensional array structure.

[0005] However, there are also experimental protocols that can improve the efficiency of experiments by performing multiple processes simultaneously. For example, while preparing a sample with a liquid handler, separate another sample with a centrifuge. By analyzing multiple samples simultaneously with multiple devices, it may be possible to prepare and analyze more samples.

[0006] Experimental protocols that include such parallel processing can be created relatively easily by using a directed graph. In a directed graph, the processing of the experimental equipment is represented by nodes, and the relationship between multiple processes is represented by edges. The edges run from a node that processes first to a node that processes later. To represent parallel processing in a directed graph, for example, a certain node can be connected to multiple other nodes by edges.

[0007] However, it is not easy to have a control device execute an experimental protocol that includes parallel processing. A control device that repeatedly waits for one process to finish before moving on to the next process cannot manage the order of multiple processes that branch off from one process and proceed in parallel.

[0008] The present invention has been made to solve the above problems, and an object of the present invention is to improve the efficiency of experiments based on an experiment protocol created in a directed graph. [Means for solving the problem]

[0009] A control device according to one aspect of the present invention is a control device that controls an experimental apparatus based on an experimental protocol. The control device includes an input unit that accepts an input of the experimental protocol designed as a directed graph including a plurality of nodes corresponding to experimental processing, a generation unit that generates a dependency list including first dependency information indicating that the start of processing of the second node depends on the completion of processing of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of processing of the first node, a selection unit that selects a node from the plurality of nodes to start processing based on the dependency list, a command unit that commands the experimental apparatus to process the node selected by the selection unit, and an update unit that updates the dependency list or the states of the plurality of nodes when any of the processing of the plurality of nodes is completed, and the selection unit selects the second node when the processing of the first node is completed.

[0010] A method according to another aspect of the present invention is a method for controlling an experimental apparatus based on an experimental protocol. The method includes the steps of: accepting an input of an experimental protocol designed as a directed graph including a plurality of nodes corresponding to experimental processing; generating a dependency list including first dependency information indicating that the start of processing of the second node depends on the completion of processing of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of processing of the first node; selecting a node from the plurality of nodes to start processing based on the dependency list; instructing the experimental apparatus to process the node selected by the selection unit; and updating the dependency list or the states of the plurality of nodes when any of the processing of the plurality of nodes is completed, wherein the step of selecting a node to start processing selects the second node when processing of the first node is completed. Effect of the Invention

[0011] According to the present disclosure, it is possible to improve the efficiency of an experiment based on an experiment protocol created using a directed graph. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a block diagram showing the configuration of an automatic experiment management system 1000. [Diagram 2] FIG. 4 is a block diagram showing a hardware configuration of a terminal device 400. [Diagram 3] FIG. 2 is a diagram showing the GUI configuration of an experiment protocol design application 500. [Figure 4] FIG. 13 shows a state in which a certain process is selected in the automated experiment system window. [Diagram 5] FIG. 13 shows a processing node corresponding to a selected process being added to the protocol design window. [Figure 6] FIG. 1 shows a directed graph DG1, which is a design example of an experimental protocol. [Figure 7] FIG. 13 is a diagram showing a directed graph DG2 including an operation node of the robot arm 121. [Figure 8] FIG. 13 is a diagram showing a directed graph DG3. [Figure 9] FIG. 13 is a diagram showing an event handler created by the control device 110 based on the directed graph DG3. [Figure 10] FIG. 13 is a diagram showing an adjacency matrix list created by the control device 110 based on the directed graph DG3. [Figure 11] FIG. 13 is a diagram showing how event handlers are updated according to the progress of processing based on directed graph DG3. [Figure 12] FIG. 13 is a diagram showing how the adjacency matrix list is updated according to the progress of processing based on the directed graph DG3. [Figure 13] 1 is a flowchart illustrating the flow of an automatic experiment based on an experiment protocol. [Figure 14] 13 is a flowchart showing a process in which the control device 110 generates an event handler and an adjacency matrix list in response to an experiment protocol. [Figure 15] 13 is a flowchart showing a process in which the control device 110 executes an experiment protocol based on an event handler and an adjacency matrix list. [Figure 16] FIG. 2 is a block diagram showing the configuration of an automatic experiment management system 1000, illustrating the configuration related to the functions of a control device 110. [Figure 17] FIG. 2 is a block diagram showing a hardware configuration of the server device 200. [Figure 18] FIG. 11 is a block diagram showing the configuration of an automatic experiment management system 1100 according to a first modified example. [Figure 19] FIG. 13 is a block diagram showing a hardware configuration of a terminal device 400A according to a first modified example. [Figure 20] FIG. 11 is a block diagram showing the configuration of an automated experiment system 1B according to a second modification. [Figure 21] FIG. 2 is a block diagram showing the hardware configuration of a control device 110B. [Figure 22] FIG. 13 is a diagram showing a directed graph DG4. [Figure 23]13 shows directed graph DG4 and directed graph DG5 in which a node for a robot arm 121 is added to directed graph DG4. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] Hereinafter, embodiments will be described in detail with reference to the drawings. In the following, the same or corresponding parts in the drawings are denoted by the same reference characters, and their description will not be repeated in principle.

[0014] Fig. 1 is a block diagram showing the configuration of an automatic experiment management system 1000. As shown in Fig. 1, the automatic experiment management system 1000 includes an automatic experiment system 1, a server device 200, a database 300, and a terminal device 400. The database 300 is connected to the server device 200. In the database 300, for example, information about the automatic experiment system 1, information about samples, an experiment protocol, output data (experiment results) resulting from the execution of the experiment protocol, etc. are registered.

[0015] The terminal device 400 includes an input / output unit 430. The input / output unit 430 includes a display 431, a keyboard 432, and a touchpad 433. The terminal device 400 is, for example, a notebook computer, a personal computer, a smartphone, or a tablet. The automated experiment system 1, the server device 200, and the terminal device 400 are connected to each other via a network NW. The network NW includes, for example, the Internet, a WAN (Wan Area Network), or a LAN (Lan Area Network). Note that there may be two or more terminal devices 400 connected to the network NW, and there may be two or more automated experiment systems.

[0016] The server device 200 provides the terminal device 400 with an experiment protocol design application 500 (specific application) as a Web application. The experiment protocol design application 500 is displayed on the display 431 of the terminal device 400 via a Web browser 600. The keyboard 432 and touchpad 433 accept GUI operations on the experiment protocol design application 500 by the user. That is, the user of the terminal device 400 selects an automated experiment system in the experiment protocol design application 500 by GUI operations via the keyboard 432 and touchpad 433, and designs an experiment protocol to be executed by the automated experiment system.

[0017] The experiment protocol specifies the processing order of at least one experiment device included in the automated experiment system 1 selected by the user. The terminal device 400 transmits the experiment protocol designed by the user to the server device 200. The server device 200 transmits the experiment protocol to the automated experiment system 1 specified by the user. By interposing the server device 200 between the terminal device 400 that designs the experiment protocol and the automated experiment system 1 that executes the experiment protocol, multiple terminal devices 400 and multiple automated experiment systems 1 can be collectively managed by the server device 200.

[0018] The automated experiment system 1 includes a control device 110 and multiple experimental devices 120. The control device 110 controls the multiple experimental devices 120 to automatically execute an experiment protocol from a server device 200. The multiple experimental devices 120 include a robot arm 121, an incubator 122, a liquid handler 123, a microplate reader 124, a centrifuge 125, and a liquid chromatograph mass spectrometer (LCMS) 126. The automated experiment system may include only one experimental device.

[0019] The control device 110 includes a processor 111 as a control unit, and a memory 112 as a storage unit.

[0020] The processor 111 is typically an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Multi-Processing Unit). The processor 111 reads and executes a program stored in the memory 112, thereby implementing processing for executing an experimental protocol.

[0021] The memory 112 is realized by a non-volatile memory such as a random access memory (RAM), a read only memory (ROM), a flash memory, etc. The memory 112 may be configured by a compact disc-read only memory (CD-ROM), a digital versatile disc-read only memory (DVD-ROM), a universal serial bus (USB), etc., as long as the memory 112 can non-temporarily record a program in a format readable by the processor 111.

[0022] The robot arm 121 moves the plate Plt1 or Plt2, which is a container for accommodating a sample, to the experimental device according to the sequence of a number of processes defined in the experimental protocol. Each of the plates Plt1 and Plt2 accommodates, for example, agar containing cultured Escherichia coli. The incubator 122 cultures cells while controlling the temperature. The liquid handler 123 automatically distributes (dispenses) a fixed amount of the sample to each of a number of microplates (wells). The microplate reader 124 measures the optical properties of the sample in the microplate. The microplate reader 124 measures, for example, absorbance and fluorescence intensity. The centrifuge 125 separates the components of the sample by centrifugal force. The LCMS 126 performs mass spectrometry to separate the components of the sample separated by the liquid chromatograph according to mass-to-charge ratio (m / z).

[0023] Fig. 2 is a block diagram showing a hardware configuration of the terminal device 400. As shown in Fig. 2, the terminal device 400 includes a processor 421, a memory 422 and a hard disk 423 as storage units, a communication interface 424, and an input / output unit 430. These are connected to each other via a bus 440 so as to be able to communicate with each other.

[0024] The hard disk 423 is a non-volatile storage device. For example, an operating system (OS) program 41 and a web browser program 42 are stored on the hard disk 423. In addition to the data shown in Fig. 2, for example, settings and outputs of various applications are stored on the hard disk 423. The memory 422 is a volatile storage device and includes, for example, a dynamic random access memory (DRAM).

[0025] The processor 421 includes a CPU (Central Processing Unit). The processor 421 loads a program stored in a hard disk 423 into a memory 422 and executes the program. The processor 421 is connected to a network NW via a communication interface 424.

[0026] Fig. 3 is a diagram showing a GUI configuration of an experiment protocol design application 500. As shown in Fig. 3, the experiment protocol design application 500 includes a cue list window 510, a protocol list window 520, a protocol design window 530, an automated experiment system window 540, a sample container window 550, a tool window 560, and a selection cursor Cr.

[0027] A queue in which multiple protocols are ordered is displayed in the queue list window 510. In Fig. 3, queues q1 and q2 are displayed in the queue list window 510. Experimental protocols are displayed in the protocol list window 520. In Fig. 3, experimental protocol p1 is displayed in the protocol list window 520 and selected.

[0028] In the protocol design window 530, an experimental protocol is designed in a directed graph. In the directed graph, the connection relationships between a plurality of nodes are defined as edges. The directed graph is saved as graph structure data according to a predetermined structured data format. The structured data format can be, for example, XML (Extensible Markup Language) or Json (JavaScript (registered trademark) Object Notation). A plurality of nodes that can be selected as vertices of the directed graph are formed as a GUI, and include a container node, a processing node, and a data node. The container node is a node corresponding to a container that contains a sample. The processing node is a node corresponding to each process of the devices included in the automatic experimental system. The data node is a node corresponding to output data of the process of the experimental device.

[0029] The protocol design window 530 is divided into a container area 531, a processing area 532, and a data area 533. In the initial state when starting the design of an experimental protocol, the processing area 532 displays a start node Ms indicating the start of the experimental protocol, an end node Me indicating the end of the experimental protocol, and an edge E10 leading from the start node Ms to the end node Me.

[0030] The automated experiment system window 540 displays processes that can be performed by at least one experimental device included in the automated experiment system selected by the user. In FIG. 3, the automated experiment system 1 is selected. "Container transportation" is displayed as a process that can be performed by the robot arm 121. "Cell culture" is displayed as a process that can be performed by the incubator 122. "Liquid dispensing" is displayed as a process that can be performed by the liquid handler 123. "Absorbance measurement" and "Fluorescence intensity measurement" are displayed as processes that can be performed by the microplate reader 124. "Centrifugation" is displayed as a process that can be performed by the centrifuge 125. "Mass spectrometry" is displayed as a process that can be performed by the LCMS 126.

[0031] Containers that contain samples are displayed in the sample container window 550. In Fig. 3, plates Plt1 and Plt2 are displayed as containers that contain Escherichia coli, which is an example of a sample.

[0032] The tool window 560 displays specific processes performed by the control device 110 of the automated experiment system 1. In FIG. 3, "feature extraction", "conditional branching", "repetition", and "timer" are displayed. "Feature extraction" corresponds to a process of extracting a feature specified by the user from data corresponding to a data node selected by the user. "Conditional branching" corresponds to a process of performing branching processing based on the success or failure of a condition specified by the user. "Repetition" corresponds to a process of repeating a specified process a number of times specified by the user. "Timer" corresponds to a process of waiting for the progress of the experiment protocol for a time specified by the user.

[0033] Fig. 4 is a diagram showing a state in which a certain process is selected in the automated experiment system window 540. As shown in Fig. 4, the user selects "Absorbance measurement" in the automated experiment system window 540 and drags it between the start node Ms and the end node Me.

[0034] 5 is a diagram showing a state where a processing node corresponding to a selected process is added to a protocol design window 530. As shown in FIG. 5, a processing node M1 corresponding to "absorbance measurement" is added between a start node Ms and an end node Me and selected. With the addition of the processing node M1, a container node C1 and a data node D1 are automatically added to the container area 531 and the data area 533, respectively. With the selection of the processing node M1, an information window 570 including information about the selected node is displayed. In FIG. 5, the measurement wavelength and the measurement target well are displayed as parameters of the absorbance measurement corresponding to the processing node M1.

[0035] The start node Ms and the processing node M1 are connected by an edge E1 from the start node Ms toward the processing node M1. The processing node M1 and the end node Me are connected by an edge E2 from the processing node M1 toward the end node Me. The container node C1 and the processing node M1 are connected by an edge E3 (first edge) from the container node C1 toward the processing node M1. The processing node M1 and the data node D1 are connected by an edge E4 (second edge) from the processing node M1 toward the data node D1. The edge E3 indicates that a container corresponding to the container node C1 is input to the process corresponding to the processing node M1. The edge E4 indicates that the output data of the process corresponding to the processing node M1 corresponds to the data node D1. With the addition of a processing node, the container node and the data node connected to the processing node are automatically added, thereby making it possible to efficiently design an experimental protocol. In FIG. 5, the container node C1 and the edge E3 are shown by dotted lines because the sample container corresponding to the container node C1 is not specified.

[0036] In the above-described procedure, the user can design an experimental protocol in a directed graph by selecting the necessary processing from the window provided by the experimental protocol design application 500. Here, an example of an experimental protocol design created by the user in the form of a directed graph is shown.

[0037] 6 is a diagram showing a directed graph DG1, which is a design example of an experimental protocol. The directed graph DG1 is shown in the protocol design window 530. The directed graph DG1 includes a start node Ms, an end node Me, processing nodes M11, M12, M13, M14, M15, and M16, container nodes C11, C12, C13, C14, C15, C16, C17, and C18, and data nodes D11 and D12.

[0038] Process nodes M11 and M12 correspond to "liquid dispensing". Process node M13 corresponds to "take into incubation device". Process node M14 corresponds to "absorbance measurement". Process node M15 corresponds to "centrifugation". Process node M16 corresponds to "LCMS analysis".

[0039] The container nodes C11 and C16 correspond to "culture plate." The container nodes C12, C13, C17, and C18 correspond to "measurement plate 1." The container nodes C14 and C15 correspond to "measurement plate 2."

[0040] Data node D11 corresponds to "absorbance data." Data node D12 corresponds to "LCMS data."

[0041] Each node is connected to other nodes by edges. For example, the start node Ms is connected to node M11 by an edge. Nodes C11 and C12 are connected to node M11 by edges. Node M11 is connected to node M12 by an edge. Furthermore, node M11 is connected to node C16 by an edge.

[0042] The edge from the container nodes C11, 12 toward the process node M11 indicates that the culture plate and the measurement plate 1 are transported to a predetermined position, thereby executing "liquid dispensing" corresponding to the process node M11.

[0043] The edge from processing node M14 to data node D11 represents the absorbance data obtained by the absorbance measurement.

[0044] In this way, in the stage of designing an experimental protocol, the user can use the name of the plate to be transported as a container node and the data obtained by the experimental protocol as a data node. As a result, the user can intuitively create a directed graph by imagining the flow of an actual experimental protocol. The user can create such a directed graph using the terminal device 400. The server device 200 stores the directed graph created by the terminal device 400. The server device 200 transmits the stored directed graph to the control device 110 of the experimental system 1.

[0045] A directed graph including container nodes and data nodes has the advantage that a human being can intuitively understand the flow of an actual experimental protocol when he or she sees it. However, this directed graph does not depict the movement of the robot arm 121 that transports the plate. In order to automatically execute an experimental protocol based on the directed graph in the experimental system 1, the movement of the robot arm 121 needs to be specified as a node. Therefore, the control device 110 that receives the directed graph converts the directed graph including the container nodes and data nodes into a directed graph including the movement node of the robot arm 121.

[0046] Fig. 7 is a diagram showing a directed graph DG2 including a motion node of the robot arm 121. The control device 110 converts the directed graph DG1 (see Fig. 6) created by a user into the directed graph DG2 shown in Fig. 7. The directed graph DG2 includes nodes R11 to R14 corresponding to the motion nodes of the robot arm 121. The nodes R11 to R14 are obtained by converting the container nodes C11 to C18 shown in Fig. 6 into motions of the robot arm 121.

[0047] For example, node R11 includes a process of node C11 for a culture plate and a process of node C12 for measurement plate 1. Node R12 includes a process of node C13 for measurement plate 1, a process of node C14 for plate 2, and a process of node C16 for a culture plate. Node R13 includes a process of node C15 for measurement plate 2 and a process of node C17 for measurement plate 1. Node R14 includes a process of node C18 for measurement plate 1.

[0048] In this way, the control device 110 converts a directed graph including container nodes and data nodes into a directed graph including an operation node of the robot arm 121. For simplicity of explanation, the operation nodes R11 to R14 of the directed graph DG2 shown in Fig. 7 do not include information about the plate transported by the robot arm 121 and the device to which it is transported. The operation nodes of the directed graph that are actually used include this information.

[0049] As described above, according to this embodiment, the user can easily design an experiment protocol using a directed graph. In particular, by creating an experiment protocol using a directed graph, the user can relatively easily design a complex experiment protocol including parallel processing.

[0050] According to the control device 110 according to this embodiment, a directed graph including container nodes and data nodes is converted into a directed graph including an operation node of the robot arm 121. Therefore, the user can create a directed graph as shown in FIG. 6 by imagining the flow of an actual experiment protocol without being aware of the operation of the robot arm 121.

[0051] Also, depending on the digraph, multiple nodes can be processed simultaneously to improve the efficiency of the experiment. For example, in the digraph DG2 shown in Fig. 7, it is stipulated that after the processing of node R12 is completed, nodes M12 and M13 are processed in parallel, and the processing of node R13 is executed after the processing of both nodes M12 and M13 is completed.

[0052] However, it is not easy to make the control device 110 execute an experimental protocol that includes parallel processing. For example, the control device 110 is configured to wait for the processing of one node to be completed before instructing the processing of the next node, and therefore cannot manage the processing of multiple nodes proceeding in parallel.

[0053] For this reason, conventional experiment execution software performed experimental tasks sequentially by operating each device sequentially. Generally, when operating an automated experiment system consisting of multiple devices, it is easier to operate each device sequentially than to operate multiple devices in parallel. This is because each device included in the automated experiment system can be controlled by sequentially executing a set of commands with a one-dimensional array structure. However, with this method, the experiment execution software must wait until it receives notification from the device to which it issued the command that the operation corresponding to the command has been completed before issuing a command to other devices.

[0054] In an experimental protocol, the efficiency of an experiment can be improved by operating multiple devices in parallel. For example, while a sample is being prepared by the liquid handler 123, another sample can be separated by the centrifuge 125, or multiple samples can be analyzed in parallel by multiple liquid chromatograph mass spectrometers 126, thereby making it possible to prepare and analyze more samples in a short period of time.

[0055] In order to automatically execute an experimental protocol including parallel processing created in a directed graph, it is conceivable to include various information such as the time required for processing each node in an array of instructions having a one-dimensional array structure. However, in order to start processing a certain node, the user must think up and set in the system information such as information on nodes whose processing needs to be completed before the processing of the node can be started, information on the time required for the processing of each node, and the time to start processing of the node. Such setting work places a burden on the user.

[0056] Therefore, in this embodiment, a method is proposed in which the control device 110 can automatically execute an experiment protocol created using a directed graph, without forcing the user to perform the above-mentioned design work. Specifically, the control device 110 generates an event handler and an adjacency matrix list based on the directed graph. The event handler and the adjacency matrix list are data used by the control device 110 to proceed with an experiment based on the directed graph.

[0057] Fig. 8 is a diagram showing a directed graph DG3. Here, in order to facilitate understanding of the event handler and the adjacency matrix list, the event handler and the adjacency matrix list will be described using the directed graph DG3 having a small number of nodes. As shown in Fig. 8, the directed graph DG3 is configured by nodes A to F in addition to a start node and an end node. The nodes A to F are, for example, various processing nodes including the operation node of the robot arm 121 shown in Fig. 7. In Fig. 8, these processing nodes are conceptually represented as A to F.

[0058] As shown in Fig. 8, according to the directed graph DG3, the nodes B and C need to be processed in parallel. In order to improve the efficiency of the experiment, the processes of the nodes B and C need to be executed promptly after the process of the node A is completed. However, it is not easy for the control device 110 to accurately predict the timing at which the process of the node A will be completed. The control device 110 is required to perform appropriate control taking such an experiment efficiency into consideration.

[0059] According to the directed graph DG3, the process of node D needs to be executed after the processes of nodes B and C are completed, and the process of node F needs to be executed after the processes of nodes D and E are completed. In order to improve the efficiency of the experiment, the process of node D needs to be executed promptly after the processes of nodes B and C are completed. However, it is not easy for the control device 110 to accurately predict the timing at which the processes of nodes B and C are completed. For the same reason, the process of node F needs to be executed promptly after the processes of nodes D and E are completed. However, it is not easy for the control device 110 to accurately predict the timing at which the processes of nodes D and E are completed. The control device 110 is required to perform appropriate control taking such experiment efficiency into consideration.

[0060] According to the directed graph DG3, nodes D and E need to be processed in parallel. To proceed with the processing of node E, it is necessary to wait for the completion of the processing of node B. To proceed with the processing of node D, it is necessary to wait for the completion of the processing of nodes B and C. To efficiently proceed with the parallel processing of nodes D and E, the control device 110 is required to perform more complex control than when implementing the parallel processing of nodes B and C.

[0061] The control device 110 controls the order and start timing of processing for each node by using an event handler and an adjacency matrix list. Next, examples of the event handler and the adjacency matrix list will be given and each will be described.

[0062] Fig. 9 is a diagram showing an event handler generated by the control device 110 based on the directed graph DG3, and Fig. 10 is a diagram showing an adjacency matrix list generated by the control device 110 based on the directed graph DG3.

[0063] An experiment protocol designed by a user is transmitted from the server device 200 to the control device 110. In order to execute the received experiment protocol, the control device 110 generates an adjacency matrix and an event handler based on the experiment protocol. The control device 110 executes the experiment protocol by using the event handler and the adjacency matrix list. The control device 110 can execute the experiment protocol designed in the form of a directed graph by using the event handler and the adjacency matrix list.

[0064] As shown in FIG. 9, an event handler is composed of a combination of a node and a status of the directed graph D3. The event handler is data indicating the status of the processing of the node. Therefore, the event handler functions as a status list. Here, "To do" means that the processing of the corresponding node is waiting to be executed. In the event handler shown in FIG. 9, the status of all nodes is "To do". Therefore, the event handler in FIG. 9 indicates that the processing of all nodes is waiting to be executed. The state in which the processing of all nodes is waiting to be executed is called the initial state. The control device 110 generates an event handler and an adjacency matrix list corresponding to the initial state based on the directed graph D3.

[0065] When the processing of any of the nodes corresponding to the "To do" event handler starts, the status of the corresponding node changes from "To do" to "Run." When the processing of the node corresponding to "Run" is completed, the status of the processing of that node changes from "Run" to "Done."

[0066] As shown in Fig. 10, the adjacency matrix list is composed of data in the form of a matrix in which all nodes of the directed graph D3 are expanded in two directions, the X-axis direction and the Y-axis direction. In Fig. 10, for ease of understanding, "x" is added to the node names arranged in the X-axis direction, and "y" is added to the node names arranged in the Y-axis direction. These added symbols do not need to be included in the actual data.

[0067] The adjacency matrix list is composed of start x column, Ax column, Bx column, Cx column, etc., and start y row, Ay row, By row, Cy row, etc. The start x column, Ax column, Bx column, Cx column, etc. are also expressed as Column1, Column2, Column3, Column4, etc., respectively.

[0068] In the adjacency matrix list, a component value that represents the state of the node is set. For example, in the position specified by the Bx column and the Ay row in FIG. 10, "wait" is set as an example of a component value that represents the state of the node. Hereinafter, the position specified by the Bx column and the Ay row will be described in a coordinate system using the X axis and the Y axis, such as (Bx, Ay).

[0069] The adjacency matrix list shown in Fig. 10 corresponds to the initial state. Whether or not a certain node's processing is executable is determined by the component values ​​in the column of the node's name. Here, "a node's processing is executable" means that the processing of other nodes required to execute the processing of that node has been completed.

[0070] When the processing of a node is completed, the control device 110 updates the component value of the row corresponding to the node name from "wait" to "ready." For example, when the processing of node A is completed, all component values ​​in the Ay row are updated from "wait" to "ready." As a result, the component values ​​of (Bx,By) and (Cx,Ay) are updated from "wait" to "ready."

[0071] In this way, the component value is updated from "wait" to "ready" when the processing of the node is completed. Also, the component value of the row corresponding to the node name for which processing has been completed is updated from "wait" to "ready".

[0072] The control device 110 checks the column corresponding to a node to determine whether the processing of the node is executable. If there is even one component value of "wait" in the column corresponding to the node, the control device 110 determines that the processing of the node corresponding to the column is not executable. If there is no component value of "wait" in the column corresponding to the node, the control device 110 determines that the processing of the node corresponding to the column is executable. For example, in the state of the adjacency matrix list shown in FIG. 10, the only node processing that is executable is the processing of the start node. This is because there is no component value of "wait" in the start x column, while there is at least one component value of "wait" in the other columns.

[0073] Since there is no substantial processing in the start node, the processing of the start node that has started is completed immediately. The control device 110 receives the command to start the processing of the start node that it has issued, and generates a completion signal for the processing of the start node. This immediately completes the processing of the start node. At this time, the control device 110 updates the component value of the start y row corresponding to the start node from "wait" to "ready". As a result, the component value of (Ax, start y) changes to "ready". Then, the component value of "wait" no longer exists in the Ax column. In the event handler in FIG. 9, node A is in a state waiting for the execution of processing. From the state of the event handler and the adjacency matrix list, it is identified that the processing of node A is in a state in which it can be executed.

[0074] The control device 110 starts the process of node A and updates the component value of the Ax column in the adjacency matrix list from "ready" to "passed." As a result, the component value of (Ax, start y) changes to "passed."

[0075] In this way, the component value is updated from "ready" to "passed" when the processing of the node is completed. Also, the component value of the column corresponding to the node name where the processing has started is updated from "ready" to "passed."

[0076] Next, an example of an event handler and an adjacency matrix list when an experiment based on an experiment protocol is in progress will be described. Fig. 11 is a diagram showing how an event handler is updated according to the progress of processing based on a directed graph DG3. Fig. 12 is a diagram showing how an adjacency matrix list is updated according to the progress of processing based on a directed graph DG3.

[0077] As shown in FIG. 11, here, we take as an example a state in which processing of the start node, node A, and node C in directed graph D3 has been completed and processing of node B is in progress, and explain the event handler and adjacency matrix list corresponding to that state.

[0078] The event handler reflects the processing status of the nodes in the directed graph D3. As shown in Fig. 11, the statuses corresponding to the start node, node A, and node C are "Done", and the status corresponding to node B is "Run". The statuses corresponding to nodes D, E, F, and the end node, which are awaiting processing, are "To do".

[0079] In the adjacency matrix list shown in Fig. 12, the component values ​​of columns Ax, Bx, and Cx are "passed." These component values ​​mean that the processes of nodes A, B, and C are not pending. Here, by referring to the event handler shown in Fig. 11, it is determined that the processes of nodes A and C have been executed, and that the process of node B is currently being executed. The control device 110 determines these states by referring to the event handler and the adjacency matrix list.

[0080] In the adjacency matrix list, the value of (Dx,Cy) is "ready", but the value of (Dx,By) is "wait". The value of (Dx,By) means that the processing of node B corresponding to row By is not completed. The value of (Dx,Cy) means that the processing of node C corresponding to row Cy is completed.

[0081] When the processing of node B is completed, the control device 110 changes the status of the event handler corresponding to node B from "Run" to "Done". Furthermore, when the processing of node B is completed, the control device 110 changes "wait" to "ready" in two places in the By row of the adjacency matrix list. As a result, there is no "wait" in the Dx column and the Ex column. At this time, the control device 110 can determine that nodes D and E are in an executable state. The control device 110 starts the processing of nodes D and E, and changes the status of nodes D and E in the event handler from "To do" to "Run". Furthermore, the control device 110 changes "ready" to "passed" in the Dx column and the Ex column of the adjacency matrix list.

[0082] As described above, the control device 110 generates an adjacency matrix list in which the connections between nodes in the experiment protocol are expressed by matrix elements, and manages the timing of executing node processing by changing the values ​​of the elements of the adjacency matrix list. When the control device 110 completes all processing of nodes that are dependent on each other in the adjacency matrix list, it issues a command to process the next node. Basically, one node is composed of an instruction having information on the operating conditions of one device. When executing processing corresponding to a node, the instruction corresponding to that node is transmitted from the control device 110 to the target device. When the control device 110 receives a completion signal indicating completion of the operation from the device that transmitted the instruction, it determines that the processing corresponding to that node has been completed.

[0083] When the automatic experiment is being executed, the control device 110 may output the latest event handler and the adjacency matrix list to the terminal device 400. The terminal device 400 may display the input event handler and the adjacency matrix list on a display device.

[0084] In this manner, the control device 110 generates the event handler and the adjacency matrix list based on the directed graph, and executes the experiment protocol designed by the directed graph based on the event handler and the adjacency matrix list.

[0085] Fig. 13 is a flow chart explaining the flow of an automatic experiment based on an experiment protocol. As shown in Fig. 13, the terminal device 400 designs an experiment protocol in the form of a directed graph based on a user's operation, and transmits the experiment protocol to the server device 200 (step S11). The server device 200 transmits the experiment protocol to the automatic experiment system 1 in accordance with the user's operation (step S12). The control device 110 of the automatic experiment system 1 automatically executes the experiment protocol received from the server device 200 (step S13). The control device 110 transmits output data of the process included in the experiment protocol to the server device 200 (step S14).

[0086] In the present embodiment, a case has been described in which an experiment protocol designed in the terminal device 400 is transmitted to the automated experiment system 1 via the server device 200. The terminal device 400 may also transmit the experiment protocol directly to the automated experiment system 1.

[0087] Next, the process (step S13 in FIG. 13) by which the control device 110 automatically executes the experiment protocol will be described in more detail with reference to a flowchart. Fig. 14 is a flowchart showing the process by which the control device 110 generates an event handler and an adjacency matrix list in accordance with the experiment protocol.

[0088] First, the control device 110 receives an experiment protocol created in a directed graph (step S101). The experiment protocol created in a directed graph is transmitted from the server device 200 to the control device 110.

[0089] Next, the control device 110 converts the format of the received digraph (step S102). Specifically, the control device 110 converts the digraph format so that the received digraph includes the motion node of the robot arm 121. As a result, for example, the digraph shown in FIG. 6 is converted into the digraph shown in FIG. 7.

[0090] Next, the control device 110 generates an event handler and an adjacency matrix list based on the converted directed graph (steps S103 and S104), and ends the process based on this flowchart. For example, the control device 110 generates the event handler shown in FIG. 9 and the adjacency matrix list shown in FIG. 10 based on the directed graph shown in FIG.

[0091] FIG. 15 is a flowchart showing the process in which the control device 110 executes an experiment protocol based on the event handler and the adjacency matrix list.

[0092] First, the control device 110 sets a variable Column to 1 (step S111), where Column corresponds to the column number of the adjacency matrix list shown in Fig. 10. For example, the Column set to 1 in step S111 corresponds to the start x column shown in Fig. 10.

[0093] Next, the control device 110 searches for data in the column corresponding to Column in the adjacency matrix list (step S112). Next, the control device 110 determines whether or not "wait" exists in the column corresponding to Column (step S113). If "wait" does not exist in the column corresponding to Column, the control device 110 proceeds to the process of step S118 and updates the value of Column. As a result, for example, the value of Column is updated from 1 to 2.

[0094] If the control device 110 determines in step S113 that there is no "wait" in the row corresponding to Column, the control device 110 determines in the event handler whether the status of the node corresponding to Column is "To do" (step S114). In this way, the control device 110 confirms that the node corresponding to Column is a processing target and is waiting to be executed.

[0095] If the control device 110 determines in step S114 that the status of the node corresponding to Column is not "To do", the process proceeds to step S118. If the control device 110 determines in step S114 that the status of the node corresponding to Column is "To do", the control device 110 changes the status of the node of the event handler corresponding to Column from "To do" to "Run" (step S115). This means that the control device 110 has selected a new node that will start processing. Next, the control device 110 changes all "ready" statuses in the rows corresponding to Column to "passed" (step S116).

[0096] Next, the control device 110 instructs the device corresponding to the node processing to operate (step S117). By the processing in step S117, the processing corresponding to the node whose status has been changed to "Run" in step S115 is executed.

[0097] The devices corresponding to the node processing include, for example, a robot arm 121, an incubator 122, a liquid handler 123, a microplate reader 124, a centrifuge 125, and a liquid chromatograph mass spectrometer 126. These devices receive instructions for operations corresponding to the node processing from the control device 110 in step S117. These devices realize the processing included in the experiment protocol by performing the operations corresponding to the instructions. When these devices complete the operations corresponding to the instructions, they transmit a completion signal indicating the completion of the operations to the control device 110.

[0098] The devices corresponding to the node processing further include a control device 110. In addition to the processing of the start node and end node, the control device 110 executes the processing of the node corresponding to "feature extraction" and the like. The control device 110 realizes the processing included in the experiment protocol by executing the operation according to its own instructions. When the control device 110 completes the operation according to the instructions, it returns to itself a completion signal indicating the completion of the operation.

[0099] Next, the control device 110 updates the value of Column (step S118). Next, the control device 110 determines whether or not a completion signal has been received from any device (step S119). If the control device 110 has not received a completion signal, the process proceeds to step S122. If the control device 110 has received a completion signal, the control device 110 changes the status of the node corresponding to the completed process from "Run" to "Done" in the event handler (step S120).

[0100] Furthermore, the control device 110 changes all "wait" in the row corresponding to the node of the completed process in the adjacency matrix list to "ready" (step S121). For example, when the process of node B is completed, two "wait" in the By row in the adjacency matrix list shown in FIG. 10 are changed to "ready".

[0101] Next, the control device 110 outputs a display signal for displaying the event handler and the adjacency matrix list (step S122). The user may notify the control device 110 in advance of the output destination of the display signal. In this case, the control device 110 outputs the display signal of the event handler and the adjacency matrix list to the notified output destination. For example, if a display device is connected to the control device 110, the control device 110 may output the display signal to the display device. As a result, the event handler and the adjacency matrix list are displayed on the display device.

[0102] When a display device is connected to the terminal device 400, the control device 110 may output a display signal to the terminal device 400. In this case, the terminal device 400 displays the event handler and the adjacency matrix list on the screen of the display device.

[0103] The user can view the latest event handler and adjacency matrix list on the screen, so that the user can easily grasp the progress of the automated experiment.

[0104] Next, the control device 110 judges whether the statuses of all the event handlers are "Done" (step S123). If the statuses of all the event handlers are not "Done", this means that there is processing of a node that has not been executed. In this case, the control device 110 returns to step S112 and repeats the process. If the control device 110 judges that the statuses of all the event handlers are "Done", it determines that all the processing of the planned experimental protocol has been completed, and ends the processing based on this flowchart.

[0105] The control device 110 executes an experiment protocol based on a directed graph in the above-described procedure using the event handler and the adjacency matrix list. Therefore, the control device 110 can appropriately control parallel processing of multiple nodes such as those included in the directed graph DG3 (see FIG. 8). The control device 110 can also appropriately control processing of nodes that must start after the processing of multiple nodes is completed, such as nodes D and F included in the directed graph DG3. As a result, the control device 110 can improve the efficiency of an experiment based on an experiment protocol created using a directed graph.

[0106] 16 is a block diagram showing the configuration of the automatic experiment management system 1000 to explain the configuration related to the functions of the control device 110. The processing of the control device 110 explained based on the flowchart will be explained here as the functions of the control device 110. As shown in FIG. 16, the control device 110 includes an input unit 113, a generation unit 114, a selection unit 115, a command unit 116, an update unit 117, an output unit 118, and a conversion unit 119. These configurations are realized by the processor 111 and memory 112 of the control device 110 shown in FIG. 1.

[0107] The input unit 113 accepts input of an experimental protocol designed in a directed graph including a plurality of nodes corresponding to the processing of an experiment. The generation unit 114 generates an adjacency matrix list, etc. The selection unit 115 selects a node to start processing from among the plurality of nodes based on the adjacency matrix list, etc. The command unit 116 commands various experimental devices to process the node selected by the selection unit 115. The update unit 117 updates the adjacency matrix list, etc. when any of the processing of the plurality of nodes is completed. The output unit 118 outputs a signal for displaying the adjacency matrix list, etc. When the experimental protocol input to the input unit 113 is designed in a first directed graph including nodes corresponding to a container that contains a sample, the conversion unit 119 converts the experimental protocol input to the input unit 113 into a second directed graph including the operation of a device that moves the container.

[0108] Fig. 17 is a block diagram showing a hardware configuration of server device 200. As shown in Fig. 17, server device 200 includes a processor 201, a memory 202 and a hard disk 203 as storage units, a communication interface 204 as a communication unit, and an input / output unit 205. These are connected to each other via a bus 210 so as to be able to communicate with each other.

[0109] The hard disk 203 is a non-volatile storage device. For example, an operating system (OS) program 51 and an automatic experiment management program 52 are stored on the hard disk 203. For example, settings and outputs of various applications are stored on the hard disk 203. The memory 202 is a volatile storage device and includes, for example, a dynamic random access memory (DRAM).

[0110] The processor 201 includes a CPU (Central Processing Unit). The processor 201 loads a program stored in a hard disk 203 into a memory 202 and executes it to realize various functions of the server device 200. For example, the processor 201 that executes the automatic experiment management program 52 provides an experiment protocol design application 500 to the terminal device 400. The processor 201 is connected to a network NW via a communication interface 204.

[0111] Fig. 18 is a block diagram showing the configuration of an automatic experiment management system 1100 according to a first variation of the embodiment. The configuration of the automatic experiment management system 1100 is the same as that of the automatic experiment management system 1000 in Fig. 1 except that the server device 200 and the database 300 are removed and the terminal device 400 is replaced with 400A. As the rest is the same, the description will not be repeated. An experiment protocol design application 500A is displayed on the display 431 of the terminal device 400A.

[0112] Fig. 19 is a block diagram showing the hardware configuration of the terminal device 400A according to the first modified example. The configuration of the terminal device 400A is the same as that of Fig. 2 except that an automatic experiment management program 52A is added to the hard disk 423. As the rest of the configuration is the same, the description will not be repeated. The automatic execution of the experiment protocol by the experiment protocol design application 500A and the automatic experiment system is realized by executing the automatic experiment management program 52A by the processor 421.

[0113] The experiment protocol may be designed in the control device of the automatic experiment system. Fig. 20 is a block diagram showing the configuration of an automatic experiment system 1B according to the second modification. The configuration of the automatic experiment system 1B is the same as that of the automatic experiment system 1 in Fig. 1, except that the control device 110 is replaced with 110B. Since the rest of the configuration is the same, the description will not be repeated.

[0114] As shown in FIG. 20, the control device 110B includes an input / output unit 130 and a computer 140 (processing unit). The input / output unit 130 includes a display 131 (display unit), a keyboard 132 (input unit), and a mouse 133 (input unit). The display 131, the keyboard 132, and the mouse 133 are connected to the computer 140. The GUI of the experiment protocol design application 500B is displayed on the display 131. The keyboard 132 and the mouse 133 accept GUI operations on the experiment protocol design application 500B by the user. That is, the user performs desired GUI operations on the experiment protocol design application 500B by operating the keyboard 132 or the mouse 133 while referring to the display on the display 131.

[0115] Fig. 21 is a block diagram showing the hardware configuration of the control device 110B. As shown in Fig. 21, the computer 140 includes a processor 141, a memory 142 and a hard disk 143 as storage units, and a communication interface 144. These are connected to each other via a bus 145 so as to be able to communicate with each other.

[0116] The hard disk 143 is a non-volatile storage device. For example, an operating system (OS) program 61 and an automatic experiment management program 52B are stored on the hard disk 143. In addition to the data shown in Fig. 21, for example, settings and outputs of various applications are stored on the hard disk 143. The memory 142 is a volatile storage device and includes, for example, a dynamic random access memory (DRAM).

[0117] The processor 141 includes a CPU (Central Processing Unit). The processor 141 loads a program stored in a hard disk 143 into a memory 142 and executes it. The automatic experiment management program 52B is executed by the processor 141, thereby realizing automatic execution of an experiment protocol by the experiment protocol design application 500B and the multiple experimental devices 120. The processor 141 is connected to a network via a communication interface 144.

[0118] 22 is a diagram showing a directed graph DG4. In this embodiment, directed graphs can be created in various formats using the terminal device 400. In the directed graph DG4, nodes are specified using the names of devices.

[0119] Node LH1 indicates a first process by the Liquid Handler 123, which, for example, distributes a sample. Node LH2 indicates a second process by the Liquid Handler 123. INC indicates a process by the Incubator 122, which, for example, cultures cells. PR indicates a process by the Microplate Reader 124, which, for example, measures optical properties of samples in a microplate. CEN indicates a process by the Centrifuge 125. LCMS indicates a process by the Liquid Chromatograph Mass Spectrometer 126.

[0120] In the directed graph DG4, the node for the robot arm 121 is omitted. 23 is a diagram showing the directed graph DG4 and the directed graph DG5 obtained by adding a node of the robot arm 121 to the directed graph DG4. The control device 110 may be configured so as to be able to convert the directed graph DG4 into the directed graph DG5 to which the node of the robot arm 121 is added.

[0121] According to the method and system of the present embodiment and variant 1, as well as the device of variant 2 of the embodiment, a method for designing an experimental protocol capable of handling more advanced processing can be provided.

[0122] According to this embodiment, the experiment is automatically carried out by the control device 110 based on an experiment protocol in the form of a directed graph created by the user. Therefore, according to this embodiment, it is possible to execute an experiment protocol in a graph structure as it is in the automated experiment system 1 with a lightweight implementation.

[0123] According to this embodiment, the devices involved in the experiment are controlled according to the visualized graph structured experiment protocol. Therefore, the user can easily create a complex experiment protocol including parallel processing without considering the time required for the devices operating in parallel to operate, the timing of the completion of the operation, the timing of the start of the next operation, etc. In addition, since the experiment is performed based on the experiment protocol including parallel processing, the efficiency of the experiment can be improved.

[0124] According to this embodiment, by using a protocol with a graph structure in which an operation of an apparatus is treated as one node, a user can create an easy-to-understand protocol that corresponds to the operation of an apparatus that the user understands. For example, the user can express the operation commands of an LCMS autoloader, batch file load, and batch start as one LCMS node.

[0125] According to this embodiment, the user can create an experimental protocol by omitting the operation of the robot arm 121 that transports the sample. In this case, instead of the node of the operation of the robot arm 121, the user can use a node corresponding to the plate containing the sample, a node corresponding to the destination of the plate, and a node corresponding to the source of the plate. The user can create an experimental protocol more intuitively by connecting these nodes with edges so as to correspond to the processing flow of the experimental protocol (see FIG. 6).

[0126] According to this embodiment, by using an adjacency matrix list that indicates the dependency relationships of nodes, an experiment can be carried out based on a directed graph including parallel processing.

[0127] Further modifications and features of this embodiment will be mentioned below. The number of types of status that can be set in an event handler may be reduced. For example, an event handler may be updated without using "Run" among "To do", "Run", and "Done". Even if "Run" is not used, the control device 110 can determine whether the processing of the target node needs to be executed or whether the processing of the target node has already been executed based on "To do" and "Done".

[0128] The number of types of component values ​​that can be set in the adjacency matrix list may be reduced. For example, the adjacency matrix list may be updated without using "ready" among "wait", "ready", and "passed". Even if "ready" is not used, the control device 110 can determine whether or not it is possible to execute the processing of the target node by "wait" and "passed".

[0129] The types of statuses that can be set in an event handler may be changed or added. For example, if an error occurs in an ongoing process, the event handler may be configured to set "Error" as the status of the node corresponding to that process. When set in the event handler, the control device 110 may send a restart command to the device involved in the process of the corresponding node.

[0130] The adjacency matrix list may be provided with an event handler function, for example, component values ​​indicating whether a node is waiting to be executed, is executing, or has completed execution.

[0131] The control device 110 may output at least one of the event handler and the adjacency matrix list to the outside via a communication network such as the Internet. A user can grasp the progress of the automated experiment from a remote location by displaying the data output from the control device 110 on a display device.

[0132] The nodes included in the directed graph hold information such as the device to be operated, the process of the device to be operated, and the operating conditions. When a first command for operating the device when a first condition is satisfied and a second command for operating the device when a second condition is satisfied are included in an experimental protocol, it is desirable for the first command and the second command to be created by the user as separate nodes even if the device that operates based on the first command and the second command is the same.

[0133] In a certain experimental protocol, a sample is prepared, adjusted, and analyzed by moving the sample between various devices by the robot arm 121. According to the present embodiment, when creating such an experimental protocol in a directed graph, the sample can be represented as a node, and the relationship between the moving devices can be represented as an edge. In this case, the user can create a directed graph by omitting the node of the operation of the robot arm 121. However, there may be a user who is interested in creating a directed graph in which the operation of the robot arm 121 is represented by a node. Therefore, the terminal device 400 may provide a system environment in which the user can create such a directed graph.

[0134] In the directed graph, a command for processing the second node and the third node in parallel can be expressed by connecting the first node and the second node with an edge and connecting the first node and the third node with an edge. In this case, it is necessary to set a different device for the second node and a device for the third node. Therefore, when the device designated by the user for the second node and the device designated for the third node are the same device, it is desirable to configure the terminal device 400 so as not to accept the user's designation.

[0135] However, when there are multiple devices of the same type, the terminal device 400 may accept such a user's designation. Also, when the sample designated by the user for the second node and the sample designated for the third node are the same, it is desirable to configure the terminal device 400 so as not to accept the user's designation. Of course, when the processing order of the second node processing and the third node processing is clearly defined, the terminal device 400 may accept the designation.

[0136] When multiple pieces of experimental equipment accept methods of an experimental protocol, each piece of experimental equipment may independently manage its own status such as Ready / Busy and Available / Locked, and its own method queue.

[0137] In order to provide a graph structure of the experimental protocol that is easy for the user to understand, information on multiple operating conditions of one device and a set of multiple instructions including information on operating conditions of multiple devices may be configured as a single node.

[0138] There are also experimental protocols in which samples are prepared, adjusted, and analyzed by moving the sample between various devices by the robot arm 121. In the case of such an experimental protocol, the node for the individual operation of the robot arm 121 can be omitted, and it can be expressed by one node that sets the operation of the device and the operation of loading and unloading the sample by the robot arm 121. In this case, multiple commands in one node are executed sequentially. When the control device 110 receives a completion signal corresponding to the last command from the device, it determines that the processing of the node is completed.

[0139] When there are robot arms 121 in a number corresponding to the number of nodes to be processed in parallel, an experimental protocol may be designed in which each robot arm 121 performs processing in parallel. This makes it possible to create an experimental protocol in which, for example, each robot arm 121 transports a sample at the same time.

[0140] When the number of robot arms 121 is smaller than the number of nodes arranged in parallel, the movement of the robot arms 121 may be expressed by nodes. When the number of robot arms 121 is smaller than the number of nodes arranged in parallel, the nodes of the robot arms 121 may be used as the nodes of the device instead of the nodes corresponding to the movement of the robot arms 121.

[0141] 23, the node of the robot arm 121 is omitted. If only one robot arm 121 exists in the system, the operation node of the robot arm 121 may be inserted immediately before the nodes of each device other than the robot arm 121. In this case, the operation node of the robot arm 121 may sequentially include an operation of carrying a sample into each device or an operation of carrying a sample out of each device.

[0142] When the processes of a plurality of nodes are executed in parallel, a node for the operation of the robot arm 121 is inserted immediately before or after the plurality of nodes that are to be operated in parallel. For example, in the directed graph DG5 shown in Fig. 23, an RB node is inserted immediately before the LH2 node and the INC node that are to be operated in parallel. Also, a constraint may be placed on the terminal device 400 such that only the number of parallel processes corresponding to the number of robot arms 121 can be designed.

[0143] [Aspects] It will be appreciated by those skilled in the art that the exemplary embodiments described above are examples of the following aspects.

[0144] (Item 1) A control device according to one embodiment is a control device that controls an experimental apparatus based on an experimental protocol. The control device includes an input unit that accepts an input of the experimental protocol designed as a directed graph including a plurality of nodes corresponding to experimental processing, a generation unit that generates a dependency list including first dependency information indicating that the start of processing of the second node depends on the completion of processing of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of processing of the first node, a selection unit that selects a node from the plurality of nodes to start processing based on the dependency list, a command unit that commands the experimental apparatus to process the node selected by the selection unit, and an update unit that updates the dependency list or the states of the plurality of nodes when any of the processing of the plurality of nodes is completed, and the selection unit selects the second node when processing of the first node is completed.

[0145] According to the control device described in paragraph 1, it is possible to improve the efficiency of an experiment based on an experiment protocol created in a directed graph.

[0146] (Clause 2) In the control device described in Clause 1, when processing of the first node is completed, the update unit updates the first dependency information from the first information to the second information, and the selection unit selects the second node when the first dependency information is updated from the first information to the second information.

[0147] According to the control device described in Section 2, it is possible to improve the efficiency of an experiment based on an experiment protocol created in a directed graph.

[0148] (Clause 3) In the control device described in Clause 2, the generation unit further generates a status list for identifying the status of each of the multiple nodes, and the update unit updates the status of the first node in the status list from "in progress" to "completed" when processing of the first node is completed, and updates the status of the second node in the status list from "waiting for execution" to "in progress" when processing of the second node is started.

[0149] According to the control device described in paragraph 3, it is possible to proceed with processing while identifying the status of each of a plurality of nodes based on the status list.

[0150] (Clause 4) In the control device described in Clause 3, the multiple nodes include a third node that becomes executable upon completion of processing of the first node, the dependency list includes second dependency information indicating that start of processing of the third node depends on completion of processing of the first node, the update unit updates the first dependency information and the second dependency information from the first information to the second information when processing of the first node is completed, and the selection unit selects the second node and the third node when the first dependency information and the second dependency information are updated from the first information to the second information.

[0151] According to the control device described in Section 4, the processing of the second node and the processing of the third node can be executed in parallel.

[0152] (Clause 5) In the control device described in Clause 4, the multiple nodes include a fourth node that is capable of starting processing after processing of the second node and the third node is completed, the dependency list includes third dependency information indicating that start of processing of the fourth node depends on completion of processing of the second node and fourth dependency information indicating that start of processing of the fourth node depends on completion of processing of the third node, the update unit updates the third dependency information from the first information to the second information when processing of the second node is completed, and updates the fourth dependency information from the first information to the second information when processing of the third node is completed, and the selection unit selects the fourth node when the third dependency information and the fourth dependency information are updated from the first information to the second information.

[0153] According to the control device described in the fifth aspect, the processing of the fourth node can be executed at the timing when the processing of the second node and the third node executed in parallel is completed.

[0154] (Item 6) The control device according to any one of items 1 to 5, further comprising an output unit that outputs a signal for displaying the dependency list.

[0155] According to the control device described in paragraph 6, the user can grasp the progress of the experimental protocol by checking the displayed dependency list.

[0156] (Clause 7) In the control device described in any one of clauses 1 to 6, when the experimental protocol input to the input unit is designed in a first directed graph including nodes corresponding to containers that hold samples, the control device further includes a conversion unit that converts the experimental protocol input to the input unit into a second directed graph including operations of a device that moves the containers, and the generation unit generates a dependency list based on the second directed graph.

[0157] According to the control device described in paragraph 7, an experiment is carried out based on a first directed graph intuitively created by a user using nodes corresponding to containers containing samples, which allows the user to create an experiment protocol more easily.

[0158] (Item 8) A method according to one embodiment is a method for controlling an experimental apparatus based on an experimental protocol. The method includes the steps of: accepting an input of an experimental protocol designed as a directed graph including a plurality of nodes corresponding to experimental processing; generating a dependency list including first dependency information indicating that the start of processing of the second node depends on the completion of processing of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of processing of the first node; selecting a node from the plurality of nodes to start processing based on the dependency list; instructing the experimental apparatus to process the node selected by the selection unit; and updating the dependency list or the states of the plurality of nodes when any of the processing of the plurality of nodes is completed, wherein the step of selecting a node to start processing selects the second node when processing of the first node is completed.

[0159] According to the method described in Section 8, it is possible to improve the efficiency of an experiment based on an experimental protocol created in a directed graph.

[0160] With regard to the above-mentioned embodiments and modified examples, it has been intended from the outset of the application that the configurations described in the embodiments may be appropriately combined, including combinations not mentioned in the specification, to the extent that no inconvenience or contradiction arises.

[0161] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]

[0162] 1,1B Automatic experiment system, 110,110B Control device, 111 Processor, 112 Memory, 113 Input section, 114 Generation section, 115 Selection section, 116 Command section, 117 Update section, 118 Output section, 119 Conversion section, 120 Experimental equipment, 121 Robot arm, 122 Incubator, 123 Liquid handler, 124 Microplate reader, 125 Centrifuge, 130,205,430 Input / output section, 131,431 Display, 132,432 Keyboard, 133 Mouse, 140 Computer, 141,201,421 Processor, 142,202,422 Memory, 143,203,423 Hard disk, 144,204,424 Communication interface, 145,210,440 Bus, 200 server device, 300 database, 400,400A terminal device, 433 touch pad, 500,500A,500B experiment protocol design application, 510 queue list window, 520 protocol list window, 530 protocol design window, 531 vessel area, 532 processing area, 533 data area, 540 automated experiment system window, 550 sample vessel window, 560 tool window, 570 information window, 600 web browser, 1000,1100 automated experiment management system, Cr selection cursor, NW network, Plt1,Plt2 plate, p1 experiment protocol.

Claims

1. A control device for controlling an experimental device based on an experimental protocol, an input unit for receiving an input of an experiment protocol designed as a directed graph including a plurality of nodes corresponding to the processes of the experiment; a generation unit that generates a dependency list including first dependency information indicating that a start of a process of the second node depends on a completion of a process of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of a process of the first node; a selection unit that selects a node that will start processing from among the plurality of nodes based on the dependency list; a command unit for commanding an experimental device to process the node selected by the selector unit; an update unit that updates the dependency list or states of the plurality of nodes when any of the processes of the plurality of nodes is completed; The selection unit selects the second node when processing of the first node is completed.

2. the update unit updates the first dependency information from first information to second information when the processing of the first node is completed; The control device according to claim 1 , wherein the selection unit selects the second node when the first dependency information is updated from the first information to second information.

3. The generation unit further generates a status list for identifying a status of each of the plurality of nodes; 3. The control device according to claim 2, wherein the update unit updates the status of the first node in the status list from "in progress" to "completed" when processing of the first node is completed, and updates the status of the second node in the status list from "waiting for execution" to "in progress" when processing of the second node is started.

4. the plurality of nodes includes a third node that becomes executable upon completion of processing by the first node; the dependency list includes second dependency information indicating that the start of the processing of the third node depends on the completion of the processing of the first node; the update unit updates the first dependency information and the second dependency information from the first information to the second information when the processing of the first node is completed; The control device according to claim 3 , wherein the selection unit selects the second node and the third node when the first dependency information and the second dependency information are updated from the first information to second information.

5. the plurality of nodes includes a fourth node that is capable of starting processing after processing by the second node and the third node is completed; the dependency list includes third dependency information indicating that a start of a process of the fourth node depends on a completion of a process of the second node, and fourth dependency information indicating that a start of a process of the fourth node depends on a completion of a process of the third node; the update unit updates the third dependency information from the first information to the second information when the processing of the second node is completed, and updates the fourth dependency information from the first information to the second information when the processing of the third node is completed; The control device according to claim 4 , wherein the selection unit selects the fourth node when the third dependency information and the fourth dependency information are updated from the first information to the second information.

6. The control device according to claim 1 , further comprising an output unit that outputs a signal for displaying the dependency list.

7. A conversion unit converts the experimental protocol input to the input unit into a second directed graph including an operation of a device for moving the container when the experimental protocol input to the input unit is designed in a first directed graph including a node corresponding to a container for storing a sample, The control device according to claim 1 , wherein the generation unit generates the dependency list based on the second directed graph.

8. 1. A method for controlling an experimental apparatus based on an experimental protocol, comprising: receiving an input of an experiment protocol designed as a directed graph including a plurality of nodes corresponding to the processes of the experiment; generating a dependency list including first dependency information indicating that a start of a process of the second node depends on a completion of the process of the first node when the plurality of nodes includes a first node and a second node that becomes executable upon completion of a process of the first node; selecting a node to start processing from among the plurality of nodes based on the dependency list; instructing a laboratory device to process the selected node; updating the dependency list or states of the plurality of nodes when processing of any of the plurality of nodes is completed; A method according to claim 1, wherein the step of selecting a node to initiate processing selects the second node when processing of the first node is completed.

Citation Information

Patent Citations

  • Archive and analysis system and method

    JP2008298798A

  • Automatic analyzer

    JP2009174997A

  • System and method for automatically verifying examination room test result

    JP2013077335A

  • Experimental data management system, method, and program

    WO2016208623A1

  • Method and system for mapping read sequences using a pangenome reference

    WO2020183428A2