
A Course on Bioequivalence: Unit 6 - Using PumasCP for Bioequivalence
This is Unit 6 of a complete bioequivalence analysis course using Pumas. There are 15 units in the course in total.
1 Unit overview
Previous units focused on some key theoretical aspects of the analysis including hypothesis testing, decision criteria, designs, and the use of linear models. More such theory will appear in units that follow.
Meanwhile in this unit we momentarily depart from the theory and go through the simple steps of carrying out a bioequivalence analysis using PumasCP.
PumasCP is an easy to use tool for carrying out clinical pharmacology analysis tasks in the NCA (Non-compartmental analysis) and BE (Bioequivalence) space. Some of the key tasks automated by PumasCP are:
- NCA
- NCA & BE
- BE
- Superposition & NCA
- Dose Proportionality
- NCA & Dose Proportionality
In particular, given study data, PumasCP provides an easy to use graphical interface for carrying out such tasks.
Our focus here on tasks 2 and 3 above, and in particular 3.
See complete video playlist illustrating the many features of PumasCP: PumasAI (2024).
2 PumasCP vs. Pumas (command line): When to Use Each for Bioequivalence?
Pumas (command line) is a flexible tool that can handle a wide range of bioequivalence tasks. As shown in previous units—especially in Unit 4—the built-in pumas_be
function performs bioequivalence analysis for many different study designs and scenarios. For a broad overview, see the Quick Run-through of Pumas Bioequivalence Outputs tutorial.
If you need to go beyond the standard use of the pumas_be
function, Pumas provides even more power. By using Julia alongside Pumas, you can easily create simulations to test multiple scenarios. You can also customize models with packages like GLM
and MixedModels
, as explained earlier.
On the other hand, PumasCP is a graphical user interface (GUI) tool. It is best for repetitive workflows where simplicity is key, and it is accessible to users without programming experience. PumasCP makes it easy to create and reuse templates for your team or organization, and is generally intended for straightforward tasks.
So in summary:
- PumasCP: Simple to use, no need for coding, suitable for routine bioequivalence analyses.
- Pumas (command line): Offers full flexibility and customization, from simple uses with
pumas_be
to advanced simulation and modeling.
Further:
- Everything you can do in PumasCP can also be done in Pumas (command line).
- Many common Pumas (command line) workflows can be done in PumasCP—no coding required.
- Some advanced analyses (such as complex simulations or non-standard model adjustments) can only be done in Pumas (command line).
For most standard bioequivalence tasks, PumasCP is usually enough. For more complex scenarios, choose Pumas (command line).
Consult the Pumas Products Page for more information.
3 The elements of Pumas CP: Studies, Datasets, Tasks, and Reports
PumasCP organizes data, activities, and results with the concept of a study.
A study is then comprised of:
- Datasets
- Tasks
- Reports
Each study can have multiple datasets, multiple tasks, and multiple reports.
The actions carried out are the tasks as these tasks create intermediate and final summaries of the study. Our focus in this unit is obviously on bioequivalence related tasks.
All studies
When you log onto PumasCP you are presented with a list of all of your studies. A study is related to a Compound.
Then once you are focused on a particular study, the key actions you can cary are uploading a dataset, Run a New Task, or Generate a Report:
You can obviously also return to older tasks to modify them, and modify reports. You can also transform datasets within the study.
The Datasets, Tasks, and Reports of a Study
When you consider a study, such as for example a study we named Learning PumasCP
here, you see a display as this:
It lists all of the datasets, tasks, and reports in the study. You can add more datasets by uploading them, or by transforming existing datasets. You can add tasks by running tasks. Finally you can add and modify reports.
The key verb: a task
As stated the key activity of PumasCP is a task. When you start a task (always within a study) you can choose the analysis template for the task. In special cases you can make your own template, but we don’t discuss these cases here.
As you can see above, we chose the Bioequivalence
analysis template (or “task type”).
The key noun: a dataset
Obviously, PumasCP operates based on collected experimental data. After you upload the data, within the task, you Select Dataset
to indicate which dataset (from the those available in the study) is going to be used in the task.
At this point you can also transform a dataset and PumasCP builds a hierarchy where your new transformed dataset is a child of the original dataset. This is the data transformations menu and it offers many features and options for both standard and powerfully unique transformations:
Once the data is chosen (either a raw uploaded dataset or a transformed one), you map subjects in the sense that you relate column names from the daset to their respective input names for the analysis:
For example, in the context of bioequivalence, we typically want the columns:
id
for determining the subject.sequence
for determining the sequence (e.g.RT
vsTR
).period
for determining the period.
If the data has names different from these, then you map them with the pull down menus.
Setting up the Task
In the heart of the task you choose a few options. For example in the context of bioequivalence you choose the endpoint to analyze and a few other options as needed.
As you can see, by this point PumasCP already recognizes the design and study paradigm and often channels you to the set of available options based on the design and study paradigm.
Results
In the context of bioequivalence, results with PumasCP are similar to the output of a pumas_be
function (with command line Pumas). There are also options for looking at the model output and other results:
Thus with a few clicks, you are able to carry out bioequivalence analysis.
4 An example \(2 \times 2\) crossover study workflow
Here are instructions for working through a simple \(2 \times 2\) crossover study workflow, directly with bioequivalence endpoint data. You can try to follow these steps directly with PumasCP:
- Launch PumasCP.
- Create study: Click
New study -> Create new study
; call the studyMy first study
; call the compoundexample 1
; skip the sponsor name; skip the user-defined template. HitCreate +
to finish creating the study. You will move to the study page. - Upload dataset: Click
📎 Upload Dataset
. ClickTry an example dataset
. Choose underBE
, the datasetPJ2017_3_12 (crossover)
. TheUpload dataset
menu will appear. Inspect that dataset and then clickDone
. You will now see this dataset list in theDatasets
section. - Start the task: Click
📋 Run New Task
. A page titledStart the Task
appears. Change the name of the task fromUnnamed task
toBE analysis 1
. Then choose theBioequivalence
option. Finally hitNext
. - Select dataset for the task (part of task): You will see the
PJ2017_3_12.csv
dataset. Select the original version of it (as opposed to some transformed version) by clicking next toOriginal
. Finally hitNext
. - Map Subjects (part of task): Here you map names of columns from the dataset to their meaning for the analysis. In this case,
id
already matchesid
,sequence
already matchessequence
, andperiod
already matchesperiod
. After inspecting this mapping, hitNext
. - Review subject data (part of task): Here some subject data and summary statistics appear. You may view and when done hit `Next.
- Set BE Preferences (part of task): Here some options are set. In our case, make sure to choose both
AUC
andCmax
endpoints. Then hitNext
. - Review BE Results (part of task): Here expand the
BE Result AUC
andBE Result Cmax
to see the result tables for both endpoints. As you can see, AUC fails while Cmax passes. After inspecting the results, hitNext
. - Complete the task (part of task): Now you see a summary of all the results (you can click to expand results). Hit
Complete
to finish the task. - Start generating a report: Now back in the study screen you can see that the task is completed. Hit now
🗎 Generate Report
. A popup dialogue appears where you can choose the task for the report. In this case there is only theBE analysis 1
task that you ran. So select that task. - Choose content from task (part of report): Expand the menu next to
BE Analysis 1
. Make sure that bothSubject Data
andBE Result
are selected. Change the name of the report fromMy first study
toBasic report 1
. Then hitDone
. You will return to the study page. - Download the report: In the study page you will see the report
Basic report 1
. By hovering on the date next to it you will see an icon that represents downloading. Hit that icon. A popup menu appears where you can change the file format topdf
. After making that change, hitConfirm
. You can now inspect the pdf file of the report.
5 Bioequivalance together with NCA workflow
Here are instructions for working through a simple \(2 \times 2\) crossover study workflow all the way from obtaining drug concentration over time data, to a bioequivalence study. You can try to follow these steps directly with PumasCP:
- Launch PumasCP.
- Go back to
My first study
: You created this study above (in case you didn’t repeat step 2 of the section above). We will run the analysis as part of this study. - Upload dataset: Click
📎 Upload Dataset
. ClickTry an example dataset
. Choose underBE
, the datasetcrossover_study
. TheUpload dataset
menu will appear. Inspect that dataset to observe this dataset has concentration over time data. and then clickDone
. You will now see this dataset list in theDatasets
section. - Start to transform the dataset: (This step can also be done as part of a task). Hover over the date of the dataset
crossover_study.csv
and chooseTransform
. A popup will appear titledTransformed Copy
. This dataset has the first 168 hours (week) for period 1 and the remaining 168 hours for period 2. You can observe this by looking at rows 17 and 18 where theperiod
for subjectid
1 changes from1
to2
. Our transformation will be to take the times in period and subtract 168. - Derive a column (part of the transform step): Hit
Derive
under theTransformations Available
heading. A menu on the right will present you with a field currently set withNew column name
. Replace this text withtime_in_period
. Under it (and under the textis defined as
) you are to put a formula (Julia expression). For this put::period == 1 ? :time : round(:time - 168, digits = 4)
. Finally in theNotes
enter:Time from start of period requires shifting of period 2
. Finish by clickingDone
. You will now see that the dataset has a derived dataset,crossover_study (derived).csv
. - Start the task: Click
📋 Run New Task
. A page titledStart the Task
appears. Change the name of the task fromUnnamed task
toNCA+BE analysis 1
. Then choose theNCA & Bioequivalence
option. Finally hitNext
. - Select dataset for the task (part of task): Select
crossover_study (derived).csv
(note that you could have created the transformation here as well). Finally hitNext
. - Map & Group Subjects (part of task): Here you map names of columns from the dataset to their meaning for the analysis. Change the
time
choice from the automatically detectedtime
column to be thetime_in_period
column. Inspect that other choices and finally hitNext
. - Review NCA Subject Data (part of task): Inspect the
Listing of concentrations at nominal time points
table and theObservations vs. Time
plots. Then hitNext
. - Set NCA Preferences (part of task): Here look at the
Standard Parameters
and only keepcmax
andauclast
selected. These are the two endpoints that will be calculated via NCA analysis. Finally hitNext
. - Explore Subjects (part of task): Explore the related plots and hit
Next
when finished. - Review NCA Results (part of task): Look at the table under
NCA parameter listing
. These are now the calculated endpoints per subject and period. Then hitNext
. - Review Data for BE (part of task): At this point the task transitions from NCA analysis to BE analysis. Increase the
No. Rows per page
to100
. You may now inspect the dataset fully. HitNext
when finished. - Set BE Preferences (part of task): Under the
Endpoints selected
table changeNo. Rows per page
to100
. You now see all the endpoints. Select onlycmax
andauclast
and make sure all others (e.g.tmax
are unselected). Now as you hitNext
PumasCP will carry out BE analysis. - Review BE Results (part of task): This is similar to step 9 in the first workflow above (BE only). Inspect
BE Result cmax
to see the CI is[92.74, 100.2]
. InspectBE Result auclast
to see the CI is[96.23, 101.1]
. HitNext
when finished. - Complete the task (part of task): Now you see a summary of all the results (you can click to expand results). Hit
Complete
to finish the task. - Generating a report: Now back in the study screen you can see that the task is completed. You can now generate a report based on the result of this task and other tasks run (e.g. if you ran the previous task also). As you can see, when you generate a report you can expand/collapse many parts of the task to choose the tables, listing, and figures that suit you best.
6 Conclusion
This unit provided a hands-on introduction to PumasCP, the graphical user interface for clinical pharmacology analysis. We demonstrated how PumasCP simplifies bioequivalence analysis into a no-code, click-through process, making it an accessible tool for routine analyses. The unit began by positioning PumasCP in contrast to the power and flexibility of the Pumas command-line interface, providing guidance on when to use each tool.
We then walked through two practical workflows. The first illustrated a direct bioequivalence analysis on a dataset with pre-calculated endpoints. The second demonstrated a more comprehensive workflow, starting with raw concentration-time data, performing a data transformation, running a Non-Compartmental Analysis (NCA) to derive endpoints, and finally conducting the bioequivalence assessment. Through these examples, we covered the core concepts of PumasCP—Studies, Datasets, Tasks, and Reports—showing how to navigate the interface to produce a complete analysis and generate a final report. Having established this practical foundation with PumasCP, we are now equipped to return to the statistical theory in subsequent units to explore more advanced topics.
7 Unit exercises
Basic Bioequivalence Analysis in PumasCP
This exercise is based on the first workflow, “An example \(2 \times 2\) crossover study workflow,” which performs a direct BE analysis on a dataset with existing endpoints.
- Follow the steps outlined in the first workflow to perform a bioequivalence analysis, but instead of the
PJ2017_3_12
dataset, use theSLF2014_1.csv
example dataset, which is also available under theBE
category in PumasCP. - For the
AUC
endpoint, what is the reported Geometric Mean Ratio (GMR) and its 90% Confidence Interval? - Based on the standard 80.00% to 125.00% acceptance range, does the analysis for the
Cmax
endpoint conclude bioequivalence? Justify your answer by citing the 90% CI from the PumasCP output.
- Follow the steps outlined in the first workflow to perform a bioequivalence analysis, but instead of the
NCA and BE Workflow with Data Manipulation
This exercise is based on the second workflow, “Bioequivalence together with NCA workflow,” and requires you to modify the dataset before analysis.
- Begin with the
crossover_study.csv
example dataset. Before starting the main task, use theTransform
feature to create a new, filtered dataset that excludes subjects withid
4, 5, 6, and 7. (Hint: Use theFilter
transformation and a condition like!(id in [4,5,6,7])
.) - Using this new filtered dataset, follow the complete “Bioequivalence together with NCA workflow” to derive the
time_in_period
column, run the NCA, and perform the final BE analysis on thecmax
andauclast
endpoints. - After running the analysis, what is the new 90% Confidence Interval for the
auclast
endpoint? How does it compare to the interval from the tutorial where all subjects were included ([96.23, 101.1]
)? - Generate a PDF report for this task. Customize the report to include only the “NCA parameter listing” table and the final “BE Result” tables for
cmax
andauclast
. Exclude all plots and other tables.
- Begin with the