James Craig
Research Subjects
James Craig has a total of 36 co-authors. Here are the top co-authors by number of shared publications:
- Mark Sale
Certara, Radnor, USA
6 shared publications Alex Mazur
Certara, Radnor, USA
3 shared publications- Keith Nieforth
Certara, Radnor, USA
3 shared publications Michael Tomashevskiy
3 shared publications- Robert Bies
Department of Pharmaceutical Sciences, School of Pharmacy and Pharmaceutical Sciences, University at Buffalo, Buffalo, NY 14214, USA
3 shared publications - Xinnong Li
Department of Pharmaceutical Sciences, University at Buffalo, Buffalo, USA
3 shared publications
Latest Publications
- Open Access
- 16 May 2026
- Published by Springer Nature in Journal of Pharmacokinetics and Pharmacodynamics
- Vol. 53 (4) , 26
Multi-objective optimization in population pharmacokinetic model selection and optimization: application of NSGA-II in pyDarwin
The selection of a “good” model usually involves a combination of objective and subjective criteria. Although many aspects of model quality can be expressed numerically, certain desirable characteristics remain difficult—or even impossible—to quantify precisely. Multi-objective optimization (MOO) provides a systematic way to handle this challenge by explicitly incorporating and balancing both objective (measurable) and subjective (judgment-based) considerations when choosing among candidate solutions. The generated Pareto front represents a set of non-dominated models where no single solution can be improved in one objective without sacrificing the performance in another objective. Using the non-dominated sorting genetic algorithm II (NSGA-II), an implementation of MOO, we simultaneously considered objective function value and number of estimated parameters as competing criteria. Concentration measurements of 17-DMAG, quetiapine, clozapine and ziprasidone were applied to build population pharmacokinetic models through traditional stepwise search, machine learning based single-objective hybrid genetic algorithm (SOHGA) and MOO. Local downhill search with MOO was also assessed in this study. While both objectives improved, models with lower objective function value generally contained more estimated parameters. The number of non-dominated solutions for DMAG, ziprasidone, clozapine, and quetiapine was 17, 9, 9, and 13, respectively. The optimal model selected by SOHGA appeared on the Pareto front for DMAG, ziprasidone and clozapine datasets. Overall, MOO provides objective transparency to the cost of tradeoffs between competing model objectives, allowing researchers to better contextualize subjective criteria (e.g., biological plausibility, improvements in diagnostic plots) when aligning model selection with clinical context.
- 16 May 2026
- Published by Springer Nature in Journal of Pharmacokinetics and Pharmacodynamics
- Vol. 53 (4) , 26
Open AccessMulti-objective optimization in population pharmacokinetic model selection and optimization: application of NSGA-II in pyDarwin
The selection of a “good” model usually involves a combination of objective and subjective criteria. Although many aspects of model quality can be expressed numerically, certain desirable characteristics remain difficult—or even impossible—to quantify precisely. Multi-objective optimization (MOO) provides a systematic way to handle this challenge by explicitly incorporating and balancing both objective (measurable) and subjective (judgment-based) considerations when choosing among candidate solutions. The generated Pareto front represents a set of non-dominated models where no single solution can be improved in one objective without sacrificing the performance in another objective. Using the non-dominated sorting genetic algorithm II (NSGA-II), an implementation of MOO, we simultaneously considered objective function value and number of estimated parameters as competing criteria. Concentration measurements of 17-DMAG, quetiapine, clozapine and ziprasidone were applied to build population pharmacokinetic models through traditional stepwise search, machine learning based single-objective hybrid genetic algorithm (SOHGA) and MOO. Local downhill search with MOO was also assessed in this study. While both objectives improved, models with lower objective function value generally contained more estimated parameters. The number of non-dominated solutions for DMAG, ziprasidone, clozapine, and quetiapine was 17, 9, 9, and 13, respectively. The optimal model selected by SOHGA appeared on the Pareto front for DMAG, ziprasidone and clozapine datasets. Overall, MOO provides objective transparency to the cost of tradeoffs between competing model objectives, allowing researchers to better contextualize subjective criteria (e.g., biological plausibility, improvements in diagnostic plots) when aligning model selection with clinical context.
- Open Access
- 1 January 2026
- Published by International Society of Pharmacometrics in Quantitative Medicine
- Vol. 1 (2)
Performance of Parameter Estimation in Population Pharmacokinetics using Automatic Differentiation
This study evaluates an automatic differentiation (AD)-assisted first-order conditional estimation (FOCE) algorithm integrated into the FOCE Extended Least Squares (FOCE ELS) framework within Phoenix NLME 8.6. AD is a method commonly used in machine learning to provide exact (to machine precision) values for the partial derivatives of a function. There are two modes of AD, forward mode and reverse mode [1]. In the case of nonlinear regression, the objective function of interest is the negative twice the log-likelihood (−2LL), expressed as a function of the model parameter values. Previously released versions of NLME use finite difference (FD), a numerical approximation for the partial derivative. To examine the impact of AD compared to FD on execution speed, we constructed 72 models ranging from one to three compartments. All models included Michaelis-Menten elimination, first-order absorption, and combined additive and proportional residual error models. The models were selected to provide a range of complexity and numerical identifiability, from simple, well-identified models to complex, poorly identifiable ones. We demonstrate that AD improves performance in both the estimation and covariance steps. The AD method had no significant impact on estimation robustness or the success of the covariance step.
- 1 January 2026
- Published by International Society of Pharmacometrics in Quantitative Medicine
- Vol. 1 (2)
Open AccessPerformance of Parameter Estimation in Population Pharmacokinetics using Automatic Differentiation
This study evaluates an automatic differentiation (AD)-assisted first-order conditional estimation (FOCE) algorithm integrated into the FOCE Extended Least Squares (FOCE ELS) framework within Phoenix NLME 8.6. AD is a method commonly used in machine learning to provide exact (to machine precision) values for the partial derivatives of a function. There are two modes of AD, forward mode and reverse mode [1]. In the case of nonlinear regression, the objective function of interest is the negative twice the log-likelihood (−2LL), expressed as a function of the model parameter values. Previously released versions of NLME use finite difference (FD), a numerical approximation for the partial derivative. To examine the impact of AD compared to FD on execution speed, we constructed 72 models ranging from one to three compartments. All models included Michaelis-Menten elimination, first-order absorption, and combined additive and proportional residual error models. The models were selected to provide a range of complexity and numerical identifiability, from simple, well-identified models to complex, poorly identifiable ones. We demonstrate that AD improves performance in both the estimation and covariance steps. The AD method had no significant impact on estimation robustness or the success of the covariance step.
- Open Access
- 13 October 2025
- Published by Springer Nature in The AAPS Journal
- Vol. 27 (6) , 163
Effective Visualizations Using “vachette” to Assess and Communicate Pharmacometric Model Results
Using pharmacometrics to inform drug discovery and development decisions requires effective communication of models and data to all stakeholders. The new “vachette” visualization method presented here enables modelers and non-modelers to see how a model integrates and represents all data across relevant subgroups, showing how the model “sees” the data when it accounts for covariates. Vachette starts with user-provided model simulations (“curves”), together with observations used in creating (or otherwise relevant to) the model. It automatically produces a single, intuitive plot overlaying all observations onto a user-selected reference curve, accounting for covariate effects and preserving remaining random effects. The method automatically identifies characteristic landmarks (e.g., minima, maxima, and inflection points) which are used to split each curve into segments. A transformation on both x- and y-axes is then applied to each segment and its corresponding observations, accounting for covariate effects by aligning the segments to the reference, allowing intuitive visualization in one plot of covariate effects and of model fit to the data, preserving the distance between model predictions and the observations. Vachette-transformed data can also be used to enhance the utility of model assessments such as visual predictive checks and residual plots. Model visualizations using vachette enable easier and more effective evaluation and communication of the pharmacometric results critical to informing key decisions. Here the vachette method is described and its utility and flexibility are demonstrated through application to multiple types of pharmacometrics models, suggesting that vachette is a useful addition to the pharmacometrician’s toolbox. Graphical Abstract
- 13 October 2025
- Published by Springer Nature in The AAPS Journal
- Vol. 27 (6) , 163
Open AccessEffective Visualizations Using “vachette” to Assess and Communicate Pharmacometric Model Results
Using pharmacometrics to inform drug discovery and development decisions requires effective communication of models and data to all stakeholders. The new “vachette” visualization method presented here enables modelers and non-modelers to see how a model integrates and represents all data across relevant subgroups, showing how the model “sees” the data when it accounts for covariates. Vachette starts with user-provided model simulations (“curves”), together with observations used in creating (or otherwise relevant to) the model. It automatically produces a single, intuitive plot overlaying all observations onto a user-selected reference curve, accounting for covariate effects and preserving remaining random effects. The method automatically identifies characteristic landmarks (e.g., minima, maxima, and inflection points) which are used to split each curve into segments. A transformation on both x- and y-axes is then applied to each segment and its corresponding observations, accounting for covariate effects by aligning the segments to the reference, allowing intuitive visualization in one plot of covariate effects and of model fit to the data, preserving the distance between model predictions and the observations. Vachette-transformed data can also be used to enhance the utility of model assessments such as visual predictive checks and residual plots. Model visualizations using vachette enable easier and more effective evaluation and communication of the pharmacometric results critical to informing key decisions. Here the vachette method is described and its utility and flexibility are demonstrated through application to multiple types of pharmacometrics models, suggesting that vachette is a useful addition to the pharmacometrician’s toolbox. Graphical Abstract
- Open Access
- 4 July 2025
- Published by Wiley in CPT: Pharmacometrics & Systems Pharmacology
- Vol. 14 (8) , 1298-1309
Pirana and Integrated PMX Tools, a Workbench for NONMEM, NLME, pyDarwin, and RsNLME
Keizer initially described Pirana as a workbench designed to streamline management of NONMEM modeling, visualization, and analysis. Initial versions of Pirana integrated tools included NONMEM and PSN. As new tools have become available to pharmacometricians, new capabilities have been added to Pirana. These capabilities include: Integration of the NLME engine via the R speaks NLME (RsNLME) package for developing NLME models Integration of a Shiny graphical interface for the construction of NLME models Integration of machine learning pyDarwin python package Integration of a Shiny interface for custom diagnostics including Goodness of Fit (GOF) plots, tables, Visual Predictive Check (VPC) and report shell generation Improved setup with support for parallel execution on a wide range of platforms In this tutorial, we present a full workflow demonstrating how to use Pirana to build, fit, post‐process, and perform VPC on models using NONMEM and NLME. In addition, we show how to use the machine learning‐driven pyDarwin package with Pirana to automatically search model structures, random effects, and covariate models.
- 4 July 2025
- Published by Wiley in CPT: Pharmacometrics & Systems Pharmacology
- Vol. 14 (8) , 1298-1309
Open AccessPirana and Integrated PMX Tools, a Workbench for NONMEM, NLME, pyDarwin, and RsNLME
Keizer initially described Pirana as a workbench designed to streamline management of NONMEM modeling, visualization, and analysis. Initial versions of Pirana integrated tools included NONMEM and PSN. As new tools have become available to pharmacometricians, new capabilities have been added to Pirana. These capabilities include: Integration of the NLME engine via the R speaks NLME (RsNLME) package for developing NLME models Integration of a Shiny graphical interface for the construction of NLME models Integration of machine learning pyDarwin python package Integration of a Shiny interface for custom diagnostics including Goodness of Fit (GOF) plots, tables, Visual Predictive Check (VPC) and report shell generation Improved setup with support for parallel execution on a wide range of platforms In this tutorial, we present a full workflow demonstrating how to use Pirana to build, fit, post‐process, and perform VPC on models using NONMEM and NLME. In addition, we show how to use the machine learning‐driven pyDarwin package with Pirana to automatically search model structures, random effects, and covariate models.
- Open Access
- 3 April 2025
- Published by Wiley in CPT: Pharmacometrics & Systems Pharmacology
- Vol. 14 (5) , 853-863
Using the Simcyp R Package for PBPK Simulation Workflows With the Simcyp Simulator
Physiologically based pharmacokinetic and pharmacodynamic (PBPK/PD) modeling aims to understand how a drug is absorbed, distributed, metabolized, excreted, and acts in a human or animal body. The Simcyp Simulator is a well‐known commercial PBPK/PD simulation software offering many options. It can, for example, use multiple compounds and population specification files to study the behavior of specific drug formulations in particular population groups. Such features can greatly speed up and optimize clinical research and drug development studies. On the other hand, the statistical coding language R offers benefits, such as easy scripting, automation, flexible statistical analyses, and visualization of results. These benefits can be applied to PBPK modeling. We describe here version 23.0.64 of an R software package that can run the Simcyp Simulator from R, changing its inputs and processing its outputs. We detail the implementation of two automated workflows for model development and verification. The first demonstrates the verification of a drug–drug interaction model for Atazanavir, an antiretroviral drug indicated for the treatment of HIV/AIDS. The second is applied to the virtual bioequivalence assessment of paliperidone palmitate long‐acting injectable suspensions. We show how simulations that could take days otherwise can be executed, analyzed, and displayed in a matter of hours.
- 3 April 2025
- Published by Wiley in CPT: Pharmacometrics & Systems Pharmacology
- Vol. 14 (5) , 853-863
Open AccessUsing the Simcyp R Package for PBPK Simulation Workflows With the Simcyp Simulator
Physiologically based pharmacokinetic and pharmacodynamic (PBPK/PD) modeling aims to understand how a drug is absorbed, distributed, metabolized, excreted, and acts in a human or animal body. The Simcyp Simulator is a well‐known commercial PBPK/PD simulation software offering many options. It can, for example, use multiple compounds and population specification files to study the behavior of specific drug formulations in particular population groups. Such features can greatly speed up and optimize clinical research and drug development studies. On the other hand, the statistical coding language R offers benefits, such as easy scripting, automation, flexible statistical analyses, and visualization of results. These benefits can be applied to PBPK modeling. We describe here version 23.0.64 of an R software package that can run the Simcyp Simulator from R, changing its inputs and processing its outputs. We detail the implementation of two automated workflows for model development and verification. The first demonstrates the verification of a drug–drug interaction model for Atazanavir, an antiretroviral drug indicated for the treatment of HIV/AIDS. The second is applied to the virtual bioequivalence assessment of paliperidone palmitate long‐acting injectable suspensions. We show how simulations that could take days otherwise can be executed, analyzed, and displayed in a matter of hours.
- Open Access
- 28 June 2024
- Published by Springer Nature in Journal of Pharmacokinetics and Pharmacodynamics
- Vol. 51 (6) , 785-796
pyDarwin machine learning algorithms application and comparison in nonlinear mixed-effect model selection and optimization
Forward addition/backward elimination (FABE) has been the standard for population pharmacokinetic model selection (PPK) since NONMEM® was introduced. We investigated five machine learning (ML) algorithms (Genetic algorithm [GA], Gaussian process [GP], random forest [RF], gradient boosted random tree [GBRT], and particle swarm optimization [PSO]) as alternatives to FABE. These algorithms were applied to PPK model selection with a focus on comparing the efficiency and robustness of each of them. All machine learning algorithms included the combination of ML algorithms with a local downhill search. The local downhill search consisted of systematically changing one or two “features” at a time (a one-bit or a two-bit local search), alternating with the ML methods. An exhaustive search (all possible combinations of model features, N = 1,572,864 models) was the gold standard for robustness, and the number of models examined leading prior to identification of the final model was the metric for efficiency.All algorithms identified the optimal model when combined with the two-bit local downhill search. GA, RF, GBRT, and GP identified the optimal model with only a one-bit local search. PSO required the two-bit local downhill search. In our analysis, GP was the most efficient algorithm as measured by the number of models examined prior to finding the optimal (495 models), and PSO exhibited the least efficiency, requiring 1710 unique models before finding the best solution. Additionally, GP was also the algorithm that needed the longest elapsed time of 2975.6 min, in comparison with GA, which only required 321.8 min.
- 28 June 2024
- Published by Springer Nature in Journal of Pharmacokinetics and Pharmacodynamics
- Vol. 51 (6) , 785-796
Open AccesspyDarwin machine learning algorithms application and comparison in nonlinear mixed-effect model selection and optimization
Forward addition/backward elimination (FABE) has been the standard for population pharmacokinetic model selection (PPK) since NONMEM® was introduced. We investigated five machine learning (ML) algorithms (Genetic algorithm [GA], Gaussian process [GP], random forest [RF], gradient boosted random tree [GBRT], and particle swarm optimization [PSO]) as alternatives to FABE. These algorithms were applied to PPK model selection with a focus on comparing the efficiency and robustness of each of them. All machine learning algorithms included the combination of ML algorithms with a local downhill search. The local downhill search consisted of systematically changing one or two “features” at a time (a one-bit or a two-bit local search), alternating with the ML methods. An exhaustive search (all possible combinations of model features, N = 1,572,864 models) was the gold standard for robustness, and the number of models examined leading prior to identification of the final model was the metric for efficiency.All algorithms identified the optimal model when combined with the two-bit local downhill search. GA, RF, GBRT, and GP identified the optimal model with only a one-bit local search. PSO required the two-bit local downhill search. In our analysis, GP was the most efficient algorithm as measured by the number of models examined prior to finding the optimal (495 models), and PSO exhibited the least efficiency, requiring 1710 unique models before finding the best solution. Additionally, GP was also the algorithm that needed the longest elapsed time of 2975.6 min, in comparison with GA, which only required 321.8 min.
- 3 February 2024
- Published by The R Foundation
mbbe: Model Based Bio-Equivalence
- Open Access
- 10 January 2024
- Published by Wiley in Clinical Pharmacology & Therapeutics
- Vol. 115 (4) , 758-773
pyDarwin: A Machine Learning Enhanced Automated Nonlinear Mixed‐Effect Model Selection Toolbox
PyDarwin is an open‐source Python package for nonlinear mixed‐effect model selection. pyDarwin combines machine‐learning algorithms and NONMEM to perform a global search for the optimal model in a user‐defined model search space. Compared with traditional stepwise search, pyDarwin provides an efficient platform for conducting an objective, robust, less labor‐intensive model selection process without compromising model interpretability. In this tutorial, we will begin by introducing the essential components and concepts within the package. Subsequently, we will provide an overview of the pyDarwin modeling workflow and the necessary files needed for model selection. To illustrate the entire process, we will conclude with an example utilizing quetiapine clinical data.
- 10 January 2024
- Published by Wiley in Clinical Pharmacology & Therapeutics
- Vol. 115 (4) , 758-773
Open AccesspyDarwin: A Machine Learning Enhanced Automated Nonlinear Mixed‐Effect Model Selection Toolbox
PyDarwin is an open‐source Python package for nonlinear mixed‐effect model selection. pyDarwin combines machine‐learning algorithms and NONMEM to perform a global search for the optimal model in a user‐defined model search space. Compared with traditional stepwise search, pyDarwin provides an efficient platform for conducting an objective, robust, less labor‐intensive model selection process without compromising model interpretability. In this tutorial, we will begin by introducing the essential components and concepts within the package. Subsequently, we will provide an overview of the pyDarwin modeling workflow and the necessary files needed for model selection. To illustrate the entire process, we will conclude with an example utilizing quetiapine clinical data.
- Open Access
- 1 January 2016
- Published by American Physiological Society in Journal of Neurophysiology
- Vol. 115 (1) , 92-99
Vision is superior to touch in shape perception even with equivalent peripheral input
Results from previous studies suggest that two-dimensional spatial patterns are processed similarly in vision and touch when the patterns are equated for effective size or when visual stimuli are blurred to mimic the spatial filtering of the skin. In the present study, we measured subjects' ability to perceive the shape of familiar and unfamiliar visual and tactile patterns to compare form processing in the two modalities. As had been previously done, the two-dimensional tactile and visual patterns were adjusted in size to stimulate an equivalent number of receptors in the two modalities. We also distorted the visual patterns, using a filter that accurately mimics the spatial filtering effected by the skin to further equate the peripheral images in the two modalities. We found that vision consistently outperformed touch regardless of the precise perceptual task and of how familiar the patterns were. Based on an examination of both the earlier and present data, we conclude that visual processing of both familiar and unfamiliar two-dimensional patterns is superior to its tactile counterpart except under very restricted conditions.
- 1 January 2016
- Published by American Physiological Society in Journal of Neurophysiology
- Vol. 115 (1) , 92-99
Open AccessVision is superior to touch in shape perception even with equivalent peripheral input
Results from previous studies suggest that two-dimensional spatial patterns are processed similarly in vision and touch when the patterns are equated for effective size or when visual stimuli are blurred to mimic the spatial filtering of the skin. In the present study, we measured subjects' ability to perceive the shape of familiar and unfamiliar visual and tactile patterns to compare form processing in the two modalities. As had been previously done, the two-dimensional tactile and visual patterns were adjusted in size to stimulate an equivalent number of receptors in the two modalities. We also distorted the visual patterns, using a filter that accurately mimics the spatial filtering effected by the skin to further equate the peripheral images in the two modalities. We found that vision consistently outperformed touch regardless of the precise perceptual task and of how familiar the patterns were. Based on an examination of both the earlier and present data, we conclude that visual processing of both familiar and unfamiliar two-dimensional patterns is superior to its tactile counterpart except under very restricted conditions.