Gary Yngve
| |||||||||
|
My research strives to make biological models and simulations more
understandable. Many researchers, including the designers of CellML and
members of the Physiome Project, have documented the cognitive gaps
between a high-level English/abstract representation of a model, a
mathematical/diagrammatic description of the model, and the computer-
readable code. Less discussed, but just as significant, is the gap
between
the numerical time-series per variable produced by the simulator and
the understanding of how the model behaves. These gaps make many tasks
difficult, including debugging, learning colleagues' models,
interoperability, modifying and curating models, fitting model
parameters, interpreting simulations, and comparing multiple simulations.
As part of my thesis, I have developed two interactive visualizations, the animated data browser and the model browser. These visualizations take the model code and the simulation data and provide a medium for them to be understood better. The testpiece for these visualizations has been a model from the Virtual Soldier Project that consists of over five hundred parameters and variables, representing the cardiovascular and respiratory systems, baroreceptor and chemoreceptor feedback control, blood gases, and assorted traumas and treatments. Members of James Bassingthwaighte's bioengineering lab are excited about my system. I plan on testing on my visualizations on models of metabolic pathways, as well as doing a formal user study to validate the visualizations' effectiveness. My animated data browser renders time-series data as animations. Though the data can come from any source, given the right format, the browser is designed to read the outputs of simulations run by the JSim simulation package. Using the time domain frees a spatial axis, allowing many variables to be animated at once. My system uses different visual analogies for different physical properties. For example, flow, pressure, and volume can be rendered simultaneously on the same icon by using a moving texture for flow, color for pressure, and size for volume. Variables are grouped anatomically, and the user can design a geographic layout. In addition to viscerally seeing an overview of the simulation data, the user can select specific variables for more detailed views. Even time-series graphs and phase plots benefit from animation. As part of the remainder of my thesis work and beyond, I want to investigate how animation could be used to compare the results of different simulations. My model browser provides a way for a developer to reason about the complexities of hundreds of variables and equations using a visual graph. Variables map to nodes, and dependencies in equations map to edges. The metadata present with the variables (fields such as units of measurement, variable type, anatomical tag, etc.) allows for a rich set of dynamic queries. With only a few operations, a user can pare several hundred variables down to just a handful of relevant variables, with further details available on demand. The user can combine sets of variables into merged entities, which helps with higher-level reasoning. The user can also browse the network of equation dependencies to study paths and feedback loops. Questions such as, "Does the model have baroreceptors in both the aortic and carotid sinuses?" can be answered with ease. As part of the remainder of my thesis work, I want to extend the model browser to aid in debugging specific classes of errors where type checking and units checking by the compiler would fail to find a problem, but visualization would quickly reveal an anomalous pattern. I am working with Erik Butterworth of UW Bioengineering to incorporate my visualizations into the JSim simulation package. The Mathemetical Modeling Language in JSim supports units-checking and tagging variables with metadata. Supplementing with the JSim compiler's dependency analysis of the equations provides a powerful infrastructure for visualizing and interacting with variables and equations. At present, my code operates as a separate program; we are currently developing APIs so that my visualizations and others can be plugins. The JSim package is going open-source, and I am excited to be a part of creating something that other people will use. I am extending my model browser to support hierarchical organization according to relationships in ontologies such as the Foundational Model of Anatomy. I think that such ontologies are particularly powerful in bringing qualitative meaning to quantitative data and to establishing links between biology and code. The first advantage to building an application ontology based on the FMA is to organize variables hierarchically, so instead of looking at several hundred variables at once, variables can be logically grouped into a tree so that no tree node has too many branches. Many more advantages could be available, by incorporating further informatics and enhancing the impressive but incomplete FMA. An interesting subproblem is making a novice-friendly means both to view a subset of the FMA and build an application ontology that has local terms and relations. A classic need for local information is how regional partitioning of an organ may be differently chosen by a radiologist, surgeon, anatomist, physiologist, etc. Some difficult problems that could benefit from an ontology or other resources linked by the ontology include finding relevant literature for model parameters, model interoperability, and automatic code generation from graphical models. A longer-term problem is reasoning with multiple ontologies and aligning them. Systems biology covers from genomics and proteomics to gross anatomy, and no single ontology spans that space. | ||
|