Wolfram Computation Meets Knowledge

Systems Pharmacology—A Case Study on Type 2 Diabetes Using Wolfram Technologies

Explore the contents of this article with a free Wolfram SystemModeler trial. In April this year, I attended the 7th Noordwijkerhout Symposium on Pharmacokinetics,
Pharmacodynamics and Systems Pharmacology in the Netherlands. The conference focuses on the use of mathematical modeling in pharmacology and pharmaceutical R&D, and this year, the main topic was the emerging concept of systems pharmacology.

In general terms, systems pharmacology can be seen as the combination of pharmacometrics and systems biology, with one of its key principles being the integration of biological data and mathematical models describing several different levels of biological complexity—spanning from the molecular or cellular level to that of a whole organism or population. Usually, such integration of data and models is referred to as multilevel, or multiscale, modeling, and has the important benefit of allowing us to translate information on disease and drug effects from the biochemical level—where the effects originate—to changes on the whole body or population level, which are more important from a clinical and pharmacological point of view.

In this blog post, I thought we would take a closer look at what a systems pharmacology approach might look like. Specifically, I’ll focus on some of the practical aspects of building complex, multilevel biological models, and how these can be dealt with using Wolfram SystemModeler.

Population to genes/proteins model

Systems pharmacology and type 2 diabetes
To provide you with a relevant example, I’ll base this post on a research project—led by my former mentor Dr. Gunnar Cedersund at Linköping University, Sweden—that I myself have been much involved in over the last couple of years. In this project, we’re seeking to develop a multilevel modeling framework for the integration of knowledge, data, and models related to type 2 diabetes mellitus (T2DM), a disease currently affecting over a quarter of a billion people worldwide, but whose primary cause(s) still remain unknown and incurable.

To get a clearer picture of what the project is all about, we’ll start by looking at one of the more important mathematical models on T2DM published during the last decade (REF1). This model, developed by Professor Claudio Cobelli and his team at the University of Padova, Italy, describes the production, distribution, and removal of glucose and insulin—two of the most important biological substances related to T2DM—in the human body. The diagram view of the model, as implemented in SystemModeler, is shown below:

Glucose-Insulin System model

The model includes a number of important system characteristics, such as gastrointestinal glucose absorption as a result of food intake, glucose-stimulated insulin secretion by the pancreatic β-cells, and insulin-controlled glucose production and uptake by the liver and peripheral tissues. All in all, these different processes make up an intricate feedback system, which, if everything is functioning optimally, keeps plasma glucose (blood sugar) levels within safe limits.

To get to know this system a little bit better, we’ll use Mathematica and its link to SystemModeler to run a few simulations of the model and study what happens to glucose and insulin if you were to eat a meal containing glucose. Specifically, we’ll look at the difference between a well-functioning system and the case of T2DM, a difference that can be simulated by changing some of the parameters in the model.

Running simulations

The normally functioning system is shown with solid lines and the T2DM results with dashed lines. In both of the scenarios, the concentration of glucose in plasma starts increasing momentarily after glucose ingestion. In the normal case, however, this increase quickly triggers an increased release of insulin, leading to decreased glucose release by the liver and increased glucose uptake in peripheral tissue. Glucose levels therefore peak at about an hour after eating and then return back to normal as the body utilizes and stores the glucose for future use.

In the T2DM case, the results are evidently quite different. First of all, glucose levels are higher already in the fasting state before eating. Furthermore, the absolute increase in glucose is more than twice as large as in the non-diabetic case, causing glucose to peak at very high concentrations. By studying the insulin, glucose production, and glucose uptake figures, it is possible to conclude that the cause of this behavior is twofold: First, the pancreatic insulin response to increasing glucose concentrations is impaired and much slower in the diabetic case. Second, even though insulin peaks at a higher concentration, the glucose production and uptake is still higher and lower, respectively—a phenomenon known as insulin resistance.

