WO2016190849A1 - Generating a data visualization - Google Patents

Generating a data visualization Download PDF

Info

Publication number
WO2016190849A1
WO2016190849A1 PCT/US2015/032376 US2015032376W WO2016190849A1 WO 2016190849 A1 WO2016190849 A1 WO 2016190849A1 US 2015032376 W US2015032376 W US 2015032376W WO 2016190849 A1 WO2016190849 A1 WO 2016190849A1
Authority
WO
WIPO (PCT)
Prior art keywords
visualization
receiving
module
data
generating
Prior art date
Application number
PCT/US2015/032376
Other languages
French (fr)
Inventor
Alex BISBERG
Chenyue Hu
Amina A. QUTUB
Original Assignee
William Marsh Rice University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by William Marsh Rice University filed Critical William Marsh Rice University
Priority to PCT/US2015/032376 priority Critical patent/WO2016190849A1/en
Publication of WO2016190849A1 publication Critical patent/WO2016190849A1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks

Definitions

  • the field of the invention is data processing, or, more specifically, methods, apparatuses, and products for generating a data visualization.
  • the need to analyze and visualize that data has also increased.
  • the visualization is limited to a three-dimensional core with a few options for additional dimensions specified by graphic elements (e.g. color, node size, edge width).
  • graphic elements e.g. color, node size, edge width.
  • Methods, apparatuses, and products for generating a data visualization including: receiving an input data set comprising a plurality of data objects; receiving a first and second visualization type selections; generating a first and second visualization modules using the plurality of data objects and the first and second visualization type selections; receiving a selected connector option from a plurality of selectable connector options; and generating a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
  • Figure 1 sets forth a block diagram of automated computing machinery comprising an example computer useful in generating a data visualization according to embodiments of the present disclosure.
  • Figure 2 illustrates a flowchart of an example method for generating a data visualization according to embodiments of the present disclosure.
  • Figure 3 illustrates an example input data set for generating a data visualization according to embodiments of the present disclosure.
  • Figure 4 illustrates an example first visualization module for generating a data visualization according to embodiments of the present disclosure.
  • Figure 5 illustrates an example second visualization module for generating a data visualization according to embodiments of the present disclosure.
  • Figure 6 illustrates an example interface for the module selector interface module according to embodiments of the present disclosure.
  • Figure 7 illustrates an example interface for the connection option interface according to embodiments of the present disclosure.
  • Figure 8 illustrates an example data visualization according to embodiments of the present disclosure.
  • Figure 9 illustrates a flowchart of an example method for tracking objects in real-time (or substantially real-time) in order to generate a data visualization according to embodiments of the present disclosure.
  • Figure 10 illustrates another example of a data visualization according to
  • Figure 11 illustrates another example of a data visualization according to
  • Example methods, apparatuses, and products for generating a data visualization in accordance with the present invention are described with reference to the
  • Figure 1 sets forth a block diagram of automated computing machinery comprising an example computer (152) useful in generating a data visualization according to embodiments of the present disclosure.
  • the computer (152) of Figure 1 includes at least one computer processor (156) or 'CPU' as well as random access memory (168) ('RAM') which is connected through a high speed memory bus (166) and bus adapter (158) to processor (156) and to other components of the computer (152).
  • 'RAM' random access memory
  • the visualization generator (115) of Figure 1 includes at least one data uploading interface module (110), a module of computer program instructions operable to receive an input data set comprising a plurality of data objects.
  • the visualization generator (115) of Figure 1 also includes at least one module selector interface (111), a module of computer program instructions operable to display a plurality of selectable visualization types, receive a fist visualization type selection, and receive a second visualization type selection.
  • the visualization generator (115) of Figure 1 also includes at least one visualization module generator (112), a module of computer program instructions operable to generate a first and a second visualization module using the plurality of data objects and the first and second visualization type selections, respectively.
  • the visualization generator (115) of Figure 1 also includes at least one visualization store (113), a module of computer program instructions operable to store one or more visualization modules.
  • the visualization generator (115) of Figure 1 also includes at least one connection option interface (114), a module of computer program instructions operable to display a plurality of selectable connector options to connect the first visualization module to the second visualization module, and to receive a selected connector option from the plurality of selectable connector options.
  • the visualization generator (115) may be operable to generate a dynamic
  • the visualization generator (115) may be further operable to receive a user input indicating that a user has modified an aspect of the dynamic visualization scheme, and in response to receiving the user input, regenerate the dynamic visualization to reflect the user input.
  • the visualization generator (115) may be further operable to detect a trigger on a portion of the first visualization module, wherein the portion identifies a particular data object of the plurality of data objects; determine a particular unique identifier for the particular data object; identify a portion of the second visualization module that depicts the particular data object using the particular unique identifier; and in response to detecting the trigger, highlight the portion of the first visualization that depicts the particular data object, and highlighting the portion of the second visualization module that depicts the particular data object.
  • RAM (168) Also stored in RAM (168) is an operating system (154).
  • Operating systems useful generating a data visualization include UNIXTM, LinuxTM, Microsoft XPTM, AIXTM, IBM's i5/OSTM, and others as will occur to those of skill in the art.
  • the operating system (154), data uploading interface (206), module selector interface (208), visualization module generator (210), visualization store (212), connection option interface (214), and visualization generator (216) in the example of Figure 1 are shown in RAM (168), but many components of such software typically are stored in non-volatile memory also, such as, for example, on a disk drive (170).
  • the computer (152) of Figure 1 includes disk drive adapter (172) coupled through expansion bus (160) and bus adapter (158) to processor (156) and other components of the computer (152).
  • Disk drive adapter (172) connects non-volatile data storage to the computer (152) in the form of disk drive (170).
  • Disk drive adapters useful in computers for generating a data visualization according to embodiments of the present invention include Integrated Drive Electronics ('IDE') adapters, Small Computer System Interface ('SCSI') adapters, and others as will occur to those of skill in the art.
  • Non- volatile computer memory also may be implemented for as an optical disk drive, electrically erasable programmable read-only memory (so-called 'EEPROM' or 'Flash' memory), RAM drives, and so on, as will occur to those of skill in the art.
  • the example computer (152) of Figure 1 includes one or more input/output ('I/O') adapters (178).
  • I/O adapters implement user-oriented input/output through, for example, software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices (181) such as keyboards and mice.
  • the example computer (152) of Figure 1 includes a video adapter (209), which is an example of an I/O adapter specially designed for graphic output to a display device (180) such as a display screen or computer monitor.
  • Video adapter (209) is connected to processor (156) through a high speed video bus (164), bus adapter (158), and the front side bus (162), which is also a high speed bus.
  • the example computer (152) of Figure 1 includes a communications adapter (167) for data communications with other computers (182) and for data communications with a data communications network (100). Such data communications may be carried out serially through RS-232 connections, through external buses such as a Universal Serial Bus ('USB'), through data communications networks such as IP data communications networks, and in other ways as will occur to those of skill in the art.
  • Communications adapters implement the hardware level of data communications through which one computer sends data communications to another computer, directly or through a data communications network. Examples of communications adapters useful for generating a data visualization according to embodiments of the present invention include modems for wired dial-up communications, Ethernet (IEEE 802.3) adapters for wired data communications network communications, and 802.11 adapters for wireless data communications network communications.
  • Figure 2 illustrates a flowchart of an example method (200) for generating a data visualization according to certain embodiments of the present disclosure.
  • the method (200) depicted in Figure 2 includes receiving (205) an input data set comprising a plurality of data objects via a data uploading interface.
  • the data uploading interface may allow users to upload datasets into the data visualization system.
  • One type of example data that may be particularly suited to method (200) includes proteomics data, although the method (200) may be applicable to a variety of different types of data.
  • the method (200) depicted in Figure 2 may proceed by displaying (210) a plurality of selectable visualization types.
  • a module selector interface may be configured to display (210) a plurality of selectable visualization types. Once the a plurality of selectable visualization types have been displayed (210), the method (200) depicted in Figure 2 may proceed by receiving (215) a first visualization type selection and also receiving (218) a second visualization type selection.
  • one type of visualization module may be a heat map, while another type of visualization module may be a survival curve, as described in more detail below with reference to Figures 3-8.
  • the method (200) depicted in Figure 2 may proceed by generating (220) a first visualization module using the data objects and the first visualization type selection and also generating (223) a second visualization module using the data objects and the second visualization type selection.
  • the method depicted in Figure 2 also includes displaying (225) a plurality of selectable connector options to connect the first visualization module to the second visualization module.
  • the plurality of selectable connector options to connect the first visualization module to the second visualization module may be displayed (225), for example, by a connection option interface.
  • the method (200) depicted in Figure 2 may then proceed by the connection option interface receiving (228) a selected connector option from the plurality of selectable connector options. After the selected connector option is received (228) from the plurality of selectable connector options, the method (200) depicted in Figure 2 may continue by generating (235) a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
  • the dynamic visualization may include a dynamic web page or other appropriate data interaction mechanism.
  • a user of the method (200) depicted in Figure 2 may be able to create an interactive map by selecting and dragging different elements out of a selection screen. For example, when rendering these images using JavaScript in a web browser, one may save these demos to an interactive webpage that clients or scientists can interact with. These maps may have streamlined presentation connection so the charts and figures that may be more easily uploaded.
  • Figure 2 illustrates a method (200) occurring in a particular order
  • certain deviations from the example order may be understood by one of ordinary skill in the art without departing from the scope of the present disclosure.
  • receiving (218) a second visualization type is illustrated as occurring after receiving (215) a first visualization type
  • both steps may occur simultaneously.
  • generating (220) a first visualization module and generating (223) a second visualization module may also occur simultaneously.
  • the method (200) is illustrated as beginning by receiving (205) an input data set, other points may be appropriate as a beginning for the method (200) without departing from the scope of the present disclosure.
  • the method (200) may include a regeneration of a dynamic visualization, and may therefore begin by displaying (225) a plurality of selectable connector options.
  • the method (200) may include additional processes.
  • the method (200) may also include receiving a user input indicating that a user has modified an aspect of the dynamic visualization scheme and, in response to receiving the input, the method (200) may regenerate the dynamic visualization to reflect the user input. For example, by clicking on a protein name in a circular heat chart, patients may be arranged based on protein expression level. Then, the user may click and drag the rings to reposition them. Grouping and sorting functionalities may give scientists the abilities to better visualize their conclusions. For instance, a study on proteomics in Acute Myeloid Leukemia (AML) at MD Anderson generates a dataset of over 500 patients, over 230 protein expression levels and over 80 clinical correlates for each patient.
  • AML Acute Myeloid Leukemia
  • the variety of data types include survival data, protein expression data, mutation profile, demographic data (e.g. gender) and clinical diagnostic data (e.g. blood count).
  • the method (200) may allow researchers to better visualize this data.
  • these modules may be able to be connected through object tracking, as described in more detail below with reference to Figure 9.
  • Figure 3 illustrates an example input data set (300) for generating a data visualization, in accordance with certain embodiments of the present disclosure.
  • a set of patients is identified with a corresponding plurality of protein expression levels, as well as certain demographic data.
  • example data is illustrated here, other types of data, as well as data sizes and schemes may be implemented without departing from the scope of the present disclosure.
  • FIG. 4 illustrates an example first visualization module (400) for generating a data visualization, in accordance with certain embodiments of the present disclosure.
  • Example visualization module (400) is a circular heat map, wherein each wedge represents a different patient, an each inner ring is a different protein.
  • the outer rings denote a grouping based on certain demographic data (e.g., male or female).
  • Figure 5 illustrates an example second visualization module (500) for generating a data visualization, in accordance with certain embodiments of the present disclosure.
  • Example visualization module (500) is a survival curve based on clinical correlates. This information could be contained in the same data used to plot example
  • FIG. 6 illustrates an example interface (600) for the module selector interface module (111), in accordance with certain embodiments of the present disclosure.
  • the example interface (600) includes an individual module property selector (602), a plurality of module selector objects (604), and a current module (606).
  • the example interface (600) includes an individual module property selector (602), a plurality of module selector objects (604), and a current module (606).
  • users may use the module selector objects (604) to select or change the module to be modified. Users may use the individual module property selector (602) to modify properties of individual modules, which may then be illustrated at the current module (606).
  • Figure 7 illustrates an example interface (700) for the connection option interface (114), in accordance with certain embodiments of the present disclosure.
  • the example interface (700) includes first module (702) and second module (704).
  • Example interface (700) may be used by a user to define portions of first module (702) that may be selectable by a user in order to interact with portions of second module (702).
  • Figure 8 illustrates an example data visualization (800), in accordance with certain embodiments of the present disclosure.
  • the example data visualization (800) may result in a visualization of the input data set based on certain user input, as described in more detail above with reference to Figures 1-7.
  • the data visualization (800) depicted in Figure 7 illustrates AB7 in a manner that is organized by increasing level within each correlate.
  • receiving the input data set may include assigning a unique identifier to each of the plurality of data objects. This may allow for tracking objects in real-time (or substantially real-time) as a user interacts with a data visualization.
  • Figure 9 illustrates a flowchart of an example method (900) for tracking objects in real-time (or substantially real-time) in order to generate a data visualization, in accordance with certain embodiments of the present disclosure.
  • the example method (900) depicted in Figure 9 can include assigning (902) a unique identifier to each of a plurality of objects, as described above. After a unique identifier has been assigned (902) to each of a plurality of objects, the method (900) depicted in Figure 9 may continue by detecting (904) a trigger on a portion of a first visualization module, wherein the portion identifies a particular data object of the plurality of data objects.
  • the method (900) depicted in Figure 9 may continue by determining (906) a particular unique identifier for the particular data object.
  • the example method (900) depicted in Figure 9 may subsequently identify (908) a portion of a second visualization module that depicts the particular data object using the particular unique identifier.
  • the example method (900) depicted in Figure 9 may continue by highlighting (910), in response to detecting the trigger, the portion of the first visualization that depicts the particular data object and also highlighting the portion of the second visualization module that depicts the particular data object.
  • the particular unique identifier for the particular data object e.g., 906
  • the particular unique identifier for the particular data object may be continuously tracked and/or cached, and/or large numbers of unique identifiers may be tracked and/or cached in order to improve performance.
  • each graphic element may be associated with an object or an object feature, e.g. a drop point on a survival curve links to a patient passed away at that time point.
  • a user interaction mechanism may include any appropriate user interaction with the data visualization. For example, a user may mouse-over on a web page, touch a touch screen, etc. Once this trigger is received, the object ID may be returned. Subsequently, graphic elements associated with the same object may be highlighted in all visualization modules. The highlighting event can take various forms, including but not limited to drawing circles/boxes around the graphic element and changing the color, the intensity, the saturation, or the width of the element. This display of all information regarding single object links all individual visualizations together in a meaningful way may allow for comparison and analysis across different data types and dimensions.
  • the example method (900) depicted in Figure 9 includes assigning (902) a unique identifier, detecting (904) a trigger, determining (906) a particular unique identifier for each data object, identifying (908) a portion of the second visualization module that depicts the data object, and highlighting (910) portions of each visualization, more, fewer, or different steps without departing from the scope of the present disclosure.
  • FIG. 10 illustrates another example data visualization (1000), in accordance with certain embodiments of the present disclosure.
  • the example data visualization (1000) may include a first visualization module (1002) and a second visualization module (1004).
  • the visualization modules (1002, 1004) may include visualizations of related data.
  • a user interacts with the data visualization (1000), for example, by selecting a portion of the second visualization module (1004) as illustrated, a corresponding portion of the first visualization module (1002) may be highlighted as illustrated.
  • object tracking may be triggered from a selection of a data point on the survival curve illustrated as the second visualization module (1004).
  • the expression of the corresponding patient may be highlighted simultaneously on the circular heat map illustrated as a first visualization module (1002).
  • Figure 11 illustrates the example data visualization (1000) described in more detail above with reference to Figure 10, in accordance with certain embodiments of the present disclosure.
  • the example data visualization (1000) may include a first data visualization module (1102) and a second data visualization module (1104).
  • a user interacts with the data visualization (1000), for example, by selecting a portion of a first visualization module (1102) as illustrated, a corresponding portion of the second visualization module (1104) may be highlighted as illustrated.
  • object tracking may be triggered from a selection of a patient-associated expression element within the pink (unfavorable cytogenetic group) segment of the circular heat map illustrated as the first visualization module (1102).
  • the data point corresponding to that patient may be highlighted simultaneously on the survival curve illustrated as a second visualization module (1104).
  • Exemplary embodiments of the present disclosure are described largely in the context of a fully functional computer system for generating a data visualization. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system.
  • Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art.
  • Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a computer program product. Persons skilled in the art will recognize also that, although some of the exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention.

