Multiple linked visualization authoring interfaces

By integrating multiple visualization authoring interfaces with multimodal interactions, the system addresses the learnability-expressivity trade-off, enabling users to create customized genomics data visualizations effectively.

WO2026020114A1PCT designated stage Publication Date: 2026-01-22PRESIDENT & FELLOWS OF HARVARD COLLEGE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/038276
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-19
Filing Date
2025-07-18
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Existing visualization authoring systems face a trade-off between learnability and expressivity, struggling to cater to users with diverse skill sets and preferences, particularly in domains like genomics where experts diverge in their visualization techniques.

Method used

A framework that blends multiple visualization authoring interfaces, such as template-based, shelf configuration, natural language, and code editing, is introduced, allowing users to learn unfamiliar interfaces through multimodal interactions and visual linking, thereby enhancing learnability and expressivity.

Benefits of technology

The blended interface system, exemplified by Blace, enables users with varying skill sets to create customized genomics data visualizations efficiently and intuitively, improving overall usability and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025038276_22012026_PF_FP_ABST
    Figure US2025038276_22012026_PF_FP_ABST
Patent Text Reader

Abstract

A framework that blends multiple authoring interfaces is provided. A visualization grammar is read. At least a first authoring tool and a second authoring tool are provided via a graphical user interface. A first visualization description at the first authoring tool is received via the graphical user interface. Based on the first visualization description, a first visualization design conforming to the visualization grammar is generated. A second visualization description, different from the first visualization description, from the first visualization design, is generated. The second visualization description at the second authoring tool is displayed via the graphic user interface.
Need to check novelty before this filing date? Find Prior Art

Description

MULTIPLE LINKED VISUALIZATION AUTHORING INTERFACESCROSS-REFERENCE TO RELATED APPLICATIONS

[0001]

[0001] This application claims the benefit of U.S. Provisional Application No.63 / 673,489, filed July 19, 2024, which is hereby incorporated by reference in its entirety.STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[0002]

[0002] This invention was made with Government support under R01HG011773 awarded by the National Institutes of Health. The Government has certain rights to this invention.BACKGROUND

[0003]

[0003] Embodiments of the present disclosure relate to a framework that blends multiple authoring interfaces, and more specifically, to a framework for blending multiple visualization authoring interfaces for supporting authoring tasks.BRIEF SUMMARY

[0004]

[0004] According to embodiments of the present disclosure, methods of and computer program products for blending multiple visualization authoring interfaces for supporting authoring tasks are provided.

[0005]

[0005] In various embodiments, a method of synchronizing authoring tools in a graphical user interface is provided. A visualization grammar is read. At least a first authoring tool and a second authoring tool are provided via a graphical user interface. A first visualizationdescription is received at the first authoring tool via the graphical user interface. Based on the first visualization description, a first visualization design is generated conforming to the visualization grammar. A second visualization description is generated, different from the first visualization description, from the first visualization design. The second visualization description is displayed at the second authoring tool via the graphical user interface.

[0006]

[0006] In some embodiments, an update to the second visualization description is received at the second authoring tool via the graphical user interface. Based on the updated second visualization, a second visualization design is generated conforming to the visualization grammar. An updated first visualization description is generated from the second visualization design. The updated first visualization description is displayed at the first authoring tool via the graphical user interface.

[0007]

[0007] In some embodiments, the visualization grammar defines one or more visualization of genomic data.

[0008]

[0008] In some embodiments, each of the first authoring tool and the second authoring tool is template-based, shelf configuration, visual builder, programming-based, natural language, or visualization by demonstration (VbD).

[0009]

[0009] In some embodiments, the first visualization description is textual.

[0010]

[0010] In some embodiments, the first visualization description is graphical.

[0011]

[0011] In some embodiments, said method further comprises generating a first visualization based on the first visualization design.

[0012]

[0012] In some embodiments, said method further comprises generating a second visualization based on the second visualization design.

[0013]

[0013] In some embodiments, the first visualization comprises genomic features on a sequence axis. In some embodiments, the first visualization comprises a track.

[0014]

[0014] In some embodiments, generating the first visualization comprises reading genome-mapped data and applying the first visualization design thereto. In some embodiments, generating the first visualization comprises reading genomic or epigenomic data and applying the first visualization design thereto.

[0015]

[0015] In some embodiments, a computer program product for synchronizing authoring tools in a graphical user interface is provided, said computer program product comprising a computer readable storage medium having program instructions embodied therewith, said program instructions executable by a processor to perform any of the foregoing methods.

[0016]

[0016] In some embodiments, a system is provided comprising: a display configured to provide a graphical user interface; and a computing node comprising a computer readable storage medium having program instructions embodied therewith, said program instructions executable by a processor of the computing node to cause the processor to perform any of the foregoing methods.BRIEF DESCRIPTION OF THE DRAWINGS

[0017]

[0017] Fig. 1 shows a qualitative graph of the trade-off between expressivity and learnability for authoring interfaces.

[0018]

[0018] Fig. 2 shows an illustration of a blended interface using Gosling Grammar according to an embodiment of the present disclosure.

[0019]

[0019] Fig. 3 shows a graph summarizing observations of a user study on the abilities of authoring interfaces to support different criteria.

[0020]

[0020] Fig. 4 shows an illustration of the different types of cooperative interactions according to an embodiment of the present disclosure.

[0021]

[0021] Fig. 5 shows an illustration of a user interface consisting of four linked authoring interfaces according to an embodiment of the present disclosure.

[0022]

[0022] Fig. 6 shows an illustration of a user interacting with four linked authoring interfaces according to an embodiment of the present disclosure.

[0023]

[0023] Figs. 7A-I show an illustration of the corresponding changes to a user interface in response to a user interaction according to an embodiment of the present disclosure.

[0024]

[0024] Fig. 8 shows an illustration of the overall procedure of a user study according to an embodiment of the present disclosure.

[0025]

[0025] Figs. 9A-C show graphs of participant responses to several criteria of authoring interfaces.

[0026]

[0026] Figs. 10A-C show illustrations of the sequences of interactions across four linked authoring interfaces.

