ABSTRACT
Arena3Dweb is an interactive web tool that visualizes multi-layered networks in 3D space. In this update, Arena3Dweb supports directed networks as well as up to nine different types of connections between pairs of nodes with the use of Bézier curves. It comes with different color schemes (light/gray/dark mode), custom channel coloring, four node clustering algorithms which one can run on-the-fly, visualization in VR mode and predefined layer layouts (zig-zag, star and cube). This update also includes enhanced navigation controls (mouse orbit controls, layer dragging and layer/node selection), while its newly developed API allows integration with external applications as well as saving and loading of sessions in JSON format. Finally, a dedicated Cytoscape app has been developed, through which users can automatically send their 2D networks from Cytoscape to Arena3Dweb for 3D multi-layer visualization. Arena3Dweb is accessible at http://arena3d.pavlopouloslab.info or http://arena3d.org
Introduction
Network biology has become a major domain in modern biology that captures associations among biomedical terms and entities such as organisms, diseases, genes, proteins, drugs and processes (1, 2). To be able to view these networks, many visualization tools have been proposed (3, 4). While Cytoscape (5, 6), Gephi (7), Tulip (8) and Pajek (9) are few of the most widely used applications, latest efforts focus on addressing more targeted problems. NORMA (10, 11) for example focuses on distinguishing annotated groups in a network using innovative layout strategies. OmicsNet (12) is developed to support multi-omics integration and network visual analytics. Graphia (13) comes with advanced layout algorithms to visualize a network in 3D, and STRING (14) uses an in-house graph visualizer to support multi-edged connections (different channels of information) between two nodes (proteins) (15).
Arena3Dweb (16), the web-based successor to Arena3D (17, 18), is the first, fully interactive 3D web tool for processing, analyzing and visualizing multilayered networks. It allows advanced 3D visualizations to be created and navigated by providing a rich collection of layout algorithms, which one can apply on a selected set of layers individually or in combination, the ability to color layers, nodes and edges, and options to highlight and resize nodes based on topological features.
Here, we present an updated version of Arena3Dweb, which goes far beyond the aforementioned features. It now supports directed networks to allow visualization of regulatory networks, multi-edge connections to allow multiple types of edges between the same two nodes, and intra/inter-layer node clustering. The new version also features alternative color themes including a light mode suitable for designing figures for print, and enhanced navigation virtual reality (VR) functionality for viewing large networks in 3D. Finally, we provide import/export functions in JSON format and an Application Programming Interface (API) for integration with other applications such as connecting Cytoscape with Cytoscape with Arena3Dweb through the new Arena3D Cytoscape app.
UI/UX enhancement
In this version, Arena3Dweb comes with major aesthetic improvements. The tool now offers three different color themes including light, gray and dark mode (Figure 1A). The light mode in particular enables users to produce publication-ready figures with a white background more easily, without the need to tweak the respective scene, layer and edge colors manually. In addition, several predefined layer layouts are also offered. To this end, initial 3D layer setups are produced automatically and include a zig-zag, a star and a cube layout (Figure 1B). In the star layout, a virtual sphere of 360 degrees is equally divided by the total number of layers whereas in the cube layout, each cube can contain up to 6 layers. In the case of more than 6 layers, additional cubes are created and placed next to each other.
In addition to the layouts, object manipulation has been significantly enhanced in this version. Raycasting via the three.js package has been implemented for easier layer and node selection with the mouse. Nodes change color on mouse hover as a visual cue while hovered layers are highlighted in red. Layer and node selection through double-click is also offered, while layers can be dragged with the mouse on the 3D scene as an alternative to the navigation control action buttons. The scene orbit controls (middle-click drag) have also been enhanced, allowing for smoother 3D scene rotations compared to the old version of the tool.
Finally, Arena3Dweb now allows network exploration in VR mode (Figure 1C). VR views are static and can be accessed via a VR headset or a mobile phone with a gyroscope. For better clarity, layer floors are disabled while layer labels always face the user’s camera. Notably, the VR view is always offered in a new tab and visualizes the running view of Arena3Dweb at any time point. For consistency, the objects’ coordinate system is always adjusted in the VR view. We note that the VR functionality is only accessible through the web application and not through the local version of Arena3Dweb, since all required VR files are served internally through the API (see section “Interoperability”).
Multiple edge channels and directions
In biology, two entities can often be linked with more than one type of connection. In the STRING database, for example, two genes can be co-expressed, co-mentioned in literature or bind to each other. In a signal transduction network, a petri-net or a pathway, signal tracing as well as up- and down-stream analysis can be monitored by following directed paths visualized by arrows rather than plain lines. Therefore, the support of directed and multi-edged graphs is of great importance.
In this version of Arena3Dweb, we address both issues by allowing arrows and up to nine different types of connections between two nodes. In the case of multi-edged networks, each information channel must be labeled in the Arena3Dweb input file and the corresponding edges are visualized as Bézier curves with distinct colors. In case of directed graphs, two intra- or inter-layer nodes can be connected via straight or curved arrows. The default channel colors are slightly adjusted to each theme but can be manually changed via color palettes at any time, while arrow sizes and curvature can be adjusted via dedicated sliders.
To demonstrate how Arena3Dweb handles both directed and multi-edged connections, we provide two use cases. In the first case, we queried the STITCH (19) database for ‘aspirin’ and filtered its interactions by only keeping the high-confidence ones (score > 0.7). We allow up to ten interactors for the channels: ‘Experimental’, ‘Database’ and ‘Text Mining’, depicted in green, blue and red, respectively (Figure 2A). Drug and protein nodes are separated into different layers. In the second example, we queried the PREGO knowledge base (20) for the ‘anaerobic ammonium oxidation’ biological process (GO:0019331, anammox) and explored the associated microorganism taxa. The top 11 organisms (at the genus level) co-mentioned in the scientific literature with anammox were extracted (Figure 2B - left). For illustration purposes (Figure 2B - middle and right), the genus ‘Beggiatoa’ was selected to show its associated environment types, including the top 12 environments from the Literature (text-mining) channel (edges indicated in green) along with the top 8 environments from the Environmental Sample channel (edges indicated in red).
Clustering
Arena3Dweb now supports four main clustering algorithms offered by the igraph (21) library in combination with various global and local layouts. These are:
Louvain (22): It is a multi-level modularity optimization algorithm for finding community structures and based on the modularity measure and a hierarchical approach.
Walktrap (23): It performs random walks to detect densely connected neighborhoods. It is based on the assumption that random walks tend to restrict themselves in the same community.
Fast-Greedy (24): It optimizes a modularity score to identify densely connected communities.
Label propagation (25): It runs on a nearly linear time and tries to label the nodes with unique labels and update them by majority voting in the neighborhood of the node.
Users may apply any of these algorithms for a set of selected layers and channels to run them separately (per layer) or in combination (across layers). Upon clustering, the grouped nodes are placed on their respective layer according to the local layout selected from those offered by the igraph library. These layouts vary from simple ones like circle, grid, star, random to more advanced force-directed ones such as Fruchterman–Reingold (26), Distributed Recursive (Graph) Layout (27), Multidimensional scaling (28), Kamada–Kawai (29), Large Graph Layout (LGL) and Graphopt or hierarchical-based ones like Reingold-Tilford (30) and Sugiyama. A more detailed description of these algorithms can be found in our previous Arena3Dweb article (16).
To minimize the cluster overlaps, Arena3Dweb follows NORMA’s layout strategy named ‘Super nodes’ to visualize the clustered groups (11). To this end, a virtual super node is created to represent each cluster whereas the links among these super nodes (clusters) originate from initial node connections. After applying a global layout of preference, all of the initial nodes will be placed around their respective virtual super-nodes according to a user-selected local layout. Figure 3 demonstrates a visual example of the described procedure.
Integration with other tools
Interoperability
In this version, Arena3Dweb comes with its own API and a slightly updated input file format to allow multiple channels as well as a different import/export format for loading and saving sessions. Starting from the latter, Arena3Dweb can save and load the running visualization in a JSON format. More specifically, the JSON object contains information regarding the: (i) scene object rotation, translation, scaling and background color, (ii) layer names, positions, rotations, scales, colors and widths, (iii) node colors, respective layers, positions, scales, colors and optional accompanying metadata, (iv) edge source and target nodes, opacities, colors, optional channels and (v), an optional global label color as well as an optional flag for enabling edge direction.
The JSON format is suitable for calling Arena3Dweb from external applications and services. For this purpose, a dedicated API route has been implemented in Node.js. This API call handles POST requests of an Arena3Dweb JSON object, as described in the paragraph above (also see ?elp page, “API”) and opens the generated network object in an Arena3Dweb viewer. For any missing parameters in the imported object, the tool provides default values where applicable.
To demonstrate the API’s usability, we provide two examples. Through the API utilization, Arena3Dweb can be called from Darling (31), a text-mining disease-oriented software that produces 2D networks among tagged biomedical terms of ten different categories. In Darling, a user can query for diseases, chemicals, proteins, tissues or publications and then construct networks that link the relevant extracted biological entities based on literature co-mentions. In Arena3Dweb, the various biomedical entities will be placed on different layers according to their type (one layer per type). Similarly, through the recently published functional and literature enrichment analysis tool named Flame (32), two-layered Arena3Dweb networks can be produced, one layer corresponding to the terms of a user-selected enriched category and a second layer containing the related genes/proteins. Two examples demonstrating the aforementioned APIs, are provided in Supplementary Figure 1.
Integration with Cytoscape
Networks from Cytoscape can be sent to Arena3Dweb through a dedicated Cytoscape app called Arena3DwebApp.. This app is implemented in Java and provides a simple interface, where the user can configure how the Cytoscape network will be transferred to Arena3Dweb. The most important setting is to choose which node attribute in Cytoscape should be used to define the layers; this can be any numeric or string value that defines up to 18 different non-overlapping groups. Arena3DwebApp retains much of the styling of the network from Cytoscape, extracting the currently displayed color, size and coordinates of each node as well as the directionality, color, thickness, and transparency of each edge. It also transfers the network-wide node label and network background colors. The user can choose which column to use for the node description and URL that can be seen in Arena3Dweb as additional node information (on node right-click). If there are nodes that do not participate in any named layer, they are added to a layer named “unassigned” by default, but the user can choose to not import them in Arena3Dweb. The app generates a JSON file that is automatically sent to Arena3Dweb and gets displayed in the user’s default web browser. If users want to share the layered network or open it later, they can export the JSON file from Cytoscape and import it in Arena3Dweb.
To illustrate the interoperability between Cytoscape and Arena3Dweb, we used stringApp v2.0 and Arena3DwebApp in combination from Cytoscape. Specifically, we used the “STITCH: protein/compound query” function of stringApp to search for the compound “aspirin” with a confidence score cutoff of 0.7 and up to ten additional interactors (compounds or human proteins). We then used stringApp to retrieve functional enrichment for the proteins interacting with aspirin and added all enriched diseases, tissues and KEGG pathways to the network (two, four, and five, respectively). The resulting network in Cytoscape is shown in Figure 4A. To transfer the network to Arena3Dweb, we opened the Arena3DwebApp dialog box shown in Figure 4B. We chose to use the column “stringdb::node type” to define the layers in Arena3Dweb, which means that chemical compounds will be placed in one layer, proteins in a second, and enriched terms in a third. We selected to not consider edges as directed, since STRING networks are undirected, and that the column “stringdb::description” should be used for node descriptions. Finally, we submitted this three-layer network to Arena3Dweb for further 3D manipulations (Figure 4C). In the enriched_term layer, we show the three categories of enriched terms from STRING in three separate neighborhoods; KEGG pathways on top, tissues in the middle and diseases on the bottom.
SUMMARY
Arena3Dweb is an innovative network analysis tool dedicated to the visualization of multilayered networks in 3D. Its main purpose is to visualize heterogeneous information of higher complexity in meaningful and appealing ways and simultaneously offer an interface for the production of high-quality, publication-ready and story-telling figures. While Arena3Dweb retains an interdisciplinary character and is able to serve case-studies from various fields, future directions will include time series analyses and major integration with: (i) biomedical repositories for automated data extraction and information retrieval (e.g., PPI databases (33)) (ii) biomedical text-mining applications (e.g., STRING (14), BioTextQuest (34), STITCH (19), EXTRACT (35), OnTheFly (36), UniRed (37), PREGO (20)) and (iii) functional enrichment analysis tools (e.g., g:Profiler (38), aGOtool (39), DAVID (40), Panther (41)). To this end, integration with Cytoscape addresses many of these challenges, as several functionalities are offered through the available Cytoscape apps, whose results can be exported and visualized with Arena3Dweb directly through the Arena3Dweb Cytoscape app.
AVAILABILITY
Arena3Dweb is an open source application. Its code can be downloaded from the GitHub repository: https://github.com/PavlopoulosLab/Arena3Dweb.
The service is available online at http://arena3d.pavlopouloslab.info or http://arena3d.org. The API is accessible through https://bib.fleming.gr/bib/api/arena3dweb
The Arena3Dweb Cytoscape plugin is available at: https://apps.cytoscape.org/apps/arena3DwebApp
FUNDING
This work was funded by the Hellenic Foundation for Research and Innovation (H.F.R.I) under the ‘First Call for H.F.R.I Research Projects to support faculty members and researchers and the procurement of high-cost research equipment grant’, Grant ID: 1855-BOLOGNA. G.A.P was also supported by the project ‘The Greek Research Infrastructure for Personalized Medicine (pMedGR)’ (MIS 5002802), which is implemented under the Action ‘Reinforcement of the Research and Innovation Infrastructure’, funded by the Operational Program ‘Competitiveness, Entrepreneurship and Innovation’ (NSRF 2014-2020) and co-financed by Greece and the European Union (European Regional Development Fund). N.T.D. and L.J.J. were funded by the Novo Nordisk Foundation (grant agreement NNF14CC0001). S.P was supported by the Hellenic Foundation for Research and Innovation (HFRI) under the 3rd Call for HFRI PhD Fellowships (Fellowship Number: 5726)
CONFLICT OF INTEREST
All authors have read and approved the manuscript and declare no conflict of interest.
Footnotes
↵& The authors wish to be known that the first two authors should be regarded as joint First Authors
Section "Integration with Cytoscape" rephrased