pksummary_table: Make a summary PK table for a report or slide deck - THIS...

View source: R/pksummary_table.R

pksummary_tableR Documentation

Make a summary PK table for a report or slide deck - THIS FUNCTION HAS BEEN DEPRECATED IN FAVOR OF THE FUNCTION pk_table.

Description

Make a summary PK table for a report or slide deck - THIS FUNCTION HAS BEEN DEPRECATED IN FAVOR OF THE FUNCTION pk_table.

Usage

pksummary_table(
  sim_data_file = NA,
  compoundToExtract = "substrate",
  tissue = "plasma",
  PKparameters = NA,
  PKorder = "default",
  sheet_PKparameters = NA,
  observed_PK = NA,
  existing_exp_details = NA,
  report_input_file = NA,
  sheet_report = NA,
  mean_type = NA,
  use_median_for_tmax = TRUE,
  includeCV = TRUE,
  includeSD = FALSE,
  includeConfInt = TRUE,
  includeMedian = FALSE,
  includeRange = FALSE,
  includePerc = FALSE,
  includeTrialMeans = FALSE,
  concatVariability = FALSE,
  variability_format = "to",
  convert_conc_units = NA,
  include_dose_num = NA,
  add_header_for_DDI = TRUE,
  rounding = NA,
  prettify_columns = TRUE,
  prettify_compound_names = TRUE,
  extract_forest_data = FALSE,
  checkDataSource = TRUE,
  return_PK_pulled = FALSE,
  highlight_gmr_colors = NA,
  highlight_so_cutoffs = NA,
  highlight_so_colors = "yellow to red",
  save_table = NA,
  page_orientation = "portrait",
  fontsize = 11,
  adjust_conc_units = NA
)

Arguments

sim_data_file

a simulator output file. If you supplied a file name in a data.frame of observed PK or a csv or Excel file of observed PK for observed_PK, that file name will be used preferentially and you can leave this blank. Similarly, if you supply a filled-out report input form to the argument report_input_file, the file name you supplied there will be used preferentially, and you can leave this blank.

compoundToExtract

For which compound do you want to extract PK data? Options are:

  • "substrate" (default),

  • "primary metabolite 1",

  • "primary metabolite 2",

  • "secondary metabolite",

  • "inhibitor 1" – this can be an inducer, inhibitor, activator, or suppresesor, but it's labeled as "Inhibitor 1" in the simulator,

  • "inhibitor 2" for the 2nd inhibitor listed in the simulation,

  • "inhibitor 1 metabolite" for the primary metabolite of inhibitor 1

tissue

For which tissue would you like the PK parameters to be pulled? Options are "plasma" (default), "unbound plasma", "blood", "unbound blood", "peripheral plasma", or "peripheral blood". NOTE: PK for peripheral sampling is not as well tested as for other tissues and is only set up for V21+. Please check your results carefully.

PKparameters

(optional) the PK parameters to include as a character vector.

  • By default, if you have a single-dose simulation, the parameters will include AUC and Cmax for dose 1, and, if you have a multiple-dose simulation, AUC and Cmax for the last dose. Also by default, if you have an perpetrator present, the parameters will include the AUC and Cmax values with and without the perpetrator as well as those ratios.

  • Alternatively, you can specify a vector of any combination of specific, individual parameters, e.g., c("Cmax_dose1", "AUCtau_last"). Be sure to encapsulate the parameters you want with c(...). To see the full set of possible parameters to extract, enter view(PKParameterDefinitions) into the console.

  • If you would like PK pulled from a specific custom interval, please supply a named character vector where the names are the PK parameters and the values are the tabs. Example: sheet_PKparameters = c("AUCinf_dose1" = NA, "AUCt" = "Int AUC userT(1)(Sub)(CPlasma)", "AUCtau_last" = NA) Please note that the PK parameters that are for either dose 1 or the last dose must have NA listed for the tab. Another note: The code will work best if any PK parameters for a custom interval do not have a suffix indicating the dose number. Good: "AUCt". Bad: "AUCtau_last". This is because we do not know which dose number a custom interval is. This also helps use make sure that each PK parameter has only one value so that it's clear which PK data are being described. It is ok to supply this named character vector to the argument sheet_PKparameters instead, but please do not supply it to both.

  • If you supply observed data using either the argument report_input_file or the argument observed_PK, those PK parameters will be included automatically.

  • Parameters that don't make sense for your scenario – such as asking for AUCinf_dose1_withInhib when your simulation did not include an inhibitor or perpetrator – will not be included.

  • tmax will be listed as median, minimum, and maximum rather than mean, lower and higher 90% confidence interval or 5th to 95th percentiles. Similarly, if you request trial means, the values for tmax will be the range of medians for the trials rather than the range of means.

