NAP: The Network Analysis Profiler, a web tool for easier topological analysis and comparison of medium-scale biological networks
- Theodosios Theodosiou†1,
- Georgios Efstathiou†1,
- Nikolas Papanikolaou1,
- Nikos C. Kyrpides2,
- Pantelis G. Bagos3,
- Ioannis Iliopoulos1Email author and
- Georgios A. Pavlopoulos1, 2Email author
© The Author(s) 2017
Received: 16 February 2017
Accepted: 7 July 2017
Published: 14 July 2017
Nowadays, due to the technological advances of high-throughput techniques, Systems Biology has seen a tremendous growth of data generation. With network analysis, looking at biological systems at a higher level in order to better understand a system, its topology and the relationships between its components is of a great importance. Gene expression, signal transduction, protein/chemical interactions, biomedical literature co-occurrences, are few of the examples captured in biological network representations where nodes represent certain bioentities and edges represent the connections between them. Today, many tools for network visualization and analysis are available. Nevertheless, most of them are standalone applications that often (i) burden users with computing and calculation time depending on the network’s size and (ii) focus on handling, editing and exploring a network interactively. While such functionality is of great importance, limited efforts have been made towards the comparison of the topological analysis of multiple networks.
Network Analysis Provider (NAP) is a comprehensive web tool to automate network profiling and intra/inter-network topology comparison. It is designed to bridge the gap between network analysis, statistics, graph theory and partially visualization in a user-friendly way. It is freely available and aims to become a very appealing tool for the broader community. It hosts a great plethora of topological analysis methods such as node and edge rankings. Few of its powerful characteristics are: its ability to enable easy profile comparisons across multiple networks, find their intersection and provide users with simplified, high quality plots of any of the offered topological characteristics against any other within the same network. It is written in R and Shiny, it is based on the igraph library and it is able to handle medium-scale weighted/unweighted, directed/undirected and bipartite graphs. NAP is available at http://bioinformatics.med.uoc.gr/NAP.
Metabolic reactions, signal transduction, gene expression, gene regulation, protein interactions and other biological concepts are often captured in network representations showing individual bioentities as nodes and their interconnections as edges. Each network is characterized by a different topology. In small-world networks for example, any node in the graph can be reached from any other node in a small number of steps. In scale-free networks, highly connected nodes can be identified as hubs. Networks with densely connected neighborhoods have high clustering coefficient and tend to form clusters. In social networks, the robustness is sensitive upon edges with high betweenness centrality, necessary to bridge distant communities. Protein–protein interaction networks (PPIs) are captured as undirected connected graphs following a scale-free topology with hierarchical modularity [1, 2].
While existing visualizations often comply with topological network analysis [3–6], only few of them purely focus on topological analysis, comparison and edge/node ranking. Cytoscape’s  Network Analyzer  as well as Gephi , offer similar functionality but do not support direct comparison between topological features of multiple networks. ZoomOut  and Network Analysis Toolkit (NEAT)  on the other hand are mostly focused on graph clustering. Stanford Network Analysis Platform (SNAP)  and igraph  offer a wide spectrum of functions and modules related to topological analysis but are offered as command line libraries, thus making them less accessible to non-experts.
To overcome these barriers, we offer NAP, a modest web application, dedicated to make network topological analysis and inter/intra-network topological comparison simpler and more appealing to the broader community.
NAP comes with a self-explanatory web interface, organized in several tabs.
Upload file tab
The second tab is dedicated to network topological analysis. Once one or more networks are loaded, users can interactively choose between several topological features. While, here, users can explore one network at a time, in a second sub-tab users can automatically generate an inter-network topological analysis plot in order to directly compare one or more networks. Examples of these cases can be depicted in Fig. 1d, e.
This part is dedicated to node and edge ranking. Users can interactively choose between several node and edge topological features and sort the relevant nodes/edges accordingly. Moreover, users can plot the distribution of any topological feature of a network against any other and visualize it in a matrix-like plot. Examples are presented in Fig. 1f, g.
This tab is dedicated to network clustering. While NAP is not intended to be a network clustering application, MCL Markov Clustering is incorporated . This way, user can cluster medium-sized networks (Fig. 1h).
This tab is dedicated in calculating the intersection between any pair of selected networks. Results are shown as Venn diagrams and can an export function to download the intersecting network is offered (Fig. 1i).
NAP supports loading of multiple weighted/unweighted, directed/undirected and bipartite graphs. Each network can be loaded as a two-column binary list of connections as a tab delimited text file. After uploading, users must manually give a name and define the type of each network. In addition, random networks of various sizes (100, 1000, 10,000 nodes) and types (Barabási–Albert, Erdos–Renyi, Watts–Strogatz small-world and bipartite graphs) can be automatically generated and used as examples. Notably, NAP currently accepts networks of up to 50,000 edges.
For this article, we used two yeast protein–protein interaction (PPI) networks: Gavin 2006  and Gavin 2002 , the first consisting of 6531 edges and 1430 vertices and the second consisting of 3210 edges and 1352 vertices. For the first dataset, large-scale tandem affinity purification and mass spectrometry were used to characterize multiprotein complexes in Saccharomyces cerevisiae whereas the second dataset shows the first genome-wide screen of complexes in Yeast.
Nodes and edges can be presented as dynamic, easy to filter, excel-like tables, as well as static and dynamic 2D network visualizations. Tables are sortable by name and searchable using simple substring matching.
While NAP is not designed to be a visualization tool, its 2D static network visualization comes with a plethora of traditional layout algorithms (Random, Circle, Sphere, Fruchterman–Reingold, Reingold–Tilford, Kamada–Kawai, Grid, Lgl and SVD). After a completed layout, nodes and their coordinates, along with their connections can be exported as simple text files and imported to other, more advanced visualization tools [3–6].
NAP utilizes CytoscapeWeb/Cytoscape.js [17, 18]. to additionally provide a dynamic network visualization. Users can interactively zoom in/out, relocate the nodes and select them and choose between various edge/node colors and shapes and among very standard graph layouts.
We chose to provide both static and dynamic visualization at a basic level so that the user can get an at-a-glance view of the loaded network. Notably, NAP’s visualization cannot scale very well due to browser limitations but is fair for middle-sized networks. For higher quality visualization, graph editing, manipulation and interactive network exploration, users are encouraged to use other available tools such as Cytoscape and Gephi. The input file format for NAP, Cytoscape and Gephi is the same (2 column tab delimited file).
NAP’s supported topological features and their explanation
Number of edges
Shows the number of edges in the network. Moderate network of several thousand connections are very acceptable
Number of nodes
Shows the number of nodes in the network. There is no limitation on the number of nodes
Shows the length of the longest geodesic. The diameter is calculated by using a breadth-first search like method. The graph-theoretic or geodesic distance between two points is defined as the length of the shortest path between them
The eccentricity of a vertex is its shortest path distance from the farthest other node in the graph. The smallest eccentricity in a graph is called its radius. The eccentricity of a vertex is calculated by measuring the shortest distance from (or to) the vertex, to (or from) all vertices in the graph, and taking the maximum
The density of a graph is the ratio of the number of edges and the number of possible edges
Number of edges
Shows the number of edges in the network. If the has more than 10,000 edges it will take into account the first 10,000
Average path length
The average number of steps needed to go from a node to any other
A metric to show if the network has the tendency to form clusters
This function calculates how modular is a given division of a graph into subgraphs
Number of self-loops
How many nodes are connected to themselves
The eccentricity of a vertex is its shortest path distance from the farthest other node in the graph
Average eigenvector centrality
It is a measure of the influence of a node in a network
The assortativity coefficient is positive is similar vertices (based on some external property) tend to connect to each, and negative otherwise
Is directed acyclic graph
It returns True (1) or False (0)
It returns True (1) or False (0) depending whether the edges are directed or not
It returns True (1) or False (0) depending whether the graph is bipartite or not
It returns True (1) or False (0). A graph is chordal (or triangulated) if each of its cycles of four or more nodes has a chord, which is an edge joining two nodes that are not adjacent in the cycle. An equivalent definition is that any chordless cycles have at most three nodes
Average number of neighbors
How many neighbors each node of the network has on average
It is an indicator of a node’s centrality in a network. It is equal to the number of shortest paths from all vertices to all others that pass through that node. Betweenness centrality quantifies the number of times a node acts as a bridge along the shortest path between two other nodes
It measures the speed with which randomly walking messages reach a vertex from elsewhere in the graph
It is defined as the number of links incident upon a node
It calculates the minimum st-cut between two vertices in a graph The minimum st-cut between source and target is the minimum total weight of edges needed to remove to eliminate all paths from source to target
Use of igraph to searches a graph for motifs of size 3
Use of igraph to searches a graph for motifs of size 4
Inter-network topological feature comparison
Selected topological features of a single network can be visualized as a multi-column bar chart. This way, a user can for example, see the average closeness centrality, the average clustering coefficient and the average shortest path length of the whole graph as numerical values or as a bar chart. Notably, the chart is dynamic and gets automatically updated upon a selection set of features. When users want to directly compare one or more networks, a combined bar chart with adjusted colors indicating the selected networks, can capture the average topological features of all selected networks next to each other.
Intra-network topological feature comparison
In addition, users have the ability to generate a distribution plot showing any topological feature against any other within a selected network. A high-resolution 2D scatterplot is generated on the fly, displaying the distribution of a chosen topological parameter in a histogram-like view. Should the user desire to explore more than one topological parameter at a time, NAP gives the user the opportunity to generate on-the-fly advanced plots by pairwise comparing any topological feature of a network against any other feature within the same network. This matrix-like plot showing pairwise correlations of any combination between the selected topological features is not limited to the number of features to be plotted. The upper triangular part of the plot shows the numerical correlation between any pair of topological features whereas the lower-triangular part of the matrix the scatterplot of one feature against another. The diagonal shows the topological feature which corresponds to that column and row. Like before, two all-against-all plots comparing the degree, the clustering coefficient, the closeness and the betweenness centrality of Gavin 2002 and 2006 PPI datasets are shown in Fig. 3c, d respectively.
Notably, figures can be downloaded as jpeg from the browser while scatter plot coordinates can now be downloaded as CSV files and visualized by external applications like Excel or STATA.
While NAP is not a clustering visualization tool, MCL Markov clustering algorithm has been implemented (Fig. 1h). Users can select a network and adjust the inflation value of MCL. A two-column searchable matrix will be generated showing the node name and the cluster each node belongs two. This way, users can easily find whether two nodes belong in the same cluster or not. This feature is recommended for small and medium-size networks and must be avoided for larger networks. For a deeper clustering analysis, users are encouraged to users command line tools or try the ClusterMaker Cytoscape plugin .
NAP is able to manage bipartite graphs. Given a bipartite graph, users can automatically extract its two monopartite projections and analyze them separately. In a gene–disease bipartite graph for example, one can generate a disease–disease network through common genes and vice versa, a gene–gene network through common diseases.
NAP’s web interface is written in Shiny and back-end functions implemented in R. Topological features are calculated with the use of igraph-R library  and plots are generated through R and plotly . Static network visualizations are offered by the d3 library whereas dynamic network visualization is provided by CytoscapeWeb/Cytoscape.js [17, 18].
Network Analysis Provider (NAP) is designed to complement existing state-of-the-art visualization and analysis tools. It emphasizes on topological network analysis and inter-/intra-network topological feature comparison. Overall, we believe that NAP can reach users beyond the broader network analysis community and aid non-experts in analyzing their networks in a simplified and highly interactive way.
NAP runs on a browser and therefore, it is not optimized for large-scale networks. NAP’s future versions will include a much richer and optimized set of clustering algorithms , richer motif extraction algorithms, network alignment methods such as Corbi  and GraphAlignment , more scalable visualization, user account profiles to store and load the networks, incorporation of Arena3D [25, 26] for 3D multilayered network visualization and better handling of bipartite graphs taking into account their special topological properties.
GAP conceived the concept, designed the analysis process and wrote the article, TT and GE implemented the tool, NP enriched the UI of the article, PGB was the main actor behind the bipartite analysis, NCK and II provided user feedback. All authors read and approved the final manuscript.
The authors declare that they have no competing interests.
Availability of data and materials
The datasets used and/or analyzed during the current study are available from the corresponding author upon request.
This work was supported by the US Department of Energy Joint Genome Institute, a DOE Office of Science User Facility, under Contract Number DE-AC02-05CH11231 and used resources of the National Energy Research Scientific Computing Center, supported by the Office of Science of the US Department of Energy.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
- Koschutzki D, Schreiber F. Centrality analysis methods for biological networks and their application to gene regulatory networks. Gene Regul Syst Bio. 2008;2:193–201.PubMedPubMed CentralGoogle Scholar
- Yook SH, Oltvai ZN, Barabasi AL. Functional and topological characterization of protein interaction networks. Proteomics. 2004;4(4):928–42.View ArticlePubMedGoogle Scholar
- Gehlenborg N, O’Donoghue SI, Baliga NS, Goesmann A, Hibbs MA, Kitano H, Kohlbacher O, Neuweger H, Schneider R, Tenenbaum D, et al. Visualization of omics data for systems biology. Nat Methods. 2010;7(3 Suppl):S56–68.View ArticlePubMedGoogle Scholar
- Pavlopoulos G, Iacucci E, iliopoulos I, Bagos P. Interpreting the omics ‘era’ data. In: Multimedia services in intelligent environments, vol. 25. New York: Springer International Publishing; 2013. p. 79–100.Google Scholar
- Pavlopoulos GA, Malliarakis D, Papanikolaou N, Theodosiou T, Enright AJ, Iliopoulos I. Visualizing genome and systems biology: technologies, tools, implementation techniques and trends, past, present and future. Gigascience. 2015;4:38.View ArticlePubMedPubMed CentralGoogle Scholar
- Pavlopoulos GA, Wegener AL, Schneider R. A survey of visualization tools for biological network analysis. BioData Min. 2008;1:12.View ArticlePubMedPubMed CentralGoogle Scholar
- Shannon P, Markiel A, Ozier O, Baliga NS, Wang JT, Ramage D, Amin N, Schwikowski B, Ideker T. Cytoscape: a software environment for integrated models of biomolecular interaction networks. Genome Res. 2003;13(11):2498–504.View ArticlePubMedPubMed CentralGoogle Scholar
- Doncheva NT, Assenov Y, Domingues FS, Albrecht M. Topological analysis and interactive visualization of biological networks and protein structures. Nat Protoc. 2012;7(4):670–85.View ArticlePubMedGoogle Scholar
- Bastian MH, Jacomy S, Gephi M. An open source software for exploring and manipulating networks. In: International AAAI conference on web and social media, North America; 2009.Google Scholar
- Athanasiadis EI, Bourdakou MM, Spyrou GM. ZoomOut: analyzing multiple networks as single nodes. IEEE/ACM Trans Comput Biol Bioinform. 2015;12(5):1213–6.View ArticlePubMedGoogle Scholar
- Brohee S, Faust K, Lima-Mendez G, Sand O, Janky R, Vanderstocken G, Deville Y, van Helden J. NeAT: a toolbox for the analysis of biological networks, clusters, classes and pathways. Nucleic Acids Res. 2008;36(Web Server issue):W444–51.View ArticlePubMedPubMed CentralGoogle Scholar
- Leskovec J, Sosic R. SNAP: a general purpose network analysis and graph mining library. ACM Trans Intell Syst Technol. 2016;8(1):1.View ArticlePubMedPubMed CentralGoogle Scholar
- Csardi G, Nepusz T. The igraph software package for complex network research. InterJournal Complex Syst. 2006;1695(5):1–9.Google Scholar
- Enright AJ, Van Dongen S, Ouzounis CA. An efficient algorithm for large-scale detection of protein families. Nucleic Acids Res. 2002;30(7):1575–84.View ArticlePubMedPubMed CentralGoogle Scholar
- Gavin AC, Aloy P, Grandi P, Krause R, Boesche M, Marzioch M, Rau C, Jensen LJ, Bastuck S, Dumpelfeld B, et al. Proteome survey reveals modularity of the yeast cell machinery. Nature. 2006;440(7084):631–6.View ArticlePubMedGoogle Scholar
- Gavin AC, Bosche M, Krause R, Grandi P, Marzioch M, Bauer A, Schultz J, Rick JM, Michon AM, Cruciat CM, et al. Functional organization of the yeast proteome by systematic analysis of protein complexes. Nature. 2002;415(6868):141–7.View ArticlePubMedGoogle Scholar
- Lopes CT, Franz M, Kazi F, Donaldson SL, Morris Q, Bader GD. Cytoscape Web: an interactive web-based network browser. Bioinformatics. 2010;26(18):2347–8.View ArticlePubMedPubMed CentralGoogle Scholar
- Franz M, Lopes CT, Huck G, Dong Y, Sumer O, Bader GD. Cytoscape.js: a graph theory library for visualisation and analysis. Bioinformatics. 2016;32(2):309–11.PubMedGoogle Scholar
- Pavlopoulos GA, Secrier M, Moschopoulos CN, Soldatos TG, Kossida S, Aerts J, Schneider R, Bagos PG. Using graph theory to analyze biological networks. BioData Min. 2011;4:10.View ArticlePubMedPubMed CentralGoogle Scholar
- Morris JH, Apeltsin L, Newman AM, Baumbach J, Wittkop T, Su G, Bader GD, Ferrin TE. clusterMaker: a multi-algorithm clustering plugin for Cytoscape. BMC Bioinform. 2011;12:436.View ArticleGoogle Scholar
- Xu R, Wunsch DC 2nd. Clustering algorithms in biomedical research: a review. IEEE Rev Biomed Eng. 2010;3:120–54.View ArticlePubMedGoogle Scholar
- Huang Q, Wu LY, Zhang XS. Corbi: a new R package for biological network alignment and querying. BMC Syst Biol. 2013;7(Suppl 2):S6.View ArticlePubMedPubMed CentralGoogle Scholar
- Berg J, Lassig M. Cross-species analysis of biological networks by Bayesian alignment. Proc Natl Acad Sci USA. 2006;103(29):10967–72.View ArticlePubMedPubMed CentralGoogle Scholar
- Secrier M, Pavlopoulos GA, Aerts J, Schneider R. Arena3D: visualizing time-driven phenotypic differences in biological systems. BMC Bioinform. 2012;13:45.View ArticleGoogle Scholar
- Pavlopoulos GA, O’Donoghue SI, Satagopam VP, Soldatos TG, Pafilis E, Schneider R. Arena3D: visualization of biological networks in 3D. BMC Syst Biol. 2008;2:104.View ArticlePubMedPubMed CentralGoogle Scholar