Publications

September 12, 2016
Kam D. Dahlquist, John David N. Dionisio, Ben G. Fitzpatrick, Nicole A. Anguiano, Anindita Varshneya, Britain J. Southwick, Mihir Samdarshi. (2016) GRNsight: a web application and service for visualizing models of small- to medium-scale gene regulatory networks. PeerJ Computer Science 2:e85 https://doi.org/10.7717/peerj-cs.85

View HTML with embedded PDF
Download PDF (2.7 MB)
See peer review history

Note that preprints of this article were posted in PeerJ Preprints on May 23 and August 18, 2016.

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.

LMU Department of Biology Seminar Series

September 16, 2016
GRNmap and GRNsight: Using the power of genomics, mathematics,and open source visualization software to understand gene regulatory networks in yeast
Kam D. Dahlquist


Bioinformatics Open Source Conference (BOSC) 2016, Orlando, FL

July 9, 2016
GRNmap and GRNsight: open source software for dynamical systems modeling and visualization of medium-scale gene regulatory networks
Kam D. Dahlquist, Ben G. Fitzpatrick, John David N. Dionisio, Nicole A. Anguiano, Juan S. Carrillo, Trixie Anne M. Roque, Anindita Varshneya, Mihir Samdarshi, and Chukwuemeka Azinge

Abstract: A gene regulatory network (GRN) consists of genes, transcription factors, and the regulatory connections between them that govern the level of expression of mRNA and proteins from those genes. Over a period of several years, our group has developed a MATLAB software package, called GRNmap, that uses ordinary differential equations to model the dynamics of medium-scale GRNs. The program uses a penalized least squares approach (Dahlquist et al. 2015, DOI: 10.1007/s11538-015-0092-6) to estimate production rates, expression thresholds, and regulatory weights for each transcription factor in the network based on gene expression data, and then performs a forward simulation of the dynamics of the network. GRNmap has options for using a sigmoidal or Michaelis-Menten production function. The large number of developers and time span of development led to a code base that was difficult to revise and adjust. We therefore brought the code under version control in a GitHub repository and refactored the script-based software with global variables into a function-based package that uses an object to carry relevant information from function to function. This modular approach allows for cleaner, less ambiguous code and increased maintainability. We standardized the format of the input and output Excel workbooks, making them more readable. We also added an optimization diagnostics output worksheet which includes both the actual and theoretical minimum least squared error overall, and the mean squared errors for the individual genes. The MATLAB compiler was used to create an executable that can be run on any Windows machine without the need of a MATLAB license, increasing the accessibility of our program. Finally, we have implemented test-driven development, creating unit tests for all new features to speed up debugging and to prevent future code regressions. We are improving the test coverage of previous code.

GRNsight is an open source web application for visualizing such models of gene regulatory networks. GRNsight accepts GRNmap- or user-generated spreadsheets containing an adjacency matrix representation of the GRN and automatically lays out the graph of the GRN model. It is written in JavaScript, with diagrams facilitated by D3.js. 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. GRNsight uses pointed and blunt arrowheads, and colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. Visualizations can be modified through manual node dragging and sliders that adjust the force graph parameters. From the early stages, GRNsight has had a unit testing framework using Mocha and the Chai assertion library to perform test-driven development where unit tests are written before new functionality is coded. This framework consists of over 160 automated unit tests that examine over 450 test files to ensure that the program is running as expected. Error and warning messages inform the user what happened, the source of the problem, and possible solutions.

Together, the life cycle of these two programs illustrate the differences between the cultures of mathematics and computing, the challenges and benefits of bringing an existing code base up to open development standards (GRNmap), and the advantages of starting a project using best practices from the beginning (GRNsight). Our goal is to facilitate reproducible research.

Click here to view the slides on F1000Research.


Experimental Biology 2016, San Diego, CA

