Protein-Protein Interactions (Pathogen Interaction Gateway)

Pathogen Interaction Gateway Overview

PIG (Pathogen Interaction Gateway) is a Web application for viewing and manipulating protein-protein interaction (PPI) data. It combines taxon, data, and keyword filtering with coordinated node-edge graph and grid visualizations, enabling a sophisticated exploration of intricate PPI networks that may span many different organisms. All PIG data are also available for download and use in other applications.  PIG is a public resource; please contact us if you’re interested in installing it.

Data Generation

PIG incorporates non-redundant, experimentally characterized PPIs from numerous public repositories, including IntAct, BIND, DIP, Uniprot, Mint, MPIdb, Spike, Reactome, MatrixDB, and InnateDB. Interaction data are initially retrieved by querying repositories in the PSICQUIC public registry for PPIs that have experimental support according to the PSI-MI interaction type and detection method ontologies, plus the presence of at least one literature reference. Verified data are subsequently matched to their corresponding taxa, stripped of redundant interactions, and categorized as either intraspecific (interactions that occur between proteins in the same species) or interspecific (interactions between proteins in different species, including host-pathogen (HP) PPIs).

Visualization Platforms

The PIG Viewer is built on top of the ExtJS 4 Javascript application framework and is functional on all modern browsers. The interactive graphs are rendered using Cytoscape Web, an open-source network visualization library that requires the Flash plugin.

Accessing PIG on PATRIC

These data are accessible via the Pathogen Interaction Gateway (PIG) Tool, which you can find under “Protein-Protein Interactions” in the “Searches and Tools” tab at the top of the PATRIC site.

Using the Graphs

PIG displays protein interaction data in the form of interactive, annotated, and color-coded node-edge graphs. In this familiar graph variety, a node represents a single entity and an edge indicates a relationship between the entities joined. In PIG, an edge always joins exactly two nodes, and multiple edges between the same two nodes indicates multiple relationships.

Graph Types

PIG includes two types of graph, presented in alternating tabs on the right side of the interface:

  1. Protein-Protein Interaction (PPI) graph. The PPI graph depicts individual proteins as nodes, and experimentally-determined interactions as edges. Multiple edges between two nodes indicates multiple types of interaction between the proteins. The PPI graph is analogous to a traditional Protein Interaction Network (PIN) graph, except that 1) the PIG PPI graph may include any number of different organisms, and 2) the PPI graph may not show the full PIN depending on how you have queried and filtered the data.
  2. Taxon-Taxon Interaction (TTI) graph. The TTI graph depicts individual taxa as nodes, with node size relative to the number of proteins from that taxon that are present in the current data set. An edge between two nodes in the TTI indicates interspecies protein interactions between the two taxa. Edge widths reflect the number of interspecies PPIs between the two joined taxa.

Interacting with a Graph

  • Click-hold in the graph background until the mouse pointer changes to a hand icon (less than 1 second), then drag to move the entire graph.
  • Scroll using your mouse, trackpad, or touchscreen to zoom in and out of the graph.
  • Use the graph control panel to move, zoom, and re-center the graph.

Interacting with Nodes

  • Hover over a node to show its annotation and species.
  • Single-click a node to select it. To select more than one node, either shift-click individual nodes or click-drag to surround multiple nodes with a selection rectangle. Selecting nodes enables various functions in the Graph Toolbar. You can de-select all nodes by clicking anywhere in the graph background.
  • Double-click a node to select it and show more information about the protein it represents, including links to its parent BRC (where applicable), and its characteristics in the current PIN, including the closest neighbors and various measures of its centrality.
  • Right-click on a node to bring up a contextual menu with various node-specific functions:
    • Select its neighborhood (nodes directly connected to the target node, plus their edges);
    • Select its subgraph (the entire connected component that contains the target node);
    • Mark the node with a persistent visual cue for later reference;
    • Unmark the node;
    • (PPI only) Show the amino acid sequence of the protein that the node represents.
  • In the TTI graph, you can also use the contextual node menu to restrict the graph to the node’s taxon, taxa in its neighborhood, or taxa in its subgraph. These functions are provided as convenient shortcuts to similar functionality available via the Graph Toolbar.

Interacting with Edges

  • (PPI only) Hover over a node to show the type of interaction it represents.
  • Single-click an edge to select it. This also highlights the row in the Grid that contains the edge’s interaction.

Toolbar Features