[0027]

[0027] Fig. 11 is a diagrammatic view of a method for synchronizing authoring tools in a graphical user interface according to an embodiment of the present disclosure.

[0028]

[0028] Fig. 12 depicts a computing node according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0029]

[0029] A wide range of visualization authoring interfaces enable the creation of highly customized visualizations. However, prioritizing expressiveness often impedes the learnability of the authoring interface. For example, visual builder interfaces, which typically offer visualencoding pallets along with a visualization canvas, enable fine-grained customization but at the cost of a steep learning curve. The trade-off between expressivity and learnability has been discussed as an essential design consideration for visualization authoring systems in prior studies.

[0030]

[0030] Supporting learnability often involves not only making the system easy to learn but also supporting a broad range of users. The diversity of users, such as varying computational skills and prior experiences in user interfaces, makes it even more challenging for a single authoring interface to satisfy the needs of a broad audience. For example, genomics is a typical domain that shares this challenge. In this domain, experts with different roles and backgrounds, such as computational biologists, clinicians, and experimentalists, frequently visualize data as an essential part of their analysis workflows. However, according to user interviews conducted, domain experts have strong preferences over specific visualization authoring techniques (e.g., graphical user interface and programming-based), and they vastly diverge. This challenges the creation of widely learnable and highly expressive visualization authoring systems.

[0031]

[0031] To balance the learnability and expressivity of a visualization authoring system, ideas from learnability studies are adopted in various embodiments of the present disclosure. Using the design strategies of multimodal interactions, different ways to combine multiple authoring interfaces in a complementary manner are implemented. In some embodiments, authoring interfaces are tightly connected and combined to offer easy ways for users to learn unfamiliar, but potentially more expressive, interfaces (e.g., code editors) by relating them with familiar interfaces (e.g., template-based interfaces). Such embodiments may enable a learning- by-analogy approach, which has shown its effectiveness in visualization literacy, visualization onboarding, and visualization education

[0032]

[0032] In various embodiments, blended interfaces are introduced to balance between learnability and expressivity through cooperative and linked authoring interfaces. A framework that enables visualization designers and researchers to explore the design space, to express design choices, and to communicate design choices is presented. Adopting insights from learnability studies, such as multimodal interaction and visualization literacy, the design space of blending multiple visualization authoring interfaces for supporting authoring tasks is done in a complementary and flexible manner.

[0033]

[0033] In various embodiments, blended interfaces are applied to an exemplary genomics visualization authoring system, Blace, that enables the creation of genomics data visualization. Blace combines four common visualization authoring interfaces including a template-based interface, a shelf configuration interface, a natural language interface, and a code editor (a Gosling code editor) that are tightly linked to one another to help users easily relate unfamiliar interfaces to more familiar ones. The system consistently highlights state differences across all four authoring interfaces upon mouse hovering (i.e., visual linking) to enable users to learn unfamiliar interfaces (e.g. the code editor) after interacting with the system.

[0034]

[0034] An adaptive user interface (AUI) takes characteristics of diverse users into account by analyzing user interaction patterns to update their interfaces to better support inferred user needs. However, such prediction is potentially imperfect and leads to decreased usability, which could be one of the potential reasons for the fact that successful AUI systems are lacking in practice. A promising technique in the context of visualization authoring is multimodal user interactions. It adopts multiple input senses (e.g., sight and hearing) and / or output senses (e.g., gesture, speech, and sketch) in combination to offer a flexible and natural way to communicate with a system. There are a number of ways to combine multimodal interactions for user tasks,such as equivalence and complementarity interactions. For example, equivalence interactions enable users to perform a single task using any of the multiple modalities supported by the system. Given its flexibility in supporting user tasks, a system with equivalence interactions offers better overall learnability to support a wide range of users with diverse situations and contexts.

[0035] In the visualization field, multiple modalities may be combined in a complementary way. For example, complementary interactions in tablet devices may be provided using pen, touch, and speech interactions. Both speech and touch interactions may be used together for complementarity interactions (e.g., selecting points of interest in a scatterplot using lasso selection and then using speech-based interaction to filter the corresponding data points). In some embodiments, the idea of multimodal user interactions for combining diverse visualization authoring interfaces is brought together with varied expressivity and learnability to increase the overall usability of a system.

[0036]

[0035] In the visualization field, researchers identified various barriers for visualization authors, such as data, encoding, and interpretation challenges. Many visualization recommendation systems focus on assisting visual encoding using machine-generated suggestions.

[0037] For example, mixed-initiative visualization systems suggest recommendations in the middle of users' visualization tasks, enabling more tight collaboration with users, compared with a post-editing approach. These suggestions are often combined with natural language descriptions for a more intuitive understanding. Focusing on the interpretation barrier, researchers explored approaches to assist users in understanding visual representations andunderlying information, in the form of visualization literacy, visualization education, and visualization onboarding.

[0038]

[0036] With reference to Fig. 1, four common visualization authoring interfaces including template-based 101, shelf configuration 102, visual builder 103, and code editor 104, are qualitatively arranged according to their relative expressivity and learnability. Based on the type of user interactions supported, visualization authoring interfaces can be categorized into template-based, shelf configuration, visual builder, programming-based, natural language, and visualization by demonstration (VbD) techniques, and the choice of an interface largely determines the system's ability in supporting different user goals, such as learnability and expressivity. Template-based interfaces, such as Microsoft Excel's Recommended Charts and Tableau's Show Me, are easy to use but largely limited in general in terms of their customizability. On the other hand, there are visual builder interfaces, which use visual pallets for visualizations, similar to that in graphics design tools, enabling fine-grained customization, but impeding learnability for users. Programming low-level visualization languages, such as D3 or Vega, enables even more expressivity while they require significantly more time to learn them. Existing authoring interfaces support different target tasks (i.e., specialization interactions), such as supporting visual encoding using visual builders and then interaction authoring using visualization-by-demonstration.

[0039]

