Link to the downloads page.
Microsoft Excel was developed to compete in the lucrative business software market, so you may wonder if the program is suitable for pharmacokinetic (PK) pharmacodynamic (PD) simulation and modeling. Can a business program perform the types of calculations that are required in PK/PD simulation and modeling? The answer, of course, is ‘yes!’ With many software programs you prepare the data, run the program, then wait while it performs some magic and spits out the result. Using such programs, you see only the beginning and the end of a calculation and miss out on the middle. With a spreadsheet implementation, you get to see the whole problem.
For example, on one occasion, we were struggling to understand why NONMEM was crashing with certain starting estimates. It proved ‘easy’ to find the reason why with Excel. Firstly, we wrote an ordinary differential equation solver for Excel in C to implement the rather complicated PK model. Secondly, we set up a mixed-effects analysis (based on our XLMEM code). Finally, it proved easy to graphically examine the predicted concentrations for different starting estimates and to examine every value in each matrix used in the calculation of the extended least squares objective function during the optimisation process. Once we could see the whole problem, the answer was obvious!
An XLL is an Add-In for Microsoft Excel that you can build with any compiler that supports building dynamic link libraries (DLLs). Many programmers who write Add-In functions for Excel prefer to do so completely in C or C++ rather than in Visual Basic for Applications (VBA) for any number of good reasons. Although we frequently prototype our functions in VBA, we have implemented the Tools in the C language, because the execution is much faster particularly for the analysis of large data sets. Furthermore, we find that coding in C is more efficient for complicated functions. We also discovered that we could not solve some problems without using this approach, because we reached memory limitations in Excel.
The Microsoft Excel 2007 Software Developer’s Kit (SDK) contains the necessary header and library files to build an XLL. Programming with the Excel SDK is a tedious and error-prone task that requires specialised skills and experience. In recent years, we have used the XLW ∗ project, which is a C++ wrapper for the Excel C Application Programming Interface (API), making the XLL development significantly easier.
Like it or not, Windows is still the dominant operating system, holding about 91% of the desktop market share. Because most programs have their own special way of internally representing data, the DLLs which come with various applications are specifically written for those applications. So it is with our XLLs—they are specifically written for Excel for Windows and will not work for Excel for Mac.
We would like to emphasize that when we start a simulation, we usually start with a blank spreadsheet. That is, we start with nothing other than our Tools, then proceed to “build” a simulation. We are entirely flexible about how we construct the simulation. Usually, there is some thinking about the particular problem, some scribbling on a piece of paper, a rough sketch of a design to solve the problem. Similarly, when we start PK/PD modeling, we start with a blank spreadsheet, import and examine the PK/PD data, then begin to “build a model.”
Just as it is obvious that simply having access to a master builder’s tools does not enable one to build a beautiful home, installing our Tools will not make you a PK/PD expert. In fact, it is quite likely that you will manage to shoot yourself in the foot, or worse in the eye, with a pneumatic nailer. Perhaps you will not even know how to use some of the builders tools. Indeed, we regularly get emails from people who find themselves in trouble after they have downloaded one of our example spreadsheets, which they have tried to modify, complaining that “Your hammer is hopeless at cutting wood.” We hope that this booklet will help you with some basic building.
However, please understand, we do not provide these examples with the intention that you can collect your own data and somehow just copy your data onto the spreadsheet, and magically develop a new PK/PD model that you can publish. The “Tools” will not make you a PK/PD modeler! Just as a master builder’s tools do not make you a master builder! If you want to become a PK/PD modeler, you need many years of training—there is a lot to learn about pharmacokinetics, pharmacodynamics, statistics, computing, programming, . . . there is no shortcut! You cannot expect to simply download an example spreadsheet, run Excel’s Solver and write a manuscript!