April 4, 2016
GRNmap and GRNsight: open source software for dynamical systems modeling and visualization of medium-scale gene regulatory networks
Kam D. Dahlquist, Ben G. Fitzpatrick, John David N. Dionisio, Nicole A. Anguiano, Juan S. Carrillo, Monica V. Hong, Kristen M. Horstmann, Kayla C. Jackson, K. Grace Johnson, Tessa A. Morris, Trixie Anne M. Roque, Mihir Samdarshi, Anindita Varshneya, Natalie E. Williams, and Kevin W. Wyllie

Abstract: A gene regulatory network (GRN) consists of genes, transcription factors, and the regulatory connections between them that govern the level of expression of mRNA and proteins from those genes. Our group has developed a MATLAB software package, called GRNmap, that uses ordinary differential equations to model the dynamics of medium-scale GRNs. The program uses a penalized least squares approach (Dahlquist et al. 2015, DOI: 10.1007/s11538-015-0092-6) to estimate production rates, expression thresholds, and regulatory weights for each transcription factor in the network based on gene expression data, and then performs a forward simulation of the dynamics of the network. GRNmap has options for using a sigmoidal or Michaelis-Menten production function. Parameters for a series of related networks, ranging in size from 15 to 35 genes, were optimized against DNA microarray data measuring the transcriptional response to cold shock in wild type and five strains individually deleted for the transcription factors, Cin5, Gln3, Hap4, Hmo1, Zap1, of budding yeast, Saccharomyces cerevisiae BY4741. Model predictions fit the experimental data well, within the 95% confidence interval. Open source code and a compiled executable that can run without a MATLAB license are available from http://kdahlquist.github.io/GRNmap/. GRNsight is an open source web application for visualizing such models of gene regulatory networks. GRNsight accepts GRNmap- or user-generated spreadsheets containing an adjacency matrix representation of the GRN and automatically lays out the graph of the GRN model. The application colors the edges and adjusts their thicknesses based on the sign (activation or repression) and the strength (magnitude) of the regulatory relationship, respectively. Users can then modify the graph to define the best visual layout for the network. The GRNsight open source code and application are available from http://dondi.github.io/GRNsight/index.html.

Presentation slides from GRNsight on SlideShare

5th Annual Southern California Systems Biology Conference

January 31, 2015
GRNmap and GRNsight: Open Source Software for Dynamical Systems Modeling and Visualization of Medium-Scale Gene Regulatory Networks
Kam D. Dahlquist, Ben G. Fitzpatrick, John David N. Dionisio, Nicole A. Anguiano, Juan S. Carrillo, Nicholas A. Rohacz, Katrina Sherbina, Britain J. Southwick, and Anindita Varshneya

Abstract: A gene regulatory network (GRN) consists of genes, transcription factors, and the regulatory connections between them that govern the level of expression of mRNA and proteins from those genes. Our group has developed a MATLAB software package, called GRNmap, that uses ordinary differential equations to model the dynamics of medium-scale GRNs. The program uses a penalized least squares approach to estimate production rates, expression thresholds, and regulatory weights for each transcription factor in the network based on gene expression data, and then performs a forward simulation of the dynamics of the network. Parameters for a 21-gene network were optimized against DNA microarray data measuring the transcriptional response to cold shock in wild type and four transcription factor deletion strains of budding yeast, Saccharomyces cerevisiae. Model predictions fit experimental data well, within the 95% confidence interval. Open source code and a compiled executable that can run without a MATLAB license are available from http://kdahlquist.github.io/GRNmap/. GRNsight is an open source web application for visualizing such models of gene regulatory networks. GRNsight accepts GRNmap- or user-generated spreadsheets containing an adjacency matrix representation of the GRN and automatically lays out the graph of the GRN model. The application colors the edges and adjusts their thicknesses based on the sign (activation or repression) and the strength (magnitude) of the regulatory relationship, respectively. Users can then modify the graph to define the best visual layout for the network. The GRNsight code and application are available from http://dondi.github.io/GRNsight/index.html. This work was partially supported by NSF award 0921038.