Understanding insulin resistance requires an intracellular perspective
There is no doubt that the model I’ve used so far is a great example of how mathematical modeling can be used to investigate and increase our understanding of biological systems and diseases such as diabetes. In fact, a type 1 diabetes version of this model has actually been accepted by the Food and Drug Administration as a substitute to animal trials for certain insulin studies.

As with all models, however, this one also has its limitations.

In this particular case, one important limitation is that the model lacks details of lower-level systems. Specifically, if you consider the model from a hierarchical point of view, you can see the model as focusing only on the top levels of the physiological hierarchy. Therefore, the model can’t be used to investigate questions such as how and why malfunctions like insulin resistance develop in the first place, and if there are drug targets that could potentially restore system behavior. To answer such questions, we need to extend the model with more details of the lower-cellular and intracellular levels, from which the malfunctions actually originate. Remember, this type of multilevel modeling is one of the key concepts of systems pharmacology. It is also what the project I’m describing is all about.

Fortunately for us (and for this story), an increasing number of intracellular models related to glucose and/or insulin are being developed, and below you can see the SystemModeler diagram of one of these models (REF2, REF3). The model focuses on the intracellular behavior of fat cells when stimulated by insulin, and how such stimulation affects glucose uptake.

Glucose and insulin model

The green circles in this diagram represent key proteins in what is known as the insulin signaling pathway, a complex biological network responsible for transducing insulin signals from outside the cell to an appropriate intracellular response. In this case, the model describes how insulin activates the different proteins, finally causing an increased glucose uptake into the cell.

So, how can we build a multilevel model that links these intracellular details to what we previously saw happening at the whole-body level?

First of all, such linking has to involve making sure that the intracellular submodel is compatible with the behavior of the overall whole-body system. Specifically, the intracellular model needs to be able to describe both the behavior of its own constituents and the constraints posed by higher-level systems. In biology, this can sometimes be a difficult task, since intracellular systems often are studied outside of their natural environment, where their behavior might differ significantly from that in the human body.

Input versus output constraints

Assuming, however, that the behavior of the detailed submodel already has been validated in the context of the overall system, multilevel modeling still comes with a number of challenges. Of these, an essential one is the practical issue of building your models in a way that makes them easy to communicate, maintain, and extend—an aspect where having the appropriate software tools becomes very important.

Multilevel modeling—Readability, maintainability, and reusability
In most cases, building small models of just a few variables is quite easily achieved by just writing down the equations as lines of text. When building larger models, however—potentially including hundreds of equations at different levels of complexity—things get a bit more complicated. Just keeping track of the equations, finding errors, and making updates becomes a rather tedious task. Furthermore, when you need to communicate models to others, the challenge becomes even greater. This is particularly true in the fields of biology and pharmacology, since some (read: many) biologists, doctors, and so on, don’t like mathematics.

To deal with these aspects of working with and communicating more complex models, tools that increase model readability—for instance, by providing a graphical layer to the model—can be of great assistance. If the tool also allows for a multilevel, hierarchical representation of the model, and lets you design reusable and individually testable components and submodels, then things become even more convenient.

Looking at our previous two glucose/insulin models as implemented in SystemModeler, we note that they are already given in a graphical form. But how can you use SystemModeler to connect these models together in a multilevel fashion? And how do you make the linking of the models as intuitive as possible for users of the models?

If we start by looking at the whole-body model, the part describing glucose uptake and utilization can be found in the peripheral tissue submodel:

Peripheral tissue submodel

Let’s take a closer look at this submodel:

Peripheral tissue submodel

What you see is the diagram of the submodel, showing the glucose uptake and utilization reaction and how this reaction is modified by plasma insulin.

Even though SystemModeler is designed to let you work with graphical representations of your models, you can easily access (and modify) the underlying mathematics. For instance, here is the mathematical (Modelica) code describing the dynamics of the reaction above:

Mathematical (Modelica) code describing the dynamics of the reaction

Note that this is an empirical model of glucose uptake, lacking details of what is actually happening at lower physiological levels.

So, how can you conveniently replace this empirical model with the more detailed model of insulin signaling?