[0037] Various embodiments adopt an approach increasing the understandability of visual representations, i.e., learning by analogy. The approach helps users learn unfamiliar visualizations by drawing connections to familiar ones (e.g., through visual morphing, visual linking, and textual descriptions). This approach includes describing the comparison between prior knowledge and new information, in terms of their similarities and differences, promotesbeter learning. To enable a broad range of people with different skill sets to easily learn to use an expressive visualization authoring system, multiple visualization authoring interfaces are linked to help users learn unfamiliar but potentially more expressive interfaces. The linking of multiple visualization authoring interfaces balances the overall learnability and expressivity of a visualization authoring system and overcomes the critical trade-off of learnability and expressivity by introducing the framework of blended interfaces.

[0040]

[0038] Various embodiments comprise using a visual builder interface to help users build expressive visualizations while offering visualization-by-demonstration for intuitive authoring of user interactions. Focusing on data transformation, various embodiments comprise combining shelf configuration, natural language input, and the JavaScript code editor. Various embodiments support example templates, along with a JavaScript code editor, to support quick prototyping of D3 visualizations.

[0041]

[0039] Various embodiments use parameterized declarative templates that combine three interfaces: template-based, shelf configuration, and code editing interfaces. Current methods for providing combined interfaces are not intuitive and require greater training for users. In contrast, various embodiments combine and link four authoring interfaces, template-based, shelf configuration, code editing, and natural language interfaces, to increase the learnability of an authoring system while still offering expressive and efficient visualization authoring.

[0042] As used herein, the term “

[0040] Blended interfaces” is defined as composing multiple authoring interfaces in a complementary and linked manner. As used herein, "blended interactions" is a term that refers to a conceptual framework to explain how people rely on familiar (real-world) concepts to learn unfamiliar digital concepts. Linking is an essential component of blended interfaces. Using linking as bridges connecting unfamiliar and familiarauthoring interfaces for users, enables users to learn unfamiliar interfaces more easily, leading to increased learnability of a visualization authoring system. Various embodiments adopt learning- by -analogy (e.g., visual linking), which is shown to help users learn novel visualizations.Various embodiments support cooperative interactions across multiple authoring interfaces for complementary and flexible visualization authoring. A framework for designing multimodal interactions in the context of blended interfaces may be adopted.

[0043]

[0041] Various embodiments may enable the exploration of the design space of blended interfaces and the expression of a chosen design choice. Multi-modal interactions and visualization literacy are key building blocks of blended interfaces. The building blocks may then be used to express the design of alternative visualization authoring systems with multiple authoring interfaces to validate the framework's expressivity in describing alternative systems. The key building blocks of blended interfaces may comprise (1) target interfaces, (2) cooperation strategies of multiple interfaces, and (5) linking strategies between interfaces.

[0044]

[0042] As used herein, a grammar or formal grammar refers to a set of production rules for valid strings from an alphabet of a formal language, as is understood in the field of formal language theory. A grammar does not describe the meaning of the strings, only their form. A visualization grammar is a grammar that provides a declarative language for creating, saving, and sharing interactive visualization designs. A variety of visualization grammars are known in the art, including Gosling and Vega. A visualization design conforming to a visualization grammar may be stored in a variety of formats, including language-independent data formats such as JSON (JavaScript Object Notation).

[0045]

[0043] A visualization design may be authored or edited by a variety of authoring tools provided via a graphical user interface as described herein. Different authoring tools maydisplay different descriptions of an underlying visualization design. For example, a first authoring tool may display a plain text description of an underlying visualization design, while a second authoring tool may display a template-based description of a visualization design. Various examples of such authoring tools and their associated descriptions are provided herein, but it will be appreciated that a variety of different authoring tools with corresponding descriptions may be employed to generate a visualization design according to the architectures provide herein.

[0046]

[0044] With reference now to Fig. 2, the building blocks of blended interfaces are shown consisting of authoring interfaces 201, cooperation strategies 202, and linking strategies 203. Blended interfaces can comprise two or more visualization authoring interfaces. This includes template-based, shelf configuration, natural language, code editing, and visual builder interfaces. Visualization-by-demonstration may be applied to blended interface(s). Visualization-by- demonstration is a direct manipulation-based technique that is often considered as a separate visualization authoring interface. Given the importance of considering both input and output aspects of interfaces, it is worth distinguishing authoring interfaces that offer both the input and output from the ones with input only. For example, on a shelf configuration interface, users can interact with the interface to change visual encoding (input). Various embodiments comprise reading user input indicating a request to change the visual encoding. Various embodiments comprise modifying the interface based on the user input. Seeing the state of the interface helps users understand how visualizations are encoded with existing data (output). However, the visualization-by-demonstration itself does not necessarily have its own display.

[0047]

[0045] With reference now to Fig. 3, the authoring interfaces in terms of their abilities(low to high) in supporting different criteria (i.e. learnability 301, expressivity 302, efficiency303, and accuracy 304) are shown. The ability of each interface for a given criterion shown inFig- 3 is estimated based on observations from the user study. The target interfaces can be chosen considering their abilities (Fig. 3) in supporting different authoring criteria 202b and tasks 202c (Fig. 2).

[0048]

[0046] Cooperation type 202a may be adopted from the taxonomy of cooperative multimodal interactions in the context of blended interfaces to express and explore design choices for given tasks and authoring criteria. Four different types of cooperative interactions are illustrated in Fig. 4. With reference to Fig. 4, the columns represent whether the information manipulated by interfaces is the same or not. The rows represent whether interfaces are used together (i.e., at the same time or in sequence) or not. Equivalence interaction 401 means that blended interfaces offer multiple authoring interfaces for the same task. For example, a user can use either chart templates or shelf configuration in Tableau to change a designated visual encoding.

[0049] Specialization interaction 402 means a specific authoring interface serves as the only way to perform a specific task. In Lyra 2, visualization-by-demonstration is offered as a specialized interface for authoring user interactions, while the visual builder interface in Lyra 2 is specifically for authoring visual representations.

[0050]