Presentation slides from GRNsight on SlideShare

Loyola Marymount University CMSI 402 Presentation

May 8, 2014
GRNsight: a Web Application for Visualizing Models of Gene Regulatory Networks
Britain Southwick

Presentation slides from GRNsight on SlideShare

Loyola Marymount University 6th Annual Undergraduate Research Symposium

March 29, 2014
GRNsight: a Web Application for Visualizing Models of Gene Regulatory Networks
Britain Southwick, Nicole Anguiano
John David N. Dionisio, Kam D. Dahlquist, Ben G. Fitzpatrick

Abstract: A gene regulatory network (GRN) consists of genes, transcription factors, and the regulatory connections between them, which govern the level of expression of mRNA and protein from those genes. GRNs can be mathematically modeled and simulated by applications such as GRNmap, a MATLAB program that estimates the parameters and performs forward simulations of a differential equations model of a GRN. Computer representations of GRNs, such as the models output by GRNmap, are tabular spreadsheets that are not easily interpretable. Ideally, GRNs should be displayed as diagrams (graphs) detailing the regulatory relationships (edges) between each gene (node) in the network. To address this need, we developed GRNsight. GRNsight is an open source web application for visualizing mathematical models of GRNs. It allows users to upload spreadsheets generated by GRNmap and uses the information in these spreadsheets to automatically create and display a graph of the GRN model. The application colors the edges and adjusts their thickness based on the sign (activation or repression) and the strength (magnitude) of the regulatory relationship, respectively. Finally, GRNsight then allows the user to modify the graph in order to define the best visual layout for the network. Most of GRNsight is written in JavaScript. HTTP requests are handled using Node.js and the Express framework. Graphs are generated through D3.js, a JavaScript data visualization library.

Presentation slides from GRNsight on SlideShare

Bioinformatics Open Source Conference (BOSC) 2016 and Intelligent Systems for Molecular Biology (ISMB) 2016, Orlando, FL

July 8-12, 2016
GRNmap and GRNsight: open source software for dynamical systems modeling and visualization of medium-scale gene regulatory networks
Kam D. Dahlquist, Ben G. Fitzpatrick, John David N. Dionisio, Nicole A. Anguiano, Juan S. Carrillo, Tessa A. Morris, Anindita Varshneya, Natalie E. Williams, K. Grace Johnson, Trixie Anne M. Roque, Kristen M. Horstmann, Mihir Samdarshi, Chukwuemeka E. Azinge, Brandon J. Klein, Margaret J. O’Neil1