An example of acceptable input here: PKparameters = c("AUCtau_last", "AUCtau_last_withInhib", "Cmax_last", "Cmax_last_withInhib", "AUCtau_ratio_last", "Cmax_ratio_last").

PKorder

Would you like the order of the PK parameters to be the order specified in the Consultancy Report Template (default), or would you like the order to match the order you specified with the argument PKparameters? Options are "default" or "user specified".

sheet_PKparameters

(optional) If you want the PK parameters to be pulled from a specific tab in the simulator output file, list that tab here. Otherwise, this should be left as NA. If you want some parameters from a custom-interval tab and others from the regular tabs, please supply a named character vector where the names are the PK parameters and the values are the tabs. Example: sheet_PKparameters = c("AUCinf_dose1" = NA, "AUCt" = "Int AUC userT(1)(Sub)(CPlasma)", "AUCtau_last" = NA)

  • Please note that PK parameters that are for either dose 1 or the last dose should have NA listed for the tab.

  • Another note: The code will work best if any PK parameters for a custom interval do not have a suffix indicating the dose number. Good: "AUCt". Bad: "AUCtau_last". This is because we do not know which dose number a custom interval is. This also helps use make sure that each PK parameter has only one value so that it's clear which PK data are being described.

  • It is ok to supply this named character vector to the argument PKparameters instead, but please do not supply it to both.

observed_PK

(optional) If you have a data.frame, a named numeric vector, or an xlsx or csv file with observed PK parameters, supply the full file name in quotes or the data.frame or vector here, and the simulated-to-observed mean ratios will be calculated. If you supply an xlsx file, it must have a tab titled "observed PK", which is what will be read. The supplied data.frame or file can be long (one column named "PKparameter", one column named "Value", and optionally a column called "CV") or it can be wide (one column for each PK parameter). Whether it's long or wide, the PK parameters you list must be among the PK parameter options listed in PKParameterDefinitions. If you would like the output table to include the observed data CV for any of the parameters and you've got your data in a wide format (one column per parameter), add "_CV" to the end of the parameter name, e.g., "AUCinf_dose1_CV". Please see the "Example" section of this help file for examples of how to set this up.

existing_exp_details

If you have already run extractExpDetails_mult or extractExpDetails to get all the details from the "Input Sheet" (e.g., when you ran extractExpDetails you said exp_details = "Input Sheet" or exp_details = "all"), you can save some processing time by supplying that object here, unquoted. If left as NA, this function will run extractExpDetails behind the scenes to figure out some information about your experimental set up.

report_input_file

(optional) This argument is an alternative way to specify both what simulator Excel file to use and also what the observed PK parameters were. Input is the name of the Excel file created by running generateReportInputForm, which you have now filled out, including the path if it's in any other directory than the current one. Please see the "Details" section at the bottom for more information on this option.

sheet_report

the sheet in the Excel report file that contains information about the study, e.g., "study info - DDI" or "study info - no DDI" if you haven't renamed the tab. This only applies if you have supplied an Excel file name for report_input_file. If you're supplying a simulator output Excel file for sim_data_file, ignore this.

mean_type

What kind of means and CVs do you want listed in the output table? Options are "arithmetic", "geometric" (default), or "arithmetic for most, geometric for ratios". If you supplied a report input form, only specify this if you'd like to override the value listed there.

use_median_for_tmax

TRUE (default) or FALSE for whether to use median for tmax values, regardless of what the other summary statistics are. This is typically the case, but, if you've got client data where they actually gave you tmax using the same summary statistic as the other PK parameters (like geometric mean, for example), then set this to FALSE and whatever mean type you specified with the argument mean_type will also be used for tmax.

includeCV

TRUE (default) or FALSE for whether to include rows for CV in the table

includeSD

TRUE or FALSE (default) for whether to include rows for the standard deviation in the table

includeConfInt

TRUE (default) or FALSE for whether to include whatever confidence intervals were included in the simulator output file. Note that the confidence intervals are geometric since that's what the simulator outputs (see an AUC tab and the summary statistics; these values are the ones for, e.g., "90% confidence interval around the geometric mean(lower limit)").

includeMedian

TRUE or FALSE (default) for whether to include rows for the median in the table

includeRange

TRUE or FALSE (default) for whether to include the minimum and maximum values

includePerc

TRUE or FALSE (default) for whether to include the 5th to 95th percentiles

includeTrialMeans

TRUE or FALSE (default) for whether to include the range of trial means for a given parameter. Note: This is calculated from individual values rather than being pulled directly from the output.