Abstract

Generating a data visualization, including: receiving an input data set comprising a plurality of data objects; receiving a first and second visualization type selections; generating a first and second visualization modules using the plurality of data objects and the first and second visualization type selections; receiving a selected connector option from a plurality of selectable connector options; and generating a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.

Description

GENERATING A DATA VISUALIZATION
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR
DEVELOPMENT
The invention was made with United States Government support under Grant Nos. GM 106027 and CA056452, awarded by the National Institutes of Health, and Grant No. 1150645 awarded by the National Science Foundation. The United States Government has certain rights in the invention.
BACKGROUND OF THE INVENTION
Field of the Invention
The field of the invention is data processing, or, more specifically, methods, apparatuses, and products for generating a data visualization.
Description Of Related Art
As computing power increases, and more research fields generate increasing volumes of data, the need to analyze and visualize that data has also increased. In some data visualizations, the visualization is limited to a three-dimensional core with a few options for additional dimensions specified by graphic elements (e.g. color, node size, edge width). As the size and complexity of data sets increase, the corresponding visualization need must also account for data sets of not only large dimension, but also myriad data types.
SUMMARY OF THE INVENTION
Methods, apparatuses, and products for generating a data visualization, including: receiving an input data set comprising a plurality of data objects; receiving a first and second visualization type selections; generating a first and second visualization modules using the plurality of data objects and the first and second visualization type selections; receiving a selected connector option from a plurality of selectable connector options; and generating a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 sets forth a block diagram of automated computing machinery comprising an example computer useful in generating a data visualization according to embodiments of the present disclosure.
Figure 2 illustrates a flowchart of an example method for generating a data visualization according to embodiments of the present disclosure. Figure 3 illustrates an example input data set for generating a data visualization according to embodiments of the present disclosure.
Figure 4 illustrates an example first visualization module for generating a data visualization according to embodiments of the present disclosure.
Figure 5 illustrates an example second visualization module for generating a data visualization according to embodiments of the present disclosure.
Figure 6 illustrates an example interface for the module selector interface module according to embodiments of the present disclosure.
Figure 7 illustrates an example interface for the connection option interface according to embodiments of the present disclosure.
Figure 8 illustrates an example data visualization according to embodiments of the present disclosure.
Figure 9 illustrates a flowchart of an example method for tracking objects in real-time (or substantially real-time) in order to generate a data visualization according to embodiments of the present disclosure.
Figure 10 illustrates another example of a data visualization according to
embodiments of the present disclosure.
Figure 11 illustrates another example of a data visualization according to
embodiments of the present disclosure. DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS
Example methods, apparatuses, and products for generating a data visualization in accordance with the present invention are described with reference to the
accompanying drawings, beginning with Figure 1. Figure 1 sets forth a block diagram of automated computing machinery comprising an example computer (152) useful in generating a data visualization according to embodiments of the present disclosure. The computer (152) of Figure 1 includes at least one computer processor (156) or 'CPU' as well as random access memory (168) ('RAM') which is connected through a high speed memory bus (166) and bus adapter (158) to processor (156) and to other components of the computer (152).
Stored in RAM (168) is a visualization generator (115), a module of computer program instructions for generating a data visualization according to certain embodiments of the present disclosure. The visualization generator (115) of Figure 1 includes at least one data uploading interface module (110), a module of computer program instructions operable to receive an input data set comprising a plurality of data objects. The visualization generator (115) of Figure 1 also includes at least one module selector interface (111), a module of computer program instructions operable to display a plurality of selectable visualization types, receive a fist visualization type selection, and receive a second visualization type selection. The visualization generator (115) of Figure 1 also includes at least one visualization module generator (112), a module of computer program instructions operable to generate a first and a second visualization module using the plurality of data objects and the first and second visualization type selections, respectively. The visualization generator (115) of Figure 1 also includes at least one visualization store (113), a module of computer program instructions operable to store one or more visualization modules. The visualization generator (115) of Figure 1 also includes at least one connection option interface (114), a module of computer program instructions operable to display a plurality of selectable connector options to connect the first visualization module to the second visualization module, and to receive a selected connector option from the plurality of selectable connector options.
The visualization generator (115) may be operable to generate a dynamic
visualization by connecting the first visualization module and the second visualization module using the selected connector option. The visualization generator (115) may be further operable to receive a user input indicating that a user has modified an aspect of the dynamic visualization scheme, and in response to receiving the user input, regenerate the dynamic visualization to reflect the user input.
In some embodiments, the visualization generator (115) may be further operable to detect a trigger on a portion of the first visualization module, wherein the portion identifies a particular data object of the plurality of data objects; determine a particular unique identifier for the particular data object; identify a portion of the second visualization module that depicts the particular data object using the particular unique identifier; and in response to detecting the trigger, highlight the portion of the first visualization that depicts the particular data object, and highlighting the portion of the second visualization module that depicts the particular data object. Also stored in RAM (168) is an operating system (154). Operating systems useful generating a data visualization according to embodiments of the present invention include UNIX™, Linux™, Microsoft XP™, AIX™, IBM's i5/OS™, and others as will occur to those of skill in the art. The operating system (154), data uploading interface (206), module selector interface (208), visualization module generator (210), visualization store (212), connection option interface (214), and visualization generator (216) in the example of Figure 1 are shown in RAM (168), but many components of such software typically are stored in non-volatile memory also, such as, for example, on a disk drive (170). The computer (152) of Figure 1 includes disk drive adapter (172) coupled through expansion bus (160) and bus adapter (158) to processor (156) and other components of the computer (152). Disk drive adapter (172) connects non-volatile data storage to the computer (152) in the form of disk drive (170). Disk drive adapters useful in computers for generating a data visualization according to embodiments of the present invention include Integrated Drive Electronics ('IDE') adapters, Small Computer System Interface ('SCSI') adapters, and others as will occur to those of skill in the art. Non- volatile computer memory also may be implemented for as an optical disk drive, electrically erasable programmable read-only memory (so-called 'EEPROM' or 'Flash' memory), RAM drives, and so on, as will occur to those of skill in the art.
The example computer (152) of Figure 1 includes one or more input/output ('I/O') adapters (178). I/O adapters implement user-oriented input/output through, for example, software drivers and computer hardware for controlling output to display devices such as computer display screens, as well as user input from user input devices (181) such as keyboards and mice. The example computer (152) of Figure 1 includes a video adapter (209), which is an example of an I/O adapter specially designed for graphic output to a display device (180) such as a display screen or computer monitor. Video adapter (209) is connected to processor (156) through a high speed video bus (164), bus adapter (158), and the front side bus (162), which is also a high speed bus.
The example computer (152) of Figure 1 includes a communications adapter (167) for data communications with other computers (182) and for data communications with a data communications network (100). Such data communications may be carried out serially through RS-232 connections, through external buses such as a Universal Serial Bus ('USB'), through data communications networks such as IP data communications networks, and in other ways as will occur to those of skill in the art. Communications adapters implement the hardware level of data communications through which one computer sends data communications to another computer, directly or through a data communications network. Examples of communications adapters useful for generating a data visualization according to embodiments of the present invention include modems for wired dial-up communications, Ethernet (IEEE 802.3) adapters for wired data communications network communications, and 802.11 adapters for wireless data communications network communications. For further explanation, Figure 2 illustrates a flowchart of an example method (200) for generating a data visualization according to certain embodiments of the present disclosure. The method (200) depicted in Figure 2 includes receiving (205) an input data set comprising a plurality of data objects via a data uploading interface. The data uploading interface may allow users to upload datasets into the data visualization system. One type of example data that may be particularly suited to method (200) includes proteomics data, although the method (200) may be applicable to a variety of different types of data. Once the input data set is received (205), the method (200) depicted in Figure 2 may proceed by displaying (210) a plurality of selectable visualization types. In such an example, a module selector interface may be configured to display (210) a plurality of selectable visualization types. Once the a plurality of selectable visualization types have been displayed (210), the method (200) depicted in Figure 2 may proceed by receiving (215) a first visualization type selection and also receiving (218) a second visualization type selection. For example, one type of visualization module may be a heat map, while another type of visualization module may be a survival curve, as described in more detail below with reference to Figures 3-8. After receiving (215, 218) the visualization type selections, the method (200) depicted in Figure 2 may proceed by generating (220) a first visualization module using the data objects and the first visualization type selection and also generating (223) a second visualization module using the data objects and the second visualization type selection.
The method depicted in Figure 2 also includes displaying (225) a plurality of selectable connector options to connect the first visualization module to the second visualization module. The plurality of selectable connector options to connect the first visualization module to the second visualization module may be displayed (225), for example, by a connection option interface. The method (200) depicted in Figure 2 may then proceed by the connection option interface receiving (228) a selected connector option from the plurality of selectable connector options. After the selected connector option is received (228) from the plurality of selectable connector options, the method (200) depicted in Figure 2 may continue by generating (235) a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
In some embodiments, the dynamic visualization may include a dynamic web page or other appropriate data interaction mechanism. A user of the method (200) depicted in Figure 2 may be able to create an interactive map by selecting and dragging different elements out of a selection screen. For example, when rendering these images using JavaScript in a web browser, one may save these demos to an interactive webpage that clients or scientists can interact with. These maps may have streamlined presentation connection so the charts and figures that may be more easily uploaded.
Although Figure 2 illustrates a method (200) occurring in a particular order, certain deviations from the example order may be understood by one of ordinary skill in the art without departing from the scope of the present disclosure. For example, although receiving (218) a second visualization type is illustrated as occurring after receiving (215) a first visualization type, both steps may occur simultaneously. Likewise, generating (220) a first visualization module and generating (223) a second visualization module may also occur simultaneously. Further, although the method (200) is illustrated as beginning by receiving (205) an input data set, other points may be appropriate as a beginning for the method (200) without departing from the scope of the present disclosure. For example, the method (200) may include a regeneration of a dynamic visualization, and may therefore begin by displaying (225) a plurality of selectable connector options.
In some embodiments, the method (200) may include additional processes. For example, the method (200) may also include receiving a user input indicating that a user has modified an aspect of the dynamic visualization scheme and, in response to receiving the input, the method (200) may regenerate the dynamic visualization to reflect the user input. For example, by clicking on a protein name in a circular heat chart, patients may be arranged based on protein expression level. Then, the user may click and drag the rings to reposition them. Grouping and sorting functionalities may give scientists the abilities to better visualize their conclusions. For instance, a study on proteomics in Acute Myeloid Leukemia (AML) at MD Anderson generates a dataset of over 500 patients, over 230 protein expression levels and over 80 clinical correlates for each patient. The variety of data types include survival data, protein expression data, mutation profile, demographic data (e.g. gender) and clinical diagnostic data (e.g. blood count). The method (200) may allow researchers to better visualize this data. In addition these modules may be able to be connected through object tracking, as described in more detail below with reference to Figure 9.
Figure 3 illustrates an example input data set (300) for generating a data visualization, in accordance with certain embodiments of the present disclosure. In the example input data set (300), a set of patients is identified with a corresponding plurality of protein expression levels, as well as certain demographic data. Although example data is illustrated here, other types of data, as well as data sizes and schemes may be implemented without departing from the scope of the present disclosure.
Figure 4 illustrates an example first visualization module (400) for generating a data visualization, in accordance with certain embodiments of the present disclosure. Example visualization module (400) is a circular heat map, wherein each wedge represents a different patient, an each inner ring is a different protein. The outer rings denote a grouping based on certain demographic data (e.g., male or female).
Figure 5 illustrates an example second visualization module (500) for generating a data visualization, in accordance with certain embodiments of the present disclosure. Example visualization module (500) is a survival curve based on clinical correlates. This information could be contained in the same data used to plot example
visualization module (400). Figure 6 illustrates an example interface (600) for the module selector interface module (111), in accordance with certain embodiments of the present disclosure. The example interface (600) includes an individual module property selector (602), a plurality of module selector objects (604), and a current module (606). For example, users may use the module selector objects (604) to select or change the module to be modified. Users may use the individual module property selector (602) to modify properties of individual modules, which may then be illustrated at the current module (606). Figure 7 illustrates an example interface (700) for the connection option interface (114), in accordance with certain embodiments of the present disclosure. The example interface (700) includes first module (702) and second module (704).
Example interface (700) may be used by a user to define portions of first module (702) that may be selectable by a user in order to interact with portions of second module (702).
Figure 8 illustrates an example data visualization (800), in accordance with certain embodiments of the present disclosure. The example data visualization (800) may result in a visualization of the input data set based on certain user input, as described in more detail above with reference to Figures 1-7. For example, the data visualization (800) depicted in Figure 7 illustrates AB7 in a manner that is organized by increasing level within each correlate.
Referring again to Figure 2, in some embodiments, receiving the input data set may include assigning a unique identifier to each of the plurality of data objects. This may allow for tracking objects in real-time (or substantially real-time) as a user interacts with a data visualization.
Figure 9 illustrates a flowchart of an example method (900) for tracking objects in real-time (or substantially real-time) in order to generate a data visualization, in accordance with certain embodiments of the present disclosure. The example method (900) depicted in Figure 9 can include assigning (902) a unique identifier to each of a plurality of objects, as described above. After a unique identifier has been assigned (902) to each of a plurality of objects, the method (900) depicted in Figure 9 may continue by detecting (904) a trigger on a portion of a first visualization module, wherein the portion identifies a particular data object of the plurality of data objects. After detecting the trigger, the method (900) depicted in Figure 9 may continue by determining (906) a particular unique identifier for the particular data object. The example method (900) depicted in Figure 9 may subsequently identify (908) a portion of a second visualization module that depicts the particular data object using the particular unique identifier. The example method (900) depicted in Figure 9 may continue by highlighting (910), in response to detecting the trigger, the portion of the first visualization that depicts the particular data object and also highlighting the portion of the second visualization module that depicts the particular data object. Although the steps depicted in Figure 9 are illustrated as occurring in a particular order, deviations may be made from the illustration of the example method (900) by one of ordinary skill in the art without departing from the scope of the present disclosure. For example, in some configurations, the particular unique identifier for the particular data object (e.g., 906) may be continuously tracked and/or cached, and/or large numbers of unique identifiers may be tracked and/or cached in order to improve performance.
In some web-based visualization design environments, each graphic element may be associated with an object or an object feature, e.g. a drop point on a survival curve links to a patient passed away at that time point. A user interaction mechanism may include any appropriate user interaction with the data visualization. For example, a user may mouse-over on a web page, touch a touch screen, etc. Once this trigger is received, the object ID may be returned. Subsequently, graphic elements associated with the same object may be highlighted in all visualization modules. The highlighting event can take various forms, including but not limited to drawing circles/boxes around the graphic element and changing the color, the intensity, the saturation, or the width of the element. This display of all information regarding single object links all individual visualizations together in a meaningful way may allow for comparison and analysis across different data types and dimensions.
In some embodiments, the example method (900) depicted in Figure 9 includes assigning (902) a unique identifier, detecting (904) a trigger, determining (906) a particular unique identifier for each data object, identifying (908) a portion of the second visualization module that depicts the data object, and highlighting (910) portions of each visualization, more, fewer, or different steps without departing from the scope of the present disclosure.
Tracking objects in real-time (or substantially real-time) may allow for improved visualization within a data visualization. For example, Figure 10 illustrates another example data visualization (1000), in accordance with certain embodiments of the present disclosure. The example data visualization (1000) may include a first visualization module (1002) and a second visualization module (1004). In some embodiments, the visualization modules (1002, 1004) may include visualizations of related data. When a user interacts with the data visualization (1000), for example, by selecting a portion of the second visualization module (1004) as illustrated, a corresponding portion of the first visualization module (1002) may be highlighted as illustrated. In the illustrated example visualization modules, object tracking may be triggered from a selection of a data point on the survival curve illustrated as the second visualization module (1004). As a result of the trigger and the corresponding object tracking, the expression of the corresponding patient may be highlighted simultaneously on the circular heat map illustrated as a first visualization module (1002).
As a result of object tracking, the data visualization may be achieved regardless of which data visualization module the user interacts with. Figure 11 illustrates the example data visualization (1000) described in more detail above with reference to Figure 10, in accordance with certain embodiments of the present disclosure. In
Figure 11, the example data visualization (1000) may include a first data visualization module (1102) and a second data visualization module (1104). When a user interacts with the data visualization (1000), for example, by selecting a portion of a first visualization module (1102) as illustrated, a corresponding portion of the second visualization module (1104) may be highlighted as illustrated. In the illustrated example visualization modules, object tracking may be triggered from a selection of a patient-associated expression element within the pink (unfavorable cytogenetic group) segment of the circular heat map illustrated as the first visualization module (1102). As a result of the trigger and the corresponding object tracking, the data point corresponding to that patient may be highlighted simultaneously on the survival curve illustrated as a second visualization module (1104).
Exemplary embodiments of the present disclosure are described largely in the context of a fully functional computer system for generating a data visualization. Readers of skill in the art will recognize, however, that the present invention also may be embodied in a computer program product disposed upon computer readable storage media for use with any suitable data processing system. Such computer readable storage media may be any storage medium for machine-readable information, including magnetic media, optical media, or other suitable media. Examples of such media include magnetic disks in hard drives or diskettes, compact disks for optical drives, magnetic tape, and others as will occur to those of skill in the art. Persons skilled in the art will immediately recognize that any computer system having suitable programming means will be capable of executing the steps of the method of the invention as embodied in a computer program product. Persons skilled in the art will recognize also that, although some of the exemplary embodiments described in this specification are oriented to software installed and executing on computer hardware, nevertheless, alternative embodiments implemented as firmware or as hardware are well within the scope of the present invention.
It will be understood from the foregoing description that modifications and changes may be made in various embodiments of the present invention without departing from its true spirit. The descriptions in this specification are for purposes of illustration only and are not to be construed in a limiting sense. The scope of the present invention is limited only by the language of the following claims.