Abstract: A gene regulatory network (GRN) consists of genes, transcription factors, and the regulatory connections between them that govern the level of expression of mRNA and proteins from those genes. Our open source MATLAB software package, GRNmap (http://kdahlquist.github.io/GRNmap/), uses ordinary differential equations to model the dynamics of medium-scale GRNs. The program uses a penalized least squares approach (Dahlquist et al. 2015, DOI: 10.1007/s11538-015-0092-6) to estimate production rates, expression thresholds, and regulatory weights for each transcription factor in the network based on gene expression data, and then performs a forward simulation of the dynamics of the network. GRNmap has options for using a sigmoidal or Michaelis-Menten production function. Parameters for a series of related networks, ranging in size from 15 to 35 genes, were optimized against DNA microarray data measuring the transcriptional response to cold shock in budding yeast, Saccharomyces cerevisiae, for the wild type strain and strains deleted for the transcription factors Cin5, Gln3, Hap4, Hmo1, and Zap1, giving biological insights into this process. GRNsight is an open source web application for visualizing such models of gene regulatory networks (http://dondi.github.io/GRNsight/index.html). GRNsight accepts GRNmap- or user-generated Excel spreadsheets containing an adjacency matrix representation of the GRN and automatically lays out the graph. The application colors the edges and adjusts their thicknesses based on the sign (activation or repression) and the strength (magnitude) of the regulatory relationship, respectively. Users can then modify the graph to define the best visual layout for the network. This work was partially supported by NSF award 0921038.

Click here to view the poster on F1000Research. Click here to view poster from GRNsight on SlideShare.

Experimental Biology 2016, San Diego, CA

April 4, 2016
Test-driven development improves GRNsight: a web application for visualizing models of gene regulatory networks
Anindita Varshneya, Mihir Samdarshi, Kam D. Dahlquist, John David N. Dionisio, and Ben G. Fitzpatrick

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. GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN, can mathematically model the dynamics of GRNs. GRNsight automatically lays out the network graph based on GRNmap output spreadsheets. GRNsight uses pointed and blunt arrowheads, and colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. Visualizations can be modified through manual node dragging and sliders that adjust the force graph parameters. We have now implemented an exhaustive unit testing framework using Mocha and the Chai assertion library to perform test-driven development where unit tests are written before new functionality is coded. This framework consists of over 135 automated unit tests that examine about 450 test files to ensure that the program is running as expected. Error and warning messages have a three-part framework that informs the user what happened, the source of the problem, and possible solutions. For example, GRNsight returns an error when the spreadsheet is formatted incorrectly or the maximum number of nodes or edges is exceeded. The completion of the testing framework marks the close of development for version 1 (the current release stands at version 1.12). In version 2.0 of GRNsight, a new feature will be implemented that colors the nodes (genes) based on the expression data. The user will have the choice to display the experimental data or the data produced by the forward simulation feature in GRNmap. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare


Loyola Marymount University 8th Annual Undergraduate Research Symposium

March 19, 2016
Test-driven development improves GRNsight: a web application for visualizing models of gene regulatory networks
Anindita Varshneya, Mihir Samdarshi, Kam D. Dahlquist, John David N. Dionisio, and Ben G. Fitzpatrick

Abstract: GRNsight is an open source 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. GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN, can mathematically model the dynamics of GRNs. GRNsight automatically lays out the network graph based on GRNmap output spreadsheets. GRNsight uses pointed and blunt arrowheads, and colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. Visualizations can be modified through manual node dragging and sliders that adjust the force graph parameters. We have now implemented an exhaustive unit testing framework using Mocha and the Chai assertion library to perform test-driven development where unit tests are written before new functionality is coded. This framework consists of over 160 automated unit tests that examine over 450 test files to ensure that the program is running as expected. Error and warning messages inform the user what happened, the source of the problem, and possible solutions. The completion of the testing framework marks the close of development for version 1 (the current release stands at version 1.12). In version 2.0 of GRNsight, a new feature will be implemented that colors the nodes (genes) based on expression data provided by GRNmap. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare

40th Annual West Coast Biological Sciences Undergraduate Research Conference

April 25, 2015
Improvements to GRNsight: a Web Application for Visualizing Models of Gene Regulatory Networks
Nicole Anguiano, Anindita Varshneya, Kam D. Dahlquist, John David N. Dionisio, and Ben G. Fitzpatrick

Abstract: GRNsight is a web application and service for visualizing models of gene regulatory networks (GRN). 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. GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN, can mathematically model GRNs. The general graph visualization tools that exist for displaying GRNs did not fulfill our needs, so we created GRNsight. GRNsight automatically lays out the network graph based on spreadsheets uploaded from GRNmap. GRNsight colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. GRNsight uses pointed and blunt arrowheads to indicate activation and repression, respectively. Visualizations can be modified through manual node dragging and sliders that adjust the force layout parameters. Since version 1.0, GRNsight has acquired significant user interface improvements, bug fixes, extended robustness to errors, and aesthetic refinements. Demo spreadsheets are now available for users who do not have their own models. GRNsight's current release is version 1.10, with beta version 1.11 available for testing new features. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare

Loyola Marymount University 7th Annual Undergraduate Research Symposium

March 21, 2015
Improvements to GRNsight: a Web Application for Visualizing Models of Gene Regulatory Networks
Nicole Anguiano, Anindita Varshneya, Kam D. Dahlquist, John David N. Dionisio, and Ben G. Fitzpatrick

Abstract: GRNsight is a web application and service for visualizing models of gene regulatory networks (GRN). 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. GRNs can be mathematically modeled by GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN. The general graph visualization tools that exist for displaying GRNs did not fulfill our needs, so we created GRNsight. GRNsight automatically lays out the network graph based on spreadsheets uploaded from GRNmap. It is written in JavaScript, with diagrams facilitated by D3.js. 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 GRN visualization. GRNsight colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. GRNsight uses pointed and blunt arrowheads to indicate activation and repression, respectively. Visualizations can be modified through manual node dragging and sliders that adjust D3.js’s force layout parameters. Since version 1.0, GRNsight has acquired significant user interface improvements, bug fixes, extended robustness to errors in file formats, and aesthetic refinements, particularly for edge markers. Demo spreadsheets are now available for users who do not have their own models. GRNsight's current release is version 1.8, with beta version 1.9 available for testing new features. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare

5th Annual Southern California Systems Biology Conference

January 31, 2015
Improvements to GRNsight: a Web Application for Visualizing Models of Gene Regulatory Networks
Nicole Anguiano, Anindita Varshneya, Britain J. Southwick, Kam D. Dahlquist, John David N. Dionisio, and Ben G. Fitzpatrick

Abstract: GRNsight is a web application and service for visualizing models of gene regulatory networks (GRN). 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. GRNs can be mathematically modeled by applications such as GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN. GRNsight automatically lays out the network graph based on spreadsheets uploaded from GRNmap. It is written in JavaScript, with diagrams facilitated by D3.js. 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 GRN visualization. GRNsight colors the edges and adjusts their thicknesses based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. GRNsight uses pointed and blunt arrowheads to indicate activation and repression, respectively. When a user mouses over an edge, the numerical value of the weight parameter is displayed. Visualizations can be modified through manual node dragging and sliders that adjust D3.js’s force layout parameters. Since version 1.0, GRNsight has acquired significant user interface improvements, bug fixes, extended robustness to errors in file formats, and aesthetic refinements, particularly for edge markers. Demo spreadsheets are now available for users who do not have their own models. GRNsight's current release is version 1.8, with beta version 1.9 available for testing new features. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare

2014 Southern California Conference for Undergraduate Research

November 22, 2014
GRNsight: A Web Application for Visualizing Models of Gene Regulatory Networks
Nicole Anguiano, Anindita Varshneya, John David N. Dionisio, Kam D. Dahlquist, Ben G. Fitzpatrick

Abstract: GRNsight is a web application and service for visualizing models of gene regulatory networks (GRN). 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. GRNs can be mathematically modeled by applications such as GRNmap, a MATLAB program that performs parameter estimation and forward simulation of a differential equations model of a GRN. The general graph visualization tools that exist for displaying GRNs did not fulfill our needs, so we created GRNsight. GRNsight automatically lays out the network graph based on spreadsheets uploaded from GRNmap. It 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 GRN visualization. GRNsight colors the edges and adjusts their thickness based on the sign (activation or repression) and magnitude of the GRNmap weight parameter. GRNsight uses arrowheads and perpendicular line segments to indicate activation and repression, respectively. When a user mouses over an edge, the numerical value of the weight parameter is displayed. Visualizations can be modified through manual node dragging and sliders that adjust D3.js’s force layout parameters. GRNsight follows an open development model with rigorous documentation of requirements and issues on GitHub. Since version one, GRNsight has acquired significant user interface improvements, bug fixes, extended robustness to errors in file formats, and aesthetic refinements, particularly for edge markers. Demo spreadsheets are now available for users who do not have their own models. GRNsight's current release is version 1.6, with beta version 1.7 available for testing new features. GRNsight is available at http://dondi.github.io/GRNsight/.

Poster from GRNsight on SlideShare