[0047] Redundancy interaction 403 means the least frequently observed cooperation type in alternative authoring interfaces, indicates the interface enables users to use multiple interfaces at the same time for the same task. For example, users may use a natural language interface to ask the system to create a complex visualization. The blended interface may enable users to use an authoring interface (e.g., a visual builder) to perform the same task while the user is waitingfor a response from another authoring interface. This way, users can perform the task faster using two interfaces at the same time, applying changes based on whichever interface is quicker.

[0051]

[0048] Complementarity interaction 404 may enable users to use multiple authoring interfaces together to perform a single task. Various embodiments support familiar and unfamiliar output interfaces together to help visualization novices understand interactions (e.g., seeing both textual descriptions in the natural language interface and visual changes in the shelf configuration interface to complement their understanding). For example, a user may the natural language interface to make large, but error-prone, changes first and then, in sequence, using the code editor to adjust the suggestions.

[0052]

[0049] Since linking between authoring interfaces is conceptually similar to visual encoding, MyBrush taxonomy may be adopted and simplified given that the information to be linked in authoring interfaces would be generally limited, compared to complex multi-view visualizations. The linking may determine how to show which relationship between authoring interfaces to promote learning by analogy. Authoring interfaces may be linked to one another to highlight corresponding components between interfaces. For example, hovering on a data field in a shelf configuration can result in highlighting the corresponding data field in the code editor. Another example would be highlighting state differences between interfaces with explicit encodings as in (e.g., visual encoding change in the shelf configuration highlights the corresponding changes in the code editor).

[0053]

[0050] To evaluate the feasibility of the framework of blended interfaces, an exemplary visualization authoring system for genomics data called Blace (Blended learnable interface) using the framework is designed and implemented in accordance with one or more embodimentsof the present disclosure. Blace enables genomics analysts with diverse skill sets to easily create and customize genomics data visualizations.

[0054]

[0051] An exemplary embodiment of the present disclosure focuses on the genomics field as a use case for implementing a blended visualization authoring system for several reasons.Genomics is a visualization-heavy field in which visualizing genomics data is an essential part of analysis workflows. Genomics is a highly interdisciplinary field where experts with diverse roles, backgrounds, and skill sets visualize and analyze data. In addition, consistent with the diversity of users and their analysis contexts, user interviews showed that users' preference over visualization authoring approaches were largely splitting, mainly between graphical user interfaces and programing-based approaches (e.g., creating specialized visualizations based on a JavaScript library or directly using a Python library). By adopting the framework of blended interfaces in the context of genomics data visualization, a visualization authoring system may be provided to enable genomics experts with diverse skill sets to create highly customized genomics data visualizations easily.

[0055]

[0052] With reference now to Fig. 5, an exemplary user interface is shown. The exemplary user interface may comprise four main authoring interfaces including a natural language interface 501, a code editor 502, template-based interface 503, and a shelf configuration interface 504. The exemplary user interface may comprise an interactive visualization displayed on a canvas. The exemplary user interface may comprise a history panel to keep track of interaction provenance and easier revert back to previous stages. The exemplary user interface may be Blace. One or more of the authoring interfaces may be hidden and shown as needed by clicking on the close button or the corresponding buttons on the header of the interface, enabling users to use only the authoring interfaces that they wish to use. To allow theexpressive visualization authoring in the system, Blace may use the Gosling visualization grammar, i.e., genomics data visualization on the canvas may be rendered using Gosling, and the code editor shows the corresponding Gosling JSON specification.

[0056]

[0053] The natural language 501 interface displays a textual description to illustrate the previous interaction and accepts a user prompt for manipulating visualization which is displayed below the interface. The code editor 502 enables users to browse and edit the Gosling specification of the genomics data visualization grammar. The template-based interface 503 uses a gallery-based interface with a preview and textual descriptions which enables users to easily browse and switch between different visualization alternatives. The shelf configuration interface 504 enables users to change a mark type or mapping between data fields and visual channels.

[0057]

