Summary of ProcessDB features and philosophy

From ProcessDB
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Diagrams

ProcessDB modeling always starts with a diagram. This was a conscious choice based on decades of experience in modeling and experimental biology. Again and again we have found that a mechanistic diagram is the common ground between modeling teams and an experimental teams. ProcessDB diagrams are beautiful because we used state-of-the-art diagram layout tools that are simple to use. ProcessDB diagrams are active, not passive; every element of the diagram has its own context menu so that you can quickly find out what you want to know and do what you want to do.

Diagrams are also active in the sense that you construct your model directly on the diagram screen using a simple and efficient set of drawing tools.


The Database

The "DB" in ProcessDB stands for "database." But the ProcessDB database is no mere repository of experimental data. Instead, it brings the awesome power of a relational database to the every aspect of model building and testing. Within the ProcessDB database there are more than 30,000 lines of PL SQL code and all of them were written to make your modeling and hypothesis testing work faster and easier.

When we started ProcessDB we intended to follow the usual software development practice of hiding database IDs from the users. To our surprise, users told us that exposing these unique IDs enabled faster, more precise communication among collaborators. No one needs to guess what process you are referring to if you call it P1374. At the same time every state and process also has an alphabetic name so that you know what it is when you see it displayed in diagrams or plots.


A Model is a Collection of Processes

Our bedrock organizational principle is that every model is a collection of Processes. This core idea allows you to compare models with a single click. You can extract subsystems from complex models and work on them independently. You can combine models with a single click. A searchable model tree structure is always immediately available to allow you to drill down quickly to the details of every element of your diagram.

Molecules and Molecular Complexes Are Drawn from an Internal List that is Mapped to International Databases (e.g. ChEBI and UniProt)

This design decision is, as far as we know, unique to ProcessDB and underlies many of ProcessDB's most powerful features.

Chemical System Differential Equations

In classical tracer kinetics, the underlying chemical system was treated as unchanged by a superimposed tracer experiment. A tracer was always treated as a negligible perturbation. But with the rise of stable isotope tracer experiments and a growing array of transfected gene constructs coding for fluorescent tracer versions of a protein of interest, this assumption of negligible perturbation is no longer sustainable. This fact is an inescapable consequence of the indistinguishability assumption that underlies all of tracer kinetics.

ProcessDB recognizes that every molecule, whether tagged by a tracer or not, contributes to the chemical potential that drives biological processes. This is why the first set of differential equations written for every ProcessDB model constitutes what we call the Chemical System differential equations. These equations track all the molecules of a certain type in a certain place whether those molecules are tagged with a tracer or not. Consequently, any experimental addition of tracer molecules is treated as an addition to the chemical system as well as an addition to the tracer differential equations. Since it is not uncommon for stable isotopes and transfected gene constructs to result in doubling or tripling the abundance of the molecules to be traced, you want to be sure that the underlying chemistry of your model is actually responding to these massive non-steady states, just as the biology is responding in the lab. Ignoring or neglecting this reality leads to serious errors.

One nice consequence of this choice for chemical system differential equations is that ratios of tracer states to chemical system states automatically have units of isotopic enrichment: tracer/(tracer + traced).

Hypothesis Testing

We think of all models as hypotheses and ProcessDB is specifically designed to test those hypotheses against experimental data.

The Simulator

We designed the ProcessDB simulator from the ground up specifically to simulate biological models. We had two goals in mind: 1) capabilities 2) performance. We needed a simulator that could solve the kinds of problems that exist in biology where a mix of continuous and discrete events, endogenous and exogenous species and factors, and widely varying time scales among other things were all necessary to simulate very complex systems. We wanted to do all that fast. Not just fast, but so fast that most of the models users would simulate will finish before the user removes their finger from the button after clicking "simulate"! It's so fast that new users may question whether a simulation was performed at all. This empowers ProcessDB to do things other tools cannot imagine like smoothly updating plots as the user scrolls up/down over a parameter to change its value (a sort of tuning). Another feature based on the speed of the simulator is parameter sensitivities, which sweeps parameter space and shows the user dozens of plots on each graph with respect to each parameter to give the user an idea which plots are most sensitive to which parameters. Of course, the biggest performance gain of a fast simulator comes during optimization when thousands to millions of simulations are run. All ProcessDB's optimization strategies benefit from the speed of the simulator.

Biology Separate from Experiments

As much as possible, ProcessDB separates your biological theory or model from the experiments to be performed on that model. Some modeling philosophies assert that there is no such thing as a model separate from an experiment, but biologists rarely think this way. ProcessDB supports the testing of models, simultaneously, against as many different experimental protocols and data sets as you like.