SlideShare a Scribd company logo
Test-driven development improves GRNsight: a web
application for visualizing models of gene regulatory networks
Anindita Varshneya*, Nicole Anguiano**, Mihir Samdarshi*, Kam D. Dahlquist*, John David N. Dionisio**, and Ben G. Fitzpatrick***
*Department of Biology, **Department of Electrical Engineering and Computer Science, ***Department of Mathematics, Loyola Marymount University, 1 LMU Drive, Los Angeles, CA 90045
http://dondi.github.io/GRNsight/
• The central dogma of molecular biology describes the flow of information in
a cell during gene expression from DNA to RNA to protein.
• Transcription factors control gene expression by binding to regulatory DNA
sequences.
• Activators increase gene expression.
• Repressors decrease gene expression.
• Transcription factors are themselves proteins encoded by genes.
Freeman (2002)
• 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 proteins from those genes.
• Each node represents the gene, the mRNA, and the protein expressed
from the gene.
• Each edge represents a regulatory relationship.
• All the nodes are transcription factors themselves.
• The MATLAB model is available at http://kdahlquist.github.io/GRNmap/
• GRNmap is a differential equations model of the changes in gene
expression over time for a gene regulatory network (Dahlquist et al. 2015).
• Each gene (node) in the network has an equation.
• The parameters in the model are estimated from laboratory data.
• The weight parameter, w, gives the direction (activation or repression) and
magnitude of the regulatory relationship.
• GRNmap produces an Excel spreadsheet with an adjacency matrix
representing the network.
GRNsight Accepts Microsoft Excel Files (.xlsx)
in the Proper Format
• Excel workbooks need a “network” sheet (for unweighted graphs) or a
“network_optimized_weights” sheet (for weighted graphs).
• The adjacency matrix can be symmetrical or asymmetrical.
• GRNmap input and output workbooks are accepted without adjustment.
• Adjacency matrices generated from other databases, such as
YEASTRACT (Miguel et al., 2014), can be used with some modification.
Future Directions
Acknowledgments
References
• Further expand and refine the unit testing framework.
• Calculate and present other graph statistics.
• Add node coloring based on expression data.
• This work is partially supported by NSF award 0921038 (K.D.D., B.G.F.), a
Kadner-Pitts Research Grant (K.D.D.), the Loyola Marymount University
Rains Research Assistant Program (N.A.A.), and the Loyola Marymount
University Summer Undergraduate Research Program (A.V.).
• Chai: http://chaijs.com/
• Dahlquist, K.D., Fitzpatrick, B.G., Camacho, E.T., Entzminger, S.D., and Wanner, N.C. (2015) Parameter Estimation for
Gene Regulatory Networks from Microarray Data: Cold Shock Response in Saccharomyces cerevisiae. Bulletin of
Mathematical Biology, 77(8), 1457-1492, DOI: 10.1007/s11538-015-0092-6
• D3.js: http://d3js.org/
• Express Framework: http://expressjs.com/
• Freeman, S. (2002) Biological Science. Upper Saddle River, New Jersey: Prentice Hall.
• GRNmap: http://kdahlquist.github.io/GRNmap/
• node.js: http://nodejs.org/
• Mocha: http://mochajs.org/
• Teixeira, M. C., Monteiro, P. T., Guerreiro, J. F., Gonçalves, J. P., Mira, N. P., dos Santos, S. C., ... & Madeira, S. C.
(2014). The YEASTRACT database: an upgraded information system for the analysis of gene and genomic transcription
regulation in Saccharomyces cerevisiae. Nucleic Acids Research, 42(D1), D161-D166, DOI: 10.1093/nar/gkt1015
Implemented Mocha Unit Testing Framework
Beta Version Allows for Testing of New Features
• A beta version of GRNsight was created to allow for testing of new features
and catching any potential new errors before releasing to the master set of
code.
New Unit Testing Framework Implemented
• In order to follow Test Driven Development (TDD) practices, a unit testing
framework was created with 161 passing tests covering over 500 test files.
• Unit testing is now executed through Mocha, a JavaScript test framework
running on node.js and are written in Chai, an assertion library for node.js.
Gene Regulatory Networks Can Be Illustrated
by Directed Graphs
GRNmap: Gene Regulatory Network Modeling
and Parameter Estimation
GRNsight Has Sophisticated Architecture and Follows Open Source Development Practices
GRNsight Automatically Lays Out Unweighted and Weighted Networks
GRNsight has a service-oriented architecture
• GRNsight has two pieces: a server and a web client.
• The server uses the node.js framework to receive and parse the Excel
spreadsheet uploaded by the user.
• The web client receives the data from the server and generates the
graph visualization.
Excel Spreadsheet Unweighted graph drawn
manually with Adobe Illustrator
Produced in ~10 milliseconds
Produced in several hours
2
2. Force Graph Parameter Sliders
• Link distance determines the
minimum distance between nodes.
• Nodes have a charge, which repels
or attracts other nodes.
• The charge distance determines at
what range a node’s charge will
affect other nodes.
• Gravity determines the strength of
the force holding the nodes to the
center of the graph.
• Reset functionality sets all
parameters to default settings
• Locking the parameters prevents
any further changes
1. Menu Bar
• Four demo files can be found in the
“Demo” menu for users who do not
have their own data.
• Print functionality is accessed from
the “File” menu option.
• “File > Reload” reloads the current
graph with the active settings.
• In the “Edit > Preferences” menu,
the user can select for weighted
graphs to be displayed as
unweighted graphs.
3. Weighted graph laid out automatically
Unweighted graph laid out
automatically by GRNsight and
adjusted by hand
Produced in ~5 minutes
Weighted graph laid out
automatically by GRNsight
and adjusted by hand
Produced in ~5 minutes
The User Interface is Compatible with Firefox and Chrome Browsers
• GRNsight has been tested with and confirmed to be working in Chrome version 43.0.2357.65 or higher and
Firefox version 38.0.1 or higher on Windows 7 and Mac OS X operating systems.
• File upload is through a simple HTML form element.
• Nodes are displayed as interactive HTML elements, and can be clicked and moved.
GRNsight implementation takes advantage of other open source tools
• GRNsight uses the Data-Driven Documents (D3) JavaScript library to generate a graph derived from input
network data.
• D3 dynamically manipulates HTML and Scalable Vector Graphics (SVG) to form the elements of the graph.
• GRNsight implements D3’s force layout algorithm which applies a physics-based simulation to the graph.
• D3 also allows for the fine tuning of Cascading Style Sheets (CSS), the code that styles web pages.
• GRNsight follows an open development model using an open source github.com code repository and issue
tracking.
3. Nodes, Edges, and Arrows
• The absolute values of each weight parameter are normalized to a value between 0 and 1. The
thicknesses of the lines are adjusted to vary continuously from the minimum thickness (for
normalized weights near zero) to the maximum thickness (normalized weights of 1).
• Edges with negative weights (repression) are colored cyan; edges with positive weights (activation)
are colored magenta; edges with normalized weight values between -0.05 and 0.05 are colored grey
to signify a weak influence on the target gene.
• 0 represents no relationship.
• Initially, 1 represents a regulatory relationship where the gene specified by
the column controls the gene specified by the rows.
• After the parameters have been estimated, a positive weight value
indicates activation and a negative weight value indicates repression.
• The magnitude of the weight defines the strength of the relationship.
However, GRNmap does not generate a visual representation of GRNs.
1
Error Catching was Greatly Improved
• Robustness was greatly extended.
• Instead of crashing when given an improperly formatted or incorrect file,
GRNsight returns an error in a modal window.
4
4. Status Bar
• The name of the uploaded file is displayed.
• The number of nodes and edges of the graph are displayed in the far right hand side.
• GRNsight is free and open to all users and there
is no login requirement.
• Web site content is available under the Creative
Commons Attribution Non-Commercial Share
Alike license.
• GRNsight code is available under the open
source BSD license.
• Usage is being tracked through Google
Analytics.
Warnings Are Returned In Cases of Non-Fatal Improper Spreadsheets
• In cases where non-fatal errors exist in the format or data of an uploaded
spreadsheet, the adjacency matrix is graphed, and a warning box
appears.
• Warnings clearly state which
row(s) or cell(s) may have
incorrect data.
• The warning box can be closed
and reopened at any time via a
hyperlink underneath Force
Graph Parameter sliders.
DNA
RNA
Protein
2048 total visitors and
1440 files uploaded as of
8 March 2016
Write test for
new
functionality
Write
Code
Refactor
Code
Test Fails
Test Passes
Test Passes
Test Coverage Statistics
Statements: 72% (124/172)
Branches: 86% (60/70)
Functions: 64% (18/28)
Lines: 73% (124/171)
Availability

