Department of Ecology & Evolutionary Biology
The University of Arizona
|Topic:||Mesquite: A Modular Programming System for Evolutionary Biology|
|Date:||Thursday, October 5, 2000|
|Place:||Gould-Simpson, Room 701|
Mesquite is intended to provide an extendable, modular system for computation in evolutionary biology, with emphasis on phylogenetic trees and their interpretation. Analyses are done by groups of cooperating modules, which are chosen by the user from among an array of alternative modules of particular subclasses (e.g., there are alternative sources of character matrices, sources of trees, calculators of numbers for trees, visualizers, and so on). This allows a great diversity of possible analyses, but poses the challenge of how to make the system as easily understood by the user as a traditional program with fixed limits. For instance, how to compose the GUI elements such as menus when the set of modules that might be actively requesting menu items is unpredictable? How to present user documentation for a system whose available controls could change minute to minute? How to save a snapshot of the current state of analyses with the user's data files? The solutions to these and other puzzles have fallen fairly naturally out of the way that modules hire other modules as employees to form a tree-like bureaucratic structure of active modules.