With 356 drugs on the market in the United States alone, Pfizer is one
of the five largest pharmaceutical companies in the world. Drug
development is a costly task because human trials and regulatory
approval for a single drug can take a decade and more than $2 billion.
Thus, every month delay in bringing a new therapy to market has
significant implications for both the company’s return-on-investment and
the patients waiting for new, more effective therapies.
To increase R&D productivity and reduce cost, Pfizer uses many different
tools, including model-informed drug development (MIDD)
like quantitative systems pharmacology (QSP) to model the effect of
their therapies in patients before testing them in clinical trials. QSP
modeling assists in identifying issues with efficacy and safety before
commencing the next phase of trials. This technique has been employed to
help predict trial failures and potentially save valuable resources by
allowing the company to focus on therapies with the highest
probabilities of clinical success.
How to maximize impact with MIDD in the very fast-paced clinical
development cycle has been an open issue for pharmaceutical-industry
modelers. QSP-type analyses can require millions of solutions to very
complicated stiff differential equations, meaning that the time required
for rigorous analysis is often computationally limited.
Julia has many advantages in the area of stiff differential equations.
Julia is the fastest open source high productivity language with GPU
support and the state-of-the-art DifferentialEquations.jl
library with newly
developed algorithms that exploit specific characteristics of
pharmacometric systems to outperform even the classic C++ and Fortran
Solving differential equations in Julia isn’t just fast.
DifferentialEquations.jl is also the most feature-complete set of
differential equation solvers in any
meaning that what would require substantial scientific developer time in
other language ecosystems like R and Python can largely be replaced with
function calls from well-documented DifferentialEquations.jl
clients use this tooling to improve the efficiency of their QSP modeling
in a number of ways:
Automated derivation and optimization of Jacobian functions directly
from numerical Julia code calculations allows the full optimization
of a hand-derived Jacobian without scientists having to actually
derive these functions, saving time and easing the maintainability
of the project code.
Improved ODE integrators give instant orders of magnitude
performance improvements without requiring a rewrite of the model
into a high-performance language like C++ or Fortran.
Automation of the ODE parallelism makes deployment to JuliaRun cloud
systems a simple 5 line code change for simultaneous generation of
millions of virtual patents.
Automation of ODE parallelism on GPUs allows for instant 175x
acceleration using available accelerator hardware on desktop and
Specifically, Pfizer used Julia to accelerate multiple models:
Steady state calculations of a cardiac model went from nearly a day
to just 40 minutes - an improvement of 26x. With multithreading, the
total simulation time was reduced to just 9 minutes - an improvement
The global optimization and simulation of virtual populations in an
active drug-target model were reduced from 15.5 hours to 1 hour
per patient. Changing a single flag from “Threads” to “Distributed”
to “DistributedGPU” allowed this code to easily scale up from a
single machine to a JuliaRun deployment on either CPUs or GPUs,
enabling previously impractical analyses to be computed within a
Global sensitivity analysis of the Tewari-Beard 2016
model was accelerated
by 2x over the highly optimized C code, showing that even
well-optimized code can be improved through Julia’s specialized
differential equation solver algorithms.
Following are screenshots from JuliaTeam and JuliaTeam for deployment and scaling:
Taken together, the Pfizer use case demonstrates that Julia’s fast
runtime and its unique libraries give it a special efficiency advantage
in the field of quantitative pharmacology.
our enterprise products
Need help with Julia?
We also provide training and consulting services
and build open source or proprietary packages
for our customers on a consulting basis. Email us:
Julia Computing was founded by all the creators
of the language to provide commercial support
to Julia users. We are based in Boston, New York,
San Francisco, London and Bangalore with
customers across the world.
© 2016 - 2020 Julia Computing, Inc. All Rights Reserved.