More Related Content

PPTX
Southwick anguiano lmu-symposium_presentation_20140329
GRNsight
 
PPTX
Southwick britain gr_nsight_cmsi402-presentation_20140508
GRNsight
 
PPTX
Anguiano varshneya lmu_symposium_2015
GRNsight
 
PPTX
Anguiano varshneya sccur-poster_20141122
GRNsight
 
PPTX
Dahlquist bosc 20160709
GRNsight
 
PPTX
Dahlquist so calsysbio_20140131
GRNsight
 
PPTX
Dahlquist experimental biology_20160404
GRNsight
 
PPTX
Global Mutable State Analysis in Spring MVC Applications
jsinglet
 
Southwick anguiano lmu-symposium_presentation_20140329
GRNsight
 
Southwick britain gr_nsight_cmsi402-presentation_20140508
GRNsight
 
Anguiano varshneya lmu_symposium_2015
GRNsight
 
Anguiano varshneya sccur-poster_20141122
GRNsight
 
Dahlquist bosc 20160709
GRNsight
 
Dahlquist so calsysbio_20140131
GRNsight
 
Dahlquist experimental biology_20160404
GRNsight
 
Global Mutable State Analysis in Spring MVC Applications
jsinglet
 

What's hot (11)

PDF
Learning to Learn by Gradient Descent by Gradient Descent
Katy Lee
 