concatVariability

TRUE or FALSE (default) for whether to concatenate the variability. If "TRUE", the output will be formatted into a single row and listed as the lower confidence interval or percentile to the upper CI or percentile, e.g., "2400 to 2700". Please note that the current SimcypConsultancy template lists one row for each of the upper and lower values, so this should be set to FALSE for official reports.

variability_format

formatting used to indicate the variability when the variability is concatenated. Options are "to" (default) to get output like "X to Y", "hyphen" to get output like "X - Y", "brackets" to get output like "[X, Y]", or "parentheses" for the eponymous symbol if you're an American and a bracket if you're British, e.g., "(X, Y)". (Sorry for the ambiguity; this was written by an American who didn't originally realize that there was another name for parentheses.)

convert_conc_units

Would you like to convert the units to something other than what was used in the simulation? Default is NA to leave the units as is, but if you set the concentration units to something else, this will attempt to convert the units to match that. This only adjusts only the simulated values, since we're assuming that that's the most likely problem and that observed units are relatively easy to fix, and it also only affects AUC and Cmax values. Acceptable input is any concentration unit listed in the Excel form for PE data entry, e.g. convert_conc_units = "ng/mL" or convert_conc_units = "uM". Molar concentrations will be automatically converted using the molecular weight of whatever you set for compoundToExtract.

include_dose_num

NA (default), TRUE, or FALSE on whether to include the dose number when listing the PK parameter. By default, the parameter will be labeled, e.g., "Dose 1 Cmax ratio" or "Last dose AUCtau ratio", if you have PK data for both the first dose and the last dose. Also by default, if you have data only for the first dose or only for the last dose, the dose number will be omitted and it will be labeled, e.g., "AUCtau ratio" or "Cmax ratio". Set this to TRUE or FALSE as desired to override the default behavior and get exactly what you want.

add_header_for_DDI

TRUE (default) or FALSE for whether to add an extra header row to the top of your table denoting when the PK are for baseline, with a perpetrator, or are the geometric mean ratios.

rounding

option for what rounding to perform, if any. Options are:

NA or "Consultancy"

All output will be rounded according to Simcyp Consultancy Team standards: to three significant figures when the value is < 100 or to the ones place if the value is >= 100. Please see the function round_consultancy, which does the rounding here.

"none"

No rounding will be performed.

"significant X" where "X" is a number

Output will be rounded to X significant figures. "signif X" also works fine.

"round X" where "X" is a number

Output will be rounded to X digits

"Word only"

Output saved to Word or a csv file will be rounded using the function round_consultancy, but nothing will be rounded in the output R object. This can be useful when you want to have nicely rounded and formatted output in a Word file but you also want to use the results from pksummary_table to make forest plots, which requires numbers that are not rounded.

prettify_columns

TRUE (default) or FALSE for whether to make easily human-readable column names. TRUE makes pretty column names such as "Dose 1 AUCinf (h*ng/mL)" whereas FALSE leaves the column with the R-friendly name from extractPK, e.g., "AUCinf_dose1".

prettify_compound_names

TRUE (default) or FALSE on whether to make compound names prettier in the prettified column titles and in any Word output files. This was designed for simulations where the substrate and any metabolites, perpetrators, or perpetrator metabolites are among the standard options for the simulator, and leaving prettify_compound_names = TRUE will make the name of those compounds something more human readable. For example, "SV-Rifampicin-MD" will become "rifampicin", and "Sim-Midazolam" will become "midazolam". Set each compound to the name you'd prefer to see in your column titles if you would like something different. For example, prettify_compound_names = c("perpetrator" = "teeswiftavir", "substrate" = "superstatin"). Please note that "perpetrator" includes all the perpetrators and perpetrator metabolites present, so, if you're setting the perpetrator name, you really should use something like this if you're including perpetrator metabolites: prettify_compound_names = c("perpetrator" = "teeswiftavir and 1-OH-teeswiftavir", "substrate" = "superstatin").

extract_forest_data

TRUE or FALSE (default) to get forest-plot data at the same time. This only applies when the compound to extract is the substrate or a substrate metabolite. If set to TRUE, this will return a list that includes data formatted for use with the function forest_plot. Since the forest_plot function only works with simulations with perpetrators (at least, for now), this will only work for simulations that included a perpetrator. This is probably most useful for the pksummary_mult function since a forest plot with only one simulation isn't terribly informative.

checkDataSource

TRUE (default) or FALSE for whether to include in the output a data.frame that lists exactly where the data were pulled from the simulator output file. Useful for QCing.

return_PK_pulled

TRUE or FALSE (default) for whether to return as a list item what PK parameters were pulled. This is used internally for writing table headings later.

highlight_gmr_colors

optionally specify a set of colors to use for highlighting geometric mean ratios for DDIs. Options are "yellow to red", "green to red" or a vector of 4 colors of your choosing. If left as NA, no highlighting for GMR level will be done.

highlight_so_cutoffs

optionally specify cutoffs for highlighting any simulated-to-observed ratios. Anything that is above those values or below the inverse of those values will be highlighted. To figure out what cells to highlight, this looks for a column titled "Statistic" or "Stat", then looks for what row contains "S/O" or "simulated (something something) observed" (as in, we'll use some wildcards to try to match your specific text). Next, it looks for any values in that same row that are above those cutoffs. This overrides anything else you specified for highlighting. The default is NA, for not highlighting based on S/O value. Acceptable input for, say, highlighting values that are > 125% or < 80% of the observed and also, with a second color, values that are > 150% or < 66% would be: highlight_so_cutoffs = c(1.25, 1.5). If you would like the middle range of values to be highlighted, include 1 in your cutoffs. For example, say you would like everything that's < 80% or > 125% to be highlighted red but you'd like the "good" values from 80% to 125% to be green, you can get that by specifying highlight_so_cutoffs = c(1, 1.25) and highlight_so_colors = c("green", "red"). This only applies when you save the table as a Word file.

highlight_so_colors

optionally specify a set of colors to use in the Word file output for highlighting S/O values outside the limits you specified with highlight_so_cutoffs. Options:

"yellow to red" (default)

A range of light yellow to light orange to light red. If you have included 1 in your cutoffs and you leave highlight_so_colors with the default setting, values in the middle, "good" range of S/O values will be highlighted a light green.

"traffic"

light green, yellow, and red designed to display values outside 1.25, 1.5, and 2 fold of unity, respectively. If you include 1 in highlight_so_cutoffs, you'll get a darker green for "good" S/O values. This color scheme was borrowed from Lisa, so if you've seen her slides, these will look familiar.

a character vector of specific colors

Any R-acceptable colors, will work here, e.g., highlight_so_colors = c("yellow", "orange", "red")

If you do specify your own bespoke colors, you'll need to make sure that you supply one color for every value in highlight_so_cutoffs.

save_table

optionally save the output table and, if requested, the QC info, by supplying a file name in quotes here, e.g., "My nicely formatted table.docx" or "My table.csv", depending on whether you'd prefer to have the main PK table saved as a Word or csv file. Do not include any slashes, dollar signs, or periods in the file name. (If you assign the output of pksummary_table to an R object, you can also save the table later to a Word file with the function formatTable_Simcyp.) If you supply only the file extension, e.g., save_table = "docx", the name of the file will be the file name plus "PK summary table" with that extension, and the output file will be located in the same folder as sim_data_file. If you supply something other than just "docx" or just "csv" for the file name but you leave off the file extension, we'll assume you want it to be ".csv". While the main PK table data will be in whatever file format you requested, if you set checkDataSource = TRUE, the QC data will be in a csv file on its own and will have "- QC" added to the end of the file name.

page_orientation

set the page orientation for the Word file output to "portrait" (default) or "landscape"

fontsize

the numeric font size for Word output. Default is 11 point. This only applies when you save the table as a Word file.

Value

Returns a data.frame of PK summary data and, if observed data were provided, simulated-to-observed ratios. If checkDataSource = TRUE, output will instead be a list of that data.frame (named "Table") and information on where the values came from for QCing (named "QC").

Examples

pksummary_table("abc1a-5mg-qd.xlsx")

pksummary_table(report_input_file = "My report input - project abc-1a.xlsx",
         sheet_report = "study info - Clinical study 001A",
         includeTrialMeans = TRUE)

# An example of how to format observed data as a data.frame:
pksummary_table(sim_data_file = "My simulated data.xlsx",
                observed_PK = data.frame(AUCinf_dose1 = 60,
                                         AUCinf_dose1_CV = 0.38,
                                         Cmax_dose1 = 22,
                                         Cmax_dose1_CV = 0.24))

# Or you can supply a named numeric vector:
pksummary_table(sim_data_file = "My simulated data.xlsx",
                observed_PK = c("AUCinf_dose1" = 60,
                                "AUCinf_dose1_CV" = 0.38,
                                "Cmax_dose1" = 22,
                                "Cmax_dose1_CV" = 0.24))

# Or an Excel or csv file:
pksummary_table(sim_data_file = "mdz-5mg-sd.xlsx",
                observed_PK = "mdz observed PK.csv")


shirewoman2/Consultancy documentation built on Feb. 18, 2025, 10 p.m.