Loading...
 

Omix Quick Visualizer

Image
Since Version 1.8, Omix provides a new feature, the so-called Quick Visualizer, a user interface for quick and easy data visualization.


Background

Qualitative data visualization is an important method to get overview of data, to integrate data, to get insights out of data and to communicate these insights. From the early days on, Omix focusses on data visualization within pathway maps. The underlying map serves as well known landscape. The omics data is visualized such that a rapid overview of the entire dataset is provided and the crucial information is highlighted. Therefore, the visual properties of the networ components can be manipulated according to data, e.g. fill level can be used to represent concentration, line thickness for reaction velocity, color coding for comparation etc.

Up to now, data visualization in Omix was done completely scriptbased, bringing nearly unrestricted degrees of freedom. However, script-based visualization requires at least a minimum of skills about programming. The new feature Quick Visualizer allows to map data to the network items completely dialog-based. The user can step-by-step define what data shall be visualized where and how.

First Steps with Quick Visualizer

Start Quick Visualizer by selecting the corresponding entry in the Visualization menu. Alternatively, you can press the button with the QV logo icon located on the toolbar. Subsequently, the Quick Visualizer wizard dialog appears.

Quick Visualizer wizard dialog
Quick Visualizer wizard dialog


The wizard dialog offers a series of decision options on different dialog pages. These dialog pages are self-explaining. After finishing the wizard dialog, you have decided in what manner data from a specific data source shall be mapped to one visual property of a specific set of network components. You can rerun the wizard multiple times to define further data mappings on other properties.

1.1.2.1. Selecting Data Source

On the initial wizard page, you have to specify what data you want to visualize. Therefore, you should have opened at least one data source (e.g. CSV or Excel file) in the Data Manager sidebar. Make sure, that the desired table provides a horizontal header with column labels that allow to assign the individual columns to network components. Quick Visualizer requires tables where the columns represent a specific network component.

You can decide to always use the current table or to use a specific table from the Data Manager. Furthermore, you can specify which data row shall be visualized. If you decide to visualize all rows, Quick Visualizer will additionally provide a control interface (see below).

After selecting a data table, Quick Visualizer checks if network components are represented by table columns. Therefore, it searches for matches between the column labels and the names/alternative names of reactions or metabolites, identifiers of graphical components as well as source and target of edges. If no match is found an error message is shown.

1.1.2.2. Target Item Class

In the next step, you'll have to select on which items the data shall be visualized. Here you have the choice between all item classes available in Omix:
  • biological entities:
    • metabolites
    • reactions
    • pathways
    • compartments
  • biological relations:
    • flux edges
    • effector edges
  • graphical elements:
    • node items
    • graphical items
By analyzing the column labels, Quick Visualizer makes a pre-selection such that you can only select between available items. For instance, when the table header only provides metabolite and reaction names, you can only decide between metabolites and reactions. If the table header only provides labels of items in one class, this step is skipped. For instance, if only metabolite names are available in the data set it continues with metabolites without asking for the target item class.

Selecting target item class
Selecting target item class


Edges in Omix are not equipped with an identifier. They can be found by their start and end node. Thus, if you want to map data to edges you have to specify a name pattern to search for the edge data in the table. Following options are available as edge name pattern:
  • start-end
  • start&end
  • start->end
  • start>end
  • start,end
  • start+end
  • start/end
  • start_end
  • end-start
  • end&start
  • end<-start
  • end<start
  • end,start
  • end+start
  • end/start
  • end_start
Example:
The following table represents data of a metabolite, a reaction and the effector edge between them identifyable by name pattern "start,end":

M R M,R
0.511 0.254 -2.967


1.1.2.3. Visual Property

Next, you'll have to select which visual property shall be used to visualize the data. The set of available properties depends on the selected item class. Furthermore, a special situation occurs when you have selected reactions as target item class. In addition to the reactions' own properties you have the choice between the flux edges' properties. If you select a flux edge property, all flux edges of a reaction are changed accourding to the reaction's data.

Selecting target property
Selecting target property