PPTX
Pruning convolutional neural networks for resource efficient inference
Kaushalya Madhawa
 
ODP
Consistency in Distributed Systems
Shane Johnson
 
PPTX
Load balancing in cloud
Souvik Maji
 
PDF
Task Scheduling in Grid Computing.
Ramandeep Kaur
 
PPTX
ICML 2017 Meta network
Katy Lee
 
PDF
DQN Variants: A quick glance
Tejas Kotha
 
PDF
Cloud Partitioning of Load Balancing Using Round Robin Model
IJCERT
 
PDF
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
Soumya Banerjee
 
PPTX
Presented by Ahmed Abdulhakim Al-Absi - Scaling map reduce applications acro...
Absi Ahmed
 
PDF
C055011012
inventy
 
Learning to Learn by Gradient Descent by Gradient Descent
Katy Lee
 
Pruning convolutional neural networks for resource efficient inference
Kaushalya Madhawa
 
Consistency in Distributed Systems
Shane Johnson
 
Load balancing in cloud
Souvik Maji
 
Task Scheduling in Grid Computing.
Ramandeep Kaur
 
ICML 2017 Meta network
Katy Lee
 
DQN Variants: A quick glance
Tejas Kotha
 
Cloud Partitioning of Load Balancing Using Round Robin Model
IJCERT
 
A Multi-Agent System Approach to Load-Balancing and Resource Allocation for D...
Soumya Banerjee
 
Presented by Ahmed Abdulhakim Al-Absi - Scaling map reduce applications acro...
Absi Ahmed
 
C055011012
inventy
 
Ad

Viewers also liked (20)

PPTX
Dahlquist et-al bosc-ismb_2016_poster
GRNsight
 
PPTX
Wordpress web application Slide Show
Chetan Patil
 
PPTX
PAVE
Mike Wilhelm
 
PDF
How to write Testable Javascript
ColdFusionConference
 
ZIP
Automated Frontend Testing
Neil Crosby
 
PDF
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
Gavin Pickin
 
PDF
Javascript Unit Testing Tools
PixelCrayons
 
PDF
Introduction To Web Application Testing
Ynon Perek
 
PPTX
Web based automation testing on Node.js environment
Yu-Lin Huang
 
