GRNsight: a web application and service for visualizing models of small- to medium-scale gene regulatory networks
- Published
- Accepted
- Subject Areas
- Bioinformatics, Graphics, Software Engineering
- Keywords
- gene regulatory networks, visualization, web application, web service, automatic graph layout, best practices for scientific computing, FAIR Principles, open source, open development
- Copyright
- © 2016 Dahlquist et al.
- Licence
- This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Preprints) and either DOI or URL of the article must be cited.
- Cite this article
- 2016. GRNsight: a web application and service for visualizing models of small- to medium-scale gene regulatory networks. PeerJ Preprints 4:e2068v2 https://doi.org/10.7287/peerj.preprints.2068v2
Abstract
GRNsight is a web application and service for visualizing models of gene regulatory networks (GRNs). A gene regulatory network consists of genes, transcription factors, and the regulatory connections between them which govern the level of expression of mRNA and protein from genes. The original motivation came from our efforts to perform parameter estimation and forward simulation of the dynamics of a differential equations model of a small GRN with 21 nodes and 31 edges. We wanted a quick and easy way to visualize the weight parameters from the model which represent the direction and magnitude of the influence of a transcription factor on its target gene, so we created GRNsight. GRNsight automatically lays out either an unweighted or weighted network graph based on an Excel spreadsheet containing an adjacency matrix where regulators are named in the columns and target genes in the rows, a Simple Interaction Format (SIF) text file, or a GraphML XML file. When a user uploads an input file specifying an unweighted network, GRNsight automatically lays out the graph using black lines and pointed arrowheads. For a weighted network, GRNsight uses pointed and blunt arrowheads, and colors the edges and adjusts their thicknesses based on the sign (positive for activation or negative for repression) and magnitude of the weight parameter. GRNsight is written in JavaScript, with diagrams facilitated by D3.js, a data visualization library. Node.js and the Express framework handle server-side functions. GRNsight’s diagrams are based on D3.js’s force graph layout algorithm, which was then extensively customized to support the specific needs of GRNs. Nodes are rectangular and support gene labels of up to 12 characters. The edges are arcs, which become straight lines when the nodes are close together. Self-regulatory edges are indicated by a loop. When a user mouses over an edge, the numerical value of the weight parameter is displayed. Visualizations can be modified by sliders that adjust the force graph layout parameters and through manual node dragging. GRNsight is best-suited for visualizing networks of fewer than 35 nodes and 70 edges, although it accepts networks of up to 75 nodes or 150 edges. GRNsight has general applicability for displaying any small, unweighted or weighted network with directed edges for systems biology or other application domains. GRNsight serves as an example of following and teaching best practices for scientific computing and complying with FAIR Principles, using an open and test-driven development model with rigorous documentation of requirements and issues on GitHub. An exhaustive unit testing framework using Mocha and the Chai assertion library consists of around 160 automated unit tests that examine nearly 530 test files to ensure that the program is running as expected. The GRNsight application (http://dondi.github.io/GRNsight/) and code (https://github.com/dondi/GRNsight) are available under the open source BSD license.
Author Comment
This version has been revised according to reviewer comments on the previous version which was submitted to PeerJ Computer Science. In particular, we describe the addition of import and export functionality to GRNsight for the commonly used network exchange formats SIF and GraphML. The Introduction and Methods have been revised to clarify the rationale of our design choices with regard to other graph visualization software. There is now a more thorough discussion of the biological interpretation of the results with regard to the display of a weighted graph. Finally, we evaluate the level GRNsight's compliance with the FAIR Guiding Principles for scientific data management and stewardship (Wilkinson et al. 2016, DOI: 10.1038/sdata.2016.18).