On the right side of the wizard page, you see an example demonstration of the currently selected visual property. The set of properties can be subclassified depending on the kind of values they accept:
  1. object type
    Some properties only accept a specific selection of values like "shape", or complex design elements like "shadow".
  2. text
    You can specify the displayed text of graphical items and node items. Quick Visualizer allows to assign data to the text property of these items.
  3. logical value
    The property "hidden" and the reaction property "Shown inverted" require a logical value meaning "on" or "off", "yes" or "no", "true" or "false".
  4. numeric values
    Properties accepting numeric values can furthermore be subclassified depending on the accepted value ranges:
    1. [0,1]
      some properties require numbers between zero and one (including), like "transparency" or "fill level" (here 1 means 100%).
    2. >=0
      properties like "blur" or edge "line width" require values greater or equals zero. Here, value represents a physical size measured in pixel. Another property is "scale" where the value represents a factor.
    3. >=1
      the "arrow size factor" of edges requires a value greater or equals one. Here, the value represents factor as the multiple of the edge width (arrow width = edge width * arrow size factor).
    4. [-1..0..1]
      the effect property of effector edges requires values between minus one and one (including).
  5. paint
    Many properties specify the paint of texts, outlines or shapes. Such properties accept complex design elements like fill patterns, images or gradients. However, we can also simply assign plain color. For visualization purpose this is especially useful because we can use color coding to represent data in the diagram.

1.1.2.4. Data Mapping

Now, you'll have to specify, in what kind the data shall be mapped on the visual property. Here, the next steps depend on the selected property and the kind of accepted values.
1.1.2.4.1. Object Type Property
If you want to use an object type property, you can specify a set of discrete values which will be assigned on certain conditions.

Selecting single values and their conditions
Selecting single values and their conditions


Click on the "Add..." label in the value column on the wizard page. Now, you can add a specific visual appearance. Thereafter, you are requested to specify a condition that must apply to assign the visual appearance to an item. As shown in the following picture, you have the choice between specifying a comparison or a value range. The specified visual appearance applies when the value from the data set meets the here defined condition.

Specifying condition
Specifying condition


You can specify as many value-condition pairs as required. Optionally, you can also specify a value that is assigned if no condition is met. This is especially useful if the data table contains empty cells or "NaNs" (not-a-number values).
1.1.2.4.2. Text Property
If the selected property accepts text, you have the choice between assigning the tabular data as text or to specify an enumeration of fixed values that are assigned depending on certain conditions. If you decide to use the latter option, the next step is the same as for the object type properties.

Specifying how to convert data to text
Specifying how to convert data to text


If you want to convert the tabular data to text, you can optionally specify a prefix (text before the value) and a suffix (behind). Here, it is allowed to use HTML tags and attributes to specify text formatting. The way, a numeric value will be converted to text can be changed in the configuration manager of Omix (see Omix User Manual).
1.1.2.4.3. Logical Property
Logical properties like "hidden" require a logical value like "yes" or "no". In order to let this logical state depend on data you can specify a condition. If the condition is met, the property has the state "on". Otherwise it's state is "off". As shown in the following picture, you have the choice between specifying a comparison or a value range.

Specifying condition for logical property
Specifying condition for logical property

1.1.2.4.4. Numeric Property
If you want to use a numeric property for data mapping, you will have to specify how the tabular data shall be normalized into the allowed value ranges. Here, you have three options:
  • The data is already normalized in the required value ranges.
    In the next step you can define a default value.
  • Specifying an enumeration of fixed values that will be assigned depending on specific conditions.
    Here, the next step is the same as for the object type properties.
If the property accepts values in ranges [0,1] or [-1..0..1] the following third option is provided:
  • Scale the data to fit in the required value ranges.

Specifying how to map numeric data
Specifying how to map numeric data


If the property requires values greater or equals zero or one, respecively, the following option is provided instead:
  • Scale the data to fit in value ranges [0,1] and multiply with factor.
    Here you can specify a base value and a factor. The actually assigned value is the computed this way:

    property value = base value + scale(table cell data) • factor

Specifying how to map numeric data
Specifying how to map numeric data


