Run drug response processing pipeline
Source:R/average_SE.R
, R/create_SE.R
, R/fit_SE.R
, and 2 more
runDrugResponseProcessingPipelineFxns.Rd
Run different components of the gDR drug response processing pipeline. Either: create a SummarizedExperiment and normalize raw treated and control data (create_and_normalize_SE), average data (average_SE), or fit the processed data (fit_SE). See details for more in-depth explanations.
Usage
average_SE(
se,
data_type,
series_identifiers = NULL,
override_masked = FALSE,
normalized_assay = "Normalized",
averaged_assay = "Averaged"
)
create_SE(
df_,
data_type,
readout = "ReadoutValue",
nested_identifiers = NULL,
nested_confounders = intersect(names(df_), gDRutils::get_env_identifiers("barcode")),
override_untrt_controls = NULL
)
fit_SE(
se,
data_type = "single-agent",
nested_identifiers = NULL,
averaged_assay = "Averaged",
metrics_assay = "Metrics",
n_point_cutoff = 4,
range_conc = c(0.005, 5),
force_fit = FALSE,
pcutoff = 0.05,
cap = 0.1,
curve_type = c("GR", "RV")
)
normalize_SE(
se,
data_type,
nested_identifiers = NULL,
nested_confounders = gDRutils::get_SE_identifiers(se, "barcode", simplify = TRUE),
control_mean_fxn = function(x) {
mean(x, trim = 0.25)
},
control_assay = "Controls",
raw_treated_assay = "RawTreated",
normalized_assay = "Normalized",
ndigit_rounding = 4
)
create_and_normalize_SE(
df_,
data_type,
readout = "ReadoutValue",
control_mean_fxn = function(x) {
mean(x, trim = 0.25)
},
nested_identifiers = NULL,
nested_confounders = intersect(names(df_), gDRutils::get_env_identifiers("barcode")),
override_untrt_controls = NULL,
ndigit_rounding = 4,
control_assay = "Controls",
raw_treated_assay = "RawTreated",
normalized_assay = "Normalized"
)
runDrugResponseProcessingPipeline(
x,
readout = "ReadoutValue",
control_mean_fxn = function(x) {
mean(x, trim = 0.25)
},
nested_identifiers_l = NULL,
nested_confounders = gDRutils::get_env_identifiers("barcode"),
override_untrt_controls = NULL,
override_masked = FALSE,
ndigit_rounding = 4,
n_point_cutoff = 4,
control_assay = "Controls",
raw_treated_assay = "RawTreated",
normalized_assay = "Normalized",
averaged_assay = "Averaged",
metrics_assay = "Metrics",
split_data = TRUE,
data_dir = NULL,
partial_run = FALSE,
start_from = get_pipeline_steps()[1],
selected_experiments = NULL
)
Arguments
- se
SummarizedExperiment
object.- data_type
single-agent vs combination
- series_identifiers
character vector of identifiers in
measured
ormetric
which define a unique data point.- override_masked
boolean indicating whether or not to override the masked wells in the averaging and include all wells. Defaults to
FALSE
.- normalized_assay
string of the assay name containing the normalized data. Defaults to
"Normalized"
.- averaged_assay
string of the name of the averaged assay in the SummarizedExperiment. Defaults to
"Averaged"
.- df_
data.table of raw drug response data containing both treated and untreated values. If a column called
"BackgroundValue"
exists indf_
, it will be removed from thereadout
column.- readout
string of the name containing the cell viability readout values.
- nested_identifiers
character vector with the nested_identifiers for the given SE with a given data_type
- nested_confounders
Character vector of the nested_confounders for a given assay. nested_keys is character vector of column names to include in the data.tables in the assays of the resulting
SummarizedExperiment
object. Defaults to thenested_identifiers
andnested_confounders
if passed throughcreate_and_normalize_SE
orrunDrugResponseProcessingPipeline
.- override_untrt_controls
named list containing defining factors in the treatments. Defaults to
NULL
.- metrics_assay
string of the name of the metrics assay to output in the returned SummarizedExperiment Defaults to
"Metrics"
.- n_point_cutoff
integer of how many points should be considered the minimum required to try to fit a curve. Defaults to
4
.- range_conc
vector of concetrations range values.
- force_fit
boolean indicating whether or not to force the fit.
- pcutoff
numeric cutoff value.
- cap
numeric value representing the value to cap the highest allowed relative viability at.
- curve_type
vector of curve type values.
- control_mean_fxn
function indicating how to average controls. Defaults to
mean(x, trim = 0.25)
.- control_assay
string containing the name of the assay representing the controls in the
se
. Defaults to"Controls"
.- raw_treated_assay
string containing the name of the assay representing the raw treated data in the
se
. Defaults to"RawTreated"
.- ndigit_rounding
integer indicating number of digits to round to in calculations. Defaults to
4
.- x
data.table of MAE with drug response data
- nested_identifiers_l
list with the nested_identifiers(character v ectors) for
single-agent
and (optionally) forcombination
data- split_data
boolean indicating whether data provided as the MultiAssayExperiment should be split again into appropriate data types
- data_dir
string with the path to the directory with intermediate data of experiments (qs files). If set to NULL (default) intermediate data is not saved/read in.
- partial_run
logical flag indicating if the pipeline should be run partially (from the step defined with
start_from
)- start_from
string indicating the pipeline step from which partial run should be launched
- selected_experiments
character vector with experiments for which pipeline should be run. This option works only for the pipeline being run partially (i.e. with
partial_run
flag set toTRUE
)
Details
runDrugResponseProcessingPipeline
is made up of 3 separate steps:
"create_and_normalize_SE"
"average_SE"
"fit_SE"
For create_and_normalize_SE, this creates a SummarizedExperiment object
from a data.table, where the data.table contains treatments on rows, and
conditions on columns.
A SummarizedExperiment object containing two asssays is
created: treated readouts will live in an assay called "RawTreated"
,
and reference readouts live in an assay called "Controls"
.
Subsequently, the treated and control elements will be normalized to output
two metrics:
For average_SE, take the normalized assay and average the nested
DataFrame
s across uniquenested_identifiers
.
For fit_SE, take the averaged assay and fit curves to obtain metrics, one set of metrics for each normalization type set.
Pipeline can be run partially with partial_run
flag set to TRUE. The
start_from
string defines the step from which the pipeline will be
launched. However, partial run of the pipeline is possible only if the whole
pipeline was launched at least once with defined data_dir
and intermediate
data was saved as qs files into data_dir
.
Pipeline can be run for the selected experiments by changing the default
value of selected_experiments
param. This scenario only works when
partial_run
is enabled.
Examples
d <- rep(seq(0.1, 0.9, 0.1), each = 4)
v <- rep(seq(0.1, 0.4, 0.1), 9)
df <- S4Vectors::DataFrame(
Concentration = d,
masked = rep(c(TRUE, TRUE, TRUE, FALSE), 9),
normalization_type = rep(c("GR", "RV"), length(v) * 2),
x = rep(v, 2)
)
normalized <- BumpyMatrix::splitAsBumpyMatrix(row = 1, column = 1, x = df)
keys <- list(Trt = "Concentration", "masked_tag" = "masked")
assays <- list("Normalized" = normalized)
se <- SummarizedExperiment::SummarizedExperiment(assays = assays)
se <- gDRutils::set_SE_keys(se, keys)
se <- gDRutils::set_SE_identifiers(se, gDRutils::get_env_identifiers())
se1 <- average_SE(
se,
data_type = "single-agent",
override_masked = FALSE,
normalized_assay = "Normalized",
averaged_assay = "Averaged"
)
#> Loading required namespace: testthat
td <- gDRimport::get_test_data()
l_tbl <- gDRimport::load_data(
manifest_file = gDRimport::manifest_path(td),
df_template_files = gDRimport::template_path(td),
results_file = gDRimport::result_path(td)
)
#> INFO [2024-11-15 20:27:32] Manifest loaded successfully
#> INFO [2024-11-15 20:27:32] Reading Template_7daytreated.xlsx with load_templates_xlsx
#> INFO [2024-11-15 20:27:32] Loading Template_7daytreated.xlsx
#> INFO [2024-11-15 20:27:33] Loading Template_Untreated.xlsx
#> INFO [2024-11-15 20:27:33] Templates loaded successfully!
#> INFO [2024-11-15 20:27:33] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day0.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:33] Plate 201904190a read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904190b read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904190c read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904190d read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904190e read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904190f read; 384 wells
#> INFO [2024-11-15 20:27:33] File done
#> INFO [2024-11-15 20:27:33] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day7.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:33] Plate 201904197a read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904197b read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904197c read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904197d read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904197e read; 384 wells
#> INFO [2024-11-15 20:27:33] Plate 201904197f read; 384 wells
#> INFO [2024-11-15 20:27:33] File done
imported_data <- merge_data(
l_tbl$manifest,
l_tbl$treatments,
l_tbl$data
)
#> INFO [2024-11-15 20:27:33] Merging data
#> INFO [2024-11-15 20:27:33] Merging the metadata (manifest and treatment files)
#> WARN [2024-11-15 20:27:33] 4608 well loaded, 768 wells discarded for lack of annotation,
#> 3840 data point selected
#>
se <- purrr::quietly(create_SE)(imported_data, data_type = "single-agent")
td <- gDRimport::get_test_data()
l_tbl <- gDRimport::load_data(
manifest_file = gDRimport::manifest_path(td),
df_template_files = gDRimport::template_path(td),
results_file = gDRimport::result_path(td)
)
#> INFO [2024-11-15 20:27:33] Manifest loaded successfully
#> INFO [2024-11-15 20:27:33] Reading Template_7daytreated.xlsx with load_templates_xlsx
#> INFO [2024-11-15 20:27:33] Loading Template_7daytreated.xlsx
#> INFO [2024-11-15 20:27:34] Loading Template_Untreated.xlsx
#> INFO [2024-11-15 20:27:34] Templates loaded successfully!
#> INFO [2024-11-15 20:27:34] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day0.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:34] Plate 201904190a read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904190b read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904190c read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904190d read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904190e read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904190f read; 384 wells
#> INFO [2024-11-15 20:27:34] File done
#> INFO [2024-11-15 20:27:34] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day7.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:34] Plate 201904197a read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904197b read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904197c read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904197d read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904197e read; 384 wells
#> INFO [2024-11-15 20:27:34] Plate 201904197f read; 384 wells
#> INFO [2024-11-15 20:27:34] File done
imported_data <- merge_data(
l_tbl$manifest,
l_tbl$treatments,
l_tbl$data
)
#> INFO [2024-11-15 20:27:34] Merging data
#> INFO [2024-11-15 20:27:34] Merging the metadata (manifest and treatment files)
#> WARN [2024-11-15 20:27:34] 4608 well loaded, 768 wells discarded for lack of annotation,
#> 3840 data point selected
#>
inl <- prepare_input(imported_data)
#> Warning: 'Plate' nested confounder(s) is/are not present in the data.
#> Switching into 'Barcode' nested confounder(s).
se <- create_SE(
inl$df_list[["single-agent"]],
data_type = "single-agent",
nested_confounders = inl$nested_confounders)
#> INFO [2024-11-15 20:27:34]
#> INFO [2024-11-15 20:27:34]
normalize_SE(se, data_type = "single-agent")
#> class: SummarizedExperiment
#> dim: 3 6
#> metadata(3): identifiers experiment_metadata Keys
#> assays(3): RawTreated Controls Normalized
#> rownames(3): G00002_drug_002_moa_A_168 G00004_drug_004_moa_A_168
#> G00011_drug_011_moa_B_168
#> rowData names(4): Gnumber DrugName drug_moa Duration
#> colnames(6): CL00011_cellline_BA_breast_cellline_BA_unknown_26
#> CL00012_cellline_CA_breast_cellline_CA_unknown_30 ...
#> CL00015_cellline_FA_breast_cellline_FA_unknown_42
#> CL00018_cellline_IB_breast_cellline_IB_unknown_54
#> colData names(6): clid CellLineName ... subtype ReferenceDivisionTime
p_dir <- file.path(tempdir(), "pcheck")
dir.create(p_dir)
td <- gDRimport::get_test_data()
l_tbl <- gDRimport::load_data(
manifest_file = gDRimport::manifest_path(td),
df_template_files = gDRimport::template_path(td),
results_file = gDRimport::result_path(td)
)
#> INFO [2024-11-15 20:27:35] Manifest loaded successfully
#> INFO [2024-11-15 20:27:35] Reading Template_7daytreated.xlsx with load_templates_xlsx
#> INFO [2024-11-15 20:27:35] Loading Template_7daytreated.xlsx
#> INFO [2024-11-15 20:27:35] Loading Template_Untreated.xlsx
#> INFO [2024-11-15 20:27:35] Templates loaded successfully!
#> INFO [2024-11-15 20:27:35] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day0.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:35] Plate 201904190a read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904190b read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904190c read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904190d read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904190e read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904190f read; 384 wells
#> INFO [2024-11-15 20:27:35] File done
#> INFO [2024-11-15 20:27:35] Reading file /usr/local/lib/R/site-library/gDRimport/extdata/data1/RawData_day7.xlsx, sheet Readout_0077vs0068_day7
#> New names:
#> • `` -> `...1`
#> • `` -> `...2`
#> • `` -> `...3`
#> • `` -> `...4`
#> • `` -> `...5`
#> • `` -> `...6`
#> • `` -> `...7`
#> • `` -> `...8`
#> • `` -> `...9`
#> • `` -> `...10`
#> • `` -> `...11`
#> • `` -> `...12`
#> • `` -> `...13`
#> • `` -> `...14`
#> • `` -> `...15`
#> • `` -> `...16`
#> • `` -> `...17`
#> • `` -> `...18`
#> • `` -> `...19`
#> • `` -> `...20`
#> • `` -> `...21`
#> • `` -> `...22`
#> • `` -> `...23`
#> • `` -> `...24`
#> • `` -> `...25`
#> INFO [2024-11-15 20:27:35] Plate 201904197a read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904197b read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904197c read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904197d read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904197e read; 384 wells
#> INFO [2024-11-15 20:27:35] Plate 201904197f read; 384 wells
#> INFO [2024-11-15 20:27:35] File done
imported_data <- merge_data(
l_tbl$manifest,
l_tbl$treatments,
l_tbl$data
)
#> INFO [2024-11-15 20:27:35] Merging data
#> INFO [2024-11-15 20:27:35] Merging the metadata (manifest and treatment files)
#> WARN [2024-11-15 20:27:35] 4608 well loaded, 768 wells discarded for lack of annotation,
#> 3840 data point selected
#>
runDrugResponseProcessingPipeline(
imported_data,
data_dir = p_dir
)
#> Warning: 'Plate' nested confounder(s) is/are not present in the data.
#> Switching into 'Barcode' nested confounder(s).
#> Processing combination
#> Warning: mapping original concentration '0.00457247142398638' to '0.00437'
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> mapping original concentration '0.00457247142398638' to '0.00437'
#> not enough data points (1 < 4) to perform fitting
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> mapping original concentration '0.00457247142398638' to '0.00437'
#> not enough data points (1 < 4) to perform fitting
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> mapping original concentration '0.00457247142398638' to '0.00437'
#> not enough data points (1 < 4) to perform fitting
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> mapping original concentration '0.00457247142398638' to '0.00437'
#> not enough data points (1 < 4) to perform fitting
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitt
#> Processing single-agent
#> Warning: method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> overriding original x_0 argument '1' with '1.08355555555556' (fit is not statistically significant (p=1.00), setting constant fit)
#> overriding original x_0 argument '1' with '1.1' (only 1 normalized value detected, setting constant fit)
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> overriding original x_0 argument '1' with '1.09306666666667' (fit is not statistically significant (p=1.00), setting constant fit)
#> overriding original x_0 argument '1' with '1.1' (only 1 normalized value detected, setting constant fit)
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> NaNs produced
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> method L-BFGS-B uses 'factr' (and 'pgtol') instead of 'reltol' and 'abstol'
#> not enough data points (1 < 4) to perform fitting
#> not enough data points (1 < 4) to perform fitting
#> A MultiAssayExperiment object of 2 listed
#> experiments with user-defined names and respective classes.
#> Containing an ExperimentList class object of length 2:
#> [1] combination: SummarizedExperiment with 2 rows and 6 columns
#> [2] single-agent: SummarizedExperiment with 3 rows and 6 columns
#> Functionality:
#> experiments() - obtain the ExperimentList instance
#> colData() - the primary/phenotype DataFrame
#> sampleMap() - the sample coordination DataFrame
#> `$`, `[`, `[[` - extract colData columns, subset, or experiment
#> *Format() - convert into a long or wide DataFrame
#> assays() - convert ExperimentList to a SimpleList of matrices
#> exportClass() - save data to flat files