Layout Algorithms

Medusa currently comes with 8 different layout algorithms to make the extraction of information easier and the networks more informative. Some of the algorithms are very trivial and easy to implement whereas some others are more sophisticated with higher complexity. An  example using an example dataset is shown below.

Random

Grid

Nodes are placed randomly on the plane. This layout is intuitive for smaller networks and not easy to analyze for bigger networks. An example is shown in the figure. It can be e very intuitive layout when nodes edges of specific nodes are isolated. It can get very confusing and difficult to follow when the whole network with its full complexity is visualized.

Nodes are placed on a grid. This layout is useful for networks with specific structure. Visually this layout is very nice when specific edges  of specific nodes are shown. An example is shown in the figure. 

The current network contains 3 types of nodes. Diseases, domains and proteins. Having chosen hd (Huntington) protein we see other related proteins and its connection with Huntington disease.

Circular

Fruchterman-Reingold

Nodes are placed around a circle. This layout is intuitive for smaller networks and not easy to analyze for bigger networks. An example is shown in the figure. The same layout is used when clusters of the network are separated onto different circles.

It is Force-based or force-directed algorithm to draw graphs in an aesthetically pleasing way. Its purpose is to position the nodes of a graph in 2D so that all the edges are of more or less equal length and there are as few crossing edges as possible.

The strength of this algorithms is that with such a layout, patterns such as highly connected regions or hubs can immediately get observed.

Relax- cooling

  Distance geometry

We offer this layout as an interactive module so to follow how the dynamics of the network changes interactively. Start/Stop cooling options give to the user the opportunity to stop the layout when he likes. it is a great layout to make highly connected nodes visible. By draging one node the whole network changes. Nodes can be pulled or fixed (see below) to enhance the visualisation. Cooling This option, when toggled on, causes the linear spring to cool down over time. This removes any potential "jittering" in large networks due to integer rounding issues. Clicking a node in this mode will raise the temperature back up to the initial value before decreasing again.

This layout can be applied on weighted graphs. Te purpose of this algorithm is to bring closer nodes that are stronger connected and place nodes that are weakly connected further away. Suppose that we have a case study of sequence alignment between proteins or expression profiles of genes. The genes that have similar expression profiles or the proteins that have higher sequence similarity will come together.

Hierarchical

Parallel axes

This layout places nodes in a hierarchy according to the edge weights. It is a very efficient layout for sparse graphs with tree-like hierarchies such as gene ontologies. It is the same layout used in GraphViz.

This layout was inspired from multi-layered graphs. Data that belong onto different layers are separated and linked together. Nodes can get connected within the same layer or among layers. It is a great layout algorithm to visualize time series data (each layer to represent a different tie point.)