PsicquicGraph, a BioJS component to visualize molecular interactions from PSICQUIC servers

Summary: Protein interaction networks have become an essential tool in large-scale data analysis, integration, and the visualization of high-throughput data in the context of complex cellular networks. Many individual databases are available that provide information on binary interactions of proteins and small molecules. Community efforts such as PSICQUIC aim to unify and standardize information emanating from these public databases. Here we introduce PsicquicGraph, an open-source, web-based visualization component for molecular interactions from PSIQUIC services. Availability: PsicquicGraph is freely available at the BioJS Registry for download and enhancement. Instructions on how to use the tool are available here http://goo.gl/kDaIgZ and the source code can be found at http://github.com/biojs/biojs and DOI: 10.5281/zenodo.7709.


Introduction
Proteins are one of the major actors in cellular processes and perform many different functions, which are required for the survival of a cell and an organism. Depending on the cell type, a different set of proteins will be available to ensure proper functioning of the cell within a larger context, for instance an organ. Typically, a cellular process is controlled by many different proteins that form a sophisticated network of interactions. Some proteins are even part of larger complexes, so-called molecular machines and the majority of interacting members are required to carry out a specific molecular task. In Systems Biology, we can use the networks of protein interactions to help us understand highly complex cellular processes.
Different efforts have been used to collect protein interactions. For example IntAct, an open-source, open data molecular interaction database 1 contains approximately 275 000 curated binary interactions extracted from over 5000 publications. ChEMBL is another example of an open source database 2 and holds more than 600 000 interactions between proteins and small molecules (chemicals).
In order to standardize access to interaction databases, the Proteomics Standard Initiative proposed the Proteomics Standard Initiative Common QUery InterfaCe (PSICQUIC) 3 that defines: 1. a web service with well defined methods to enable programmatic access to molecular interactions.
2. a Molecular Interactions Query Language (MIQL 4 ), that specifies a syntax to allow flexible queries.
3. a registry, that lists available PSICQUIC services and enables providers of databases for molecular interactions to register.
Meanwhile, 28 different databases have registered with PSICQUIC, including IntAct and ChEMBL, which altogether contain more than 150 million binary interactions.
Here, we present PsicquicGraph, a web component to visualize molecular interactions from PSICQUIC services. We have realized PsicquicGraph using BioJS 5 , an open source JavaScript library of components for visualization of biological data on the web.

The PsicquicGraph component
The minimal input for PsicquicGraph is (i) the URL of a valid PSICQUIC server, (ii) a valid MIQL query, (iii) a target container (HTML tag; usually a DIV) identifier to render the interactions graph and (iv) a proxy URL to bypass the same domain policy constraint in JavaScript.
Using the MIQL query, PsicquicGraph queries the PSICQUIC server. After retrieving the interactions in PSIMITAB 6 format, the interactions are parsed by PsicquicGraph and the graph is rendered using Cytoscape.js 7 (Figure 1a).
The code below illustrates how to initialize PsicquicGraph by providing the minimal input. The query defined finds the first 100 human interactions (restricted by maxResults) and the psicquicUrl provided corresponds to the IntAct database. The name given to target constitutes the identifier of the component container.  By default, PsicquicGraph renders the graph using a circle layout. However, other layouts (force-directed, hierarchy, grid, random and preset) can be defined while initializing the component. Similarly, different visualization attributes such as node shape, color and font family can be defined (Figure 1b).

Conclusions
PsicquicGraph is a publicly available web component to render interactions from PSICQUIC servers. It relies on PSICQUIC and open data databases in order to simplify the rendering of complex protein-protein interaction networks.
The adoption of the BioJS specification facilitates PsicquicGraph integration, testing and documentation in addition to the potential exposure to new users.

Competing interests
No competing interests were disclosed. PSICQUIC servers offer a standardised method for accessing proteomic interaction databases. From a biologists point of view, and the BioJS initiative are extremely positive as it will allow for the PsicquicGraph retrieval of information from various databases in a seamless manner.

Grant information
Technically speaking, cleverly takes advantage of BioJS, Cytoscape.js as well as MILQ by PsicquicGraph providing useful interactions within all these modules. The links provided in this article allows access to decent documentation of the tool and also provides a useful working example.

Improvements
I consider that this article could be improved by listing the 28 databases that the authors claim to have registered with PSICQUIC and making them available in this article. That would allow the reader to easily figure out how important this standardization is.
I spent some times trying, but I was not successful in recreating the example in the window mode as advised by the authors (I tried Chrome, Firefox and Safari). I was thus not able to experience the demo example completely, which is bad for a web tool.
We have read this submission. We believe that we have an appropriate level of expertise to confirm that it is of an acceptable scientific standard. -(a powerful tool for viewing networks on web pages) Cytoscape.js -MILQ (a language for querying molecular interactions) -(an event-driven javascript library which facilitates interaction between javascript widgets) BioJS The component described in this article is already useful -mainly in that it provides a standard way of interacting with these existing modules and provides a single point of focus for future development. However there are some obvious developments the authors should make in a following version of the article that would make the component more useful: Registering events (such as when a user selects a "node" or "edge"). Providing access to the underlying "cytoscape" javascript instance (to allow manipulation of the network after it has been created).

I have read this submission. I believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.
No competing interests were disclosed. Competing Interests: