How Inexact Models Can Guide Decision Making in Quantitative Systems Pharmacology

© Rackauckas This article is distributed under the terms of the Creative Commons Attribution 4.0 International License, which permits unrestricted use, distribution, and redistribution in any medium, provided that the original author and source are credited. Pre-clinical Quantitiative Systems Pharmacology (QSP) is about trying to understand how a drug target effects an outcome. If I effect this part of the biological pathways, how will it induce toxicity? Will it be effective?

To solve these questions, I took a step back and tried to explain a decision making scenario with a simple model, to showcase how playing with a model can allow one to distinguish between intervention strategies and uncover a way forward.This is my attempt.Instead of talking about something small and foreign like chemical reaction concentrations, let's talk about something mathematically equivalent that's easy to visualize: ecological intervention.

BASIC MODELING AND FITTING
Let's take everyone's favorite ecology model: the Lotka-Volterra model.The model is the following: Left alone, the rabbit population will grow exponentially Rabbits are eaten wolves in proportion to the number of wolves (number of mouthes to feed), and in proportion to the number of rabbits (ease of food access: you eat more at a buffet!) Wolf populations grow exponentially, as long as there is a proportional amount of food around (rabbits) Wolves die overtime of old age, and any generation dies at a similar age (no major wolf medical discoveries) The model is then the ODE: Except, me showing you that picture glossed over a major detail that every piece of the model is only mechanistic, but also contains a parameter.For example, rabbits grow exponentially, but what's the growth rate?To make that plot I chose a value for that growth rate (1.5), but in reality we need to get that from data since the results can be wildly different: Here the exponential growth rate of rabbits too low to sustain a wolf population, so the wolf population dies out, but then this makes the rabbits have no predators and grow exponentially, which is a common route of ecological collapse as then they will destroy the local ecosystem.More on that later.

DATA AND MODEL ISSUES
But okay, we need parameters from data, but no single data source is great.One gives us a noisy sample of the population yearly, another every month for the first two years and only on the wolves, etc.: data1 = sol(0:1:10) data2 = sol(0:0.1:2;idxs=2)scatter(data1) scatter!(data2) Oh, and notice that ODE is not the Lotka-Volterra model, but instead also adds a term p[5]*u[1]^2 for a rabbit disease which requires high rabbit density.

ASSESSING INTERVENTION
The local population is very snobby and wants the rabbit population decreased.You're trying to find out how to best intervene with the populations so that you decrease the rabbit population to always stay below 4 million rabbits, but without causing population collapse.What should you be targetting?The rabbit birth rate?The ability for predators to find rabbits?(In systems pharmacology, this is, which reactions should I interact with in order to achieve my target goals while not introducing toxic side effects?)In a complex system, these will all act differently, so you need to simulate what happens under uncertainty with the model.For example, if I attack birth rate too hard, we already saw that we can lead to population collapse, but is birth rate a more robust target then wolf lifespan (i.e., could I change wolf lifespan more and get the same effect, but with less chance of collapse)?

THE MODELER'S PROBLEM
But one caveat: in order to do these simulations you need to know the model and its parameters, since you want to investigate what happens when you change the model's parameters.But you just have "your best model" and "data".So you need to find out how to get "the best model you can" and the parameters of said model, since once you have that you can assess the targetting effects.

THE MODELER'S APPROACH
Let's start with the model we have: Here I took all of the parametrs to be 1, since my only guess is their relative order of magnitude which should be about correct (maybe?).
However, making it easier for wolves to feast on rabbits is a robust change to the ecosystem that gives the people what they want.
We recommend clearing a lot of bushes to give rabbits a harder chance of hiding, along with longterm investment in research for wolf binoculars.
As we go through our results, we tell our collegues to never use a local optimizer.
During our talk, we tell our collegues that the global optimization takes for ever, so we should probably parallelize it, or do other things, like change our models into Julia to use their faster tools.

TRANSLATING THIS EXAMPLE BACK TO SYSTEMS PHARMACOLOGY
We have a cancer pathway and our team is synthesizing molecules to target different aspects of the pathway.Our goal as the modeler is to help the guide the choice of which part of the pathway we should target.So we: 1. Talk to biologists and consult the literature to learn about the pathway 7. Gather these plots to showcase that yes, the model gives a reliable fit, and the analysis shows that targeting X will cause ... So other than the interpretation being different, it's this same workflow.It's this same mantra.Get a model that fits, and then understand the general behavior of the model to learn the best intervention strategy.

POSSIBLE IMPROVEMENTS FOR TOOLING
Given this process, the possible improvements to tooling are: 1. Solve differential equations faster.
2. Do global optimization in less steps.
4. Automatically find models from data for people?
However, any tooling needs to respect the interactive aspect between the modeler, the biology, the data, and the interpretation of the results.