Since SystemModeler is a component-based modeling environment, this is pretty easy. As long as the new model has the same external interface as the one you want to replace, you can just replace the old reaction model with the new one by using, for instance, drag and drop. However, it is also possible to make the process of replacing submodels or components a bit more user-friendly, especially to someone completely new to the model.

When developing models, SystemModeler allows you to specify pre-defined choices for any of the components used in a model, that is, if you have several descriptions of the same process—for instance, models valid under different conditions, using different parameter values, or including more or less details—you can include this information directly in your model. In this way, new users can easily see what different models are available for a certain reaction or process.

Here’s an example of how such a choice might look like considering the two different models of glucose uptake:

Different models of glucose uptake

Right-clicking the component and selecting the “Redeclare” menu gives you a list of the two pre-defined choices, and you can easily switch between the two. In this case, selecting the insulin signaling model will update the reaction component and add the more detailed glucose uptake model to the whole-body model:

Detailed Glucose-Insulin System model

And by running a new simulation of the model, you can now study the behavior of the two original models together, and investigate what effect changes on the intracellular level would have on the overall system.

The insulin signaling curves below show the dynamics of the proteins corresponding to the green circles in the detailed insulin signaling model.

Behavior of the two original models together

For me, features like this are key to an efficient modeling workflow. Here, we’ve only looked at two different models. However, new, detailed models of other subsystems and organs, such as the liver, β-cells, muscles, and brain, are under development, further increasing the need for a well-designed hierarchical modeling environment.

Interestingly, the incorporation of new submodels also highlights some other benefits of SystemModeler when it comes to multilevel modeling in biology and pharmacology. One of these is the multidomain aspect of the SystemModeler environment. Here, we’ve focused on biochemical models, but if you look at physiological systems from a wider perspective, these systems are by nature multidomain systems, including, for example, bioelectrical, biomechanical, and biochemical subsystems. Therefore, as physiological models become more and more complex, tools supporting only one of these domains may become less useful.

Furthermore, connecting many models—usually developed by equally many research groups and scientists—increases the need for good model documentation. In SystemModeler, you can add documentation directly linked to your different models and components, eliminating the need for separate model documentation and making documentation instantly accessible.


Systems pharmacology is emerging as an important new field of research to increase our understanding of biological systems, diseases, and treatments. Thanks to advancements in both experimental and theoretical methods, the development of new, increasingly complex mathematical models is accelerating. This is true not only for T2DM, but for many other biological systems and diseases as well.

Admittedly, developing models of biological systems is not an easy task, and requires many iterations between experiments, model design, and analysis. However, by using sophisticated modeling tools, the pace at which these models can be developed, communicated, and used could be further increased.

I’ve highlighted some of the features SystemModeler can offer in this space. However, we should also not forget the integration between SystemModeler, Mathematica, and the Wolfram Language, allowing for endless kinds of model analyses, programmatic control of simulations, and so on.

If you want more information on how SystemModeler and Mathematica can be used to model biological and pharmacological systems, feel free to download a trial (SystemModeler, Mathematica), check out our SystemModeler features web page, or contact us for more examples.

Download a brief MP4 demonstration of the Glucose-Insulin System.

REF1: C. Dalla Man, R. A. Rizza, and C. Cobelli, “Meal Simulation Model of the Glucose-Insulin System,” IEEE Transactions on Biomedical Engineering, 54(10), 2007 pp. 1740–9.

REF2: E. Nyman, C. Brännmark, R. Palmér, et al., “A Hierarchical Whole-Body Modeling Approach Elucidates the Link between in Vitro Insulin Signaling and in Vivo Glucose Homeostasis”, The Journal of Biological Chemistry, 286(29), 2011 pp. 26028–41.

REF3: C. Brännmark, E. Nyman, S. Fagerholm, et al., “Insulin Signaling in Type 2 Diabetes: Experimental and Modeling Analyses Reveal Mechanisms of Insulin Resistance in Human Adipocytes”, The Journal of Biological Chemistry, 288(14), 2013 pp. 9867–80.


Join the discussion

!Please enter your comment (at least 5 characters).

!Please enter your name.

!Please enter a valid email address.