Many advanced features can be accessed via the Graph Toolbar, found directly above each graph. These features complement the functionality available by interacting with the graph itself. Unless otherwise noted, toolbar actions only apply to the visible graph.

  • Select
    • Shortest Path. Calculates the shortest path between two nodes in the graph, and selects the nodes and edges in that path. You can choose either the unweighted path, or using the number of edges between two nodes as the weight. Both calculations use Dijkstra’s algorithm to find the path. Requires exactly two nodes be selected.
    • Subgraphs. Provides options for selecting subgraphs (i.e., connected components) of various sizes, including the largest subgraph in the current graph.
    • Hub Proteins. Provides options for selecting hub proteins (highly connected proteins), including the largest hub in the current graph. Unweighted degree centrality is used to determine the size of each hub.
    • Marked Nodes. Selects all the marked nodes in the graph. Nodes can be marked with a persistent visual cue (i.e., bright red border) using either the contexutal node menu or the toolbar’s View menu (see below).
  • View
    • Highlight Selected. Renders nearly invisible (“ghosts”) all but the current selection. Note this is merely a visual effect; the ghosted nodes and edges are still present in the graph and grid, and still affected by filtering and tool applications.
    • Remove All Highlighting. Restores entire graph to full visibility.
    • Mark All Selected Nodes. Marks selected nodes with a bright red border. Marks persist until removed, unlike selection glow, and can be useful for tracking nodes during a session.
    • Unmark All Nodes. Removes markings from al nodes.
  • Restrict
    • To Selected Taxa. Removes all data from the current set unless it matches the taxa in the current selection. This function sends a new query to the data server and initiates a complete reload of the PIG interface. Your original query parameters (except for taxa, of course) are retained, but any filtering or changes to the graph layout are lost.
  • Download
    • All PPI Data In This Graph. Provides all of the PPI data in tabular format. If the data set was too large to render a PPI, all of the data are still included in the download, not just the visible PPIs.
    • PPI Data For Selection. Provides PPI data for the current selection in tabular format.
    • PPI Data For Marked Nodes. Provides PPI data for all marked nodes, in tabular format.
  • Set Max Graph Size. Changes the maximum number of PPIs allowed to build a PPI graph. If the data set exceeds this maximum, the PPI graph will not be rendered; instead, you can use the filters or TTI graph to restrict the data set to a manageable size.
  • Find In Graph. Searches the visible graph for nodes or edges that match the given text, and selects them. Simply enter your text in the box and hit return to perform the search. Note this is distinct from keyword filtering in that it does not change the data set in any way.

Applying Filters

Filters can be used to restrict the number of PPIs shown in the PIG graphs and grid. You apply a filter term using the checkboxes on the left side of the PIG Viewer. Checking a box requires that the PPI data match that particular term. (Note: when all boxes are unchecked, it is the equivalent of having all boxes checked.)

It is important to remember that PIG filters add data to, and remove data from, the Viewer. As a result, you may see the interface querying the server as a result of filtering actions. You may also see graph layouts change if the action you’ve chosen has a substantial impact on graph composition. Finally, actions taken in one filter will affect the content in other filters.

Accessing Filter Panels

Filters are grouped by class into separate panels along the left side of the Viewer interface. These panels are arranged accordion-style, so that only a single filter is accessible at a time. You can easily show or hide a specific filter panel by clicking once on its title bar. Any changes that are you make in the PIG Viewer are reflected in the filters, regardless of whether they are currently expanded or not.

Filter Classes

There are four classes of filters in PIG:

  1. Filter by Taxon.
  2. Filter by Keyword. To show only PPIs that match a particular keyword, simply enter the keyword in the textbox on this panel and click the Add button (or just hit Enter or Return on your keyboard). Keyword filters are applied in the order in which they were created. You can easily ignore any existing keywords by unchecking them. If you pre-selected any keywords on the PIG home page, they are shown in the Keyword Filter panel but are not accessible; you must revise your query if you want to change them. Keywords are queried against both interaction and interactor data, including annotation, xrefs, names, ids, etc.
  3. Filter by Detection Method. Every PPI in PIG is associated with a Detection Method describing how the interaction was experimentally verified (e.g., two-hybrid pooling approach). These Detection Methods adhere to the MI ontology. You can use the checkboxes in this panel to restrict the PPI data being displayed based on the method used to detect it. Since Detection Method is a property of the PPI, these filters will apply directly to graph edges and grid rows.
  4. Filter by Interaction Type. Every PPI in PIG is also described by a particular Interaction Type (e.g., physical association). You can use this filter panel to restrict the visible PPI data based on Interaction Type, in similar fashion to the Detection Method filters described above. Interaction Types in PIG follow the MI ontology.

 Using the Grid

In addition to graphs, PIG also displays protein interaction data as a table or grid where each row represents a single protein interaction. The PPI grid stretches across the bottom third of the PIG interface.

Interacting with the Grid

  • Click a row in the grid to select the interaction in the graph (two nodes plus the edge between them). The reverse is also true: clicking an edge in the graph will select the grid row that contains that interaction.
  • Sort the grid by a particular property by clicking on its column header. Click again to change the sort order.
  • Configure the visible columns in the grid using the dropdown menu accessible from the right corner of any column header. (This menu also contains sorting controls.)
  • Many entries in the grid are clickable links to additional resources, including NCBI, Uniprot, PubMed, and more. External links in the grid are designed to open in a new browser tab or window.


Often a single protein (interactor) will map to multiple entries in one of the Bioinformatic Resource Centers (BRC). When this occurs, the BRC IDs column will report the count of mapped ids; clicking this link will open a pop-up window listing the corresponding BRC ids. From there you can link out to individual BRC entries.


The number of rows in the visible grid is set to the maximum number of interactions that can be displayed in the PPI graph. If your data set is too large for PIG to display, you can page through the interaction data using the controls at the bottom of the grid.