Software Development

Why Develop Software Tools?

For many scientists, statistical methods are inaccessible until they are implemented as software tools. We believe it is critical to put powerful software tools into the hands of data generating scientists so that they can fully utilize their data.

Improving Software for Quantitative Trait Loci (QTL) Mapping

We have contributed to the design, implementation and testing of many of the current functions in R/qtl in collaboration with Dr Karl Broman at the University of Wisconsin Madison. R/qtl is an extensible, interactive environment for mapping quantitative trait loci (QTL) in experimental populations derived from inbred lines. It is implemented as an add-on package for the freely-available statistical software, R, and includes functions for estimating genetic maps, identifying genotyping errors, and performing single-QTL and two-dimensional, two-QTL genome scans by multiple methods, with the possible inclusion of covariates. We have also developed several extensions to R/qtl, for example, an investigator planning a QTL experiment has to choose which strains to cross, the type of cross, genotyping strategies, and the number of progeny to raise and phenotype. To help make such choices, we have developed an interactive program for power and sample size calculations for QTL experiments, R/qtlDesign.

Developing Microarray Analysis Software

We have also created software tools for the analysis of microarray data. R/maanova (MicroArray ANalysis Of VAriance) provides a complete work flow for microarray data analysis including: data quality checks and visualization, statistical tests including permutation, and cluster analysis. R/maanova is an extensible, interactive environment for microarray analysis implemented as an add-on package for R.

Promoting Accessibility to Software

We believe that new statistical methods must be accessible to the average member of the scientific community. This requires user friendly interfaces to facilitate the use of sophisticated statistical programs. One example is a software package for QTL analysis, J/qtl. There is no shortage of QTL mapping software packages, however there are none that match the power and flexibility of R/qtl. However, power and flexibility come at a price. The learning curve for R/qtl is steep and there are no guardrails in place to keep the analyst from veering off into dangerous territory. Everyone wants to do his or her own data analysis. This motivated us to develop a graphical user interface (GUI) to R/qtl. The J/qtl desktop application uses an intuitive point and click interface and is structured to guide an analyst through the appropriate sequence of steps.

Similarily motivated by a desire for accessibility, we have developed J/maanova to help the people without programming skills to analyze their microarray data. J/maanova is a graphical user interface for R/maanova. We are also currently developing tools with web-based interfaces which would enable researchers to more easily query and visualize their microarray data following statistical analysis.

Educating Existing and New Researchers to Use Software

Through the Center for Genome Dynamics we offer a high school course, Independent Studies in Computational Biology, and train students to perform both QTL and microarray analysis successfully in their research projects. Each Fall we also offer a Short Course on Systems Genetics which introduces researchers to our software through a series of lectures and computer workshops.



Software Development


Short Course on Systems Genetics
High School Course: ISCB


Archived Software

Example Publications

R/qtlDesign: inbred line cross experimental design
Sen S, Satagopan JM, Broman KW, Churchill GA.
Mamm Genome. 2007 Feb;18(2):87-93.
[ Full Text ]

R/qtl: QTL mapping in experimental crosses
Broman KW, Wu H, Sen S, Churchill GA.
Bioinformatics. 2003 May 1;19(7):889-90.
[ Full Text ]