PPT
Test Automation With Cucumber JVM, Selenium, and Mocha
Salesforce Developers
 
PDF
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
Suzie Prince
 
PPTX
An Introduction to Unit Testing
Joe Tremblay
 
PPTX
Browser Automated Testing Frameworks - Nightwatch.js
Luís Bastião Silva
 
PPT
Continuous integration
amscanne
 
PDF
Outside In - Behaviour Driven Development (BDD)
Naresh Jain
 
PDF
Testing Web Applications
Seth McLaughlin
 
PDF
Fullstack End-to-end test automation with Node.js, one year later
Mek Srunyu Stittri
 
PDF
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
PPTX
Jenkins - From Continuous Integration to Continuous Delivery
Virendra Bhalothia
 
PPTX
Web Application Testing
Richa Goel
 
Dahlquist et-al bosc-ismb_2016_poster
GRNsight
 
Wordpress web application Slide Show
Chetan Patil
 
How to write Testable Javascript
ColdFusionConference
 
Automated Frontend Testing
Neil Crosby
 
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
Gavin Pickin
 
Javascript Unit Testing Tools
PixelCrayons
 
Introduction To Web Application Testing
Ynon Perek
 
Web based automation testing on Node.js environment
Yu-Lin Huang
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Salesforce Developers
 
DevOpsDays Baltimore March 2017 - Continuous Integration: A bittersweet love ...
Suzie Prince
 
An Introduction to Unit Testing
Joe Tremblay
 
Browser Automated Testing Frameworks - Nightwatch.js
Luís Bastião Silva
 
Continuous integration
amscanne
 
Outside In - Behaviour Driven Development (BDD)
Naresh Jain
 
Testing Web Applications
Seth McLaughlin
 
Fullstack End-to-end test automation with Node.js, one year later
Mek Srunyu Stittri
 
Node.js and Selenium Webdriver, a journey from the Java side
Mek Srunyu Stittri
 
Jenkins - From Continuous Integration to Continuous Delivery
Virendra Bhalothia
 
Web Application Testing
Richa Goel
 
Ad

Similar to Varshneya samdarshi lmu_symposium_2016 (20)

PDF
How Graph Technology is Changing AI
Databricks
 
PPTX
20191107 deeplearningapproachesfornetworks
tm1966
 
PPTX
Social Network Analysis Using Gephi
Goa App
 
PDF
Software Metrics Course chapter 6 at Bahir Dar University
ethiobahirdarhotel
 