Claims

CLAIMS claimed is:
A method of generating a data visualization, the method comprising:
receiving an input data set comprising a plurality of data objects; receiving a first visualization type selection;
receiving a second visualization type selection;
generating a first visualization module using the plurality of data objects and the first visualization type selection;
generating a second visualization module using the plurality of data objects and the second visualization type selection;
receiving a selected connector option from the plurality of selectable connector options; and
generating a dynamic visualization, including connecting the first visualization module and the second visualization module using the selected connector option.
The method of claim 1, further comprising:
receiving a user input modifying an aspect of the dynamic visualization scheme; and
in response to receiving the user input, regenerating the dynamic visualization to reflect the user input.
The method of claim 2, wherein the user input comprises a dragging motion on an aspect of the dynamic visualization by a user interface indicator on an interface displaying the dynamic visualization.
The method of claim 2, wherein regenerating the dynamic visualization further comprises reorganizing the data objects comprising the dynamic visualization.
5. The method of claim 1, wherein receiving the input data set comprises assigning a unique identifier to each of the plurality of data objects.
6. The method of claim 5, further comprising:
detecting a trigger on a portion of the first visualization module, wherein the portion identifies a particular data object of the plurality of data objects;
determining a particular unique identifier for the particular data object; identifying a portion of the second visualization module that depicts the particular data object using the particular unique identifier; and
in response to detecting the trigger, highlighting the portion of the first visualization that depicts the particular data object and highlighting the portion of the second visualization module that depicts the particular data object.
7. The method of claim 6, wherein the first visualization module is of a different visualization type than the second visualization module.
8. The method of claim 6, wherein the trigger is a mouse-over on the portion of the first visualization module corresponding to the particular data object.
9. The method of claim 6, further comprising, in response to detecting the
trigger, displaying the particular unique identifier.
10. The method of claim 1, wherein the data objects comprises patient healthcare data.
11. An apparatus for generating a data visualization, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
receiving an input data set comprising a plurality of data objects;
receiving a first visualization type selection;
receiving a second visualization type selection;
generating a first visualization module using the plurality of data objects and the first visualization type selection;
generating a second visualization module using the plurality of data objects and the second visualization type selection;
receiving a selected connector option from the plurality of selectable connector options; and
generating a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
12. The apparatus of claim 11, further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
receiving a user input modifying an aspect of the dynamic visualization scheme; and
in response to receiving the user input, regenerating the dynamic visualization to reflect the user input.
13. The apparatus of claim 11, wherein receiving the input data set further
comprises assigning a unique identifier to each of the plurality of data objects.
14. The apparatus of claim 13, further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
detecting a trigger on a portion of the first visualization module, wherein the portion identifies a particular data object of the plurality of data objects;
determining a particular unique identifier for the particular data object; identifying a portion of the second visualization module that depicts the particular data object using the particular unique identifier; and
in response to detecting the trigger, highlighting the portion of the first visualization that depicts the particular data object, and highlighting the portion of the second visualization module that depicts the particular data object.
15. The apparatus of claim 14, wherein the first visualization module is of a
different visualization type than the second visualization module.
16. The apparatus of claim 14, further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of, in response to detecting the trigger, displaying the particular unique identifier.
17. A computer program product for generating a dynamic visualization scheme, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
receiving an input data set comprising a plurality of data objects; receiving a first visualization type selection;
receiving a second visualization type selection;
generating a first visualization module using the plurality of data objects and the first visualization type selection;
generating a second visualization module using the plurality of data objects and the second visualization type selection;
receiving a selected connector option from the plurality of selectable connector options; and
generating a dynamic visualization by connecting the first visualization module and the second visualization module using the selected connector option.
18. The computer program product of claim 17, further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:
receiving a user input modifying an aspect of the dynamic
visualization scheme; and
in response to receiving the user input, regenerating the dynamic visualization to reflect the user input.
The computer program product of claim 18, wherein receiving the input data set further comprises assigning a unique identifier to each of the plurality of data objects. The computer program product of claim 19, further comprising computer program instructions that, when executed by the computer processor, cause the computer to carry out the steps of:
detecting a trigger on a portion of the first visualization module, wherein the portion identifies a particular data object of the plurality of data objects;
determining a particular unique identifier for the particular data object; identifying a portion of the second visualization module that depicts the particular data object using the particular unique identifier; and
in response to detecting the trigger, highlighting the portion of the first visualization that depicts the particular data object, and highlighting the portion of the second visualization module that depicts the particular data object.
PCT/US2015/032376 2015-05-26 2015-05-26 Generating a data visualization WO2016190849A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/032376 WO2016190849A1 (en) 2015-05-26 2015-05-26 Generating a data visualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/032376 WO2016190849A1 (en) 2015-05-26 2015-05-26 Generating a data visualization