If you decide to scale the data, the next step is to specify how to scale as introduced below. Additionally, you have the option to only scale absolute values and/or to apply logarithmic scale before scaling the values into the required value ranges. Following equation is applied for logarithmic scaling:
scaled value = sgn(value) * log10(1+value)


Scaling Data

If the target value range is [0,1], then the minimum and maximum of the set values is required. After scaling, the minimum maps to 0 and the maximum maps to 1.

If the target range is [-1..0..1], then the maximum of the absolute values is required. After scaling, zero maps to zero, negative numbers map to values between minus one and zero, and positive numbers map between zero and one.

On the "Scale Method" wizard page, you have to specify how the required minimum and maximum / absolute maximum shall be determined. The following options are provided:
  1. Specify minimum and maximum / maximum or the absolute values.
    By selecting this option, you can manually specify the minimum and maximum values of the data. This is the efficient way to scale the data because there is no need to analyse the table data before scaling. However, make sure, that there are no values in the data set that violate the specified minimum and maximum.
  2. Determine minimum and maximum / maximum or the absolute values...
    1. Image ...of the columns of the individual items (reactions, metabolites, etc.)
      Use this option if and only if the data related to the individual items does not have any relation to each other and is not comparable.
    2. Image ...of the columns of all items
      Use this option if your table provides data of different item classes, for instance, for both, reactions and metabolites. In this situation Quick Visualizer subdivides the data set by item class and determines the minimum and maximum within each of the subsets.
      Image Optionally, check the option "only within current row" if the individual data rows represent independent and incomparable data sets.
    3. Image ...of the entire table
      Use this option if your table provides data of only one item class.
      Optionally, check the option "only within current row" if the individual data rows represent independent and incomparable data sets.Image
1.1.2.4.5. Paint Property
If the property accepts colors, you have the following options:
  • The data represents a 32 Bit color code (ARGB)
    Use this option in order to assign prepared color values available in the selected table. These color values must follow the scheme for encoding ARGB colors in 32 Bit integer values.
  • Specifying an enumeration of fixed values that will be assigned depending on specific conditions
    Here, the next step is the same as for the object type properties.
  • Interpolate color between minimum and maximum
    ColorCoding-MinMax.png
    The table data is normalized in value range [0,1] (see above). In the next step, specify color coding for values between zero (=0%) and one (=100%).
  • Use zero-centric color interpolation
    ColorCoding-ZeroCentric.png
    The table data is normalized in value range [-1..0..1] (see above). In the next step, specify color coding for values between minus one (=0%), zero (=50%) and one (=100%).
If you decide to apply color interpolation, you have the additional option to only scale absolute values and/or to apply logarithmic scale before applying the color interpolation.

Specifying how to color-code data
Specifying how to color-code data


Finally, you have to define the colors of the color coding. Color coding requires at least a color for 0% and one for 100%. Optionally, you can add further color spots between these borders. By selecting a color spot in the list and moving the slider, you can change the percentage value of the color spot.

Defining the color code
Defining the color code

1.1.2.5. Default Value

Finally, you can specify a default value for the property. The dafault value is assigned if the current table cell does not contain data or contains a NaN value (not a number).

Specifying default value
Specifying default value

1.1.3. Finishing the Visualization Design Process

After finishing the Quick Visualizer wizard dialog, the selected property is listed in the subsequently appearing manager dialog. Here, you can add further property data mapping tasks and edit the previously defined mappings. You can map data to as many visual properties of different item classes as required. Furthermore, you can use different data sources within the same visualization.

Quick Visualizer manager dialog
Quick Visualizer manager dialog


If your visualization is based on tables with more than one data row, the over-all visualization consists of different slides, one for each data row. At this point, you have to specify if you want to visualize the whole data set in an animation or if you want to visualize the different data slides one-by-one. Depending on your choice, Quick Visualizer will provide a media-player-like toolbar or a spinbox for the selection of individual data rows. Both control elements provide a button to enable or disable the visualization.

Animation controller
Animation controller


After clicking the "Apply" button in the Quick Visualizer management dialog, the prepared data visualization is realized in the diagram.

1.1.4. Example


The following example demonstrates data visualization by using Quick Visualizer in comparison to script-based visualization in OVL: Visualization of Metabolome Data.