PDF
Workshop: Introduction to Cytoscape at UT-KBRIN Bioinformatics Summit 2014 (4...
Keiichiro Ono
 
PDF
Machine Learning Applications in Credit Risk
QuantUniversity
 
PDF
Poster (1)
Daniel Osei
 
PDF
The Evolution of Everything (EvE) and Genetic Programming
billwzel
 
PPTX
Computer Vision for Beginners
Sanghamitra Deb
 
PDF
[Apache Kafka® Meetup by Confluent] Graph-based stream processing
confluent
 
PPTX
weed detecion hhjjjjjhhbnjjjnjffhjjkkjhjjj
nareshjakaram5
 
PDF
Data Collection and Consumption
Brian Greig
 
PDF
Workshop - Build a Graph Solution
Neo4j
 
PPTX
Distributed Monte Carlo Feature Selection: Extracting Informative Features Ou...
Łukasz Król
 
PDF
Sybrandt Thesis Proposal Presentation
Justin Sybrandt, Ph.D.
 
PDF
2019 GDRR: Blockchain Data Analytics - QuTrack: Model Life Cycle Management f...
The Statistical and Applied Mathematical Sciences Institute
 
PPT
Biolayout Marblar Feb13
marblar
 
PPTX
Building the Resilient Grid NRECA SFA
Charles "Chuck" Speicher Jr.
 
PDF
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuantUniversity
 
PPTX
"Sparse Graph Attention Networks", IEEE Transactions on Knowledge and Data En...
ssuser2624f71
 
How Graph Technology is Changing AI
Databricks
 
20191107 deeplearningapproachesfornetworks
tm1966
 
Social Network Analysis Using Gephi
Goa App
 
Software Metrics Course chapter 6 at Bahir Dar University
ethiobahirdarhotel
 
Workshop: Introduction to Cytoscape at UT-KBRIN Bioinformatics Summit 2014 (4...
Keiichiro Ono
 
Machine Learning Applications in Credit Risk
QuantUniversity
 
Poster (1)
Daniel Osei
 
The Evolution of Everything (EvE) and Genetic Programming
billwzel
 
Computer Vision for Beginners
Sanghamitra Deb
 
[Apache Kafka® Meetup by Confluent] Graph-based stream processing
confluent
 
weed detecion hhjjjjjhhbnjjjnjffhjjkkjhjjj
nareshjakaram5
 
Data Collection and Consumption
Brian Greig
 
Workshop - Build a Graph Solution
Neo4j
 
Distributed Monte Carlo Feature Selection: Extracting Informative Features Ou...
Łukasz Król
 
Sybrandt Thesis Proposal Presentation
Justin Sybrandt, Ph.D.
 
2019 GDRR: Blockchain Data Analytics - QuTrack: Model Life Cycle Management f...
The Statistical and Applied Mathematical Sciences Institute
 
Biolayout Marblar Feb13
marblar
 
Building the Resilient Grid NRECA SFA
Charles "Chuck" Speicher Jr.
 
QuTrack: Model Life Cycle Management for AI and ML models using a Blockchain ...
QuantUniversity
 
"Sparse Graph Attention Networks", IEEE Transactions on Knowledge and Data En...
ssuser2624f71
 

Recently uploaded (20)

PPTX
Audio Editing and it's techniques in computer graphics.pptx
fosterbayirinia3
 
PPTX
10 Hidden App Development Costs That Can Sink Your Startup.pptx
Lunar Web Solution
 
PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
PDF
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Why Should Businesses Extract Cuisine Types Data from Multiple U.S. Food Apps...
devilbrown689
 
PDF
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
PDF
A REACT POMODORO TIMER WEB APPLICATION.pdf
Michael624841
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
RanuFajar1
 
PDF
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
DOCX
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
PDF
Become an Agentblazer Champion Challenge
Dele Amefo
 
PPTX
Save Business Costs with CRM Software for Insurance Agents
Insurance Tech Services
 
PDF
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
RanuFajar1
 
PPTX
Hire Expert Blazor Developers | Scalable Solutions by OnestopDA
OnestopDA
 
Audio Editing and it's techniques in computer graphics.pptx
fosterbayirinia3
 
10 Hidden App Development Costs That Can Sink Your Startup.pptx
Lunar Web Solution
 
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
ESUG
 
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
Become an Agentblazer Champion Challenge Kickoff
Dele Amefo
 
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Hironori Washizaki
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Why Should Businesses Extract Cuisine Types Data from Multiple U.S. Food Apps...
devilbrown689
 
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
A REACT POMODORO TIMER WEB APPLICATION.pdf
Michael624841
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Materi-Enum-and-Record-Data-Type (1).pptx
RanuFajar1
 
Build Multi-agent using Agent Development Kit
FadyIbrahim23
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
The Future of Smart Factories Why Embedded Analytics Leads the Way
Varsha Nayak
 
Become an Agentblazer Champion Challenge
Dele Amefo
 
Save Business Costs with CRM Software for Insurance Agents
Insurance Tech Services
 
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
Materi_Pemrograman_Komputer-Looping.pptx
RanuFajar1
 
Hire Expert Blazor Developers | Scalable Solutions by OnestopDA
OnestopDA
 

Varshneya samdarshi lmu_symposium_2016

  • 1. Test-driven development improves GRNsight: a web application for visualizing models of gene regulatory networks Anindita Varshneya*, Nicole Anguiano**, Mihir Samdarshi*, Kam D. Dahlquist*, John David N. Dionisio**, and Ben G. Fitzpatrick*** *Department of Biology, **Department of Electrical Engineering and Computer Science, ***Department of Mathematics, Loyola Marymount University, 1 LMU Drive, Los Angeles, CA 90045 http://dondi.github.io/GRNsight/ • The central dogma of molecular biology describes the flow of information in a cell during gene expression from DNA to RNA to protein. • Transcription factors control gene expression by binding to regulatory DNA sequences. • Activators increase gene expression. • Repressors decrease gene expression. • Transcription factors are themselves proteins encoded by genes. Freeman (2002) • 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 proteins from those genes. • Each node represents the gene, the mRNA, and the protein expressed from the gene. • Each edge represents a regulatory relationship. • All the nodes are transcription factors themselves. • The MATLAB model is available at http://kdahlquist.github.io/GRNmap/ • GRNmap is a differential equations model of the changes in gene expression over time for a gene regulatory network (Dahlquist et al. 2015). • Each gene (node) in the network has an equation. • The parameters in the model are estimated from laboratory data. • The weight parameter, w, gives the direction (activation or repression) and magnitude of the regulatory relationship. • GRNmap produces an Excel spreadsheet with an adjacency matrix representing the network. GRNsight Accepts Microsoft Excel Files (.xlsx) in the Proper Format • Excel workbooks need a “network” sheet (for unweighted graphs) or a “network_optimized_weights” sheet (for weighted graphs). • The adjacency matrix can be symmetrical or asymmetrical. • GRNmap input and output workbooks are accepted without adjustment. • Adjacency matrices generated from other databases, such as YEASTRACT (Miguel et al., 2014), can be used with some modification. Future Directions Acknowledgments References • Further expand and refine the unit testing framework. • Calculate and present other graph statistics. • Add node coloring based on expression data. • This work is partially supported by NSF award 0921038 (K.D.D., B.G.F.), a Kadner-Pitts Research Grant (K.D.D.), the Loyola Marymount University Rains Research Assistant Program (N.A.A.), and the Loyola Marymount University Summer Undergraduate Research Program (A.V.). • Chai: http://chaijs.com/ • Dahlquist, K.D., Fitzpatrick, B.G., Camacho, E.T., Entzminger, S.D., and Wanner, N.C. (2015) Parameter Estimation for Gene Regulatory Networks from Microarray Data: Cold Shock Response in Saccharomyces cerevisiae. Bulletin of Mathematical Biology, 77(8), 1457-1492, DOI: 10.1007/s11538-015-0092-6 • D3.js: http://d3js.org/ • Express Framework: http://expressjs.com/ • Freeman, S. (2002) Biological Science. Upper Saddle River, New Jersey: Prentice Hall. • GRNmap: http://kdahlquist.github.io/GRNmap/ • node.js: http://nodejs.org/ • Mocha: http://mochajs.org/ • Teixeira, M. C., Monteiro, P. T., Guerreiro, J. F., Gonçalves, J. P., Mira, N. P., dos Santos, S. C., ... & Madeira, S. C. (2014). The YEASTRACT database: an upgraded information system for the analysis of gene and genomic transcription regulation in Saccharomyces cerevisiae. Nucleic Acids Research, 42(D1), D161-D166, DOI: 10.1093/nar/gkt1015 Implemented Mocha Unit Testing Framework Beta Version Allows for Testing of New Features • A beta version of GRNsight was created to allow for testing of new features and catching any potential new errors before releasing to the master set of code. New Unit Testing Framework Implemented • In order to follow Test Driven Development (TDD) practices, a unit testing framework was created with 161 passing tests covering over 500 test files. • Unit testing is now executed through Mocha, a JavaScript test framework running on node.js and are written in Chai, an assertion library for node.js. Gene Regulatory Networks Can Be Illustrated by Directed Graphs GRNmap: Gene Regulatory Network Modeling and Parameter Estimation GRNsight Has Sophisticated Architecture and Follows Open Source Development Practices GRNsight Automatically Lays Out Unweighted and Weighted Networks GRNsight has a service-oriented architecture • GRNsight has two pieces: a server and a web client. • The server uses the node.js framework to receive and parse the Excel spreadsheet uploaded by the user. • The web client receives the data from the server and generates the graph visualization. Excel Spreadsheet Unweighted graph drawn manually with Adobe Illustrator Produced in ~10 milliseconds Produced in several hours 2 2. Force Graph Parameter Sliders • Link distance determines the minimum distance between nodes. • Nodes have a charge, which repels or attracts other nodes. • The charge distance determines at what range a node’s charge will affect other nodes. • Gravity determines the strength of the force holding the nodes to the center of the graph. • Reset functionality sets all parameters to default settings • Locking the parameters prevents any further changes 1. Menu Bar • Four demo files can be found in the “Demo” menu for users who do not have their own data. • Print functionality is accessed from the “File” menu option. • “File > Reload” reloads the current graph with the active settings. • In the “Edit > Preferences” menu, the user can select for weighted graphs to be displayed as unweighted graphs. 3. Weighted graph laid out automatically Unweighted graph laid out automatically by GRNsight and adjusted by hand Produced in ~5 minutes Weighted graph laid out automatically by GRNsight and adjusted by hand Produced in ~5 minutes The User Interface is Compatible with Firefox and Chrome Browsers • GRNsight has been tested with and confirmed to be working in Chrome version 43.0.2357.65 or higher and Firefox version 38.0.1 or higher on Windows 7 and Mac OS X operating systems. • File upload is through a simple HTML form element. • Nodes are displayed as interactive HTML elements, and can be clicked and moved. GRNsight implementation takes advantage of other open source tools • GRNsight uses the Data-Driven Documents (D3) JavaScript library to generate a graph derived from input network data. • D3 dynamically manipulates HTML and Scalable Vector Graphics (SVG) to form the elements of the graph. • GRNsight implements D3’s force layout algorithm which applies a physics-based simulation to the graph. • D3 also allows for the fine tuning of Cascading Style Sheets (CSS), the code that styles web pages. • GRNsight follows an open development model using an open source github.com code repository and issue tracking. 3. Nodes, Edges, and Arrows • The absolute values of each weight parameter are normalized to a value between 0 and 1. The thicknesses of the lines are adjusted to vary continuously from the minimum thickness (for normalized weights near zero) to the maximum thickness (normalized weights of 1). • Edges with negative weights (repression) are colored cyan; edges with positive weights (activation) are colored magenta; edges with normalized weight values between -0.05 and 0.05 are colored grey to signify a weak influence on the target gene. • 0 represents no relationship. • Initially, 1 represents a regulatory relationship where the gene specified by the column controls the gene specified by the rows. • After the parameters have been estimated, a positive weight value indicates activation and a negative weight value indicates repression. • The magnitude of the weight defines the strength of the relationship. However, GRNmap does not generate a visual representation of GRNs. 1 Error Catching was Greatly Improved • Robustness was greatly extended. • Instead of crashing when given an improperly formatted or incorrect file, GRNsight returns an error in a modal window. 4 4. Status Bar • The name of the uploaded file is displayed. • The number of nodes and edges of the graph are displayed in the far right hand side. • GRNsight is free and open to all users and there is no login requirement. • Web site content is available under the Creative Commons Attribution Non-Commercial Share Alike license. • GRNsight code is available under the open source BSD license. • Usage is being tracked through Google Analytics. Warnings Are Returned In Cases of Non-Fatal Improper Spreadsheets • In cases where non-fatal errors exist in the format or data of an uploaded spreadsheet, the adjacency matrix is graphed, and a warning box appears. • Warnings clearly state which row(s) or cell(s) may have incorrect data. • The warning box can be closed and reopened at any time via a hyperlink underneath Force Graph Parameter sliders. DNA RNA Protein 2048 total visitors and 1440 files uploaded as of 8 March 2016 Write test for new functionality Write Code Refactor Code Test Fails Test Passes Test Passes Test Coverage Statistics Statements: 72% (124/172) Branches: 86% (60/70) Functions: 64% (18/28) Lines: 73% (124/171) Availability

Editor's Notes

  • #2: Kill abstract Change to sans serif font Make title bigger Make title background white Use full names Super script to associate names with correct department Background color: make it dark green, make writing on white background and writing in black/dark green 4 columns!!! Smaller pictures Bold titles References can be 12pt Acknowledgements can be 16pt Everything else is 18-24pt Titles don’t need to be bigger than 36pt Remove circles from the arrowhead diagram, group the related labels together Include menu bar Testing/error handling – sample error (we don’t crash with errors!) Mouseovers for edges screenshot