Mechanism for sharing analysis method using container technology
The data analysis method sharing platform addresses the challenges of IT complexity and high costs in bioinformatics by using container and serverless technologies, enabling efficient and cost-effective analysis method execution across environments.
Patent Information
- Application Number
- PCT/JP2025/021660
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-13
- Filing Date
- 2025-06-16
- Publication Date
- 2026-02-19
AI Technical Summary
Existing bioinformatics analysis systems require specialized IT knowledge for setup and maintenance, are not portable across environments, and incur high fixed costs due to server management, making them cumbersome and costly for researchers.
A data analysis method sharing platform utilizing container technology and serverless computing, allowing researchers to select and execute analysis methods without IT expertise, ensuring portability and reducing maintenance costs by using cloud-based, serverless containers.
Enables researchers to perform bioinformatics analyses efficiently and cost-effectively by providing a user-friendly interface and reducing fixed costs through serverless computing, ensuring compatibility and ease of use across environments.
Smart Images

Figure JP2025021660_19022026_PF_FP_ABST
Abstract
Description
A mechanism for sharing analytical techniques using container technology
[0001] [RELATED APPLICATIONS] This application claims priority to Japanese Patent Application No. 2024-134905, entitled "Mechanism for Sharing Analysis Techniques Using Container Technology," filed on August 13, 2024, the disclosure of which is incorporated herein by reference in its entirety. The disclosure of this application relates to a mechanism for sharing analysis techniques using container technology.
[0002] Japanese Patent Laid-Open Publication No. 2008-117363 (Patent Document 1) is a document disclosing background art in this technical field. This patent document states, "We provide a system that allows researchers to freely and effectively use bioinformatics analysis programs from around the world that are publicly available on the Internet." (See Abstract.) This patent document also states, "When a user computer uses a bioinformatics analysis program that is publicly available on the Internet, a broker is used. The broker has the function of accommodating differences in input / output formats between analysis programs, and is provided for each analysis program. The broker provider server accumulates various brokers provided by users and makes them public. When a user uses a bioinformatics analysis program that is publicly available on the Internet, the user can use brokers created by other users that are publicly available on the broker provider server." (See Abstract.)
[0003] Japanese Patent Application Laid-Open No. 2008-117363
[0004] The above-mentioned Patent Document 1 describes a system that allows researchers to freely use bioinformatics analysis programs. However, the above-mentioned Patent Document 1 does not mention container technology. The disclosure of the present application has been made in consideration of such circumstances, and provides a mechanism for sharing analysis methods using container technology.
[0005] In order to solve the above problem, for example, the configuration described in the claims is adopted. The present application includes multiple means for solving the above problem, and one example thereof is an analysis system including: a first receiving means for receiving a designation of an analysis method used in the field of bioinformatics; a second receiving means for receiving input data to be analyzed using the designated analysis method; an acquisition means for acquiring a container image corresponding to the designated analysis method from multiple container images, each of which includes a program for executing the analysis method used in the field and information for realizing an execution environment for the program; an analysis means for executing a container based on the acquired container image and analyzing the accepted input data; and an output means for outputting the results of the analysis.
[0006] According to the disclosure of the present application, it is possible to provide a mechanism for sharing analysis techniques using container technology. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments.
[0007] FIG. 1 shows an example of the configuration of an information processing system 100. FIG. 2 shows an example of the configuration of an analysis system 101. FIG. 3 shows an example of an analysis metadata table 300. FIG. 4 shows an example of an analysis history table 400. FIG. 5 shows an example of an analysis status table 500. FIG. 6 shows an example of a user table 600. FIG. 7 shows an example of the data flow of an analysis process 800. FIG. 8 shows an example of the analysis process 800. FIG. 9 shows an example of a dashboard screen 900. FIG. 10 shows an example of an analysis method selection screen 1000. FIG. 11 shows an example of a details screen 1100. FIG. 12 shows an example of a tag table 1200. FIG. 13 shows an example of a screen 1300 that proposes analysis methods. FIG. 14 shows an example of a screen 1400 that proposes analysis methods. FIG. 15 shows an example of a screen 1500 for inputting search keywords.
[0008] 1. Examples Hereinafter, examples of the present invention will be described with reference to the drawings.
[0009] 1-1. Overview Traditionally, analysis in the field of bioinformatics requires keyboard input and specialized knowledge. For IT novices, only text is displayed on the screen, making visual operation difficult. Furthermore, it is necessary to set up an environment for analysis on one's own PC, which is time-consuming and burdensome. In light of these circumstances, this embodiment provides a data analysis method sharing platform. With this platform, even researchers without specialized IT knowledge can select an analysis method and conduct analysis as if flipping through a catalog.
[0010] This data analysis method sharing platform uses container computing, a technology that runs software on an operating system in isolation from other processes. Containers can include all of the runtimes and libraries required to run an application as a single package. This allows all of the application's dependencies to be satisfied within the container.
[0011] If the analysis method is not saved as a container, it will no longer work if compatibility is lost due to architectural advances. In this regard, the container stores the configuration files and libraries necessary to run the application, so compatibility will not be lost.
[0012] Furthermore, if analysis methods are not saved as containers, if maintenance ends in the environment they are being used in, they must be recreated from the environment, which takes time to recover. For example, an analysis method created while enrolled in university may continue to be useful and used after the student graduates, but may no longer function due to lack of maintenance. Another example is the difficulty of budget execution, which is unique to academia, making it impossible to prepare an environment in which the program can run. In this regard, containers allow you to create a single image and launch multiple identical containers, allowing you to quickly switch to an alternative environment.
[0013] Furthermore, unless analysis methods are saved as containers, they are dependent on the equipment, making it difficult to use them in a new environment. For example, bioinformaticians are often employed on fixed-term contracts, and the equipment they use changes each time. This requires building an IT environment each time, which is a hassle. It is desirable for analysis methods to be portable. In that regard, containers store the configuration files, libraries, and runtime required to run an application, so the container can be run immediately even if it is moved to another server.
[0014] Furthermore, the data analysis method sharing platform mentioned above employs serverless computing. Serverless computing means that there are no servers that users must manage to run applications. With serverless computing, the service provider manages the servers on behalf of the user.
[0015] Traditionally, servers have generally incurred management costs. In bioinformatics, where heavy calculations are temporarily required, servers with a certain level of specifications are required for calculations. If many analysis methods are collected and servers are prepared that are always ready to be executed, the maintenance costs (fixed costs) become enormous. For this reason, we have built a core system that is fully cloud-based and fully serverless, and we use container technology to temporarily launch and run serverless containers even when analyses are being performed. This allows analyses to be saved in a running state, improving maintainability while significantly reducing fixed costs and realizing a pay-as-you-go system where you are only charged when analyses are being performed.
[0016] Analysis tools in the field of bioinformatics are often a combination of multiple OSS (Open Source Software), and updates to individual OSS can easily cause fatal errors in the analysis tools. However, by applying container computing technology, it is possible to operate the analysis tools while maintaining each OSS version.
[0017] When conducting bioinformatics-related analyses, organizations consisting of multiple people often share high-powered servers. In such cases, different researchers may want to perform different analyses, but in rare cases, a combination of analysis tools may exist in which the libraries required by the analysis tools cannot coexist. For example, analysis tool A may require version 1.00 of library α, while analysis tool B requires version 2.00 of library α. Applying container computing technology solves this problem by creating an environment for each analysis tool.
[0018] 1-2. Configuration Fig. 1 shows an example of the configuration of an information processing system 100 according to this embodiment. The information processing system 100 includes an analysis system 101 and multiple user terminals 102. The analysis system 101 and the multiple user terminals 102 are connected via a wired or wireless network, and are capable of transmitting and receiving information to and from each other.
[0019] The analysis system 101 is a server that performs analyses in the field of bioinformatics. Here, bioinformatics (in other words, bioinformatics or information life science) is an academic field that widely applies computer-based information science techniques to elucidating biological phenomena. Research subjects in this academic field include, for example, gene prediction, gene function prediction, gene classification, sequence alignment, genome assembly, protein structure alignment, protein structure prediction, gene expression analysis, protein-protein interaction prediction, evolutionary modeling, drug design, and drug discovery.
[0020] On the other hand, the plurality of user terminals 102 are terminal devices used by respective users. Each user performs analysis using the analysis system 101.
[0021] Each device constituting the information processing system 100 includes a processor that executes an operating system, applications, programs, etc., a main storage device such as a RAM (Random Access Memory), an auxiliary storage device such as an IC card, a hard disk drive, an SSD (Solid State Drive), or a flash memory, a communication control unit such as a network card, a wireless communication module, or a mobile communication module, an input device such as a touch panel, a keyboard, a mouse, voice input, or input based on motion detection captured by a camera unit, and an output device such as a monitor or display. Note that the output device may also be a device or terminal that transmits information to be output to an external monitor, display, printer, or device.
[0022] The main memory stores various programs and applications (modules), and the processor executes these programs and applications to realize the various functional elements of the overall system. Each module may be implemented in hardware, such as by integration. Each module may be an independent program or application, or may be implemented as a subprogram or function within a single integrated program or application.
[0023] In this specification, each module is described as the entity that performs the processing (subject), but in reality, the processing is carried out by a processor that processes various programs, applications, etc. (modules).
[0024] The auxiliary storage device stores various databases (DBs). A "database" is a functional element (storage unit) that stores a data set so that it can accommodate any data manipulation (e.g., extraction, addition, deletion, overwriting, etc.) from a processor or an external computer. The method for implementing the database is not limited, and may be, for example, a database management system, spreadsheet software, or a text file such as XML or JSON. The analysis system 101 will be described in detail below.
[0025] FIG. 2 shows an example of the configuration of the analysis system 101. The analysis system 101 is composed of one or more servers deployed on the cloud and provides AWS (Amazon Web Services) (registered trademark (hereinafter the same)). The main storage device 201 of this system stores programs and applications such as a CloudFront module 210, a Cognito module 211, an AppSync module 212, a Lambda module 213, an ECS module 214, a Fargate module 215, an SES module 216, a CloudWatch module 217, and an ECR module 218. The processor 203 executes these programs and applications to realize each functional element of the analysis system 101. Each module will be described below.
[0026] The CloudFront module 210 is a managed service with CDN (Content Delivery Network) functionality. A CDN is a mechanism that caches content on edge servers deployed in various locations to speed up content delivery and distribute access to the server that originally hosted the content.
[0027] The CloudFront module 210 provides a display screen to the user terminal 10 and accepts the specification of an analysis method used in the field of bioinformatics. The module also accepts input data to be analyzed using the specified analysis method through the provided display screen.
[0028] The Cognito module 211 is a managed service that provides authentication functionality to applications. This module performs user authentication based on the email address and password entered by the user. If the user authentication is successful, the module allows the user to access the AWS service. In addition, the module outputs the ID of the successfully authenticated user. The output ID is used as an ID to identify the user.
[0029] The AppSync module 212 is a managed service that performs serverless data synchronization. This module synchronizes data between a DynamoDB 221 (described later) and the CloudFront module 210.
[0030] The Lambda module 213 is a managed service that executes defined application code. When an analysis execution command is input, this module sets up a virtual server in the ECS module 214 and causes the Fargate module 215 to execute the analysis. This module is started after the analysis method specification and input data are received from the user. This module also saves and reads metadata to and from the DynamoDB 221, which will be described later. This module also starts the SES module 216 when the analysis results are stored in S3 220.
[0031] The Elastic Container Service (ECS) module 214 is a managed service that executes and manages containers. This module receives instructions from the Lambda module 213, references the target container image, and instructs the Fargate module 215 to deploy the container. At that time, the module reads the container image from the ECR 218 and executes it.
[0032] The Fargate module 215 is a managed service that selects a container image and runs the container. This module receives instructions from the ECS module 214, selects the target container image, and runs the container. At that time, the module starts a micro-VM (Virtual Machine) for each container and runs the container on the micro-VM.
[0033] This module acquires a container image corresponding to the analysis method specified by the user from multiple container images pre-registered in the ECR 218 (described later). The module also acquires input data to be analyzed from S3 220. The module then executes a container based on the acquired container image and analyzes the input data acquired from S3 220. The module then saves an analysis result file in S3 220. The module then deletes the executed container.
[0034] The Simple Email Service (SES) module 216 is a managed service that sends emails. This module is activated by the Lambda module 213 and sends an email containing the URL of the analysis result file to the user terminal 102.
[0035] The CloudWatch module 217 is a managed service that monitors AWS resources and applications. This module creates a log group for each resource and analysis result of each module and manages the logs. The managed logs include analysis logs (including the standard output and standard error output of the ECS module 214), deployment information, and resource logs of each module (including the Lambda module 213).
[0036] Next, the Elastic Container Registry (ECR) 218 is a registry that stores container images and manages their versions. The container images stored in this registry include a program for executing an analytical method in the bioinformatics field and information for realizing an execution environment for the program. The information included in this image includes an OS image that runs as a process on the analysis system 101 (e.g., on the host OS of the analysis system 101).
[0037] The container images stored in this ECR 218 include a container image that includes a program provided by a user for executing an analytical method used in the field of bioinformatics, and information for realizing an execution environment for the program, which information is created based on the program. Note that the information included in this image is created by the provider of the data analysis method sharing platform based on the program.
[0038] The ECR 218 stores the analysis environment of one analysis method as an image for each repository. The stored images are managed using items such as the repository name, URI, and creation time. The ECR 218 also stores older versions of the analysis environment for each analysis method. The ECR 218 adds "latest" to the image tag (a label assigned to an image) for the latest version of the analysis environment.
[0039] Container images are registered by providers of data analysis method sharing platforms in this ECR 218. There are two ways to register them.
[0040] In the first pattern, researchers upload their own analytical methods, which are then reviewed and registered by the platform provider. In this pattern, the platform provider creates a container image of the uploaded analytical method and registers it in the ECR 218.
[0041] The second pattern is that the platform provider creates and registers an analysis method based on a paper that they have discovered or been introduced to. In this pattern, the platform provider also creates a container image of the analysis method that they have found and registers it in ECR 218.
[0042] Next, the auxiliary storage device 202 will be described. The auxiliary storage device 202 includes an S3 220, a DynamoDB 221, and an EFS 222. Each of the components will be described below.
[0043] S3 (Simple Storage Service) 220 is an object storage. Object storage is a storage that manages each piece of data, such as image data and audio data, in units called objects. Display screen data provided to the user terminal 102 from the CloudFront module 210 is stored in this S3 220. Furthermore, input data to be analyzed and analysis result files are stored in this S3 220.
[0044] DynamoDB 221 is an AP-type NoSQL (Not Only SQL) database. In an RDB (relational database), data consistency is maintained, so the processing speed decreases as the amount of data increases. However, NoSQL does not perform this processing, so although data consistency cannot be maintained, it is possible to process large amounts of data at high speed.
[0045] DynamoDB 221 uses the key-value model within NoSQL. The key-value model consists of a key required to identify data and a value paired with that key. One or more information strings (i.e., multiple pieces of information) are stored in one column. The contents of the value can be different for each piece of data. Data is output in, for example, JSON format.
[0046] The DynamoDB 221 is composed of an analysis metadata table 300, an analysis history table 400, an analysis status table 500, and a user table 600. Each table will be described below.
[0047] 3 shows an example of an analysis metadata table 300. The table shown in the figure stores analysis metadata. The data items stored in this table include the following: id: Identification information _typename: Type name abstract: Abstract createdAt: Creation date and time inputParams: Input parameters owner: User pageCode: Page code proposer: Proposer title: Title updatedAt: Update date and time inputFiles: Input files version: Version
[0048] 4 shows an example of an analysis history table 400. The table shown in the figure stores analysis history information. The data items stored in this table include the following: userFolder User folder _typename Type name analysisNumber Analysis number createdAt Creation date and time email Email address owner User updatedAt Update date and time
[0049] 5 shows an example of an analysis status table 500. The table shown in the figure stores analysis status information. The data items stored in this table include the following: receiptId Receipt ID analysisId Analysis ID analysisPaymentInfo Analysis payment information createdAt Creation date and time finishedTimestamp Completion date and time invoiceNumber Invoice number owner User paymentMethodType Payment method runEcsInput Input to ECS salesAgentId Sales agent ID startedTimestamp Start date and time status Status totalFileSizeGB Total file size type Type updatedAt Update date and time _typename Type name
[0050] 6 shows an example of a user table 600. The table shown in the figure stores user information. The data items stored in this table include the following: id ID analysisList Analysis list createdAt Creation date and time email Email address firstName First name lastName Last name organizationName Organization name organizationType Organization type owner User salesAgentVerifyStatusList Sales agent authentication status list updatedAt Update date and time userType User type _typename Type name
[0051] Next, the EFS (Elastic File System) 222 is a file storage. The EFS 222 temporarily stores data being analyzed by the Fargate module 215.
[0052] 1-3. Operation Next, a description will be given of an analysis process 800 executed by the analysis system 101. Fig. 7 is a diagram showing an example of the data flow of this analysis process 800. Fig. 8 is a flow diagram showing an example of this analysis process 800.
[0053] First, the user operates the user terminal 102 to request a sign-in screen from the analysis system 101. To do so, the user accesses the CloudFront module 210. The accessed CloudFront module 210 displays a sign-in screen on the user terminal 102 (step 801).
[0054] The user enters their email address and password into a sign-in screen (not shown) and selects the sign-in button. In response to this selection, the user terminal 102 transmits the entered email address and other information to the analysis system 101.
[0055] In the analysis system 101, upon receiving the email address and other information, the Cognito module 211 is activated. The activated Cognito module 211 performs user authentication based on the email address and other information sent from the user terminal 102 (step 802). If the user authentication is successful, the module outputs the ID of the successfully authenticated user. In subsequent processing, the user is identified using this user ID. On the other hand, if the user authentication fails, an error message is sent from the CloudFront module 210 to the user terminal 102 (not shown).
[0056] After successful user authentication, the CloudFront module 210 displays a dashboard screen 900 on the user terminal 102 (step 803). The dashboard screen 900 displays the analysis history of the user. The analysis history displayed on this screen is synchronized with the data in the analysis status table 500.
[0057] 9 is a diagram showing an example of a dashboard screen 900. The screen shown in the figure includes a menu list 901 and an analysis history list 902.
[0058] When the user selects the item "Open Analysis" in the menu list 901 on this screen, the CloudFront module 210 displays an analysis method selection screen 1000 on the user terminal 102 (step 804). This analysis method selection screen 1000 is a screen for selecting the analysis method to be executed. The analysis methods displayed on this screen are synchronized with the data in the analysis metadata table 300.
[0059] 10 is a diagram showing an example of an analysis method selection screen 1000. The screen shown in the figure includes a menu list 1001 and an analysis method list 1002. Among these, each underlined analysis method (e.g., tSNE, PCA) in the analysis method list 1002 is selectable.
[0060] When the user selects an analysis method from the analysis method list 1002, the CloudFront module 210 displays a details screen 1100 of the selected analysis method on the user terminal 102 (step 805). The details screen 1100 displays detailed information about the analysis method. The detailed information displayed on this screen is synchronized with the data in the analysis metadata table 300.
[0061] 11 is a diagram showing an example of a details screen 1100. The screen shown in the figure includes a menu list 1101 and an analysis method explanation field 1102. Of these, the analysis method explanation field 1102 includes an input data upload button 1103 and an analysis execution button 1104. The user uses the input data upload button 1103 to select input data to be analyzed. The user then selects the analysis execution button 1104 to instruct execution of the analysis. In response to these operations, the user terminal 102 transmits the input data and an analysis execution instruction to the analysis system 101.
[0062] In response to this analysis execution instruction, the analysis system 101 starts the Lambda module 213. The started Lambda module 213 stores the input data received from the user terminal 102 in S3 220 (step 806). The module then outputs an analysis start command to the ECS module 214 (step 807).
[0063] Upon receiving this command, the ECS module 214 references the container image corresponding to the analysis method selected by the user and instructs the Fargate module 215 to deploy the container (step 808).
[0064] Upon receiving this instruction, the Fargate module 215 obtains the target container image from the ECR 218 (step 809). The module also obtains the input data to be analyzed from S3 220 (step 810). The module then executes the container based on the obtained container image and analyzes the input data obtained from S3 220 (step 811). The module then saves the analysis result file in S3 220 (step 812). The module then deletes the executed container.
[0065] The Lambda module 213 starts the SES module 216 when this analysis result file is saved in S3 220. The started SES module 216 sends an email containing the URL of the analysis result file to the user terminal 102 (step 813). The user who receives the email accesses the URL described in the email and downloads the analysis result file to the user terminal 102. This concludes the description of the analysis process 800.
[0066] The data analysis method sharing platform described above provides a GUI for selecting and executing analysis methods, allowing researchers to select an analysis method and execute the analysis as if flipping through a catalog.
[0067] The platform also uses container computing, which allows researchers to avoid situations where the execution environment for their analysis methods is lost, making it impossible to execute those methods.
[0068] This platform also uses serverless computing, which means researchers do not need to worry about maintaining and managing the analysis system 101. Furthermore, the platform launches and runs temporary containers only when analysis is performed. This reduces maintenance costs compared to preparing a server that is always ready to run.
[0069] 2. Modifications The above embodiment may be modified as follows: The following modifications may be combined with each other.
[0070] 2-1. Suggestion Function The analysis system 101 may be provided with a suggestion function to assist the user in selecting an analysis method. This suggestion function is a function that suggests an analysis method specified by the user or an analysis method related to the search keyword entered by the user. Below, we will explain both a method of suggesting an analysis method related to the analysis method specified by the user and a method of suggesting an analysis method related to the search keyword.
[0071] First, when proposing an analytical method related to an analytical method specified by the user, the analysis system 101 stores a tag table 1200. This tag table 1200 is a table for managing tags assigned to each analytical method. Each tag is a keyword related to the field of bioinformatics.
[0072] 12 is a diagram showing an example of this tag table 1200. The columns of the table shown in the figure correspond to analysis methods (e.g., Reseq, RNAseq), and the rows correspond to tags (e.g., FastQ, FastA). A value of "1" in this table indicates that the tag in the corresponding row is assigned to the analysis method in the corresponding column, and a value of "0" indicates that the tag in the corresponding row is not assigned to the analysis method in the corresponding column.
[0073] The analysis system 101 is provided with a suggestion module in addition to this tag table 1200. This suggestion module (not shown) identifies other analysis methods whose relevance to the analysis method specified by the user satisfies predetermined conditions and suggests them to the user. Specifically, the module refers to the tag table 1200 to identify analysis methods whose assigned tags correspond to the analysis method specified by the user and suggests them to the user. In this case, when a large number of analysis methods are identified, the module may select and suggest a predetermined number of analysis methods in descending order of the number of corresponding tags.
[0074] Fig. 13 is a diagram showing an example of a screen 1300 that proposes an analysis method. The screen shown in Fig. 13 includes a menu list 1301 and an analysis method explanation field 1302. Of these, the analysis method explanation field 1302 includes an analysis execution button 1303, a recommended analysis display button 1304, and a recommended analysis method display field 1305. Of these, when the recommended analysis display button 1304 is selected by the user, the recommended analysis method display field 1305 is displayed as shown in Fig. 13. Recommended analysis methods are displayed in this display field so that they can be selected.
[0075] 14 is a diagram showing an example of a screen 1400 for proposing an analysis method. The screen shown in the figure includes an analysis method list 1401 and a display field 1402 for a recommended analysis method.
[0076] Next, a case where an analysis method related to a search keyword is proposed will be described. In this case, the analysis system 101 also stores the tag table 1200 described above.
[0077] Additionally, the analysis system 101 is provided with a reception module and a proposal module. Of these, the reception module (not shown) accepts input of keywords for searching for analysis methods. Meanwhile, the proposal module (not shown) identifies and proposes to the user analysis methods whose relevance to the input search keywords satisfies predetermined conditions. Specifically, the module refers to the tag table 1200 to identify and propose to the user analysis methods to which the input keywords (in other words, tags) are assigned. In this case, when a large number of analysis methods are identified, the module may select and propose a predetermined number of analysis methods in descending order of the number of corresponding tags.
[0078] 15 is a diagram showing an example of a screen 1500 for inputting search keywords. The screen shown in the figure includes a menu list 1501, an analysis method list 1502, and a search box 1503. Of these, a search keyword is input into the search box 1503. The input keyword is received by a reception module. Note that each underlined analysis method in the analysis method list 1502 (e.g., tSNE, PCA) is selectable.
[0079] 2-2. Field of Analysis Method The platform according to the above embodiment shares analysis methods in the field of bioinformatics. However, the field of the shared analysis methods is not limited to bioinformatics. Analysis methods in other academic fields may also be shared.
[0080] 2-3. Method of Outputting Analysis Results In the above embodiment, an email is sent to the user, and the user is prompted to download the analysis result file from a URL described in the email. However, the method of outputting the analysis results is not limited to this. For example, the analysis result file may be attached to an email and sent directly to the user terminal 102.
[0081] 2-4. Cloud Services In the above examples, AWS is used as the cloud service. However, AWS is only one example of a usable cloud service. As another cloud service, either Microsoft Azure (registered trademark) or Google (registered trademark) Cloud may be used. Other cloud services that may be used include platforms from Oracle (registered trademark) or IBM (registered trademark), and Alibaba Cloud (registered trademark).
[0082] 2-5. System Components Each device constituting the information processing system 100 described above may be, for example, a mobile terminal such as a smartphone, tablet, mobile phone, or personal digital assistant (PDA), or a wearable terminal such as glasses, a wristwatch, or clothing. Each device may also be a stationary or mobile computer, or a server located on the cloud or a network. Each device may also function as a VR (Virtual Reality) terminal, an AR (Augmented Reality) terminal, or an MR (Mixed Reality) terminal. Alternatively, a combination of multiple of these terminals may be used. For example, a combination of one smartphone and one wearable terminal may logically function as a single terminal. Other information processing terminals may also be used.
[0083] 2-6. Other Note that the present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.
[0084] Furthermore, the above-described configurations, functions, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The above-described configurations, functions, etc. may also be implemented in software, with a processor interpreting and executing a program that implements each function. Information such as the programs, tables, and files that implement each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD.
[0085] Furthermore, the control lines and information lines shown are those considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be considered that almost all components are interconnected. The above-mentioned embodiments disclose at least the configurations described in the claims.
[0086] 100...information processing system, 101...analysis system, 102...user terminal
Claims
1. An analysis system comprising: a first receiving means for receiving a specification of an analysis method used in the field of bioinformatics; a second receiving means for receiving input data to be analyzed using the specified analysis method; an acquisition means for acquiring a container image corresponding to the specified analysis method from among a plurality of container images, each of which contains a program for executing the analysis method used in the field and information for realizing an execution environment for the program; an analysis means for executing a container based on the acquired container image and analyzing the accepted input data; and an output means for outputting the results of the analysis.
2. The analysis system of claim 1, wherein the plurality of container images include a container image containing a program for executing an analysis method used in the field, the program being provided by a user, and information for realizing an execution environment for the program, the information being created based on the program.
3. The analysis system according to claim 1, wherein the information includes an OS image that runs as a single process on a host OS of the analysis system.
4. The analysis system according to claim 1, wherein the acquisition means and the analysis means are activated after the designation of the analysis method and the input data are accepted.
5. The analysis system according to claim 1, wherein the analysis means deletes the executed container after the analysis is completed.
6. The analysis system according to claim 1, further comprising: suggestion means for identifying other analysis methods whose relevance to the specified analysis method satisfies a predetermined condition, and suggesting the other analysis methods to the user.
7. The analysis system according to claim 6, wherein one or more keywords related to the field are assigned to each of the analysis methods used in the field, and the suggestion means identifies other analysis methods that have corresponding assigned keywords to the specified analysis method and suggests them to the user.
8. The analysis system of claim 1, further comprising: a third receiving means for receiving input of keywords for searching for analysis methods; and a suggestion means for identifying other analysis methods whose relevance to the input keywords satisfies predetermined conditions and suggesting the other analysis methods to the user.
9. The analysis system of claim 8, wherein one or more keywords related to the field are assigned to each of the analysis methods used in the field, and the suggestion means identifies other analysis methods to which the input keywords are assigned and suggests them to the user.
10. An analysis method executed by a computer, comprising: a first receiving step of receiving a designation of an analysis method used in the field of bioinformatics; a second receiving step of receiving input data to be analyzed using the designated analysis method; an acquisition step of acquiring a container image corresponding to the designated analysis method from among a plurality of container images, each of which contains a program for executing the analysis method used in the field and information for realizing an execution environment for the program; an analysis step of executing a container based on the acquired container image and analyzing the accepted input data; and an output step of outputting the results of the analysis.
11. The analysis method described in claim 10, wherein the plurality of container images include a container image containing a program for executing an analysis method used in the field, the program being provided by a user, and information for realizing an execution environment for the program, the information being created based on the program.
12. The analysis method according to claim 10, wherein the information includes an OS image that runs as a single process on the computer.
13. The analysis method according to claim 10, wherein the acquisition step is executed by an acquisition means, and the analysis step is executed by an analysis means, and the acquisition means and the analysis means are activated after the designation of the analysis method and the input data are accepted.
14. The analysis method according to claim 10, further comprising the step of deleting the executed container after the analysis is completed.
15. The analysis method according to claim 10, further comprising a suggestion step of identifying other analysis methods whose relevance to the specified analysis method satisfies a predetermined condition and suggesting the other analysis methods to the user.
16. The analysis method according to claim 15, wherein one or more keywords related to the field are assigned to each of the analysis methods used in the field, and in the suggestion step, other analysis methods whose assigned keywords correspond to the specified analysis method are identified and suggested to the user.
17. The analysis method described in claim 10, further comprising: a receiving step of receiving input of keywords for searching for analysis methods; and a suggesting step of identifying other analysis methods whose relevance to the input keywords satisfies predetermined conditions and suggesting the other analysis methods to the user.
18. The analysis method described in claim 17, wherein one or more keywords related to the field are assigned to each analysis method used in the field, and in the suggestion step, other analysis methods to which the input keywords are assigned are identified and suggested to the user.
19. A program for causing a computer to execute each step of the analysis method according to any one of claims 10 to 18.
Citation Information
Patent Citations
Microisolation-based bioinformatics container construction system and construction method
CN115037800A
One-stop biological information big data comprehensive analysis cloud platform
CN116880836A
Bioscientific analysis support program and apparatus
JP2008003856A
Execution method of bioinformatics analysis program and bioinformatics analysis platform
JP2008117363A
Motivation for Wearable Technology Sensor Data Sharing
JP2018514831A