SOFTWARE REFACTORING AND USABILITY ENHANCEMENT FOR GRNMAP, A GENE REGULATORY NETWORK MODELING APPLICATION
Juan S. Carrillo, Kam D. Dahlquist, Benjamin G. Fitzpatrick.
Loyola Marymount University, Los Angeles, CA.
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. The dynamics of a GRN is how gene expression in the network changes over time. Over a period of several years, our group has developed a complex MATLAB software package called GRNmap that uses ordinary differential equations to model the dynamics of a 21-transcription factor GRN from budding yeast, Saccharomyces cerevisiae. The program estimates production rates, expression thresholds, and regulatory weights for each transcription factor in the network based on DNA microarray data and then performs a forward simulation of the dynamics of the network. The large number of developers and time span of development led to a code base that is difficult to revise and adjust. We therefore 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. Further revisions to the model will also be easier to implement. In addition, we have added a simple user interface, removing the need for users to edit MATLAB code. Finally, after the code was refactored and tested, we used the MATLAB compiler to create an executable file that can be run on any Windows machine without the need of a MATLAB license, increasing the accessibility of our program.