[0054] A template-based interface 503 is included. For example, template-based interface 503 is the most learnable and efficient interface for high-level visual encoding tasks. As it is one of the most widely used techniques in genomics visualization tools, the template interface may be the most familiar and easy to learn for genomics experts. Additionally, commonly observed visualization types from genomics visualizations and / or chart types found in widely used template-based visualization tools outside of genomics (e.g., Microsoft Excel and Tableau's Show Me) may be included. To increase the learnability of the interface, textual descriptions of individual templates may be provided. To make the descriptions more readable, keywords may be highlighted, such as mark types and encodings, using different background colors and bold fonts in a consistent way.

[0058]

[0055] To support learnable and expressive visual encoding, the shelf configuration interface 504 is adopted. The interface may comprise an indication of a plurality of mark types. For example, the plurality of mark types comprises 10 mark types supported in Gosling. Theinterface may comprise a presentation of available data fields. The interface may comprise one or more interactive elements. For example, the one or more interactive elements comprise drag and drop data fields. For example, using the interface, users can select one of 10 mark types supported in Gosling, browse available data fields of three different types (i.e., G of genomic positions, # of quantitative values, and N of nominal values), and / or drag and drop data fields to one of nine visual channels, such as x, y, and color.

[0059]

[0056] The natural language interface 501 may be adopted to complement other interfaces in terms of learnability. The interface contained both the input and output components. A large language model (LLM) (i.e., GPT-4) is used for editing Gosling genomics data visualizations based on users' prompts. To increase the reliability of LLM responses, few-shot examples are provided, which are shown to give more accurate responses for the Vega-Lite visualization grammar, compared to rule-based arguments. Few-shot examples comprise tuples of (1) a prompt (e.g., "Change to a heatmap", (2) an original Gosling specification (e.g, a line chart specification), and (3) another specification with the corresponding edit (e.g., a heatmap specification using the same data). The interface's output (i.e., a message from the Al assistant) may be displayed to help users understand what has happened (or will happen) in the system. Such natural language description may complement graphical changes in other interfaces for non-visualization expert users to understand the system, which is conceptually the complementarity multi-modal interaction.

[0060]

[0057] As the most expressive authoring interface, a code editor 502 for the Gosling specification may be included in Blace. To assist users in understanding the Gosling specification, the code editor 502 may highlight the syntax of the JSON format, give warning and error messages if the code does not follow the Gosling grammar and JSON syntax,respectively, offer an auto-completion feature that enables users to see allowed property names, and / or perform other operations.

[0061]

[0058] Genomics data visualizations frequently involve visualizing a large number of views at once, as found in a survey. However, if multiple views are displayed, using the natural language interface can become challenging since users have to express accurately which view they are referring to in their prompts. Similarly, the code in the code editor can easily become long when the number of views increases.

[0062]

[0059] Adopting the complementarity interaction discussed in the multimodal interaction studies, Blace enables users to select a view by clicking on it and then ask a question without needing to express in the natural language which view they are referring to. When users select a view via the interface, various embodiments comprise effectuating presentation of the corresponding part of the specification in the code editor 502, where users can make changes and customize the corresponding view. The template-based 503 and shelf configuration interfaces 504 may show contents based on the selected view as well.

[0063]

[0060] Given the large scale of genome-mapped data (3 billion base pairs long for human genomes), it may not be practical to show all the information in a single scene. To help users determine visualization design choices, they interface may enable switching from an authoring mode to a presentation mode. The presentation mode may comprise reading user input to a computing platform presenting the interface. The user input may comprise scrolling information. For example, the interface may zoom to genomics regions of interest based on the scrolling information. For example, a user can use a mouse wheel to interactively zoom to genomics regions of interest.

[0064]

[0061] With reference now to Fig. 6, an illustration of a user’s 601 interactions 602 and the corresponding feedback 603 from the four tightly linked authoring interfaces (i.e. code editor 604, shelf configuration interface 605, template-based interface 606, and natural language interface 607) in Blace 608 are shown. The tightly connected authoring interfaces help users relate unfamiliar interfaces with their familiar ones. When a user interacts with an authoring interface (e.g., change a visual encoding in the code editor 604), the other interfaces update their displayed information and provide proper visual feedback to users (e.g., change the corresponding visual encoding in the shelf configuration interfaces and switch the visualization type in templates, if applicable). The information shown in all authoring interfaces, as well as the displayed visualization, is synchronized at all times. This means if a user changes anything on an interface, all other interfaces are updated accordingly. For example, if a user replaces a mark with a bar from a scatterplot using a code editor 604, the template-based interface 606 switches the selected visualization type, from a scatterplot to a bar chart, to reflect the latest changes on the visualization. Similarly, the shelf configuration interface 605 highlights a bar mark button as the selected one, and the natural language interface 607 shows a message that the visualization type has been changed to a bar chart.

[0065]

[0062] With reference now to Figs. 7A-I, users can hover over buttons in any of the interfaces to see corresponding changes in all other interfaces. For example, a cursor position is read. One or more user interface elements may be presented based on the position of the cursor. Users can preview the resulting visualization directly on the canvas 701. Such linking between interfaces is supported in all interfaces, meaning that mouse hover interaction on any interface triggers linking. Such bidirectional linking is a unique feature of Blace compared to alternative visualization authoring systems. The corresponding changes may be visually represented indifferent ways using explicit encoding. For example, the representing comprises highlighting the differences directly on the corresponding parts of the interfaces (e.g., templates or lines of code) (e.g., Figs. 7B-E). For example, the representing comprises summarizing the number of changes (e.g, Figs. 7F-H).

[0066]

[0063] Upon hovering on a template in the template interface 503, all interfaces may be linked to each other by showing expected changes (e.g., from a bubble chart to a line chart). Different colors (e.g., red and green) may indicate to the user the corresponding components that are expected to be removed and added, respectively, if the user clicks on the hovered template. For example, if a user hovers a mouse on a line chart in the template interface as illustrated in Figs. 7A, all other interfaces show and describe expected changes. In the template interface 503, the previously selected template 702 is highlighted in red for the user while the newly hovered template 703 is highlighted in green. Similarly, in the shelf configuration interface 504, the previously used mark 704 (e.g., circle) is highlighted in red while the new mark 705 (e.g., line) to be used in the selected template interface (e.g., the line chart) is in green as shown in Fig. 7C. One of the visual channels of the shelf configuration interface 504 is also highlighted in red, indicating that the size channel 706 will be unused in a line chart as shown in Fig. 7D. Referring now to Fig. 7E, the code editor 502 highlights the removed lines of code 707 and added lines of code 708, similar to that in GitHub. The code editor 502 additionally shows the expected number of changes (shown in Fig. 7F), including the number of lines to be remove 709 and the number of lines to be added 710. The template-based interface 503 and the shelf-configuration interface 504 show the expected number of changes, including the number of removals 710 and the number of additions 711 in relation to each interface (Figs. 7G-H). The natural language interface 501 describes the expected action in textual descriptions (e.g., change of a visualizationtype) as shown in Fig. 71. The hovered template is temporarily applied to the main visualization707, enabling users to easily see the resulting visualization.

[0067]

[0064] The tight linking across the four authoring interfaces in Blace are designed to act as a bridge between unfamiliar and familiar interfaces to enable users to more easily learn unfamiliar interfaces, hence increasing their overall learnability and flexibility in using the authoring system.

[0068]

[0065] Using an exemplary system, a user study with 12 domain experts who regularly visualize genomics data as part of their analysis workflow was conducted. Domain experts in genomics included six research scientists, five graduate students, and one software engineer participated in the user study. According to participants' self-assessment, they had varied expertise levels in genomics data analysis (one beginner, seven intermediates, and four experts), programming (two beginners, seven intermediates, and three experts), and visualization (two beginners and ten intermediates). The results of user evaluation using Blace showed that users can use blended authoring interfaces in a flexible, efficient, and learnable manner.

[0069]

[0066] The overall study structure is illustrated in Fig. 8 and designed to accommodate one participant at a time. The study started with an introduction session 801 where an experimentalist explained essential background information (e.g., the objectives of Blace and datasets used in the study). The main component of the study consisted of two hands-on sessions, a self-learning session 802 and a followed visualization reproduction session 803, in which participants interacted with Blace. Survey responses before and after the hands-on sessions (i.e., pre-study survey 804a and post study survey 804b) were collected to ask about user experience regarding visualization authoring systems in the past and Blace during the study,respectively. At the conclusion, an interview to collect more in-depth qualitative insights from participants was conducted.

[0070]

[0067] The goal of the user study was to determine whether users can easily learn Blace to author customized visualizations. After reviewing user studies for visualization authoring systems, many visualization authoring systems included some form of guided training, such as video tutorials or walkthrough of features. Guided by user studies in visual literacy and learnability, a self-learning session was included to see whether the system is sufficiently straightforward to learn without external guidance.

[0071]

[0068] All participants with varied skill sets in genomics data analysis, programming, and visualization were able to successfully reproduce complex visualization examples without a guided tutorial in the study. Feedback from a post-study qualitative questionnaire suggests that blending interfaces enabled participants to learn the system easily and assisted them in confidently editing unfamiliar visualization grammar in the code editor, enabling expressive customization.

[0072]

[0069] Each session is described in further detail in following. A user study performer introduced background information about the study and Blace. The datasets used in the study were explained for the purpose of helping participants explore different visualization design choices during the hands-on sessions. Several concepts used in Blace were briefly introduced including the Gosling visualization library, the JSON text format, three different field types used in Gosling including quantitative (#), nominal (N), and genomics (G) fields, and the high-level concept of visual encoding (i.e., how a data field for a given mark can be mapped to a variety of visual channels to construct diverse visualizations). Participants were encouraged to share as objective and honest opinions as possible on Blace throughout the study. Before the pre-studysurvey, the basic concepts of four visualization authoring interfaces were introduced using short GIF images of existing tools including chart type templates in Microsoft Excel, shelf-based interface in Tableau, code editor of Jupyter Notebook, and natural language interface in VisTalk. This minimal explanation was to help participants accurately rate their prior experience of using four authoring interfaces (pre-study survey) without significantly affecting participants in learning Blace. In the survey, the participants' familiarity, and confidence levels (7-point Likert scales) in using each interface based on their prior experience was assessed.

[0073]

[0070] The participants were invited to use Blace and given 20 minutes to learn it by interacting with it. The duration of the training session was controlled for all participants by encouraging them to use full 20 minutes regardless of whether they had become confident in using the system. After walking through the positions of four authoring interfaces on the system to the participants, participants were then asked to learn the four interfaces as thoroughly as possible, while focusing on customizing visualizations. The participants were asked to think aloud to capture any potential barriers during the session.

[0074]

[0071] Upon completing the self-learning session, participants were asked to reproduce three visualization examples. Following user studies of visualization authoring systems, this session focused on evaluating the learnability of Blace by capturing whether participants could successfully create provided visualization examples after the training session. This reproduction task imitates typical authoring tasks, in which users have specific visualizations in mind and use an authoring system to construct them. The participants were given three visualization images, one at a time, and asked to reproduce them as closely as possible.

[0075]

[0072] Two datasets were used, one set for the training session and the other for the reproduction session, of three genomics file formats that are widely used in the domain. Thethree specific file formats were selected to enable diverse possible visual mappings: (i) BigWig of a ChlP-seq sample containing three genomic fields (start, end, and position) and three quantitative fields (value, value_min, and value_max); (ii) Multivec of four gene regulation samples containing a nominal field (category) in addition to the six fields in BigWig; and (iii) BEDPE of cancer structural variation containing four genomic fields (start 1, endl, st art 2, and end2), seven nominal fields (sv_id, strandl, strand2, svclass, svmethod, chroml, and chrom2), and a quantitative field (pe_support).

[0076]

[0073] With reference now to Fig. 9A-C, a summary of participants’ responses to a questionnaire assessing the overall ease of learning (Fig. 9A), their confidence level in using Blace (Fig. 9A), as well as the familiarity and confidence level in using four individual authoring interfaces (Fig. 9B-C) is shown. After finishing the reproduction session, participants were asked to fill out a survey again. The survey included a 7-point Likert scale questionnaire (e.g., 7 = Very easy to learn, 4 = Neutral, and 1 = Very difficult to learn) to assess the overall ease of learning and confidence level in using Blace, as well as the familiarity and confidence level in using four individual authoring interfaces. After receiving the survey responses, a semistructured interview to collect more in-depth insights into using blended interfaces was conducted. Specifically, participants were asked if (1) supporting blended interfaces-multiple linked authoring interfaces in the given system was useful or rather distracting or disturbing and (2) showing the relation between interfaces (i.e., differences) particularly helped them learn unfamiliar interfaces (e.g., the Gosling code editor).

[0077]

[0074] 0n average, participants agreed that Blace was easy to learn (5.7 out of 7), and they could confidently use it (5.5) (Fig. 9A). During the interview, all participants expressed that supporting multiple linked interfaces in a single authoring system is "valuable" (P2 and P5),"usefill" (P6), "fim" (P2, P4, and PIO), and "really intuitive" (P2). Moreover, all participants were able to successfully reproduce given visualizations, regardless of their diverse skill sets in genomics analysis, programming, and visualization. P2 said that blending interfaces seems to be valuable for supporting users with diverse skill sets: " [blending interfaces] could be a potential way to integrate people who are programming and not. "

[0078]

[0075] Familiarity and confidence levels of each of the four interfaces before the selflearning session and after the reproduction session were also collected (Fig. 9B). Overall, both the familiarity and confidence levels of individual interfaces increased after using Blace, compared to their prior experience in using the four types of interfaces. Consistent with participants' interview responses, the largest increase was observed with the Gosling code editor.

[0079] According to the self-assessment (pre-study survey), participants were all unfamiliar (1.3 out of 7) with the Gosling grammar before participating in the study. However, after using Blace, participants familiarity (5.2) and confidence (5.1) increased for some extent. The only slight decrease was observed for template-based interfaces. Pl provided a potential reason during an interview: "The different kinds of scatterplots confused me sometimes. I was somehow expecting only one type of each plot instead of slight variations. " In various embodiments, templates from existing tools, Microsoft Excel's Recommended Charts and Tableau's Show Me, are adopted and variations of scatterplots (e.g., regular scatterplots, concatenated scatterplots, and bubble charts) are provided. For example, three variations are scatterplots are provided. However, the fact that some of these options are not common in genomics visualization tools (e.g., bubble charts) might have made it difficult to understand the difference between the variations, slightly lowering the familiarity and confidence in using the template-based interface.With this decrease, however, the participants still found the templates to be very familiar (6.6 out of 7) and confident to use (6.4).

[0080]

[0076] With reference not Figs. 10A-C, the sequences of interactions across four authoring interfaces for each of the participants for three tasks is shown. The circles are arranged from left to right in chronological order for a given task. Different colors indicate the authoring interfaces (i.e., template-based interface 1001, shelf configuration 1002, natural language interface 1003, and code editor 1004) used by users. The circles represent interactions performed on one of the four authoring interfaces including visual encoding tasks 1005 (e.g., map a data field to a color channel), styling tasks 1006 (e.g., add a color legend), browsing the interface without changing visualization 1007 (e.g., looking for possible options), user struggle 1008 (e.g., unable to find a way to edit code accurately), and complementary interactions 1009, and redundancy interactions 1010.

[0081]

[0077] Most participants frequently used all four interfaces across the three tasks. This consistent pattern illustrates that participants found all four interfaces useful for different purposes. For example, a participant (P6) mentioned that it was useful to have all four interfaces by explaining their distinct roles in their understanding: "For example, in the second [task], it is very nice to choose between templates, and then, in [ the shelf configuration ], I can change x, y, and color. And then, if I really want to fine-tune the visualization, I could go into the code or ask Al to do it for me. It was very useful to have all four, and it wasn 't anything cluttered or something like that" (P6). Even though the use of templates is not required to complete given tasks (e.g., using shelf configuration interfaces without templates in Task 1), all participants frequently used template-based interfaces first, followed by shelf configuration as shown in Figs.10A-C. PIO said, "I like the streamlined process of using templates and then shelves. [...] It's easier to use templates first and then shelf configurations for the detailed [encoding]. "

[0082]

[0078] A participant also highlighted the complementarity aspect of blended interfaces: "Using the template-based interface seems to limit my ability to customize visualizations, and [authoring interfaces] seem to complement each other" (P9). Consistent with the interview, several evident cooperative interactions 1011, 1013 were found where participants used multiple interfaces in combination for their specific low-level tasks. For example, participants (Pl, P2, P7, P10, and Pl 2) tried to learn the Gosling grammar by seeing the suggested changes of NLI on the code editor even when they had already completed their tasks (i.e., using NL and code editor interfaces in combination to learn the code): "What does the [NLI] change? Oh, I see it adds a legend" (Pl). Similar interactions were observed between shelf configuration and code editor interfaces (Pl, P4, P5, and P8). For example, users wanted to change something on the code editor, such as setting a fixed opacity ({opacity : {value : 0 . 8} }), but oftentimes they did not find corresponding property names on the code. Participants found shelf configuration to be helpful for understanding the accepted property names (e.g., opacity) in the code editor by adding a random data field to an opacity shelf. Such a strategy was observed with NLI as well: "I didn 't know what to put in [ the code editor], so I just asked to see what the [NLI] changes.And, based on that, I can continue myself' (Pl).

[0083]

[0079] Another type of cooperative interaction was redundancy interaction 1012, 1014 between NLI and other interfaces (P3, P7, P8, and P12). P12 did not know how to add a color legend, so they first asked NLI. While waiting for the response, the participant browsed the code editor simultaneously and found a corresponding property ({color : {legend : true} }) before getting the NLI response. This way, they could make a desired change quickly, whicheveris faster between getting the NLI suggestions and editing the code editor (z.e., redundancy interaction).

[0084]

[0080] Participants were also asked whether linking interfaces was helpful for learning unfamiliar interfaces. Participants (P3, P4, P6, P7, and Pl 1) stated that it was especially helpful for learning the unfamiliar code editor. Pl 1 said, " [NLI] was giving me suggested changes, so I can see this is actually where [natural language interface] is changing in the code. So, I know exactly where to change inside this Gosling code, which I was not very familiar with. " P3 similarly said, "I love that [changes on the shelf configuration interface] reflected in the code because, particularly, I am not familiar with Gosling. [...] It was kind of very cool to see how they are talking to each other. That kind of allows me to understand what is going on. I feel that that kind of teaches me Gosling. "

[0085]

[0081] The results of the user study show that the present disclosure makes visualization authoring systems more learnable while still enabling expressive and efficient visualization authoring. The subjective assessments, interaction patterns, and interview responses indicate that four authoring interfaces and their visual linking helped participants perform visualization authoring tasks in a flexible and complementary way.

[0086]

[0082] The present disclosure balances the strengths and weaknesses of multiple visualization authoring interfaces. The user study suggests that blending interfaces can be beneficial for balancing several criteria including learnability and expressivity. For example, the majority of participants started their visualization construction tasks with templates for efficiency, even though the shelf configuration interface was considered to be similarly familiar and confident to use for users. Complementing the errors of natural language outputs, users frequently used other user interfaces to fix the suggestions. These interaction patterns give cluesthat blended interfaces can not only increase learnability but also enable more efficient and accurate visualization authoring tasks.

[0087]

[0083] A visualization construction process can be classified as either a top-down or bottom-up process, depending on whether users start their visualization using a preset. These two types of processes result in different visualization outcomes (e.g., less expressive visualization in top-down approaches). In Blace, both the top-down and bottom-up approaches were possible given that Blace offered multiple authoring interfaces. For example, users can use the code editor (bottom-up) or start by selecting a template (top-down). Various embodiments comprise reading a user input indicating user selection of a template or the code editor. In the present example, all participants pursued a top-down approach, using either a template-based or shelf configuration interface at the start of each task, even though they were not asked to perform tasks quickly. Users can also flexibly choose the visualization process type depending on their tasks (e.g., open design exploration).

[0088]

[0084] Alternative visualization authoring systems either (1) used a single visualization authoring interface or (2) combined multiple interfaces in a limited way (e.g., skewed to use a specific cooperative type). Through the presented framework of blended interfaces, visualization construction systems with more diverse blending approaches can be designed by visualization designers and researchers. In some implementations, other authoring interfaces, such as a visual builder, can be integrated into the blending interface. As the visualization becomes larger and / or additional visualization authoring interfaces are integrated, the system can organize and manage a number of visualization authoring interface panels. For example, users can manage multiple visualization authoring interface panels by closing and opening panels. Various embodiments comprise reading user input characterizing a request to close and / or open panels. Variousembodiments comprise effectuating presentation of and / or hiding a panel from view based on the user input. Various embodiments comprise effectuating presentation of a plurality of interfaces at the same time via the same blended interface and / or the same computing platform.. Users can also display a number of interfaces at the same time. For example, in the user study, displaying all four interfaces worked well for different screen resolutions used by participants.

[0089]

[0085] Ref erring now to Fig. 11, a flowchart of a method for synchronizing authoring tools in a graphical user interface is provided. At step 1101, a visualization grammar is read. At step 1102, at least a first authoring tool and a second authoring tool is provided via a graphical user interface. At step 1103, a first visualization description is received at the first authoring tool via the graphical user interface. At step 1104, based on the first visualization description, a first visualization design is generated conforming to the visualization grammar. At step 1105, a second visualization description, different from the first visualization description, is generated from the first visualization design. At step 1106, the second visualization description is displayed at the second authoring tool via the graphical user interface.

[0090]

[0086] Referring now to Fig. 12, a schematic of an example of a computing node is shown. Computing node 10 is only one example of a suitable computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments described herein. Regardless, computing node 10 is capable of being implemented and / or performing any of the functionality set forth hereinabove.

[0091]

[0087] In computing node 10 there is a computer system / server 12, which is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with computer system / server 12 include, but are notlimited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments that include any of the above systems or devices, and the like.

[0092]

[0088] Computer system / server 12 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system / server 12 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.

[0093]

[0089] As shown in Fig. 12, computer system / server 12 in computing node 10 is shown in the form of a general-purpose computing device. The components of computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16.

[0094]

[0090] Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro ChannelArchitecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, Peripheral Component Interconnect (PCI) bus, Peripheral Component Interconnect Express (PCIe), and Advanced Microcontroller Bus Architecture (AMBA).

[0095]

[0091] Computer system / server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system / server 12, and it includes both volatile and non-volatile media, removable and nonremovable media.

[0096]

[0092] System memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32.Computer system / server 12 may further include other removable / non-removable, volatile / non- volatile computer system storage media. By way of example only, storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media (not shown and typically called a "hard drive"). Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to bus 18 by one or more data media interfaces. As will be further depicted and described below, memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the disclosure.

[0097]

[0093] Program / utility 40, having a set (at least one) of program modules 42, may be stored in memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operatingsystem, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 42 generally carry out the functions and / or methodologies of embodiments as described herein.

[0098]

[0094] Computer system / server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; one or more devices that enable a user to interact with computer system / server 12; and / or any devices (e.g., network card, modem, etc.) that enable computer system / server 12 to communicate with one or more other computing devices. Such communication can occur via Input / Output (I / O) interfaces 22. Still yet, computer system / server 12 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet) via network adapter 20. As depicted, network adapter 20 communicates with the other components of computer system / server 12 via bus 18. It should be understood that although not shown, other hardware and / or software components could be used in conjunction with computer system / server 12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

[0099]

[0095] The present disclosure may be embodied as a system, a method, and / or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.

[0100]

[0096] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storagemedium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

[0101]

[0097] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0102]

[0098] Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user’s computer, partly on the user’s computer, as a stand-alone software package, partly on the user’s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user’s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0103]

