Using GillesPy2 to simulate inhalation anthrax

While working on my Computer Science degree, I was invited to participate in an undergraduate research project that allowed me to combine my interest in programming and biology. I converted a predictable, but simplified, model of inhalation anthrax to a model that accounts for the probabilistic nature of biological systems (i.e., deterministic to stochastic). The project was a collaboration between two UNC Asheville professors: Dr. Brian Drawert, Computer Science and Dr. Megan Powell, Mathematics.

Dr. Drawert is a researcher within systems biology, a field that attempts to model and analyze complex biological systems using computational algorithms. He is also the author of GillesPy2, an open-source software project designed to allow scientists to easily create those models and use stochastic simulations to study outcomes.

Dr. Powell specializes in infectious disease dynamics. Her primary research focus is inhalation anthrax, a disease caused by the Bacillus Anthracis bacteria, the same bacteria that was used in several high-profile acts of terrorism in the early 2000s.

By translating Dr. Powell’s deterministic model of inhalation anthrax into the stochastic form used by GillesPy2, we were able to deliver new insights on the model and make improvements to software quality & usability.

The following abstract is from a research paper I wrote for the UNC Asheville Computer Science department detailing the results of our joint research & development project.


GillesPy2 is a scientific software package designed for computationally modeling and simulating biological processes. Traditional simulations are done using deterministic methods, whereas GillesPy2 is based on the stochastic simulation algorithm presented by Daniel T. Gillespie [2], which introduces probability as a driving force behind simulations. By using stochastic methodologies, scientists can more accurately represent stages of growth in biology models.

Developing user-friendly software is a challenging process and often the best way to improve the quality of software is for developers to use it as a customer would – a practice known as “dogfooding.” Thus, in preparation for the public release of GillesPy2, we created a new stochastic model of inhalation anthrax (an often fatal infection caused by the B. Anthracis bacteria) based on a deterministic model presented by Day et. al [1].

In this paper, we document the methods used to convert the deterministic model to stochastic form. By using GillesPy2 through the eyes of a research scientist developing a model, we were able to provide a high level of software quality assurance by discovering a number of bugs and other usability issues. As part of the quality assurance process, we also implemented automated testing of source code to prevent the reintroduction of resolved issues.

Finally, with the introduction of a stochastic model of lung-borne anthrax infections, we began investigating research questions such as how the early immune response affects pathogenesis of infection, how levels of late-stage bacterial load are affected by initial conditions and whether the number of spores consumed by white blood cells determines survival rate.

  1. Day, Judy, Friedman, Avner and Schlesinger, Larry S “Modeling the host response to inhalation anthrax. (Report)”. Journal of Theoretical Biology. 276.1 2011-05-07. 199(10).
  2. Gillespie, D. T. (1976). “A general method for numerically simulating the stochastic time evolution of coupled chemical reactions”. Journal of Computational Physics22 (4): 403–434. Bibcode:1976JCoPh..22..403G. doi:10.1016/0021-9991(76)90041-3.