Lok and Brent respond:

Our simulation program, Moleculizer, calculates cellular reaction networks by allowing protein complexes to form in silico. From the correspondence of Hlavacek and colleagues, we take two main points. They argue that there are advantages to generating reaction networks beforehand, followed by running the simulation to solve them. They also point out that the formulation we use to estimate new intracellular reaction rates is likely to be an oversimplification.

We agree with these points, and we discussed them both extensively in our published paper. Using Moleculizer or other rule-based programs to generate reaction networks that are then fed into the other kinds of simulators has, in some cases, the advantage of decreasing computational cost. We envisioned that the use of Moleculizer to generate networks solved by other simulators would be perhaps its best use in the future. We discussed this explicitly in the article; among other things, it is why we placed so much work and emphasis on enabling export of reaction networks via systems biology markup language (SBML). Similarly, we recognized that our formula for calculating intracellular diffusion is at best a simplification—in the paper, we refer to it as a “placeholder”—and stressed in the discussion that the modular nature of the existing code makes it easy for users to experiment with other, perhaps more complex, formulae that might give better results. To the extent that Hlavacek and colleagues suggest we did not consider or discuss these points in our published work, we believe that these authors are attacking a straw man, perhaps to focus attention on their own forthcoming work on simulation of cellular reaction networks.

We wonder if another trigger for their correspondence may have been a difference in scientific cultures. Moleculizer and other ongoing simulation work arise from a biological research effort, the Alpha project, whose ultimate goal is to predict the behavior of a single, extremely well-characterized, signal transduction pathway in yeast. Just like the biological experimentation to which it is coupled, Moleculizer is a work in progress; at the end of the day, we view it as a tool. This view enables us to write modular code to solve problems simply and replace those solutions with more sophisticated ones as the need arises. When we wish to compute a reaction network, we are comfortable beginning with a computationally inefficient route until it becomes too burdensome to follow further. When we wish to accommodate molecular diffusion, we are comfortable beginning with a simple formula until such time as the results from using it diverge unacceptably from those obtained by measurements of the living system. In contrast, Hlavacek and colleagues are physicists in a theoretical department. In some areas of physics, 'theory' is relatively more important, and there may be a tendency to try to get the theoretical basis right from first principles, rather than being resigned to introducing, modifying and discarding ideas and formulas as one goes along. Neither stance is more 'correct' than the other. However, we believe that, for a good deal of the work that needs to be done to compute the behavior of biological systems, concentration on building a 'perfect' simulator may not be as important as production of supple (and complex!) code that can handle the significant challenges, including the myriads of different protein complexes, posed by living systems, and that can be continually modified as tight coupling to ongoing experimentation produces new challenges and results. For at least some applications of simulation to biology, the perfect may be the enemy of the good.