Publications (1)

Publication Number Publication Date
WO2016190849A1 true WO2016190849A1 (en) 2016-12-01

Family

ID=53404869

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/032376 WO2016190849A1 (en) 2015-05-26 2015-05-26 Generating a data visualization

Country Status (1)

Country Link
WO (1) WO2016190849A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040241730A1 (en) * 2003-04-04 2004-12-02 Zohar Yakhini Visualizing expression data on chromosomal graphic schemes
US20090313576A1 (en) * 2008-06-12 2009-12-17 University Of Southern California Phrase-driven grammar for data visualization
US20120290323A1 (en) * 2011-05-11 2012-11-15 Barsoum Wael K Interactive visualization for healthcare

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040241730A1 (en) * 2003-04-04 2004-12-02 Zohar Yakhini Visualizing expression data on chromosomal graphic schemes
US20090313576A1 (en) * 2008-06-12 2009-12-17 University Of Southern California Phrase-driven grammar for data visualization
US20120290323A1 (en) * 2011-05-11 2012-11-15 Barsoum Wael K Interactive visualization for healthcare

Similar Documents

Publication Publication Date Title
US11055311B2 (en) Exploration and navigation of a content collection
US9058365B2 (en) Systems and methods providing touchscreen report navigation
US11429270B2 (en) User interface tools for visual exploration of multi-dimensional data
US11663235B2 (en) Techniques for mixed-initiative visualization of data
US20130300747A1 (en) Multi-dimensional visualization tool for browsing and troubleshooting at scale
WO2014165522A1 (en) Visualization of resources in a data center
KR20160088631A (en) Method for controlling display and an electronic device thereof
EP3430545A1 (en) Relevance feedback to improve the performance of clustering model that clusters patients with similar profiles together
US9996209B2 (en) Techniques for representing and comparing workflows
JP2017535856A (en) Job creation using data preview
WO2016141045A2 (en) Detection and visualization of temporal events in a large-scale patient database
CN109840933B (en) Exploring medical visualization parameters in virtual space
WO2015057460A1 (en) Graphical user interface
JP2016537073A (en) Visualization of volumetric image data
EP2592507B1 (en) Method and apparatus for the display of multiple errors on a human-machine interface
WO2015106213A1 (en) Automatic selection of center of rotation for graphical scenes
US20150193323A1 (en) Providing a user interface to enable selection of storage systems, components within storage systems and common performance metrics for generating performance metric reports across storage systems and components
Pearce et al. Interactive browser-based genomics data visualization tools for translational and clinical laboratory applications
WO2016190849A1 (en) Generating a data visualization
CN105683942A (en) Event chain visualization of performance data
US20170336954A1 (en) Interactive analysis of data based on progressive visualizations
EP2821928A2 (en) Method and system for limiting output results in a mobile telecommunication system
US10860162B2 (en) Supervisory control system for controlling a technical system, a method and computer program products
CN109524122A (en) A kind of rendering method of medical events, equipment and medium
US20210125704A1 (en) Techniques for displaying medical image data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15729626

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15729626

Country of ref document: EP

Kind code of ref document: A1