[0099] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.

[0104]

[0100] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.

[0105]

[0101] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0106]

[0102] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block mayoccur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

[0107]

[0103] The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

CLAIMSWhat is claimed is:

1. A method of synchronizing authoring tools in a graphical user interface, the method comprising: reading a visualization grammar; providing at least a first authoring tool and a second authoring tool via a graphical user interface; receiving a first visualization description at the first authoring tool via the graphical user interface; based on the first visualization description, generating a first visualization design conforming to the visualization grammar; generating a second visualization description, different from the first visualization description, from the first visualization design; and displaying the second visualization description at the second authoring tool via the graphical user interface.

2. The method of claim 1, further comprising: receiving an update to the second visualization description at the second authoring tool via the graphical user interface; based on the updated second visualization, generating a second visualization design conforming to the visualization grammar; generating an updated first visualization description from the second visualization design; anddisplaying the updated first visualization description at the first authoring tool via the graphical user interface.

3. The method of any one of claims 1-2, wherein the visualization grammar defines one or more visualization of genomic data.

4. The method of any one of claims 1-3 wherein each of the first authoring tool and the second authoring tool is template-based, shelf configuration, visual builder, programming-based, natural language, or visualization by demonstration (VbD).

5. The method of any one of claims 1-4 wherein the first visualization description is textual.

6. The method of any one of claims 1-4 wherein the first visualization description is graphical.

7. The method of any one of claims 1-6, further comprising: generating a first visualization based on the first visualization design.

8. The method of claim 2, further comprising: generating a second visualization based on the second visualization design.

9. The method of claim 7, wherein the first visualization comprises genomic features on a sequence axis.

10. The method of claim 7, wherein the first visualization comprises a track.

11. The method of claim 7, wherein generating the first visualization comprises reading genome-mapped data and applying the first visualization design thereto.

12. The method of claim 7, wherein generating the first visualization comprises reading genomic or epigenomic data and applying the first visualization design thereto.

13. A computer program product for synchronizing authoring tools in a graphical user interface, the computer program product comprising a computer readable storage medium havingprogram instructions embodied therewith, the program instructions executable by a processor to perform the method of any one of claims 1-12.

14. A system comprising: a display configured to provide the graphical user interface; and a computing node comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor of the computing node to cause the processor to perform the method of any one of claims 1 -12.