US 7705854 B2 Abstract Systems and methods that generate or provide overlap displays of multiple sets of data in a manner that advantageously simplifies trend visualization in large sets of data. A two-dimensional, three-dimensional, or greater-dimensional occurrence count array is generated for a plurality of similar data sets. Each element in the array is a number of times a corresponding vector of data values occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of data values. Once the array has been generated, a graphical display of overlap density may be generated by comparing a desired degree of overlap with the value of each array element. Those array elements having values that satisfy the desired degree of overlap are rendered, as a display object, using one or more colors, shades and/or patterns representing varying degrees of overlap.
Claims(20) 1. A machine-implemented method of displaying a plurality of similar data sets, the method comprising:
receiving into a processor a plurality of N data sets, each data set including two or more data points, each data point having 2 or more data values representing a vector having a number of dimensions;
generating an occurrence count array including elements by determining an occurrence count value, M, for each array element, wherein each occurrence count value, M, is a number of times a corresponding data point occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of data values;
receiving an indicator of overlap density, said indicator identifying a degree of overlap;
determining the array elements that are within the identified degree of overlap; and
generating graphical data for a graphical display representing said elements in the array that are within the identified degree of overlap,
wherein N is an integer greater than or equal to two and M is an integer greater than or equal to zero.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
determining a maximum occurrence count value M
_{max }for the entire array, where 0<M_{max}≦N; andfor each array element, comparing the indicator with M/M
_{max }to determine whether that element is within the identified degree of overlap.9. The method of
10. The method of
11. A machine-readable storage medium storing code for controlling a processor to generate graphical data for rendering a display of a plurality of similar data sets, the code including instructions to:
generate an occurrence count array for a plurality of N data sets, each data set including two or more data points, each data point having 2 or more data values representing a vector having a number of dimensions, the array including elements, by determining an occurrence count value, M, for each array element, wherein each occurrence count value, M, is a number of times a corresponding data point occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of data values;
determine the array elements that are within an identified degree of overlap responsive to a user input indicator of overlap density; and
generate graphical data for a graphical display representing said elements in the array that are within the identified degree of overlap,
wherein N is an integer greater than or equal to two and M is an integer greater than or equal to zero.
12. The machine-readable storage medium of
13. The machine-readable storage medium of
14. The machine-readable storage medium of
15. The machine-readable storage medium of
16. The machine-readable storage medium of
17. The machine-readable storage medium of
determine a maximum occurrence count value M
_{max }for the entire array, where 0<M_{max}≦N; and
for each array element, compare the indicator with M/M
_{max }to determine whether that element is within the identified degree of overlap.18. A system for generating graphical data for rendering a display of a plurality of similar data sets, the system comprising:
a processor configured to generate an occurrence count array for a plurality of N data sets, each data set including two or more data points, each data point having 2 or more data values representing a vector having a number of dimensions, the array including elements, by determining an occurrence count value, M, for each array element, wherein each occurrence count value, M, is a number of times a corresponding data point occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of data values;
the processor further configured to determine the array elements that are within an identified degree of overlap responsive to a user input indicator of overlap density; and
the processor further configured to generate graphical data for a graphical display representing said elements in the array that are within the identified degree of overlap,
wherein N is an integer greater than or equal to two and M is an integer greater than or equal to zero.
19. The system of
20. The system of
Description This application is a continuation of prior application Ser. No. 11/360,000, filed Feb. 21, 2006, which is hereby incorporated by reference for all purposes. The present invention relates generally to data displays, and more particularly to displays of multiple overlapping sets of data. In many fields, scientists must make sense of and find patterns in large amounts of data. One example of this is in the field of metabolomics, the study of metabolic changes in response to perturbations, such as a drug or disease. Metabolomics blends statistical analysis with analytical chemistry techniques such as nuclear magnetic resonance (NMR) spectroscopy, mass spectrometry (MS) and chromatography. Predicted to become the center of drug discovery and development, metabolomics may lead to earlier, faster, and more accurate diagnosis for many diseases. In general, when displaying large amounts of data simultaneously, it can be very difficult, if not impossible, to visualize trends in the data using traditional display systems. For example, Therefore it is desirable to provide systems and methods that overcome the above and other problems. Such systems and methods should provide useful displays of overlapping data, and should allow for flexible manipulation of the data displays to provide enhanced data mining and trend visualization capabilities. The present invention provides systems and methods that generate or provide overlap displays of multiple sets of data in a manner that advantageously simplifies trend visualization in large sets of data. In general, the present invention is applicable to graphical displays of any type of data that is desired to be displayed. For example, the present invention can be used to analyze large amounts of graphical data from such disciplines as cheminformatics, analytical informatics, metabolomics, chemometrics, genomics, proteomics and others, and has applicability in all branches of scientific research, including life sciences and diagnostics. According to the present invention, a 2-dimensional occurrence count array is generated for a plurality of similar data sets. The value of each element in the array represents a number of times a corresponding pair of data values x, y occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of x and y data values. The occurrence count process, in one aspect, is analogous to laying a 2-dimensional array over a combined display of all the data sets being processed and counting, for each array element, the number of data sets having data within the x-y range of the corresponding array element. Once the array has been generated, a graphical display of overlap density may be generated by comparing a desired percentage of overlap with the value of each array element. Those array elements having values that satisfy the desired percentage of overlap are rendered as a display object. For example, an OD HEATMAP object, representing a particular percentage of overlap or range of overlap percentage, in one aspect, may be displayed as a range of one or more colors, shades, and/or patterns ranging from one particular color, shade, or pattern to denote the region of highest overlap between all N data sets to a second color, shade, or pattern to denote the region of lowest overlap between all data sets with a range of colors, shades, or patterns denoting regions of intermediate overlap. According to one aspect of the present invention, a method is provided for generating data for displaying a plurality of similar data sets. The method typically includes receiving a plurality of N data sets, each data set including two or more pairs of data values representing quantities x and y, and generating an occurrence count array including X times Y elements, by determining an occurrence count value, M, for each array element, wherein each occurrence count value, M, is a number of times a corresponding pair of data values x, y occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of x and y data values. The method also typically includes receiving an indicator of overlap density, said indicator representing identifying a range of data overlap percentage, determining the array elements that are within the identified range of overlap percentage, and generating graphical data for a graphical display representing the elements in the array that are within the identified range of data overlap percentage. In certain aspects, the indicator may identify a data overlap percentage range of between 0% and 100%, wherein the corresponding display represents a union of between 2 and all N data sets. In certain aspects, the indicator may identify a data overlap percentage equal to 100%, wherein the display represents an intersection of all N data sets. In certain aspects, the indicator may identify a data overlap percentage equal to 0%, wherein the display represents a difference of all N data sets, or unique values across all N data sets. According to another aspect of the present invention, a computer-readable medium is provided that includes code which when executed by a processor controls the processor to generate graphical data for rendering a display of a plurality of similar data sets. The code typically includes instructions to generate an occurrence count array for a plurality of N data sets, each data set including two or more pairs of data values representing quantities x and y, the array including X times Y elements, by determining an occurrence count value, M, for each array element, wherein each occurrence count value, M, is a number of times a corresponding pair of data values x, y occurs in the plurality of N data sets, wherein each array element corresponds to a discrete interval of x and y data values. The code also typically includes instructions to determine the array elements that are within an identified overlap percentage in response to a user input indicator of overlap density, wherein the indicator identifies the data overlap percentage. The code further typically includes instructions to generate graphical data for a graphical display representing the elements in the array that are within the identified data overlap percentage. In certain aspects, the indicator may identify a data overlap percentage range of between 0% and 100%, wherein the corresponding display represents a union of between 2 and all N data sets. In certain aspects, the indicator may identify a data overlap percentage equal to 100%, wherein the display represents an intersection of all N data sets. In certain aspects, the indicator may identify a data overlap percentage equal to 0%, wherein the display represents a difference of all N data sets, or unique values across all N data sets. Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. The present invention provides systems and methods that generate or provide overlap displays of multiple sets of data in a manner that advantageously simplifies trend visualization in large sets of data. In general, the present invention is applicable to graphical displays of any type of data that is desired to be displayed. In certain aspects, for example, the present invention is useful for evaluating and discovering trends and commonalities in large data sets including the following graphical object types: Circular Dichroism (CD); Conductometry; Coulometry; Densitograms resulting from gel electrophoresis, etc; Differential Scanning Calorimetry (DSC); Differential Thermal Analysis (DTA); Electron Spin Resonance (ESR); Electropherogram resulting from gel electrophoresis, etc.; Gas Chromatograms (GC); High Performance Liquid Chromatograms (HPLC); Histogram Plots; Infrared (IR) Spectra; Ion Mobility Spectrometry (IMS); Liquid Chromatograms (LC); Mass Spectra (MS); Nuclear Magnetic Resonance (NMR); Optical Rotary Dispersion (ORD); Polarography; Potentiometry; Raman Spectra; Supercritical Fluid (SCF) Chromatograms; Thermogravimetric Analysis (TGA); Ultraviolet-Visible (UV-Vis) Spectra; Voltammetry; X-Ray Fluorescence (XRF) Spectra; X-Ray Powder Diffraction (XRPD); X-Y Line Plots; X-Y Scatter Plots, and others. In one aspect, the present invention is applicable to processing data sets, where each data set includes a plurality of data points, each having a pair of values representing the quantities of analytical interest. Such a data set can be represented in a two-dimensional coordinate system with one axis representing one quantity of interest and the other axis representing another quantity of interest. For example, in the case of IR spectra, the pair of values might represent the frequency (or wavelength) and the intensity value. Similarly, in another aspect, the present invention is applicable to processing data sets, where each data set includes a plurality of data points, each having 3 (or more) values representing quantities of analytical interest. Such a data set can be displayed in a 3- (or more) dimensional coordinate system, with each axis representing one of 3 types of data values. Such a data set can also be viewed in a two dimensional coordinate system with two of the 3 (or more) data values being used to define the 2-dimensional coordinate system. Viewing such data sets in a 2-dimensional coordinate system is analogous to taking cross-sectional slices of a 3- (or more) dimensional image. Accordingly, it should be understood that the present invention is applicable to visual displays representing 3 (or more) dimensions. However, for the sake of simplicity, the following discussion will focus on 2-dimensional visual data displays. According to the present invention, an embodiment of a process In the case where process In step In step In certain aspects, interpolated values may be used when generating an occurrence count array. For example, in the case where the data sets include only 500 x-values, for a 1000×1000 occurrence count array, an interpolation process may be implemented (e.g., using a least squares process, a cubic spline interpolation process, etc.), to provide the interpolated data values. Also, a simple average of 2 (or more) data values surrounding an array element may be used. Returning to In one aspect, a display of an OD HEATMAP may be rendered on a display device, e.g., a display coupled with the intelligence module that is processing the data sets. As used herein, an OD HEATMAP is an object representing overlapped data objects. An OD HEATMAP, in one aspect, is displayed as a range of colors, shades, and/or patterns ranging from one particular color, shade, or pattern to denote the region of highest overlap between all N data objects (OBJECTS) to a second color, shade, or pattern to denote the region of lowest overlap between all OBJECTS with a range of colors, shades, or patterns denoting regions of intermediate overlap. In general, an “OBJECT” refers to a data set, whether it be a received data set, or a processed data set, e.g., OD HEATMAP OBJECT or OD CONSENSUS OBJECT. Any object can itself be used for later processing, e.g., using an OD CONSENSUS object as a standard for comparison with other data OBJECTS. An OD HEATMAP can be defined to display all regions of the overlapped OBJECTS that define the union (UNION) of all of the OBJECTS, the regions of the overlapped OBJECTS that are common to all OBJECTS (INTERSECTION), or any range in between the UNION or INTERSECTION defined by the percentage of objects that overlap in each region of the overlapped OBJECTS. In another aspect, an OD HEATMAP can be defined to display regions of the OBJECTS that are unique or different, or which have very little or nothing in common, as will be discussed below. In one aspect, a numerical OD scale ranging from I to J and from J to K is used to define the OD HEATMAP, where K represents data where 100% of the objects overlap (INTERSECTION; (M/N) To determine the colors to be displayed for the OD HEATMAP, in one aspect normalized occurrence count values are determined and matched to the color scale, e.g., by multiplying each array value, M, by (number of colors−1)/M In another aspect, a display of an OD CONSENSUS may be rendered. In one aspect, an OD CONSENSUS is an object that represents the maximal value across all data sets (OBJECTS) at the OD scale value. An OD CONSENSUS may be created, or a user may convert any OD HEATMAP to an OD CONSENSUS, by specifying the amount of overlap density (e.g., on an arbitrary scale of I=INTERSECTION MINUS ALL UNIONS, J=UNION, and K=INTERSECTION on the OD scale) and creating a single OBJECT based on the maximal density value of all OBJECTS at the given OD scale value. The OD CONSENSUS is useable as an OBJECT, e.g., as a standard for comparison with other data OBJECTS. AN OD CONSENSUS display example and sample code for determining CONSENSUS objects are presented below. In one aspect, a user is able to graphically adjust the OD scale value to any value between I and J, e.g., any decimal between −100 and 0, and between J and K, e.g., any decimal between 0 and 100. For example, this may be done in real-time by a user interacting with a graphical slider at the right of the display, e.g., using a mouse, keyboard or other selection device to interact with the slider An example of code configured to perform the operations
According to another aspect, for an input array of spectral (3-dimensional) vectors of x-y-z values, where a heatmap array is allocated to contains X*Y*Z elements, parts of the code above might look like:
In this aspect, 3-dimensional graphical OD HEATMAP and OD CONSENSUS displays may be generated or rendered, or 2-dimensional displays may be generated by selecting the appropriate X-Y, X-Z or Y-Z heatmap array elements (e.g., setting z, y or x to a specific value). An example of code configured to generate a display and generate a normalized consensus spectrum for use with the entire display slider
Similarly, an example of code for generating a normalized consensus surface for 3-dimensional vectors might look like:
According to yet another aspect, as shown in It should be appreciated that the processes of the present invention, or portions thereof, may be implemented in computer code running on a processor of a computer system. The code includes instructions for controlling a processor or multiple processors to implement various aspects and steps of process The OD display systems and methods of the present invention can be directly applied in various scientific and statistical fields of endeavor. For example, in the field of metabolomics, the OD display systems and methods allow researchers to automatically create a biomarker for each disease state classified in a statistical analysis by using an OD CONSENSUS from the collected spectra or chromatograms resulting from each disease state classified in the statistical analysis. The resulting OD CONSENSUS spectra or chromatograms allow researchers to diagnose a disease state by comparing unknown spectra or chromatograms directly against the standard set by the OD CONSENSUS spectra or chromatograms. OD DIFFERENCE displays are also useful, for example in the field of metabolomics. While the invention has been described by way of example and in terms of the specific embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements. Patent Citations
Classifications
Legal Events
Rotate |