Network Analysis, Visualization, & Graphing TORonto (NAViGaTOR) is a software package for visualizing and analyzing interaction networks with an emphasis on proteomic and genetic interactions. NAViGaTOR can query OPHID / I2D - online databases of interaction data - and display networks in 2D or 3D. To improve scalability and performance, NAViGaTOR combines Java with OpenGL to provide a 2D/3D visualization system on multiple hardware platforms. NAViGaTOR also provides analytical capabilities and supports standard import and export formats such as GO and the Proteomics Standards Initiative (PSI).
The NAViGaTOR main window is broken into several sections which will be referenced frequently in this text. The figure below illustrates these sections:
This is a standard GUI menu system, through which most global NAViGaTOR functions can be accessed.
There are several tools that can be used within the Network Panel which can be selected using the toolbar, as well as some quick-reference items for layout and zoom.
This is the main workspace in which networks will be displayed and edited. You can have multiple network panels open at the same time, each accessible through the tabs located on the top left of the panel.
This menu is available from within the Network Panel through a right-click on your mouse. It makes many NAViGaTOR tools and actions accessible without leaving the Network Panel, allowing for faster network editing and manipulation.
This panel allows searches of the network currently displayed. It will change format depending on the features contained in the current network.
This series of tabs allows closer inspections of network, node, edge and subset features. The presently selected object will have all of it's viewable and editable features displayed here.
For some analysis methods and plugins, data is output to the console, annotated with timestamps and network source.
A new network panel will open in a new tab in the workspace. You can have multiple networks open, each with its own tab.
Your network will not contain any objects at this point. To add objects to this network, see Section 2.
Saving data in NAViGaTOR for later editing is made possible through several internal NAViGaTOR formats.
After downloading a sample file, you can access it through the following menu path:
When prompted with the 'Open File...' dialog, you will be able to choose between several different file formats. Be careful to choose the same file format that you downloaded, as some files have identical extensions (such as PSI-MI XML and NAViGaTOR XML). NAViGaTOR's internal formats are: 'NAViGaTOR 1.0 Text', 'NAViGaTOR 1.0 XML', 'NAViGaTOR 2.0 Text' and 'NAViGaTOR 2.0 XML'. Once you've selected the file, click on 'Open' to open the file. You should now see a new tab in the main window containing the network you have selected.
NAViGaTOR 2.0 has its own internal XML file format which represents networks in the XML format, and allows for saving of all the network information, data and visualization features. 2.0 XML Files can be loaded and saved without any data loss.
NAViGaTOR supports fast tab-delimited import and export through the use of the 'NAViGaTOR 2.0 Text' format. The files saved in this format can be loaded and edited in many software applications, such as TextPad and Microsoft Excel. There are three lines of header information stored at the beginning of each 2.0 Text file, which are required for loading back into NAViGaTOR. Altering this header could cause an inability to load. Should this occur, you can default to loading the file in Tab-Delimited format to fix the error.
Line 1: Specifies the Network Object to which the feature belongs. This value is either 'Node A', 'Node B' or 'Edge'
Line 2: Specifies the Java class to be used for translating this column into a NAViGaTOR feature. There can be many options for this, but the three used internally in NAViGaTOR are:
NAViGaTOR can also load text and XML files produced by previous versions with the 'NAViGaTOR 1.x Text' and 'NAViGaTOR 1.x XML' formats. These files cannot be saved in 1.x format and are included for backwards compatibility. These files may contain T-Test and Correlation values, GO Info and text descriptions, depending on their intended purpose, but this file type is now obsolete, and may not be used in the future. Once loaded, a 1.x text file can be saved in any 2.0 format.
BioPAX and PSI-MI XML files are two formats for network representation that are supported in NAViGaTOR. All implementations of these formats are available to the user in the 'Open File...' dialog.
Some on-line sources for obtaining PSI-MI and BioPAX formatted files are listed
For more information about the BioPAX file format, please visit http://www.biopax.org/
Loading any column requires the definition of a Feature Object. Valid objects are Node A, Node B or Edge. This defines what object will be given the data. Feature Type defines the feature as one of the supported NAViGaTOR types (ID, Text, Integer Number, Double Number). Finally, if the feature is not a built-in feature such as a node or edge label, a unique Feature Name is required to reference that feature after it is loaded. For an example of this, the file blow is being loaded with a column named Node1Title, whose data is to be loaded as text.
Section 2 Editing and Exploring a Network
Section 2.1 Networks
NAViGaTOR's original purpose was the visualization of protein-protein interaction networks. A network is represented by a set of nodes, linked to each other with a set of edges. You can imagine this structure as a collection of dots or circles to represent nodes with lines drawn between them to represent edges. This simple structure can be enhanced in various ways, for instance by adjusting the positions of individual nodes and by adjusting the appearance of nodes and edges.
NAViGaTOR extends on this data model by adding features (or annotations) to nodes, edges and the network itself to represent additional information about the real-life proteins, genes and interactions that the network represents.
Section 2.2 Tools
NAViGaTOR has a few basic tools through which you can interact with a network. These are all available in the Toolbar, which is located by default at the left hand side of the application. The Popup Menu also allows you to select a tool in the Tools sub-menu. The tools, and their methods of use are outlined briefly below.
This is the default tool in NAViGaTOR. It allows you to select nodes and edges for manipulation. To select a node or an edge, click on it. Clicking on another node, edge or empty space within the Network Panel will change your selection. An outline should appear around the nodes and edges you have selected. Note that selecting an edge will automatically add it's nodes to the selection.
Selecting more than one node or edge can be accomplished by holding down the CTRL key. In this mode, clicking on an unselected node will add it to the selection, and clicking on a selected node will remove it from the selection.
In addition, the select tool also allows the use of HotKeys to utilize several other useful NAViGaTOR tools:
When the select tool is over part of your selection, the icon will change to that of the move tool, allowing you to move your entire selection.
Holding down the left mouse button and dragging while over an empty area of the network will activate the Lasso Tool.
ALT+Left Click+Drag activates the Rotate Tool.
SHIFT+Left Click+Drag activates the Scale Tool.
Z+Left Click activates the Pan and Zoom Tool. All modifying keys for the Pan and Zoom tool will apply in this mode.
Allows you to draw an outline around nodes or edges you wish to select. Much like the Select Tool, the Lasso Tool allows you to alter your selection by holding down the CTRL key, which toggles selected and unselected nodes within the outline.
Allows you to move your selection within the Network Panel. Click and drag to use this tool.
Allows you to rotate your selection around it's geometric center. Click and drag to use this tool.
Allows you to increase or decrease the size of your selection. Click and drag to use this tool.
Pan and Zoom Tool
This tool adjusts the viewpoint in 2D or 3D view.
In 2D View:
Left Click and Drag will pan
ALT+Left Click and Drag will activate zoom. This is also accessible by using a mouse scrollwheel, if available.
In 3D View
Left Click and Drag will pan around the center of the network, analogous to turning a globe.
ALT+Left Click and Drag will activate zoom. This is also accessible by using a mouse scrollwheel, if available.
SHIFT+Left Click and Drag will pan laterally
This tool allows you to manually control the curvature of selected edges within the graph. Left-click and drag will alter the curvature of the selected edges.
The Hotbox is an experimental interface intended for rapid manipulation of a network. Clicking on a node will add or remove it from your selection with the same general behavior as the Select Tool. The major difference comes when you click on the selection: the Hotbox menu will pop up, giving you numerous real-time controls with which to manipulate your selection.
In addition, holding down ALT while pressing the left mouse button on the selection will give you an alternative control setup, which allows you to expand your selection.
Section 2.3 Basic Network Structure Operations (New Objects, Cut, Copy, Paste, Delete)
You can create a new node in NAViGaTOR by right-clicking in the network panel. The new node will be created at this position. Follow the popup menu path: Node → New
. You will be prompted with a dialog asking you to enter a Node ID and a Node Label. You must enter a unique Node ID, with which your new node should be referenced in the network. The Node Label is optional, but can be very useful and is recommended. This is the text that will appear in the network window to offer you a description of that node. If this label is blank, the Node ID will be displayed by default.
Generating new edges can be done by first selecting the nodes you wish to connect. Right-clicking in the network panel and following the popup menu path: Edge → New...
will automatically generate a new edge between every pair of nodes in your selection. You will not be prompted for IDs or labels; these can be edited after edge generation.
Using the Edit menu in NAViGaTOR, you can quickly move node and edge information between several networks. Your current selection can be cut or copied from one network panel, and pasted into another, creating identical nodes and edges into the target network. Note that NAViGaTOR will consider two nodes equal if their ID is equal, which means that some paste operations can result in some nodes or edges being in conflict if they exist in both networks. In this event, you will be prompted about the conflicting nodes and offered overwrite or ignore options to resolve the issue.
Cut and delete operations may have unintended effects: for an edge to exist in a network, both of it's incident nodes must exist. Cutting or deleting a node will result in that node's incident edges being removed as well. There are two delete options available: 'Delete Nodes' will delete selected nodes and the edges incident on them, 'Delete Edges' will delete only the selected edges, leaving their incident nodes in existence. These options can be accessed through the right-click menu in the network panel or through the Edit menu.
Section 2.4 NAViGaTOR's Data Model
Aside from storing necessary node and edge appearance data, NAViGATOR can associate numerous types of data with its objects. Nodes, edges, and the network in general can contain text, numbers and other data, which are referred to individually as features, and are indexed by a unique feature name. Each feature belonging to an object is accessed through the tabs located in the sidebar corresponding to that object. By default, these feature panels are collapsed, and can be expanded by clicking on the triangular icon on their top left side. In expanded mode, you will have more control over the feature itself, including editing options.
Every type of feature, be it number, text or XML tree has it's own unique panel format. Though the NAViGaTOR API can be extended to include other types of data, there are several built in feature types:
This is simple, unformatted plain text.
Integer and Double Number
Numbers in NAViGaTOR come as either Double, meaning double-precision floating point, and Integer. Doubles can store decimal points, while Integers cannot.
GO Information cannot be edited directly as of this version of NAViGaTOR, and is loaded by performing an online search of I2D's GO and Entrez Gene resources. To get GO Info for your network, ensure that the ID format you are using is one of the following: Swiss-Prot ID, Swiss-Prot Entry Name, Swiss-Prot Protein Name, Genbank ID, or Entrez Gene ID. Follow the menu path Database → Get Ontology/Description
for all Nodes. This will display a dialog with further instructions to be followed. Upon the completion of the database query, each node should be annotated with a GO Info Feature, and will have a panel that looks like the one to the left.
XML Data Feature
This feature is mostly used for displaying the bulk of the data contained in community standard file formats. These formats are rich in supplementary data which usually has no visual representation. All the supplementary data could be represented as individual String and Number Features, but the vast quantity of these would overwhelm the user. Therefore, we represent the data in its original XML form, but displayed in a tree structure. This allows the user to collapse areas they are not interested in and concentrate on the data they want. If an element contains textual data, it is displayed in the lower pane once the element is selected. If the element contains any attributes, they will also be displayed in the lower pane after the element is selected. Since these trees may consist of large amounts of data, we have taken some steps to help the user sort through the data. A search filter is provided which the user can use to hide parts of the tree that do not match the search criteria. Also parts of the trees can be linked together. This is particularly useful in the BioPAX format where a part of a pathway may be referenced from several different pathways. With our linked approach, the common path is only displayed once in the tree and all other sections that reference the path link to it. The following functions are supported by the XML Data Feature:
You can add additional features to nodes and edges directly by clicking on the 'New Feature' button in the Node or Edge tab in the sidebar. A dialog will then allow you to alter the feature's default properties.
In addition, the popup-menu available when you right-click anywhere in the network panel will allow you to add new features to nodes or edges within either the entire network, or constrained to the contents of or the inverse of your selection. To access these commands, use the popup menu paths Node → New Feature...
or Edge → New Feature...
Section 2.5 Searching
Every feature available in the network is capable of being searched through the Search Panel, located in the upper right corner of the application. Node and edge searches each have their respective radio buttons at the top of the Search Panel. Below those, you will find a drop-down box containing all of the searchable features of that network object type. The default search, which appears even if there are no features associated with that network object, is the 'ID/Label Search', which searches the network for IDs and Labels that match a text pattern. Each search is triggered through the 'Search' button, clicking on which will add nodes or edges to the current selection. Clicking on 'Clear' will re-initialize the current search to its default settings. The different types of searches are explained below:
This is the most basic type of search. Node and edge IDs and Labels can be searched by entering a search phrase. Any objects containing the search phrase in either their ID or label will be added to the current selection. If 'ID Match' is checked, this search will only look through the IDs. NAViGaTOR has been designed to perform this sort of searching extremely rapidly. You can type in multiple IDs, separated by either whitespace, comma, line breaks or the '|' character, to search for nodes matching each of the listed IDs. If 'Match whole field' is selected, the search will only return Labels or IDs that match the exact text entered, without any leading or trailing characters. If 'Use Regular Expressions' is selected, your search phrase will be treated as a regular expression, allowing wildcard characters such as *. The ID/Label search also has two convenience buttons: 'Paste from Clipboard' and 'Load from File'. 'Paste from Clipboard' will take text from your system clipboard and paste it into the search text box. 'Load from File' will perform a similar function, loading plain text from the selected file.
The String Search has the same functionality as the ID/Label Search only without the 'ID Match' option. This will apply to all String features.
Numeric Search (Integer and Double)
This search allows the user to search for numeric values within the 'To' and 'From' ranges specified within the panel.
The GO Search has similar functionality to the Text Search, only it searches all available GO Annotation data for the network. This kind of search is only available for nodes.
Section 2.6 Spreadsheet Views
NAViGaTOR supports spreadsheet views to simplify display of large sets of related data, and provides the user with some basic functionality which they have come to expect from spreadsheet packages. Spreadsheets can be accessed using the commands in the Analysis menu, for instance 'View Node Statistics'. There are several different kinds of spreadsheets, each one possessing functionality specific to the data they are designed to display. But all spreadsheets have basic functions which are described in this section. For spreadsheet specific functionality, and how to access individual spreadsheets, please refer to Section 2.8
The spreadsheet view is the familiar first row for the column headings, followed by subsequent rows of data. By clicking and dragging the column headings, the columns can be rearranged in the spreadsheet. The column widths can also be adjusted by dragging the divider between columns in the heading row. The user can double click on a cell and if it is editable, a cursor will appear allowing the user to modify the cell data. The user can click on rows to select them and use the CTRL or SHIFT keys while clicking to do multiple selections. By default, all data is squeezed within the width of the spreadsheet window, but if the user finds this too constraining, they can select View → Enable Horizontal Scrolling
to allow columns to extend beyond the width of the window. The spreadsheet view is not live
. That is, each spreadsheet provides a snapshot of the state of the network when the spreadsheet was first created and does not reflect any subsequent changes made to the network. The time of creation of the spreadsheet view is displayed in the title bar of the spreadsheet. The title bar also displays the name of the spreadsheet, as well as the name of the network panel that it is associated with.
Saving and Loading Spreadsheet Data
Data in the spreadsheet can be saved to a tab-delimited text file by following the menu path File → Save
. Data can also be loaded into the spreadsheet by selecting File → Load Annotations
. Loading annotations allows the user to add new columns of data to the spreadsheet. A text file has to be selected in the 'Open txt file' dialog box which contains the annotations. The format of the text file is quite simple. It is a tab-delimited file, first line containing the headings and the remaining containing the data. For the Nodes Spreadsheet at least one of the columns of data must contain a mapping to some column in the spreadsheet. For the Interactions Spreadsheet, the text file must contain two columns for the Node ID, one for each end-point of the edge to be annotated.
Once the file is selected, the 'Load Annotations' dialog box pops up. For the Nodes Spreadsheet, in the 'Key from table' drop-down box select the column in the spreadsheet that data from the text file will be mapped to and in the 'Key from file' drop-down box select the column in the text file that will map to the column in the spreadsheet. For the Interactions Spreadsheet, simply select the two columns that represent the two node IDs from the 'Column Key' drop-down boxes. The 'Add Columns' section displays the columns of data found in the text file. Place a tick next to each column that you want to import and select an appropriate data type ('String' for text data, 'Integer' for whole numbers or 'Double' for decimals). The 'Default Value' field is used to specify a value to use for the annotation for those nodes that don't have a mapping in the text file.
Editing the Spreadsheet
Using the Edit menu, the user can select all the rows in the spreadsheet and use the Copy command to save the data in the selected rows as tab-delimited text in the system clipboard. To add a new feature to a node or interaction, the Edit → Add a new column
command can be used. Simply supply a name for the new feature, specify the type of data it represents and enter a default value to fill the newly created feature with. Clicking 'OK' will display a new column in the spreadsheet representing the newly added feature. This feature will also be accessible from the sidebar in the main window.
Sometimes, columns in the spreadsheet might not be visible by default. For instance, some method outside the spreadsheet view might have been used to calculate some value for all nodes or edges. To explicitly display columns of data, the user can select Edit → Add Column of Existing Data
. All extra data items available are displayed in a list and the user can select which one they want to displayed by clicking on the column names. Multiple selections can be done by using the CTRL or SHIFT keys.
If the spreadsheet contains any editable cells, then the user can take advantage of the Edit → Edit existing cells
command to perform some simple data manipulations. For advanced data manipulation, it is recommended that the spreadsheet be saved to tab-delimited format, edited in some external spreadsheet package and re-imported back in. The Edit Cells dialog box allows the user to select the column they want to edit the data of by selecting an editable column from the 'Column' drop-down box. The 'Value' text box is used to specify the data that the user wants entered into the spreadsheet. In the 'List of Nodes' text box, specify the node or edge IDs corresponding to the nodes or edge whose value needs to be changed. Alternatively, this text box can be filled in automatically by selecting the 'Use Network selections' and/or 'Use Spreadsheet selections' check box. These check boxes, if selected, will list all the node or edge IDs selected in the network panel or in the spreadsheet to the 'List of Nodes' text box, respectively. The radio box buttons can be used to specify whether the new data should be added at the beginning or at the end of the old value, or whether it should replace the old value.
Visual Aids and Organizing Data
The Selection menu can be used to select objects in the network panel based on the current spreadsheet selection. The 'Add SS selection to NWK selection', adds the spreadsheet selection to the current network panel selection. The 'Replace NWK selection with SS selection' replaces the network selection with the objects selected in the spreadsheet.
If View → Enable preview highlighting
is selected, then rolling the mouse over certain cells in the spreadsheet highlights the corresponding object in the network panel.
If View → Enable popup info box
is selected, then rolling the mouse over certain cells in the spreadsheet displays a popup box listing further information about the item under the cursor.
Finally, data in the spreadsheet can be sorted using the Analysis → Sort
command. The user can select the columns they want to sort by, and the order of the sort (ascending or descending). In case of ties, the user can specify up to two extra columns that will be sorted to break the tie.
Section 2.7 Analysis Tools
NAViGaTOR offers a wide range of tools to perform analysis on the network. Some of the most commonly used ones are described below. A comprehensive guide to all the analysis methods can be found in the supplementary Analysis Methods Guide.
Available by selecting the menu path Analysis → Quick Count, displays a pop-up dialog showing the total number of nodes and edges in the network, as well as the total number of selected nodes and edges.
Available by selecting the menu path Analysis → Select Articulation Points. This selects all articulation points in the network. An articulation point is a node such that its removal from the network results in disconnecting the connected component within which it lies.
There are several variations of this, but fundamentally they all perform the same task. These functions are used for finding the shortest path between nodes in the same connected component. These are the shortest paths options available to the user:
Any one shortest path between nodes.
To use this feature, select at least 2 nodes in the network and then click on Analysis → Select Shortest Path(s). The 'Find Shortest Path(s)' dialog box will pop up. Here the user can tweak some settings which can effect the shortest path chosen. By default the 'Source of weight values' field is set to 'NO WEIGHTS'. This will execute an unweighted shortest path algorithm between the nodes. But the user can choose any edge Number Feature (Integer or Double) as weights. For each shortest path the sum of the weights for that path will be calculated and in case of tie for shortest paths, the path with the highest or lowest value will be selected. To specify highest or lowest, select either 'Highest weight' or 'Lowest weight'. Selecting the 'Use absolute weights' check box will use the absolute values of the weight for calculations.
When satisfied with the settings in the Find Shortest Path(s) dialog box, click 'OK'. After the process finishes, if a shortest path was found, a set of nodes and edges will be selected. These selected nodes and edges represent the shortest path from the source node to the target node. When more than 2 nodes are selected, this option selects a shortest path for each pair of selected nodes. For instance, if nodes A, B and C are selected, then shortest paths between nodes A-B, A-C and B-C will be displayed.
All shortest paths between nodes.
Paths Spreadsheet listing out all shortest paths between selected nodes, with preview highlighting enabled
All Pairs Shortest Path Traversal Counter
Available by selecting Analysis → APSP Traversal Counter. This will calculate a shortest path for every combination of pairs of nodes in the network and record the node and edge traversal information using the Floyd-Warshall algorithm. The traversal information is a count of how many times a node or edge was traversed for each shortest path found.
After selecting this option, the user will be presented with the 'Find node and edge visit count' dialog box, which works the same way as the 'Find Shortest Path(s)' dialog box described above.
To actually view this data, either go to the Nodes Spreadsheet or the Interactions Spreadsheet and select Edit → Add column of existing data and select 'APSP Hits' (the APSP stands for All Pairs Shortest Path).
Available by selecting Analysis → View Node Statistics. This brings up the Nodes Spreadsheet, which provides basic statistics about nodes in the network and allows the user to perform some more advanced functions. Something that's immediately visible is the Node degree which displays a count of the number of edges adjacent to each node. By sorting on this field, nodes with a high number of edges (or conversely those with very few) can be filtered out. Some of the other options available from the menus are described below. For a comprehensive guide to all analysis features, please refer to the supplementary Analysis Methods Guide .
Available from Analysis → Add cluster coefficient. This calculates the cluster coefficient for each node and adds a column in the spreadsheet to display the results. The clustering coefficient of a node quantifies how close the node and its neighbours are from being a clique.
Analysis of Neighbourhood
Available from Analysis → Analysis of Neighbourhood. This only works when there is a column of text data available in the spreadsheet. Given a delimiter, this feature will scan each row in the text column and provide data about the tokens created by using the delimiter to split the text. For more details refer to the supplementary Analysis Methods Guide .
Available from Analysis → Count Tokens. For any column of data, this will split the data in the column using the provided delimiter and store the number of resulting parts in a new column. In the 'Count Tokens' dialog box, use the 'Select column' drop down box to select the desired column on which to perform the operation, use the 'Delimiter' text field to enter text to use as a delimiter and the 'Results column' text field to supply a name for the column where the results will be stored.
Nodes Spreadsheet sorted on node degree
Connected Component Statistics
Available by selecting Analysis → View Network Stats (single row). This displays some simple statistics about the current network. These include the total number of nodes and edges, density of the network as well as total number of components. Some extra statistics are provided for the largest component (LC) in the network too. These are the LC's total number of nodes and edges, density and minimum, maximum and average degree among all nodes in the LC.
Multiple Random Network Statistics
This creates multiple networks, spawned from a base network (the pre-loaded offline database) using specified criteria and provide a list of statistics for each of those networks. These statistics provide the user information to determine if some network that they are interested in, exhibits any uniqueness from a random sampling of similar networks.
To perform this operation select Analysis → View Multi Random Network Stats. If an offline database is not already loaded, you will be prompted to do so. The offline database is simply a tab-delimited file describing a network, with the first column being a label for the interaction source, and the second and third columns being the two interacting node's IDs.
Once the Generate Network dialog box appears, fill in the required information:
Number of networks: the number of random networks to generate
Number of targets: the number of random nodes to select from the offline database. Random networks will be generated by picking a random set of this many nodes each time, plotting all available interactions amongst them, as well as plotting any additional interactions according to the remaining parameters
Seed: to recreate the same results for each execution, use the same number for the seed value. Leave it blank to have it generated automatically
Depth from targets: the depth of interactions to extract from the target nodes. Level 1 will get the first neighbours of the targets, and level 2 gets all neighbours of neighbours
Include last level interactions: by default, interactions between the outermost level of neighbours are not extracted until explicitly asked to do so with this checkbox
Click OK and then click Skip on the optional Load List of Lists dialog box. This process may take a long time to finish depending on the parameters provided. Once completed, a spreadsheet will be displayed with statistics for each random network generated. To save the analysis results, select File → Save in the spreadsheet window.
Section 2.8 Subsets
To simplify the manipulation of large and detailed networks, parts of the network can be saved as subsets. A subset consists of a set of nodes and edges, and sometimes other nested subsets. The current selection in your network constitutes an unsaved subset. To create a subset, click on the Subsets tab in the sidebar.
To create a new subset, you can either create a blank one by clicking on the 'New' button, or generate one from your current selection by clicking on the 'Create New Subset from Selection...' button. In either case you will be prompted with a dialog asking you to enter a Subset Name. This name will function as an indexing ID; no two subsets can share the same name.
Once your subset has been generated, it will be listed in the Subsets tab.
Using the five buttons located at the top of the tab, you can move nodes between the current selection and the list of Subsets you have created.
To delete a subset or subsets, select them on the list and then click on the Delete button. This will not delete the underlying nodes or network structure.
Subsets representation within the network panel can be simplified through the process of collapsing. A collapsed subset appears within the network as a node with a '+' symbol. All of its regular appearance and feature properties are editable the same way as any other node.
Edges incident upon a collapsed subset will appear as a default color, in this case, a light blue. Future versions of NAViGaTOR will allow this color to be altered. These edges represent existing edges between the visible network and the nodes within the collapsed subset. You cannot select these edges; to add or remove them, you must add or remove edges to the underlying nodes within the subset.
A Subset Collapsed and Uncollapsed
An advanced function of NAViGaTOR's subsets is accessible by clicking on the 'Set Operations...' button. This will create a dialog that offers mathematical manipulation of your subsets through Union, Intersection and Compliment operations. Union represents all nodes and edges from two subsets, Intersection represents only those nodes and edges shared by two subsets, and Compliment represents the nodes and edges within a subset minus those that exist in another.
As an example, we can create a New Subset called 'Subset C', which represents the nodes and edges shared by both Subset B and Subset A (Intersection). Clicking on 'Create Subset' will create this new subset. To illustrate the results, the following three screen captures display Subset A nodes highlighted in cyan, Subset B nodes highlighted in yellow and Subset C, the intersection of Subsets A and B, highlighted in purple.
Subset C, the Intersection of Subsets A and B
Section 3: Network Layout and Appearance
Section 3.1 Node and Edge Appearance
Node and edge appearances can be changed and customized according to the user's needs
3.1.1. Node Appearance
To edit the node appearance of an individual node, click on it to display its 'Appearance' feature panel in the Node tab of the side bar.
To edit the appearance of a group of nodes together, first select all of them and then go to the Subsets panel in the side bar and click on the 'Node Settings' button. Alternatively, you can also right click on any empty area in the network and select Node → Appearance (Selection)
. The Appearance panel will pop up which you can edit as described below.
You can also edit the complement of the selected nodes. To do so, right click in the network panel and select Node → Appearance (Inverse)
To change settings for all nodes in the network without having to change your selection, you can simply right click in the network panel and select Node → Appearance (All).
In the Node Appearance Panel, you have the following options:
You can change the color of the nodes manually by clicking on the 'Color' button and selecting a color. The background of the 'Color' button shows you the currently selected color. You can also apply color to nodes automatically, using the 'Filters...' button. For more information, please refer to Section 3.2: Filters.
The position of the node can be fixed by checking the 'Fixed Position' check box or by using the 'Advanced...' button to it's right. For more details on this, please refer to the Layout Section.
To display a highlight around the node, select the 'Highlight' check box. The size of the highlight can be adjusted from the 'Highlight Size' input box. The highlight color can be changed from the 'Highlight Color' button. The background of the button shows the currently selected highlight color.
Node shape can be changed by selecting a pre-defined shape from the 'Shape' drop-down list. Currently these shapes are available: ellipse, rectangle, triangle up, triangle down, diamond and hexagon.
The size of the node can be adjusted with the 'Height' and 'Width' input boxes. If 'Link' is check marked, then any change in the value of height is reflected in the width and vice versa.
Nodes' transparency can be adjusted with the 'Blend' slider. A value of 100 indicates that the node is completely opaque. A value of 0 indicates that the node is completely transparent (i.e. invisible). You can select any value for transparency between these two extremes. This serves as a easy way to hide away unimportant nodes in a large network.
Node labels are shown by default when the user hovers the mouse over a node. But to always explicitly show the label, the user can check mark the 'Show Label' check box. The 'Label Location' matrix can be used to indicate where the label should be anchored relative to the node (e.g. right on top of it, to the right side of the node, to the bottom left, etc).
Sometimes the node label may be hard to read because it is obscured by other artifacts in the network. To make the label more legible, the user can adjust the 'Backing Box Blend'. This displays a uniform colored background box for the label, thus allowing the label to be easily read. A value of 0 indicates that the backing box is not visible and a value of 100 indicates that the backing box is completely opaque. The user can select any value in between these extremes to make the backing box semi-transparent.
3.1.2. Edge Appearance
To edit the edge appearance of an individual edge, click on the edge to display its 'Appearance' feature panel in the Edge tab of the sidebar.
To edit the appearance of a group of edges together, first select all of them and then go to the Subsets panel in the side bar and click on the 'Edge Settings' button. Alternatively, you can also right click in the network panel and select Edge → Appearance (Selection)
. The Appearance panel will pop up which you can edit as described below.
You can also edit the complement of the selected nodes. To do so, right click in the network panel and select Edge → Appearance (Inverse)
To change settings for all nodes in the network without having to change your selection, you can simply right click in the network panel and select Edge → Appearance (All)
In the Edge Appearance Panel, you have the following options:
You can change the colour of the edges manually by clicking on the 'Color' button and selecting a colour. The background of the 'Color' button shows you the currently selected colour.
You can also apply color to nodes automatically, using the 'Filters...' button. For more information, please refer to Section 3.2: Filters.
The width of the edge can be adjusted with the 'Width' input box.
The spring length and spring constant features effect the way in which the force-directed layout algorithm applies forces to the nodes incident upon this edge. For more information, please refer to Section 3.4: Force-Directed Layouts.
Edge labels are shown by default when the user hovers the mouse over an edge. But to always explicitly show the label, the user can check mark the 'Show Label' check box.
Edge transparency can be adjusted with the 'Blend' slidebar. A value of 100 indicates that the edge is completely opaque. A value of 0 indicates that the edge is completely transparent (i.e. invisible). You can select any value for transparency between these two extremes. This serves as a easy way to hide away unimportant edges in a large network.
Section 3.2 Filters
Filters are automated mappings from node and edge features to visual appearance characteristics. These can be controlled from the 'Appearance Filters' panel in the Network tab, as well as from the 'Filters' button in either the node or edge appearance panels.
Using the 'Add New Node Filter' or the 'Add New Edge Filter' buttons, the user can create a filter applied to nodes or edges, respectively. Clicking the button opens the Appearance Filters dialog box where the user has the option to select the feature they want to visualize. Then they can select the appearances they want modified from the list. Each feature/appearance combination will display its own specific settings which can be tweaked.
Numeric features can be mapped to continuous appearance styles. For instance they can be mapped to colour gradients, transparency and size.
Text features can be mapped to any appearance by manually specifying a mapping from a text value to an appearance value. Text matches can be for exact word, or for patterns using wildcard symbols like the asterisk (to match anything) and the question mark (to match a single character). For more advanced users, they can choose to match using regular expressions. These options can be set from the toggle buttons available in the Appearance Filter window's toolbar.
Other convenience functions like loading and saving patterns to and from a file are also available from the dialog box. At the bottom of the dialog, the user has the option to select if they want the filter to be applied to the whole network or only some part of it (like the current selection).
Appearance Filters dialog box
Add New Pattern
Load Patterns from File
Save Patterns to File
Re-order Selected Pattern
Delete Selected Pattern
Use exact matches when searching for patterns
Use wildcard match when searching for patterns. * will match zero or more occurances of any character. ? will match any one single character.
Use regular expressions when searching for patterns
Creating a filter will automatically change the appearance of the effected nodes or edges. A list of all created filters will appear in the Appearance Filters panel. Filter appearance settings override node/edge appearance settings. For instance, if a node is coloured using a filter, then changing the node's colour from the Node Appearance panel will have no effect until the filter is turned off or deleted.
To turn off a filter, click on its eye icon. To turn it back on, click on the closed eye icon. Individual filters can be turned off one by one like this, or the eye icon of the filter heading can be clicked to control all the filters listed under that heading. The triangle icon on the left side of each filter heading can be used to collapse the filter list in order to save space. Click on it again, to expand the filter list and show all the filters.
Filters get stacked one on top of the other. If two (or more) filters try to change the same appearance settings, a conflict is detected and an exclamation icon appears next to the filter to inform the user of that. In case of a conflict, the filter placed higher up in the stack always get priority. Clicking on the exclamation button will open a spreadsheet view showing which nodes or edges have conflicting filters. Conflicts can be resolved by either re-ordering the filters, toggling the visibility of filters, or by deleting filters. Filters can be re-ordered by selecting a filter and using the Up and Down buttons to re-position it in the stack. The eye icon can be clicked to toggle the visibility of filters. And the trash can icon can be used to delete a selected filter.
Appearance Filters panel and associated legends
Some filters will also have a legend button available. Clicking on this will display a legend showing the mapping the filter is performing. To rename a filter, double click on the filter name and type in a new name. To edit filters, either double click the filter entry, or select the filter and click the 'Edit Filter Settings' button.
Section 3.3 Force-Directed Layouts
By default NAViGaTOR uses an optimized force directed layout to layout the graph, called GRID. This scheme models the network as a dynamic system, where forces are applied to the different components and nodes are pushed or pulled into their equilibrium or rest positions. The idea is that this will lay out the graph in an aesthetically pleasing manner, minimizing overlaps. Nodes are modeled to repel each other, so this tries to space the nodes out. Edges act as springs, pulling their adjacent nodes towards each other.
The 'Spring Length' and 'Spring Constant' settings for each edge (available in the Edge Appearance panel) effect the way the force-directed algorithm applies forces to each node incident on that edge. The 'Spring Length' setting defines the desired length for that edge, which the algorithm will attempt to maintain. The 'Spring Constant' setting indicates the level of force which the algorithm can apply. This setting works inversely; smaller numbers will induce larger forces. Globally, the user can use the 'Layout force setting' text field to modify the force applied over the entire network. This value, set by default to 1, is multiplied by the spring constant of an edge to generate its force.
Some graphs may respond faster using the 'Randomize' option, which only performs the layout algorithm on a randomly selected third of the nodes within the graph. This option may make the graph appear more erratic.
Faster variants of the force-directed algorithm are also available to the user. These layouts are available using the Layout menu in the main menu. The default selection is Layout → GRID Layout (2D),
which is optimized for 2D renderings. Layout → GRID Layout (Multithread, 2D)
is a variant of this dynamic layout system which takes advantage of multi-core processors, performing faster, particularly on larger graphs. Finally, for a pure application of force-directed layout in 2D and 3D mode, NAViGaTOR users can utilize the Layout → Force Directed Layout
Once the network reaches a state that the user is somewhat satisfied with, the user can pause the layout algorithm by clicking on the 'Pause' button in the Network tab of the sidebar. This effectively turns off all forces and the user is free to move around nodes on their own. There is also a fast forward option which runs more iteration of the layout algorithm per second. To use the fast forward feature, click the 'FF' button located on the Network tab of the sidebar. While the fast forward is working, no view of the network is displayed, but the layout works in the background. To switch off the fast forward mode, simply click on the 'FF' button once again.
By default a pre-optimization is performed on the network when it is loaded for the first time. This is done before the force directed layout takes effect. This step involves applying the Graph dRawing with Intelligent Placement (GRIP) algorithm to try and place the nodes somewhat closer to their final equilibrium positions. See the Custom Layout Tools section for more information about GRIP.
The user also has the option to fix nodes. This makes the fixed nodes stationary and the force directed algorithm will not be applied to them, but will continue to work with the rest of the network. To fix a node the user can either:
use the 'Fixed Position' option in the Appearance panel as described in the Node Appearance section
double click on a node to fix its position or
use the options in the Layout menu, namely Fix All Nodes and Fix Selected Nodes.
This allows the user to fix a part of the network whose layout the user is content with, but allows the automated force directed algorithm to try and find an optimal position for the rest of the network.
In addition, the user can place more advanced restrictions on a node's movement by using the 'Advanced...' button in the Node Appearance panel. This gives the user the option to specify values in three dimensions to limit the movement of a node to a specific value within one or several of those dimensions.
Similarly, unfixing a node will release it to the force directed algorithm. To unfix a node, the user can either:
uncheck the 'Fixed Position' option in the Appearance panel as described in the Node Appearance section
double click on a node to unfix its position or
use the options in the Layout menu, namely Unfix All Nodes and Unfix Selected Nodes.
Section 3.4 Custom Layout Tools
NAViGaTOR implements the GRIP layout algorithm. Unlike the force directed algorithm which is iterative in nature, improving itself with each iteration, GRIP runs once and provides a static layout. This is a fast algorithm and takes time proportional to the size of the network to run. The GRIP algorithm have been shown to produce aesthetically pleasing layouts. This algorithm can be run anytime by selecting one of its variants from the Layout menu. These are the options available:
This treats the entire graph as a single connected component and applies the GRIP algorithm to all of it.
Layout Network with GRIP and Maintain Fixed Nodes
This works just like the Layout Network with GRIP algorithm, except that it does not change the position of fixed nodes. The GRIP algorithm is only applied to all the unfixed nodes.
Separate and Layout Components with GRIP
This treats each connected component of the network to the GRIP algorithm and separates them so that they don't overlap with each other.
Separate and Layout Components with GRIP and Maintain Fixed Nodes
This works just like the Separate and Layout Components with GRIP algorithm, except that it does not change the positions of fixed nodes. The GRIP algorithm is only applied to all the unfixed nodes.
Separate Connected Components
This does not apply the GRIP algorithm to the network. It just separates all the connected components so that they don't overlap each other. Their shapes are retained.
Separate Non-Linear Components and Circularize Linear Components
This variation lays out all non-linear connected components the same way as Separate and Layout Components with GRIP . It then encircles the area taken up by these laid out connected components with all the remaining linear connected components in the graph. This results in an aesthetically pleasing looking graph.
Run GRIP Layout only on Connected Components with Selected Nodes
This applies the GRIP algorithm only on those connected components that have nodes selected in them.
Run GRIP Layout on the Maximally Selected Connected Components
This applies the GRIP algorithm to the subgraph that is represented by the selected nodes. The subgraph will be the set of all selected nodes and any edges between those nodes present in the network.
Run GRIP Layout on the Selected Connected Components Restricted by the Edges
This is similar to Run GRIP Layout on the Maximally Selected Connected Components, except that when determining the subgraph represented by the selected nodes, it only adds those edges to the subgraph which are also selected.
Apart from the GRIP and force directed layout, both of which run automatically without any user input, the user also has lots of control over manipulating the layout manually. Remember to either pause the network or fix the nodes you're working with, otherwise whatever change you do will compete with the automatic force directed algorithm and you may not be able to see your results. The user can: