Plugin interface and framework for integrating external algorithms with sample data analysis software
First Claim
1. A system for providing a plug-in interface framework between data analysis software executed by a computer and an algorithm external to the data analysis software, the system comprising:
- a server configured to store a database of information associated with a plurality of executed algorithms, wherein the information comprises results from the plurality of executed algorithms processing sample data; and
a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium and define the plug-in interface framework, wherein the instructions are configured, upon execution by a processor of the computer in communication with the database of information, to cause the computer to;
open a workspace relating to an analysis of a data set during a session of execution of the data analysis software;
create an external population node, wherein the external population node comprises (1) the data set representing data collected by an acquisition instrument, (2) an output folder destination, and (3) a markup language description of the data set, the markup language description including (i) meta-information about the data set and (ii) a specification of previous calculations used to arrive at the data set;
invoke an external algorithm based on the external population node, the external algorithm configured to perform processing on the data set, and wherein the output folder destination defines where the external algorithm is to save results from its processing;
receive, via a network, results from the external algorithm as a result of the processing performed by the external algorithm on the data set;
cause the server to identify a first executed algorithm stored in the database that matches the external algorithm;
cause the server to compare results from the first executed algorithm with the results from the external algorithm;
invoke the external algorithm with a change in the data set of the external population node to receive updated results at the output destination, wherein the change in the data set of the external population node is determined based on the comparison of the results from the first executed algorithm and the results from the external algorithm;
integrate the updated results from the external algorithm into the workspace; and
save the updated results in the workspace.
1 Assignment
0 Petitions
Accused Products
Abstract
A framework and interface for invoking and assimilating external algorithms and interacting with the algorithms in-session and real-time are described. Embodiments include reproducible, updatable nodes that can be leveraged for data-driven analysis whereby the data itself can direct the algorithm choice, variables, and presentation leading to iteration and optimization in an analysis workflow. Embodiments include an entire discovery or diagnosis process executed on a particular data set, thereby divorcing the discovery or diagnosis process from a specific data set such that the same discovery or diagnosis process, phenotype identification, and visualizations may be repeated on future experiments, published, validated, or shared with another investigator.
-
Citations
27 Claims
-
1. A system for providing a plug-in interface framework between data analysis software executed by a computer and an algorithm external to the data analysis software, the system comprising:
-
a server configured to store a database of information associated with a plurality of executed algorithms, wherein the information comprises results from the plurality of executed algorithms processing sample data; and a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium and define the plug-in interface framework, wherein the instructions are configured, upon execution by a processor of the computer in communication with the database of information, to cause the computer to; open a workspace relating to an analysis of a data set during a session of execution of the data analysis software; create an external population node, wherein the external population node comprises (1) the data set representing data collected by an acquisition instrument, (2) an output folder destination, and (3) a markup language description of the data set, the markup language description including (i) meta-information about the data set and (ii) a specification of previous calculations used to arrive at the data set; invoke an external algorithm based on the external population node, the external algorithm configured to perform processing on the data set, and wherein the output folder destination defines where the external algorithm is to save results from its processing; receive, via a network, results from the external algorithm as a result of the processing performed by the external algorithm on the data set; cause the server to identify a first executed algorithm stored in the database that matches the external algorithm; cause the server to compare results from the first executed algorithm with the results from the external algorithm; invoke the external algorithm with a change in the data set of the external population node to receive updated results at the output destination, wherein the change in the data set of the external population node is determined based on the comparison of the results from the first executed algorithm and the results from the external algorithm; integrate the updated results from the external algorithm into the workspace; and save the updated results in the workspace. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for analyzing scientific data comprising:
-
opening an analysis workspace file relating to an analysis of a data set during a session of execution of a data analysis software; creating an external population node, wherein the external population node comprises (1) the data set representing data collected by an acquisition instrument, (2) an output folder destination, and (3) a markup language description of the data set, the markup language description including (i) meta-information about the data set and (ii) a specification of previous calculations used to arrive at the data set; invoking an external algorithm based on the external population node, the external algorithm configured to perform processing on the data set, and wherein the output folder destination defines where the external algorithm is to save results from its processing; receiving, via a network, results from the external algorithm as a result of the processing performed by the external algorithm on the data set; causing a remote server to identify a first executed algorithm stored in a database in the remote server that matches the external algorithm, wherein the database stores information associated with a plurality of executed algorithms, and wherein the information comprises results from the plurality of executed algorithms processing sample data; causing the remote server to compare results from the first executed algorithm with the results from the external algorithm; invoking the external algorithm with a change in the data set of the external population node to receive updated results at the output destination, wherein the change in the data set of the external population node is determined based on the comparison of the results from the first executed algorithm and the results from the external algorithm; integrating the updated results from the external algorithm into the analysis workspace file; and saving the updated results in the analysis workspace file, wherein the method is performed by a processor of a computing device. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification