The package tcplfit2
is used to perform basic
concentration-response curve fitting. The original tcplFit() functions
in the ToxCast Data
Analysis Pipeline (tcpl) package performed basic
concentration-response curve fitting to 3 models: Hill, gain-loss [a
modified Hill], and constant. With tcplfit2
, the
concentration-response functionality of the package tcpl
has been expanded and is being used to process high-throughput screening
(HTS) data generated at the US Environmental Protection Agency,
including targeted assay data in ToxCast, high-throughput
transcriptomics (HTTr), and high-throughput phenotypic profiling (HTPP)
screening results. The tcpl
R package continues to be used
to manage, curve-fit, plot, and populate its linked MySQL database,
invitrodb. Processing with tcpl
version 3.0 and beyond
depends on the stand-alone tcplfit2
package to allow a
wider variety of concentration-response models (when using invitrodb in
the 4.0 schema and beyond).
The main set of extensions includes additional concentration-response
models like those contained in the program BMDExpress2. These
include exponential, polynomial (1 & 2), and power functions in
addition to the original Hill, gain-loss and constant models. Similar to
the program BMDExpress, a defined benchmark response (BMR) level is used
to estimate a benchmark dose (BMD), which is the concentration where the
curve-fit intersects with this BMR threshold. One final addition was to
let the hitcall value be a number ranging from 0 to 1 (in contrast to
binary hitcall values from tcplFit()). Continuous hitcall in
tcplfit2
is defined as the product of three proportional
weights: 1) the AIC of the winning model is better than the constant
model (i.e. winning model is not fit to background noise), 2) at least
one concentration has a median response that exceeds cutoff, and 3) the
top from the winning model exceeds the cutoff.
Although developed primarily for bioactivity data curve fitting in
the Center for Computational Toxicology and Exposure, the
tcplfit2
package is written to be generally applicable to
the chemical-screening community for standalone applications.
This vignette describes some functionality of the
tcplfit2
package with a few simple standalone examples.
concRespCore
concRespCore
is the main wrapper function utilizing two
other utility functions, tcplfit2_core
and
tcplhit2_core
, to perform curve fitting, hitcalling and
potency estimation. This example shows how to use the
concRespCore
function; refer to the Concentration-Response Modeling for Multiple Series with
tcplfit2_core and tcplhit2_core section to see how
tcplfit2_core
and tcplhit2_core
may be used
separately. The first argument for concRespCore
is a named
list, called ‘row’, containing the following inputs:
conc
- a numeric vector of concentrations (not log
concentrations).resp
- a numeric vector of responses, of the same
length as conc
. Note that replicates are allowed,
i.e. there may be multiple response values (resp
) for one
concentration dose group.cutoff
- a single numeric value indicating the response
at which a relevant level of biological activity occurs. This value is
typically used to determine if a curve is classified as a “hit”. In
ToxCast, this is usually 3 times the median absolute deviation around
the baseline (BMAD). However, users are free to make other choices more
appropriate for their given assay and data.bmed
- a single numeric value giving the baseline
median response. If set to zero then the data are already zero-centered.
Otherwise, this value is used to zero-center the data by shifting the
entire response series by the specified amount.onesd
- a single numeric value giving one standard
deviation of the baseline responses. This value is used to calculate the
benchmark response (BMR), where BMR = onesd × bmr_scale.
The bmr_scale
defaults to 1.349.The row
object may include other elements which provide
annotation which will be included as part of the
concRespCore
function output – for example, chemical names
(or other identifiers), assay name, name of the response being modeled,
etc.
A user may also need to include other arguments in the
concRespCore
function, which internally control the
execution of curve fitting, hitcalling, and potency estimation:
conthits
- Boolean argument. If TRUE (the default, and
recommended usage), the hitcall returned will be a value between 0 and
1.errfun
- Allows user to specify the distribution of
errors. The default is “dt4”, models are fit assuming the errors follow
a Student’s t-distribution with 4 degrees of freedom. Can assume the
errors are normally distributed by changing it to “dnorm”.poly2.biphasic
- If TRUE (the default, and recommended
usage), the polynomial 2 model will allow a biphasic curve to be fit to
the response (i.e. increase then decrease or vice versa). Can force
monotonic fitting with FALSE (parabola with vertex not in the tested
concentration range).do.plot
- If this is set to TRUE (default is FALSE), a
plot of all fitted curves will be generated. This plotting functionality
is outdated by another plotting function in this package,
plot_allcurves
. More on this can be found under Plotting.fitmodels
- a character vector indicating which models
to fit the concentration-response data with. If the
fitmodels
parameter is specified, the constant model
(cnst
) model must be included since it is used for
comparison in the hitcalling process. However, any other model may be
omitted by the user, for example the gain-loss (gnls
) model
is excluded in some applications. For a full list of potential
arguments, refer to the function documentation
(?concRespCore
).The following code provides a simple example for setting up the input
and executing the modeling with concRespCore
.
# tested concentrations
conc <- list(.03,.1,.3,1,3,10,30,100)
# observed responses at respective concentrations
resp <- list(0,.2,.1,.4,.7,.9,.6, 1.2)
# row object with relevant parameters
row = list(conc = conc, resp = resp, bmed = 0, cutoff = 1, onesd = .5,name="some chemical")
# execute concentration-response modeling through potency estimation
res <- concRespCore(row,
fitmodels = c("cnst", "hill", "gnls",
"poly1", "poly2", "pow", "exp2", "exp3",
"exp4", "exp5"),
conthits = T)
The output of this run will be a data frame, with one row, summarizing the results for the winning model.
name | n_gt_cutoff | cutoff | fit_method | top_over_cutoff | rmse | a | b | tp | p | q | ga | la | er | bmr | bmdl | bmdu | caikwt | mll | hitcall | ac50 | ac50_loss | top | ac5 | ac10 | ac20 | acc | ac1sd | bmd | conc | resp | errfun |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
some chemical | 1 | 1 | hill | 1.22559932960684 | 0.175031168209235 | 1.22559932960684 | 0.77528437488152 | 2.55427178874732 | -2.4678530055911 | 0.6745 | 2.34181121934655 | 4.82255254331477 | 6.06484549947882e-05 | 4.49230078464142 | 0.965061402103833 | 2.55427178874732 | 1.22559932960684 | 0.0572621543498686 | 0.150119836954166 | 0.427268085568445 | 17.4326688230274 | 1.58002449695213 | 3.31477499075104 | 0.03|0.1|0.3|1|3|10|30|100 | 0|0.2|0.1|0.4|0.7|0.9|0.6|1.2 | dt4 |
One can plot winning curve by passing the output (res
)
to the function concRespPlot2
. This function returns a
basic ggplot
object, which is meant to leverage the
flexibility and modularity of ggplot2
objects that allow
users the ability to customize the plot by adding layers of detail. For
more information on customizing plots we refer users to the Plotting section.
# plot the winning curve from example 1, add a title
concRespPlot2(res, log_conc = TRUE) + ggtitle("Example 1: Chemical A")
Figure 1: The winning model fit for a single concentration-response series. The concentrations (x-axis) are in log10 units.
tcplfit2_core
and tcplhit2_core
This example shows how to fit a set of concentration-response series
from a single assay using the tcplfit2_core
and
tcplhit2_core
functions sequentially. Using the functions
sequentially allows users greater flexibility to examine the
intermediate output. For example, the output from
tcplfit2_core
contains model parameters for all models fit
to the concentration-response series provided. Furthermore,
tcplfit2_core
results may be passed to
plot_allcurves
, which generates a comparative plot of all
curves fit to a concentration-response series.
Here, data from a Tox21 high-throughput screening (HTS) assay
measuring estrogen receptor (ER) agonist activity are examined. The data
were processed by the ToxCast pipeline (tcpl
), stored, and
retrieved from the Level 3 (mc3) table in the database
invitrodb
. At Level 3, data have already undergone
pre-processing steps (prior to tcpl
), including
transformation of response values (including zero centering) and
concentration normalization. For this example, 6 out of the 100
available chemical samples (spids) from mc3
are selected.
Concentration-response Modeling for tcpl-like data
without a database connection highlights how to process from source
data.
The following code demonstrates how to set up the input data and
execute curve fitting and hitcalling with the tcplfit2_core
and tcplhit2_core
functions, respectively.
# read in the data
# Loading in the level 3 example data set from invitrodb
data("mc3")
head(mc3)
#> dtxsid casrn name spid logc resp
#> 1 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 1.477121 36.3584083
#> 2 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 -2.000000 0.3244336
#> 3 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 0.000000 9.0799288
#> 4 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 -3.000000 1.4104484
#> 5 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 -1.000000 0.5884602
#> 6 DTXSID7020182 80-05-7 Bisphenol A Tox21_400088 -2.000000 -0.5267254
#> assay
#> 1 TOX21_ERa_BLA_Agonist_ratio
#> 2 TOX21_ERa_BLA_Agonist_ratio
#> 3 TOX21_ERa_BLA_Agonist_ratio
#> 4 TOX21_ERa_BLA_Agonist_ratio
#> 5 TOX21_ERa_BLA_Agonist_ratio
#> 6 TOX21_ERa_BLA_Agonist_ratio
# determine the background variation
# chosen as logc <= -2 in this example but will be assay/application specific
temp <- mc3[mc3$logc<= -2,"resp"]
bmad <- mad(temp)
onesd <- sd(temp)
cutoff <- 3*bmad
# select six chemical samples. Note that there may be more than one sample processed for a given chemical
spid.list <- unique(mc3$spid)
spid.list <- spid.list[1:6]
# create empty objects to store results and plots
model_fits <- NULL
result_table <- NULL
plt_lst <- NULL
# loop over the samples to perform concentration-response modeling & hitcalling
for(spid in spid.list) {
# select the data for just this sample
temp <- mc3[is.element(mc3$spid,spid),]
# The data file stores concentrations in log10 units, so back-transform
conc <- 10**temp$logc
# Save the response values
resp <- temp$resp
# pull out all of the chemical identifiers and the assay name
dtxsid <- temp[1,"dtxsid"]
casrn <- temp[1,"casrn"]
name <- temp[1,"name"]
assay <- temp[1,"assay"]
# Execute curve fitting
# Input concentrations, responses, cutoff, a list of models to fit, and other model fitting requirements
# force.fit is set to true so that all models will be fit regardless of cutoff
# bidirectional = FALSE indicates only fit models in the positive direction.
# if using bidirectional = TRUE the coff only needs to be specified in the positive direction.
model_fits[[spid]] <- tcplfit2_core(conc, resp, cutoff, force.fit = TRUE,
fitmodels = c("cnst", "hill", "gnls",
"poly1", "poly2", "pow",
"exp2","exp3", "exp4", "exp5"),
bidirectional = FALSE)
# Get a plot of all curve fits
plt_lst[[spid]] <- plot_allcurves(model_fits[[spid]],
conc = conc, resp = resp, log_conc = TRUE)
# Pass the output from 'tcplfit2_core' to 'tcplhit2_core' along with
# cutoff, onesd, and any identifiers
out <- tcplhit2_core(model_fits[[spid]], conc, resp, bmed = 0,
cutoff = cutoff, onesd = onesd,
identifiers = c(dtxsid = dtxsid, casrn = casrn,
name = name, assay = assay))
# store all results in one table
result_table <- rbind(result_table,out)
}
The output from tcplfit2_core
is a nested list
containing the following elements:
modelnames
- a vector of the model names fit to the
data.errfun
- a character string specifying the assumed
error distribution for model fitting.# shows the structure of the output object from tcplfit2_core (only top level)
str(model_fits[[1]],max.lev = 1)
#> List of 12
#> $ cnst :List of 5
#> $ hill :List of 17
#> $ gnls :List of 22
#> $ poly1 :List of 13
#> $ poly2 :List of 17
#> $ pow :List of 15
#> $ exp2 :List of 15
#> $ exp3 :List of 17
#> $ exp4 :List of 15
#> $ exp5 :List of 17
#> $ modelnames: chr [1:10] "cnst" "hill" "gnls" "poly1" ...
#> $ errfun : chr "dt4"
Below the structure of the “Hill” elements are shown as an example of details contained in each of the model name elements:
success
- a binary indicator, where 1 indicates the fit
was successful.aic
- the Akaike Information Criterion (AIC)cov
- a binary indicator, where 1 indicates estimation
of the inverted hessian was successfulrme
- the root mean square error around the curvemodl
- a numeric vector of model predicted responses at
the given concentrationstp
, ga
, p
- estimated model
parameters for the “Hill” modeltp_sd
, ga_sd
, p_sd
- standard
deviations of the model parameters for the “Hill” modeler
- the numeric error termer_sd
- the numeric value for the standard deviation of
the error termpars
- a character vector containing the name of model
parameters estimated for the “Hill” modelsds
- a character vector containing the name of
parameters storing the standard deviation of model parameters for the
“Hill” modeltop
- the predicted maximal responseac50
- the concentration inducing 50% of the maximal
predicted responseAll of these details are provided for other models, except for the
constant model. The constant model only includes the
success
, aic
, rme
, and
er
elements.
str(model_fits[[1]][["hill"]])
#> List of 17
#> $ success: int 1
#> $ aic : num 3931
#> $ cov : int 1
#> $ rme : num 5.4
#> $ modl : num [1:675] 2.84e+01 1.96e-03 1.22e+01 1.87e-05 2.04e-01 ...
#> $ tp : num 28.5
#> $ ga : num 1.15
#> $ p : num 2.02
#> $ er : num 1.07
#> $ tp_sd : num 0.386
#> $ ga_sd : num 0.0591
#> $ p_sd : num 0.133
#> $ er_sd : num 0.0425
#> $ pars : chr [1:4] "tp" "ga" "p" "er"
#> $ sds : chr [1:4] "tp_sd" "ga_sd" "p_sd" "er_sd"
#> $ top : num 28.5
#> $ ac50 : num 1.15
The code below allows us to compile and display all the plots
generated by plot_allcurves
above:
Figure 2: Example plots generated from
plot_allcurves
. Each plot depicts all model fits for a
given sample (i.e. concentration-response series). In the plots,
observed values are represented by the open circles and each model fit
to the data is represented with a different color and line type.
Concentrations (x-axis) are displayed in log10
units.
When running the fitting and hitcalling functions sequentially, one
can save the result rows from tcplhit2_core
in a data frame
structure and export it for further analysis, see for loop above.
htmlTable::htmlTable(head(result_table),
align = 'l',
align.header = 'l',
rnames = FALSE ,
css.cell = ' padding-bottom: 5px; vertical-align:top; padding-right: 10px;min-width: 5em ')
dtxsid | casrn | name | assay | n_gt_cutoff | cutoff | fit_method | top_over_cutoff | rmse | a | b | tp | p | q | ga | la | er | bmr | bmdl | bmdu | caikwt | mll | hitcall | ac50 | ac50_loss | top | ac5 | ac10 | ac20 | acc | ac1sd | bmd | conc | resp | errfun |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DTXSID7020182 | 80-05-7 | Bisphenol A | TOX21_ERa_BLA_Agonist_ratio | 345 | 2.07675760930659 | gnls | 14.5612616778209 | 3.97590846996694 | 30.3852997962384 | 1.7442883598666 | 7.99895806109119 | 1.35752871016292 | 78.4938295140542 | 0.848864787792823 | 2.50607543243183 | 0.321427460212351 | 0.361914898671954 | 0 | -1773.71314844362 | 1 | 1.35011652816046 | 78.5711218511679 | 30.2402109905191 | 0.250256677572954 | 0.384023933794293 | 0.611081933080714 | 0.303614381195542 | 0.283565605079901 | 0.341124771496919 | 29.9999999999998|0.01|1|0.001|0.1|0.01|19.9999999999999|0.600000000000001|19.9999999999999|0.00199999999999999|7|0.3|0.3|7|0.001|1|0.1|79.9999999999993|0.1|0.0199999999999999|3|0.001|7|0.00199999999999999|0.3|0.3|0.1|0.1|29.9999999999998|3|3|0.600000000000001|0.0599999999999995|0.0599999999999995|1|1|0.01|0.00500000000000001|0.0199999999999999|0.600000000000001|19.9999999999999|0.00500000000000001|0.00199999999999999|19.9999999999999|0.00500000000000001|0.600000000000001|79.9999999999993|29.9999999999998|0.00500000000000001|7|0.01|7|0.001|1|0.1|0.1|3|29.9999999999998|0.1|0.0599999999999995|29.9999999999998|0.0599999999999995|0.01|1|1|3|0.001|0.1|0.1|0.0599999999999995|0.0500000000000001|19.9999999999999|1|1|0.01|0.0199999999999999|0.0199999999999999|0.600000000000001|0.600000000000001|0.00500000000000001|0.00199999999999999|0.01|0.3|7|0.00199999999999999|0.001|7|0.00199999999999999|0.3|29.9999999999998|19.9999999999999|0.00199999999999999|0.01|79.9999999999993|3|0.0599999999999995|79.9999999999993|3|0.00500000000000001|3|29.9999999999998|0.1|0.0599999999999995|29.9999999999998|0.01|0.0199999999999999|3|19.9999999999999|0.0599999999999995|1|19.9999999999999|0.0599999999999995|0.0199999999999999|0.00199999999999999|19.9999999999999|3|0.00500000000000001|0.3|0.01|0.3|0.001|0.00500000000000001|7|19.9999999999999|0.0199999999999999|0.00500000000000001|0.600000000000001|0.600000000000001|1|79.9999999999993|0.0599999999999995|29.9999999999998|0.0199999999999999|0.0199999999999999|0.001|0.0199999999999999|1|0.00199999999999999|7|0.00500000000000001|0.1|79.9999999999993|0.00199999999999999|0.00199999999999999|1|7|0.600000000000001|0.600000000000001|0.00500000000000001|0.01|0.01|0.001|0.00199999999999999|0.0599999999999995|0.600000000000001|0.01|0.3|0.3|0.00199999999999999|0.001|3|79.9999999999993|1|0.0199999999999999|0.3|0.00500000000000001|0.1|3|0.001|79.9999999999993|0.00199999999999999|19.9999999999999|0.1|19.9999999999999|7|0.001|0.00500000000000001|29.9999999999998|0.01|0.0199999999999999|3|1|0.00199999999999999|1|19.9999999999999|0.0599999999999995|0.0199999999999999|19.9999999999999|0.00500000000000001|79.9999999999993|0.600000000000001|7|0.0199999999999999|0.600000000000001|7|0.3|0.01|0.001|7|1|0.00199999999999999|0.1|0.00500000000000001|0.1|19.9999999999999|0.00199999999999999|0.00199999999999999|7|0.01|0.00199999999999999|0.3|0.3|0.600000000000001|3|0.0199999999999999|19.9999999999999|0.01|0.01|0.0599999999999995|0.01|0.600000000000001|0.001|3|0.00199999999999999|0.0599999999999995|29.9999999999998|0.001|0.001|0.600000000000001|3|0.3|0.3|0.00199999999999999|0.00500000000000001|0.00500000000000001|79.9999999999993|0.001|0.0199999999999999|0.3|0.00500000000000001|0.1|0.1|0.001|79.9999999999993|1|29.9999999999998|0.600000000000001|29.9999999999998|0.1|0.00199999999999999|0.0599999999999995|1|79.9999999999993|29.9999999999998|0.001|7|0.0599999999999995|7|1|79.9999999999993|3|19.9999999999999|0.00500000000000001|79.9999999999993|0.600000000000001|0.600000000000001|0.001|0.600000000000001|7|0.01|0.01|7|0.00199999999999999|3|0.3|0.00199999999999999|0.001|0.01|0.0199999999999999|0.3|0.600000000000001|1|3|0.1|19.9999999999999|0.00500000000000001|0.0599999999999995|3|0.600000000000001|0.001|0.0500000000000001|0.00199999999999999|0.0599999999999995|7|0.001|0.001|3|0.00500000000000001|0.001|0.1|0.1|0.3|29.9999999999998|0.01|7|0.00500000000000001|0.00500000000000001|0.0199999999999999|0.00500000000000001|0.3|79.9999999999993|0.01|0.001|0.0199999999999999|19.9999999999999|79.9999999999993|3|0.3|1|0.1|0.1|0.001|79.9999999999993|0.00199999999999999|29.9999999999998|29.9999999999998|29.9999999999998|0.1|79.9999999999993|0.0599999999999995|0.0599999999999995|79.9999999999993|29.9999999999998|0.600000000000001|19.9999999999999|0.3|19.9999999999999|0.0599999999999995|0.600000000000001|3|0.0199999999999999|3|0.01|29.9999999999998|1|7|0.00199999999999999|3|0.3|0.00199999999999999|0.0199999999999999|0.3|1|0.00500000000000001|0.00500000000000001|3|0.001|0.01|29.9999999999998|0.001|3|0.00500000000000001|0.001|0.1|0.01|0.600000000000001|29.9999999999998|0.0500000000000001|7|3|0.0199999999999999|1|0.3|29.9999999999998|0.01|0.001|0.0199999999999999|3|79.9999999999993|3|1|0.00199999999999999|79.9999999999993|0.0599999999999995|0.0599999999999995|0.1|19.9999999999999|0.00500000000000001|1|79.9999999999993|0.00199999999999999|0.01|79.9999999999993|0.1|29.9999999999998|0.00500000000000001|29.9999999999998|0.01|7|3|0.600000000000001|0.1|0.600000000000001|0.0599999999999995|0.0599999999999995|79.9999999999993|1|0.001|19.9999999999999|19.9999999999999|19.9999999999999|0.0599999999999995|29.9999999999998|0.0199999999999999|0.0199999999999999|3|19.9999999999999|0.3|7|0.1|7|0.0199999999999999|0.3|1|29.9999999999998|1|0.00500000000000001|79.9999999999993|79.9999999999993|3|0.001|0.01|29.9999999999998|0.001|0.3|0.1|0.600000000000001|0.00199999999999999|3|1|29.9999999999998|0.00500000000000001|19.9999999999999|0.600000000000001|1|0.00199999999999999|79.9999999999993|0.0599999999999995|0.00500000000000001|0.3|19.9999999999999|0.0199999999999999|1|79.9999999999993|0.01|0.600000000000001|0.1|19.9999999999999|0.00500000000000001|29.9999999999998|0.01|1|3|0.600000000000001|0.600000000000001|0.001|29.9999999999998|0.0199999999999999|0.0199999999999999|0.0599999999999995|7|0.00199999999999999|0.0599999999999995|1|0.001|0.00500000000000001|29.9999999999998|0.0599999999999995|19.9999999999999|0.00199999999999999|19.9999999999999|0.00500000000000001|3|0.600000000000001|0.3|0.0599999999999995|0.3|0.0199999999999999|0.0199999999999999|3|29.9999999999998|0.00199999999999999|7|7|7|0.0199999999999999|79.9999999999993|0.01|79.9999999999993|0.600000000000001|7|0.1|3|79.9999999999993|1|0.01|0.1|0.600000000000001|19.9999999999999|0.600000000000001|0.00199999999999999|29.9999999999998|29.9999999999998|1|29.9999999999998|0.00500000000000001|19.9999999999999|0.600000000000001|0.1|0.0599999999999995|0.3|0.001|79.9999999999993|0.600000000000001|19.9999999999999|0.00199999999999999|7|0.3|0.600000000000001|0.001|29.9999999999998|0.0199999999999999|0.00199999999999999|0.1|7|0.01|0.0599999999999995|1|0.00500000000000001|0.3|0.0599999999999995|7|0.00199999999999999|19.9999999999999|0.00500000000000001|0.600000000000001|0.600000000000001|0.3|0.3|0.3|0.00199999999999999|19.9999999999999|79.9999999999993|29.9999999999998|0.0199999999999999|1|0.001|0.0199999999999999|29.9999999999998|19.9999999999999|79.9999999999993|79.9999999999993|0.0199999999999999|7|0.001|7|0.00199999999999999|1|0.3|0.1|0.0199999999999999|0.1|0.01|79.9999999999993|0.600000000000001|19.9999999999999|0.001|3|3|1|0.01|29.9999999999998|0.00500000000000001|19.9999999999999|0.3|1|0.0500000000000001|1|29.9999999999998|0.01|0.00500000000000001|0.0599999999999995|0.3|79.9999999999993|0.3|0.001|19.9999999999999|0.0500000000000001|0.0199999999999999|0.1|0.0199999999999999|1|0.3|79.9999999999993|19.9999999999999|79.9999999999993|0.001|0.0599999999999995|1|0.00500000000000001|0.0199999999999999|29.9999999999998|0.1|0.001|7|0.01|19.9999999999999|79.9999999999993|0.600000000000001|79.9999999999993|0.01|19.9999999999999|7|0.0500000000000001|0.00500000000000001|0.01|0.3|7|19.9999999999999|0.00199999999999999|7|0.1|3|0.0199999999999999|0.1|7|0.1|0.0199999999999999|7|79.9999999999993|79.9999999999993|0.0599999999999995|79.9999999999993|29.9999999999998|0.1|29.9999999999998|7|0.01|0.0199999999999999|0.0199999999999999|0.600000000000001|0.00199999999999999|0.01|19.9999999999999|0.00199999999999999|0.0599999999999995|3|0.00500000000000001|79.9999999999993|0.01|0.3|29.9999999999998|0.00500000000000001|7|3|0.0199999999999999|0.00199999999999999|0.00500000000000001|0.1|3|7|0.001|3|0.0599999999999995|0.600000000000001 | 36.3584083222|0.3244335636|9.0799288262|1.4104483892|0.5884601547|-0.5267253916|33.5166615689|1.1531213197|33.3887769276|-0.0783435925|26.5103470042|11.5038494214|5.8497881488|26.6108849389|0.6347757629|8.9401949407|0.4721944486|13.0843582634|0.2032161159|-1.6362048607|18.5981101665|-0.6691270858|21.8031377875|0.0260044207|5.5970212493|1.7207924179|0.5262647076|3.2742596289|29.648058096|25.0745049059|15.6616900496|10.0362974603|0.0464037122|0.4375770951|5.6028419188|5.075946972|0.8246052361|-0.0775345932|-0.0250673323|4.6425618357|30.814966715|0.3502928593|-0.049125565|33.7317446429|1.1625323886|0.7608759196|13.3731451758|27.232075536|-0.3546139477|33.9542826793|-0.0497017892|30.6239848609|-0.8039385532|14.8352022941|8.922757155|0.8755132842|17.7441294106|30.6848084814|-0.3401339011|0.0561052961|31.3830046493|-0.1943634596|-0.9956978192|8.909514794|7.796017516|20.9960346449|-0.0872327631|2.4812045489|-0.7247686447|0.0567304729|2.7131174798|30.9357606204|22.1638573503|3.8581395341|0.2352043205|1.3962414717|1.443494669|0.7232840229|2.7671278609|-0.4794149783|1.0361328077|0.3608597621|1.3854902865|28.6668909721|-1.2429438331|0.3090573123|33.60068226|-0.7859697704|-0.05843606|28.0714315171|29.1379922428|-1.2540873278|-1.4602081846|10.1761739206|21.0159214246|0.5878087515|13.7806937709|25.0709060584|0.2631867529|23.7795811269|38.7457028384|2.5593796401|2.1341337859|45.8690780636|1.1433944172|0.6450549054|23.4762831627|33.7753267632|0.5035780545|3.1022813408|31.0932359206|-0.6154442334|0.377183899|-1.4001459456|41.3256717694|24.1993851283|0.2773247559|-0.037972455|0.3842831461|1.0747037254|1.7594671677|0.3176504072|31.3364057067|28.3869729364|-1.0916475626|0.9330193145|0.5606021348|-0.0143427045|8.629874698|10.7772238936|0.9449033933|30.4269838017|0.4933059726|1.4047095787|-0.7862497921|-0.1076555023|7.4738540879|1.4686786529|23.5506603522|0.7666351303|0.8899350684|4.3967893648|-0.4886715103|0.4054192473|16.4180034964|27.6356768343|17.4583774396|-0.1293645743|0.8496590932|0.1879921279|0.0385208012|-1.934520464|0.0801747522|0.6342980898|6.5491207926|0.1101995836|-0.0006233218|0.070118032|0.0674399784|-0.0310408558|21.0718702397|26.4955066765|21.2081863071|0.98016575|2.1347339814|-1.2950936007|-1.0827106783|17.3729124361|-0.7183526972|15.7598666823|-1.5858480826|31.0618785463|2.2383537306|29.8664833918|23.6663154598|-0.857620724|-0.5636438714|23.8345076648|2.8672836161|-0.4017482984|24.6579439171|15.8784619518|0.1405557357|12.272851557|37.3278082874|1.2687592017|3.0955426141|50.6960754454|-0.1210490921|11.6957344353|3.6711023323|32.1353492303|0.2809874139|0.2852095408|27.2447592162|0.4795828468|0.6859394274|-1.3000860962|40.8604104202|7.9018857832|0.2585202599|-0.0014574143|0.6815446307|-0.1945080091|24.4829039345|-0.4473417039|4.4304453028|28.5839653737|-0.0622997508|-1.4839588768|0.7264817366|0.6684719016|2.1201285094|24.8102594831|1.1477225839|29.5689314863|-0.7106242517|1.0023075952|5.7134653405|-0.0122443981|1.1853674306|-0.6052750501|18.3876243085|-0.3958000391|-0.0334652315|21.7607980449|-0.4959172266|0.0920931455|8.1269715172|18.8507810425|19.1704137795|1.9223607683|-0.64373414|1.1664360959|-0.8550531479|23.7694081476|-0.7167983696|-0.017248519|3.8911079828|0.4150398825|-1.4902941046|2.5378501998|1.805784976|10.4318686563|11.7121344628|39.3436380555|13.1135432965|29.4774982791|0.6409054935|-0.2222222222|-0.3754895429|1.9595454784|11.3512731538|29.5780886138|-1.3450638832|31.4705190986|-1.0612779546|27.4663835837|17.2612116723|3.3242003856|25.2543661966|31.5762624622|-1.1683732244|13.8328033815|4.1221422424|9.2060615849|-1.2331552558|4.8458130375|35.5639247026|-0.1325301205|3.5514094402|49.4313988026|-0.7206094542|24.8916723086|2.1362016757|-0.881973422|0.0625782228|0.4538981843|-0.1375631311|-1.5085591865|0.4578634707|18.6575600147|23.8837010236|0.7574527168|29.1905783048|-0.0174755191|-10.0888822|37.9352285525|2.5266708687|0.8946794204|0.3887040481|1.1563617323|0.9534971614|30.1536162894|-0.3757770292|3.0114920454|18.2886898196|-0.0627915321|0.1002631908|1.4518971076|0.2560235978|0.0863345861|30.2151983736|-0.7446875957|31.6539329915|0.0007075404|-0.2287581699|4.0623070133|-1.700885419|-0.0194803095|20.0123437574|-0.0707473908|-0.5524145808|0.0902832637|27.9909137408|18.1691873197|27.4676611529|2.9995685388|8.0617373996|1.208658097|-0.291511194|0.5234834789|16.1262945224|-0.0788376801|33.6489262197|36.2327232919|28.6594675127|0.1742874717|13.0371434647|-1.2723958878|-0.6852831019|11.5138382473|33.0189275275|1.0817681022|38.6978748848|1.3717615169|27.1456859371|0|-3.0210420467|25.763580245|2.0531358763|25.9479723344|0.9029124014|27.9174703903|10.5275531448|27.2830494541|-0.2570379437|25.5404225584|1.209914872|1.8865081636|0.1088246933|1.4632111179|16.9725420548|0.0888550393|2.407250067|45.0589098358|-1.4779263445|0.0363666373|23.1889647915|-2.3097395079|19.8465081304|-0.0493259508|1.0553345126|0|0.0372763419|7.2191875009|33.2965129926|-1.0049881925|27.7925406214|26.5535014137|-1.7110348951|27.6440043993|2.3538559592|26.6871251645|-1.4864923419|1.2481068236|-0.0112854079|30.3601428|12.9086716003|27.3259788089|22.7650804551|0.2766228965|20.5163388918|0.3219838297|-0.702320523|-0.7518195436|30.7772231056|-0.4664282708|17.5757188859|11.4067054084|0.675104222|1.0360381627|6.9154864808|1.3701954236|36.0595389074|0.3152387902|30.1191218478|0.6364139177|26.6240294686|21.042413831|4.6699139881|-0.4947328782|1.7256114493|0.4931006634|-1.6812784403|11.1068704963|19.6650896119|-0.7130563793|32.8182345564|31.0339078047|27.8272561087|-0.067346546|31.2841488663|-0.9215466263|1.0962281117|15.4353838184|31.4689221113|0.1346437701|27.9015222811|-1.4990611861|28.9081476923|1.4117508944|-1.195531652|20.8073108043|31.1956531534|17.4357381136|0.4954241085|12.6967614485|14.7809622475|20.0901900942|1.3166771184|0.1231527093|30.1231885027|0.644234121|0.0484493402|-0.7397343103|6.087939775|0.9239944209|29.1312867898|36.4874876672|21.640182645|-0.5584373752|25.0970055972|2.6563123826|18.3275589041|0.3630093474|21.7985856112|-2.393721406|0.6227824618|3.3119202291|31.5999124948|0.1700487473|11.178949827|21.119813334|-2.5129711469|12.0696853627|-0.6900380195|26.6687464761|-0.126916801|21.9626887762|1.0472569197|23.9628139246|22.8062400851|3.4073601846|14.8451610606|-0.79412544|33.3080244443|0.6163431479|-0.5647685691|-0.4863174442|27.3571291851|-2.6067356874|0.3002643397|16.3833392279|1.362485485|0.3362374245|28.5781129191|-1.2749394238|21.9307380255|0|28.6607036455|5.1759193593|26.1106576034|1.0774408972|1.0584100062|-0.9525858006|0.1928977276|0.0025975742|-1.5146728856|19.6324449459|28.0738548533|2.3503826021|26.1507598989|27.7921414184|25.8477554847|-0.0960512272|9.9937760353|-1.7745446684|25.8205185004|3.2025132235|28.7181711898|0.1044795612|24.6645640358|15.7501014284|19.9143941287|-0.4776101983|-2.1890722794|16.9923014022|28.0647062906|7.132845259|0.8319447593|29.4229015604|34.5194666454|6.6055593439|33.6671087395|-0.3029647263|33.6377693589|8.9670707509|-0.9457740258|1.9990947062|0.3381994444|-0.7306559632|14.4177089039|15.9025656985|26.0142896539|1.1666475059|30.9516494443|1.4292137019|10.7469192585|-0.0899532284|29.0393450764|-1.9135337079|0.0864958374|0.3793182016|27.7080399683|-0.8494437774|0.0392156862|16.7837156732|0.7727807174|5.5247411219|1.7537053088|34.4724067039|-0.1516361734|22.7812042833|-0.7939877246|14.5551535285|9.2566790607|2.1299764007|6.6560166911|4.8878072316|-1.7850027184|32.6272177351|21.4826218528|29.0166166884|-0.8288759159|12.6958599863|-1.0689289502|-1.0854722559|28.9005526598|20.6118456611|16.3300722791|15.3260687158|0.3616111887|29.2862196808|1.2019694831|21.6368669454|0.4243308451|19.0181542556|0.2349493014|1.1448680756|-0.6203413369|-0.7930522211|-2.4789130011|16.9448659212|5.9842821545|30.4045736521|2.1022852979|21.4496249497|19.2390770377|16.1757078223|-0.1029018316|21.0481056165|0|28.2517900863|0.5499749004|16.4503283619|-0.1164011964|11.1548486687|28.5982238554|-1.4782364915|0.0635958978|-0.582283855|6.948308712|17.9342547842|1.3474782012|1.5624918656|30.0561940599|-0.2406612954|-0.0051128605|0.075513056|0.2319528112|14.7669216069|3.7130740116|13.7060312779|31.6677898037|16.6088103415|0.2569915456|0.5829217348|18.9504756619|1.1127623036|-0.3782698622|35.7192619463|1.9127375825|-0.0562050359|32.0508702519|-0.857403836|31.9656955086|14.0540290864|4.7139103528|9.4879664196|-0.2592597318|33.2796393017|30.1816141643|-0.7034513498|-0.3972830962|0.1588465298|1.6806831395|29.3727617225|27.8995875543|-0.3903939113|27.7971867571|1.3503856127|27.9958331061|0.1857111645|5.536391242|23.5763415397|1.6193610959|-0.0281888653|29.5613809098|11.87206497|9.3955129293|-0.0627431296|15.1002386688|35.9679482436|-0.9565008411|37.5854715792|28.6534716812|0.677276727|0.7230061106|1.4667812664|7.6289832227|-0.2923343438|-0.338452923|34.9376544404|0.2362195034|-0.1433178072|17.5393388629|-0.6771807121|17.4161388443|0.6405047473|1.4675432815|27.8266522081|0.3126409378|29.3377570488|29.6361309408|0.3627761566|-2.0204419625|0.0749855029|0.0877449546|27.6825865132|26.1816429489|-0.7584601345|25.4637770563|-0.047251681|9.9038516901 | dt4 | ||
DTXSID0032520 | 131860-33-8 | Azoxystrobin | TOX21_ERa_BLA_Agonist_ratio | 114 | 2.07675760930659 | poly2 | 0.901360015777837 | 2.48239387351695 | -7.51990839646214 | -75.0806174959512 | 0.174902038421783 | 2.50607543243183 | 1.15799379286268e-09 | -1275.75754581165 | 0 | 10.9383834233998 | 1.87190627149133 | 3|0.0299999999999998|7|0.0599999999999995|0.001|0.0199999999999999|0.3|0.0599999999999995|0.00500000000000001|79.9999999999993|3|0.1|0.600000000000001|0.00199999999999999|3|0.00500000000000001|39.9999999999998|0.1|0.00500000000000001|0.3|19.9999999999999|0.0199999999999999|1|79.9999999999993|0.00199999999999999|0.0599999999999995|0.0599999999999995|0.00199999999999999|1|7|0.00199999999999999|0.0299999999999998|3|39.9999999999998|0.00199999999999999|79.9999999999993|3|0.600000000000001|7|1|39.9999999999998|1|0.0299999999999998|19.9999999999999|0.3|0.1|0.0299999999999998|0.00199999999999999|29.9999999999998|1|0.0599999999999995|0.3|0.001|79.9999999999993|79.9999999999993|19.9999999999999|0.0599999999999995|0.00199999999999999|0.1|7|0.01|0.0599999999999995|1|0.001|0.0299999999999998|0.0299999999999998|0.001|39.9999999999998|3|0.001|79.9999999999993|0.600000000000001|19.9999999999999|0.001|39.9999999999998|19.9999999999999|0.3|1|0.600000000000001|19.9999999999999|0.600000000000001|0.01|7|1|39.9999999999998|7|0.1|0.01|0.1|0.0599999999999995|0.01|0.001|19.9999999999999|79.9999999999993|19.9999999999999|0.00199999999999999|7|0.3|0.600000000000001|0.0299999999999998|0.1|0.0299999999999998|1|1|0.001|0.0299999999999998|19.9999999999999|19.9999999999999|0.001|0.00500000000000001|1|0.00199999999999999|0.1|39.9999999999998|7|0.0299999999999998|0.001|0.0599999999999995|1|0.00500000000000001|0.0299999999999998|39.9999999999998|0.3|0.01|7|0.001|7|0.00199999999999999|0.3|0.3|0.1|0.1|3|0.001|79.9999999999993|79.9999999999993|19.9999999999999|0.0299999999999998|0.3|3|0.600000000000001|0.0599999999999995|1|79.9999999999993|0.01|0.3|7|0.01|0.1|0.0599999999999995|0.01|0.00500000000000001|0.600000000000001|19.9999999999999|7|0.1|3|0.3|79.9999999999993|0.3|0.00500000000000001|3|0.600000000000001|19.9999999999999|3|39.9999999999998|0.00500000000000001|0.0500000000000001|0.0299999999999998|0.00500000000000001|0.0299999999999998|7|39.9999999999998|7|0.001|1|0.1|0.3|79.9999999999993|0.0599999999999995|79.9999999999993|39.9999999999998|79.9999999999993|0.00199999999999999|0.01|7|7|39.9999999999998|0.00199999999999999|0.1|0.001|0.0599999999999995|79.9999999999993|3|0.01|0.0199999999999999|0.0299999999999998|0.600000000000001|0.00199999999999999|0.01|19.9999999999999|0.1|0.00500000000000001|3|1|3|0.001|0.1|0.1|0.0599999999999995|0.0500000000000001|1|79.9999999999993|0.01|39.9999999999998|7|0.01|0.1|1|0.01|0.0299999999999998|0.600000000000001|39.9999999999998|0.00500000000000001|0.1|3|0.00500000000000001|0.0599999999999995|0.0299999999999998|0.00500000000000001|0.00199999999999999|0.3|7|3|0.0599999999999995|0.600000000000001|0.1|7|0.1|0.00199999999999999|1|0.01|7|1|19.9999999999999|0.00199999999999999|0.00199999999999999|79.9999999999993|0.00199999999999999|79.9999999999993|3|79.9999999999993|3|39.9999999999998|0.1|0.0599999999999995|0.1|0.1|3|0.01|1|0.0299999999999998|0.0299999999999998|3|0.3|19.9999999999999|39.9999999999998|0.001|0.00500000000000001|3|3|19.9999999999999|0.001|0.0599999999999995|79.9999999999993|0.0299999999999998|29.9999999999998|1|0.00500000000000001|0.3|0.01|0.3|0.001|0.00500000000000001|7|0.0500000000000001|0.00199999999999999|1|0.600000000000001|1|79.9999999999993|0.0599999999999995|39.9999999999998|0.0299999999999998|0.0199999999999999|0.600000000000001|39.9999999999998|0.00500000000000001|79.9999999999993|0.00199999999999999|0.00500000000000001|0.0599999999999995|0.600000000000001|0.00500000000000001|0.01|0.3|19.9999999999999|0.00199999999999999|0.0599999999999995|0.600000000000001|79.9999999999993|0.0299999999999998|39.9999999999998|0.00199999999999999|0.001|79.9999999999993|3|0.0599999999999995|0.001|0.600000000000001|0.00500000000000001|3|0.600000000000001|7|0.001|0.001|0.01|0.001|3|1|29.9999999999998|1|19.9999999999999|0.0599999999999995|0.0299999999999998|0.0599999999999995|0.0500000000000001|1|0.00500000000000001|0.600000000000001|79.9999999999993|39.9999999999998|0.600000000000001|0.1|7|19.9999999999999|0.0599999999999995|0.00199999999999999|1|1|7|79.9999999999993|0.3|39.9999999999998|0.01|19.9999999999999|0.600000000000001|0.00199999999999999|0.1|0.00500000000000001|0.1|19.9999999999999|0.00199999999999999|0.00199999999999999|0.0199999999999999|0.001|0.600000000000001|0.3|0.600000000000001|3|0.0299999999999998|19.9999999999999|0.01|0.01|0.3|19.9999999999999|0.00199999999999999|29.9999999999998|0.001|79.9999999999993|0.0299999999999998|0.3|0.00199999999999999|0.00500000000000001|0.1|7|0.001|0.0299999999999998|0.3|39.9999999999998|0.01|19.9999999999999|0.001|79.9999999999993|29.9999999999998|0.01|0.0299999999999998|79.9999999999993|0.3|0.00199999999999999|1|0.3|1|79.9999999999993|0.0599999999999995|0.00500000000000001|79.9999999999993|0.600000000000001|0.600000000000001|19.9999999999999|0.600000000000001|7|0.01|0.01|0.0299999999999998|0.0199999999999999|0.600000000000001|0.00199999999999999|0.3|3|19.9999999999999|0.3|0.0599999999999995|0.00199999999999999|7|0.0299999999999998|0.001|0.600000000000001|0.600000000000001|1|3|0.1|19.9999999999999|0.00500000000000001|7|0.3|0.001|0.0500000000000001|0.00199999999999999|0.0599999999999995|7|0.001|0.001|0.01|19.9999999999999|0.3|0.1|0.3|39.9999999999998|0.01|7|0.00500000000000001|0.00500000000000001|0.1|7|0.001|19.9999999999999|3|39.9999999999998|0.01|0.1|0.001|79.9999999999993|0.00199999999999999|3|1|39.9999999999998|0.1|19.9999999999999|0.00500000000000001|79.9999999999993|79.9999999999993|39.9999999999998|19.9999999999999|0.00500000000000001|79.9999999999993|3|0.1|0.001|0.600000000000001|0.1|0.01|39.9999999999998|0.0299999999999998|0.00199999999999999|3|0.3|0.00199999999999999|7|0.3|1|0.00500000000000001|0.00500000000000001|0.01|0.01|0.3|0.001|0.1|0.01|7|39.9999999999998|0.0299999999999998|0.001|0.01|79.9999999999993|0.3|0.01|0.600000000000001|39.9999999999998|0.0500000000000001|7|3|3|0.1|79.9999999999993|0.01|0.001|0.0299999999999998|3|79.9999999999993|3|0.00500000000000001|7|0.1|0.0599999999999995|0.1|19.9999999999999|0.00500000000000001|1|79.9999999999993|0.00199999999999999|0.00199999999999999|3|39.9999999999998|7|0.600000000000001|19.9999999999999|0.00500000000000001|0.0599999999999995|79.9999999999993|1|0.001|1|0.600000000000001|19.9999999999999|0.0599999999999995|7|0.00199999999999999|7|3|19.9999999999999|7|0.00199999999999999|39.9999999999998|0.600000000000001|0.0599999999999995|0.01|0.001|0.01|39.9999999999998|0.001|0.00500000000000001|0.00500000000000001|0.1|79.9999999999993|79.9999999999993|0.00500000000000001|1|19.9999999999999|0.01|0.600000000000001|1|0.0599999999999995|39.9999999999998|0.00500000000000001|39.9999999999998|0.01|1|3|0.600000000000001|0.001|1|19.9999999999999|3|0.3|0.0599999999999995|0.600000000000001|0.3|7|0.0299999999999998|3|0.001|19.9999999999999|0.3|0.0299999999999998|0.00500000000000001|39.9999999999998|0.00500000000000001|19.9999999999999|0.600000000000001|3|0.00199999999999999|0.0599999999999995|39.9999999999998|29.9999999999998|0.00199999999999999|0.01|7|0.00500000000000001|0.3|0.600000000000001|0.0299999999999998|19.9999999999999|0.00199999999999999|19.9999999999999|0.00500000000000001|0.600000000000001|0.600000000000001|0.3|0.3|0.0599999999999995|0.600000000000001|7|1|0.1|0.0299999999999998|0.3|0.1|1|0.01 | 1.005671553|-0.265174683|2.390873579|-0.1699346404|-0.5953554927|0.0296794618|2.4335855607|-0.8772938577|-0.0779972339|-2.5907076445|-0.5968586396|0.8823482226|-0.8619557246|-1.4580519329|-0.1714005877|-0.7017358373|-3.4273785288|-0.829649523|0.3855532255|-0.4520456868|0.6146728578|2.0371240231|0.0307525073|-0.0720275825|0.5865774179|-0.448371357|-0.2235885845|-0.1635896542|-0.5132884554|-2.0037423123|-0.4828740338|1.1760164534|2.7314008947|14.0971828786|-0.4777559602|-5.317935441|2.83599101|0|3.1784119502|-0.7961630841|8.5580753553|-1.3553280909|-0.8008340274|-1.0526113911|0.0421451901|-1.0133834187|0.0112854079|-0.1282873636|-2.7685148525|-0.5679745186|0.2283677918|-0.7819666434|-0.4231311707|-1.272883937|6.1204321414|-2.9166046797|-0.8576804936|0.0885433183|-0.6327859508|0.0357185379|0|-0.3703893645|-0.1551912985|0.6280335591|0.1758793969|-0.8981490674|-0.5124642477|-0.6817541323|-2.1907702953|-1.3917899447|4.5461554226|-0.1651651652|14.1177071079|-0.9772701984|-4.6758995568|0.2358446762|-0.4465364284|0.124214914|-0.2337506232|12.0789994715|-0.9231825741|-0.1870557426|-2.5890273527|-0.1766784451|14.6987086767|0.2331276187|-0.0844356191|-1.3243988703|0.0934191405|0.2303852553|-0.3129534693|0.5207867412|-0.2714477424|-2.7076728971|19.1298013451|1.0419174549|4.1198844287|1.4455691227|0.2834410359|0.057369862|-0.1838428259|-0.0281888653|-0.0866050807|-0.3630543127|-0.6521733655|-0.2973587546|7.8966346036|0.4725371445|-0.3847030663|0.1208021261|0.1914580265|-0.1473766949|-0.4126786134|9.1252954631|-2.6943670891|-0.7147778621|0.0913991748|0.4151074174|0.0560415698|0.9453283257|-0.7389143558|6.8551620515|-0.1056803171|0.2046991811|4.707306175|0.0729749452|4.050462651|0.0551440134|0.3236245955|-0.1481944895|-0.8616777302|0.387508265|1.3804187143|-0.1343970143|2.1859455943|-1.7819302211|-0.9361380686|-0.6741100333|-0.7337151964|3.2689257198|1.0543270751|1.3531347562|-1.0374178989|2.0113827244|-1.3303639928|0.1704424478|7.3102598295|-0.3378051189|2.2016367776|-0.29512807|-0.3831417625|-0.8796409692|-5.8442834016|-2.686858002|1.0601419504|-1.2707087579|2.085665292|1.1525669333|7.8788131464|0.3635862117|-0.2948460904|-1.3971028017|-0.3422744489|12.1125778097|-0.1658767772|2.6197078227|0|0.9618294793|-0.1416805717|-0.0758958304|-0.0845665962|0.516228358|-1.645088253|9.0832265842|-0.0341958282|1.2846687426|-0.0764623423|-0.2933695108|2.2613038041|0.17873767|-0.3288909231|-0.3873882747|-1.3098823911|-0.3092718542|0.8951513414|5.3102101761|1.6828696964|0.432735816|-0.032331327|-0.3731343284|-0.1056067588|-0.465348777|-2.9744337754|-2.2635186581|0.1989353446|-0.8370329521|0.4088211714|-0.2118518015|1.1363210405|0.1933452949|7.1909262357|-0.3373105116|0.2511661283|4.4910430469|0.1360174102|6.1516430456|0.178913738|1.3111337111|-0.3388939925|-0.7489619889|-0.3060351208|-0.3050958512|0.7547538672|-0.3464028189|-1.2708461608|-0.8043221612|-1.3605917383|-0.9564464254|0.179559873|-0.5529107493|-0.2163665208|-0.5177386072|5.8342968488|-1.6982007693|-0.0292483181|-0.6342640139|-0.0425215265|2.4346287354|-0.4624783724|-0.3949100483|-0.6404225578|-1.2936718968|-3.4260226567|-1.29217811|-0.9223204084|0.1081297049|1.4940629896|9.2004687347|0.2100129938|0|-0.8004731847|-0.0577111715|6.1032243484|-1.3221817607|5.3556296824|-0.0989500444|-8.8024618099|1.645762465|-0.2567870125|0.9133002642|-1.227416462|-2.3265437202|4.4858973875|-0.0016164837|0.5591725125|2.1532150154|-0.7819015414|-0.903584665|-2.4541608461|-0.1981253043|-1.134838658|-0.3072427526|0.2413515688|0.059005753|0.7718453297|-0.2207433203|2.9107529961|0.0718268559|0.6189451022|0.7093141425|0.2249501521|2.840598947|0.1022364217|-0.0787838913|4.0180758899|-0.6950142389|-1.8057434292|-1.8452855573|0.5493970986|0.3397603666|-0.4460992622|-1.152995815|1.1714365313|-0.7866041266|4.386083633|-0.8875236782|-0.2228330621|-0.2169458841|0.4956298633|-0.8403909057|0.4714214896|-0.0169650507|3.6450351453|-1.4520642409|2.2683149048|-1.1483895313|4.0012701438|0.2220578034|-2.8392147313|0.0118595825|-0.5064030158|0.6703723632|1.3800074977|-0.5396226734|0.1658584948|0.539909999|8.0818469696|-0.7919814052|0.2709400018|-0.7182802147|-0.4265476581|0.5857798101|9.1754637853|-0.148426534|-0.0448543177|-0.6507630298|4.901129965|0.9457750522|0.0373924965|-0.7124714165|0.0394400475|2.6579317531|0.0433184674|1.5011063496|0.1927617921|-1.779258981|-0.2825388357|-0.301316219|1.5263074429|-1.1602188008|-1.4943551249|0.7634947848|1.0972804056|-0.6407980667|0.0287271178|-2.8735889768|1.0359833418|-0.4465458366|-0.9191295991|-0.7107112287|-2.2149819944|1.3495320758|-0.1816657349|1.0130859285|-1.0484026338|2.6776308137|-0.3417949737|-0.5717397223|-0.4323954184|0.5410868872|1.2850232387|-1.2235065923|1.2180749886|0.0752733224|-0.5258794156|-0.1734582303|-1.4065208668|-0.0494460948|0.5011470476|-0.1406110188|-0.3836887783|7.7249540574|-0.1666234751|0.8748074896|-0.0263539332|-0.0876075483|0.1207437817|-0.9389503309|-1.2175932385|-0.0360818257|0.0601903212|5.0054179476|-0.1337196345|-0.4505297564|-0.5831942937|4.957784962|0.1028149189|-4.0567154353|-0.5377001479|0.5156110277|0.8617318351|0.6493949173|0.1618559482|-0.3200176561|-0.0952948184|3.8251600324|-0.953586223|0.0806229784|-0.7609438077|-0.4730785675|2.0455082108|13.7578637931|-0.0694194876|-1.8567555402|1.0835179352|-0.4114591342|0.0699009093|0|-0.1244709982|0.5945502517|0.0816548721|-0.8624582289|0.1827639532|-1.4338811198|-0.0358294517|-0.7684329352|-1.9611934233|0.1349949104|0.3219652|0.2451063384|1.1890537532|1.2048517953|0.0485131342|-0.5175225499|-0.0109241861|1.2095984399|0.3587993349|-0.617622967|-0.704118628|-0.0172491752|2.8706987031|-1.2189601114|-0.2020396382|-1.2088744118|2.0449142311|0.0043149592|-0.1202145367|0.144892538|-1.1720829597|0.1088534107|0.5541972537|0.7767172085|3.2827229273|0.2603261047|0.5404646385|-0.4103120525|0.4351743757|-0.1437451129|-0.0975082853|-0.5325536537|6.9836551535|0.0935138416|-0.4697858796|-0.6989140314|-0.0457038391|-0.0078488424|-0.5715109487|-0.6248052553|0.129011748|0.1555889841|3.1738666694|-1.1666005202|-0.9676139626|0.0119118522|5.2658532329|-0.3873925137|-0.8551484547|0.2622122948|-0.0244397849|-1.1403494558|-1.009158992|0.6760059278|0.9091412873|0.4987153055|2.9502213573|0.1632208922|2.0034685724|-0.4930398191|0.4003380148|-0.1721165356|5.6553549975|0.1674277015|3.4546458489|2.1830101562|-0.8752563425|-1.7521481064|-0.0458492202|0.2093338259|-0.2391950753|0.1824817518|-0.6947465452|0.5799185112|-0.599540104|-0.8256980062|-1.0549937679|0.0710900473|0.1749672158|3.3062517555|-0.4411934244|-0.9317644916|-1.2581194595|0.0588362239|-0.9099556188|-0.1730921128|2.3220792472|-0.5084151473|1.4300779852|-3.0030807033|0.1803575978|2.3236912135|4.8664353551|1.2850199012|1.0486243122|-0.5136245487|-3.7264374151|-0.0118837013|0.2970312813|-1.4602285312|-0.7104215353|0.7202551114|3.6002995505|0.1224289912|-0.1391064766|-0.8147398812|-0.2802547771|0.1767825575|0.1407129456|-0.6000225599|5.4537592289|-0.4130657972|-0.0092222815|0.7067692608|2.1742387778|-0.0508970607|-0.1060045964|-1.2051608797|0.4904891266|-0.0718821133|0.0843525938|-0.813073654|0.2293882008|-0.2705776924|0.3517416912|10.1334199564|-0.4745185584|1.0788794976|-1.4030227784|1.6722902353|0.0294737036|1.1385814042|1.2195879148|-0.4345362888|0.7219140158|-0.2022932964|2.0014716895|-0.5553125401|1.6518751345|0.381768908|5.4569831144|1.7259629646|4.3969718228|2.0102688013|1.5192023597|-0.5413133554|0|-0.2169474221|-0.4383107323|-0.7874734212|0.0335871025|4.5289746646|-0.6883775157|-0.3058637031|0.8445858127|0.7156741473|0.7614088036|-1.2828257347|-0.3588434425|0.3879831519|5.147926041|0.0996523|-0.4699953252|-0.8569992791|-0.6732730136|2.2412842185|0.9980356102|8.6297350853|-0.5923642808|0.2014581397|1.9238265673|-0.7181356068|-0.96195737|1.134365506|10.6996461736|-0.7852757233|-0.0113571834|-0.7856639844|0.7005436947|-0.1608147949|2.392782156|-0.2338767885|0.9183028602|0|0.4994021711|-0.9306383374|-0.0764915859|-1.3165580308|11.9835100766|0.4726930183|8.6435433803|-1.6784669164|-0.067203475|1.702683786|0.5477515682|4.6522076678|-0.7112849216|0.0235801954|-0.8997632317|4.4040975696|0.0709076174|-0.2030295295|-0.3298556931|-0.154729124|6.4500323527|1.3695809145|9.5539957263|0.1812031892|-0.049194441|-0.1547168092|-0.1362862011|-0.3577653047|-10.1182298793|1.245481883|6.8896370151|-0.0403694374|-0.0792393026|-0.5903531416|0.8847848497|-0.1565167898|0.3002972856|0.018848792 | dt4 | ||||||||||||||
DTXSID1021166 | 51-03-6 | Piperonyl butoxide | TOX21_ERa_BLA_Agonist_ratio | 47 | 2.07675760930659 | poly1 | 0.308576904555397 | 1.26083494016013 | 0.00801049293239624 | -0.272826931190623 | 2.50607543243183 | 0.000179677130957022 | -929.07730448006 | 0 | 39.9999999999997 | 0.640839434591694 | 0.3|0.0500000000000001|7|0.0199999999999999|29.9999999999998|0.01|1|0.01|0.3|0.0599999999999995|0.00500000000000001|0.01|3|0.600000000000001|0.0199999999999999|0.0199999999999999|0.600000000000001|0.00199999999999999|0.3|3|1|0.600000000000001|0.3|0.00199999999999999|7|0.001|0.00199999999999999|7|0.001|0.1|7|0.001|19.9999999999999|0.1|0.00199999999999999|3|1|7|0.600000000000001|0.1|0.01|1|0.01|19.9999999999999|0.00500000000000001|0.01|0.00500000000000001|0.1|0.0199999999999999|0.00199999999999999|0.00500000000000001|0.600000000000001|0.00199999999999999|0.01|0.01|0.3|0.001|0.1|0.01|0.1|0.3|0.1|0.001|3|79.9999999999993|0.001|3|0.600000000000001|0.00199999999999999|3|29.9999999999998|7|0.0599999999999995|0.001|1|0.600000000000001|1|0.3|0.0599999999999995|0.00500000000000001|0.01|0.00500000000000001|3|0.0199999999999999|0.1|3|0.001|7|0.00199999999999999|0.00500000000000001|0.00199999999999999|0.0599999999999995|0.0199999999999999|0.3|1|0.0199999999999999|79.9999999999993|0.01|0.001|0.00199999999999999|0.3|0.001|0.00199999999999999|3|79.9999999999993|0.1|3|0.600000000000001|3|0.01|19.9999999999999|3|0.00500000000000001|0.00500000000000001|0.1|79.9999999999993|79.9999999999993|0.00500000000000001|0.0599999999999995|0.1|0.0599999999999995|3|0.00500000000000001|29.9999999999998|0.1|0.00500000000000001|0.3|0.3|0.0199999999999999|7|0.00500000000000001|1|29.9999999999998|29.9999999999998|1|0.3|0.00199999999999999|0.0599999999999995|0.0599999999999995|0.00199999999999999|1|0.001|1|19.9999999999999|3|0.0199999999999999|7|0.00199999999999999|0.0199999999999999|79.9999999999993|29.9999999999998|0.0599999999999995|0.600000000000001|0.3|0.1|0.1|0.0199999999999999|0.00199999999999999|0.00500000000000001|0.00199999999999999|0.3|1|29.9999999999998|0.0599999999999995|0.600000000000001|19.9999999999999|3|0.001|0.00199999999999999|0.001|0.0199999999999999|0.3|0.1|0.600000000000001|0.01|29.9999999999998|0.00500000000000001|29.9999999999998|0.001|0.1|0.600000000000001|0.001|1|29.9999999999998|0.0599999999999995|19.9999999999999|0.3|0.600000000000001|0.00500000000000001|7|1|79.9999999999993|0.00199999999999999|0.0599999999999995|29.9999999999998|29.9999999999998|0.00199999999999999|0.01|29.9999999999998|0.0199999999999999|1|79.9999999999993|19.9999999999999|0.0599999999999995|0.00199999999999999|0.1|0.1|0.01|3|79.9999999999993|0.600000000000001|19.9999999999999|19.9999999999999|0.600000000000001|0.1|0.001|0.0199999999999999|0.0199999999999999|0.001|29.9999999999998|0.0599999999999995|0.600000000000001|7|1|0.01|3|0.001|79.9999999999993|3|19.9999999999999|0.0199999999999999|0.3|0.1|0.0599999999999995|0.0599999999999995|0.01|0.001|0.00199999999999999|0.001|0.1|0.600000000000001|19.9999999999999|0.0199999999999999|0.3|7|1|29.9999999999998|0.001|79.9999999999993|0.01|0.1|0.0599999999999995|0.3|0.00500000000000001|19.9999999999999|0.01|79.9999999999993|0.1|19.9999999999999|0.0599999999999995|79.9999999999993|0.01|29.9999999999998|0.0199999999999999|0.3|0.600000000000001|0.600000000000001|19.9999999999999|0.0199999999999999|7|0.1|0.3|0.00199999999999999|0.00199999999999999|79.9999999999993|29.9999999999998|0.001|0.0199999999999999|19.9999999999999|19.9999999999999|0.001|0.00500000000000001|19.9999999999999|0.01|0.600000000000001|29.9999999999998|7|0.0199999999999999|0.001|0.0599999999999995|0.0599999999999995|0.00500000000000001|0.600000000000001|29.9999999999998|0.3|7|7|0.3|0.0599999999999995|3|0.001|79.9999999999993|79.9999999999993|19.9999999999999|0.0199999999999999|0.3|3|0.600000000000001|0.00500000000000001|1|79.9999999999993|0.01|0.600000000000001|7|0.00500000000000001|1|0.001|79.9999999999993|0.0500000000000001|0.3|79.9999999999993|29.9999999999998|0.1|3|0.600000000000001|19.9999999999999|79.9999999999993|29.9999999999998|0.00500000000000001|0.0500000000000001|0.0199999999999999|0.1|0.00199999999999999|7|0.00500000000000001|29.9999999999998|0.0599999999999995|7|0.0199999999999999|3|0.00500000000000001|19.9999999999999|0.01|0.1|0.3|0.3|7|79.9999999999993|3|0.0599999999999995|29.9999999999998|0.001|0.001|29.9999999999998|19.9999999999999|0.00199999999999999|0.01|7|7|29.9999999999998|0.00199999999999999|7|0.00500000000000001|0.3|79.9999999999993|3|0.01|0.0199999999999999|0.0199999999999999|0.0199999999999999|0.00199999999999999|0.3|19.9999999999999|0.1|3|3|0.1|0.0199999999999999|1|79.9999999999993|0.01|29.9999999999998|7|0.01|0.1|1|0.01|0.00199999999999999|0.600000000000001|29.9999999999998|0.00500000000000001|0.3|0.00199999999999999|0.00199999999999999|0.600000000000001|79.9999999999993|29.9999999999998|0.0199999999999999|0.1|7|19.9999999999999|0.0599999999999995|1|0.01|7|3|19.9999999999999|0.00199999999999999|0.00199999999999999|79.9999999999993|0.0599999999999995|0.001|3|79.9999999999993|79.9999999999993|0.0199999999999999|3|29.9999999999998|29.9999999999998|0.00199999999999999|7|0.00500000000000001|0.0599999999999995|0.1|0.1|3|0.01|1|0.0199999999999999|19.9999999999999|79.9999999999993|3|19.9999999999999|7|0.001|0.00500000000000001|3|3|19.9999999999999|0.001|1|79.9999999999993|0.1|29.9999999999998|1|0.00500000000000001|0.3|0.01|29.9999999999998|0.001|0.1|7|0.0500000000000001|1|1|0.0599999999999995|0.01|0.600000000000001|29.9999999999998|0.00500000000000001|79.9999999999993|0.600000000000001|0.00500000000000001|0.0599999999999995|0.600000000000001|0.00500000000000001|0.001|0.3|19.9999999999999|0.00199999999999999|29.9999999999998|0.001|0.001|0.3|3|19.9999999999999|0.01|79.9999999999993|3|7|0.0199999999999999|0.600000000000001|0.00500000000000001|3|29.9999999999998|7|0.001|0.001|0.01|0.0199999999999999|79.9999999999993|1|29.9999999999998|29.9999999999998|0.01|1|19.9999999999999|19.9999999999999|0.001|1|79.9999999999993|0.0199999999999999|0.0599999999999995|0.0500000000000001|1|0.00500000000000001|0.600000000000001|79.9999999999993|7|3|0.600000000000001|7|3|0.0599999999999995|0.00199999999999999|1|1|7|79.9999999999993|0.3|1|0.0599999999999995|19.9999999999999|0.600000000000001|0.00199999999999999|0.1|0.00500000000000001|19.9999999999999|19.9999999999999|0.0599999999999995|0.00199999999999999|0.0199999999999999|0.600000000000001|0.600000000000001|0.0199999999999999|0.00500000000000001|0.3|19.9999999999999|0.00199999999999999|29.9999999999998|0.3|79.9999999999993|0.0199999999999999|0.3|0.00199999999999999|3|0.1|7|0.001|19.9999999999999|3|19.9999999999999|0.1|0.600000000000001|7|0.00500000000000001|0.00199999999999999|1|19.9999999999999|1|79.9999999999993|19.9999999999999|19.9999999999999|0.00500000000000001|0.600000000000001|79.9999999999993|7|0.0199999999999999|0.0599999999999995|1|0.01|1|0.0199999999999999|0.001|0.600000000000001|0.600000000000001|1|3|0.1|29.9999999999998|0.0199999999999999|0.01|0.3|0.3|0.01|3|29.9999999999998|0.01|0.1|0.001|79.9999999999993|7|0.0599999999999995|0.3|1|0.00199999999999999|0.001|0.600000000000001|7|0.0599999999999995|29.9999999999998|7|7|0.00199999999999999|0.3|7|1|79.9999999999993|0.0199999999999999|29.9999999999998|0.00500000000000001|0.01|79.9999999999993|0.3|0.01|0.600000000000001|0.600000000000001|0.0500000000000001|19.9999999999999|0.01|0.00500000000000001|0.1|0.1|0.00500000000000001|79.9999999999993|19.9999999999999|0.00500000000000001|0.0599999999999995|0.0199999999999999|1 | -0.4677847656|0.9397881187|-0.5550061325|-0.0201348027|0.3768766771|1.3764582607|-0.1011176189|-0.07846852|-0.3188347916|-0.4975642898|0.3725457726|-0.0214918396|0.1148692057|2.789747525|-0.4948387881|-0.9913909986|-1.9406376784|-1.6606079485|-0.2439431937|0.0236966824|-0.7805596465|0.4691937276|0.1817149347|-1.447866296|-0.6392501523|0.0392208131|0.0105713626|1.3083663425|-0.0066719392|-1.10297177|0.1057082453|0.0084631698|5.9798865779|0.1466450704|-0.4600087859|-0.389476967|0.319500681|0.0441334834|-0.5242545464|0.0265064499|0.7506755251|-0.2424359449|-0.3078206492|-1.3614616274|1.3505876568|-0.2741603838|-0.1207695951|-0.0021901362|-0.7141196108|-0.0609645772|0.4505786922|0.3086800839|0.2721829069|-0.5101810811|-0.3623549604|-1.4870763437|-1.482907364|0.0289353876|0.0559785042|0.1044776119|0.1307531381|-1.0414308354|-0.4338901868|-0.7373410915|1.3375796178|0.163765443|0.150621313|0.9927830634|-0.1882766411|0.1926287402|-0.0385107202|0.9178923666|0.8685192911|0.0022046175|-0.7211859234|-0.2497985263|-0.29455081|-0.2809718591|1.0411573661|0.9680432147|0.0459770115|-0.4663803638|0.957455729|0.5844335593|0.4830246098|-0.8587497391|-0.1629018245|-0.1238218016|0.4602804234|-0.2053636144|-0.0837602098|-0.6203481531|0.01929165|-1.6026318274|0.4963539564|0.0956840746|1.9326384928|-0.2483711177|-0.2266142762|-0.6139470464|0.0271105833|0.1412665024|-0.3179502272|0.0210349179|6.8847169982|-0.2850479398|2.1128345082|0|0.3832010792|0.0249407656|0.066052398|0|-0.0594318316|-0.101035615|0.0077762126|1.7869883473|0.0282031632|-0.0745517159|0.394238059|1.0201342281|-0.939675174|-0.0488406191|-1.020319349|0.037091988|0.0381727954|-0.4213365491|0.2505930895|-0.253615754|3.0816125308|0.3250096511|-0.3865002287|0.0922289305|-1.3373493976|-0.3582310221|0.7907091673|2.0141953018|1.0217441751|-0.8571805353|1.389495835|0|-0.2501924556|-0.5889036599|-0.1167618059|0.7936526036|0.1073097234|-1.1310907361|-2.1171639487|0.0385158557|-0.816490491|1.0541065096|-0.2735229759|1.2670335782|-0.5529083349|0.3804916023|-0.4226993376|2.6308150691|-0.7646252706|-1.16596187|0.4972941348|-0.2977650232|1.273656691|1.3014409244|0.0056255571|0.5318772501|-0.0829015544|1.86025914|1.6551479634|-0.0138831042|-0.9284092733|0.2016129032|-0.3897280389|-0.3593719179|0.9112984985|0.2715823109|0.0249407656|3.3581510411|-1.3367174616|0.4098635523|0.1776291829|1.747793799|2.0684499642|-0.5129451871|-0.1045285965|1.8824160423|-0.2943811596|1.0567401461|0.2492084451|-1.5048964396|0.3302276211|-0.5941283615|-0.1421403768|4.0083095715|-0.8842785275|0.7321695358|-1.3751634445|-0.2641249426|1.3654522948|-0.0490503411|-0.6578822055|-0.0906926652|-1.5232137192|-0.0482334498|-0.5250727399|0.1466362691|1.0081342658|-0.9550166954|-0.1608657502|0.5965047398|-0.3772518235|7.43787935|-0.8376762722|-1.0543491904|-1.5371248231|-0.4796458|0.0230946882|-0.2033674611|-0.4396984925|-1.935196634|0.1097560975|-0.2209012508|-5.0018918634|-1.0854475275|-0.6640888115|-0.3557265315|0.838068058|5.1800685486|-0.6353628825|0.0371298567|0.0737571914|-0.4348148439|2.3434134572|0|1.0497523775|-0.8923224124|0.0154348176|-0.925171786|-0.1836732557|-1.4432155382|0.0772135833|2.5835505657|2.5144192727|1.4588156325|0.5842838719|0.0208459473|-0.0600168047|0.7918316108|0.5315233761|-0.7111103517|0.4473650906|-0.504248796|-0.2293393074|-1.8686063033|1.2341748908|0|3.4506242906|0.187990711|-0.1967112267|-0.6536138394|1.6227354147|0.9763498749|-0.0668739475|-0.4096385542|-0.1004304161|-0.4042528555|2.0966105084|-2.6945758101|0.1606589632|1.5928118556|1.6404632726|3.3013677872|0.0857210113|-0.3299963955|0.0123031496|0.5355188647|1.1061610469|4.6069695188|0.2503128911|0.1661710687|-1.0052701648|-0.0363945166|0.073800408|-0.4626618767|1.028021938|-0.6351682639|0.4028281847|2.9423151373|0.7761733314|0.1381909546|-0.3019496132|0.0475437228|-0.2235044978|0.9353244221|-0.3347094843|-0.3554616197|0.8944711514|5.0714335406|0.319495945|-0.4107542942|1.3074850146|1.2403612341|0.3885198646|-1.2960497034|4.1529597576|-0.1654059557|-2.1979415103|-0.0107215739|-1.6321581405|-1.4820703022|-0.4553989747|0.0246852628|1.4537013374|0.4075673237|1.2795335727|-0.1976501592|-0.0784105875|0.2134246115|0.0293040292|-0.0703770459|2.3131790685|1.0924269163|1.2563527745|-1.0657021373|-0.1482590447|-0.0627588803|1.3395073233|2.3448983025|1.5365791874|0.6657094374|-1.7376520687|-0.2103357299|-1.540043031|-0.1716247139|0.4222012662|2.0869653375|1.5515503124|1.1350134535|-1.3361857013|-0.5816118725|1.6225283942|-0.1305994515|-0.5712109671|-0.1301330248|-0.14363777|1.5016063492|-1.166803795|-0.638490247|0.9351227323|1.6559359293|2.4061326437|0.42378598|-0.0465116278|-0.4985666209|-0.5549916718|-0.0065009558|5.8731884857|3.222425989|-0.2491990032|0.0180819593|-0.2037620334|0.5554828915|-0.5898538536|0.3176539553|-0.4634738468|-0.2065953276|0.119737236|-0.4786291829|1.3293574671|-0.2869014641|1.9645655003|-0.0365340022|0.8106111424|-0.3877099671|0.0671656113|1.485172298|-0.0739098299|0.989953955|-0.6156877232|-0.1293493726|-1.3142579191|0.1550387597|0.0366568915|3.7122253754|-0.2347362814|-1.2787068276|0.0737463126|0.7167826183|0.6850775193|0.5006887058|0.6881787885|0.6420141578|0.0337526114|-0.1586157174|-0.1185958253|0.0090752336|0.8425078754|-0.9589041095|0.0260899543|1.8258268467|-0.1482495153|0.3294207586|-0.2521750095|-0.2360863266|-0.498067493|-0.6118738696|-1.7017677638|-0.1936511151|0.5862542098|-0.1172745396|-2.7459507774|0.0910746812|-0.894273342|0.0613185898|1.5986857249|-2.4015339228|-0.5595025765|-1.4332556011|-0.7065793063|-1.0855712968|0.5028367673|-1.6292495188|0.0944924405|-0.2317369234|-0.152825415|-0.6913836493|-1.34372901|-0.0764014898|-2.1707621363|-0.3087560361|0.7828450147|0.0460617226|2.1531405274|0.1359619307|0.0863557859|5.1238645219|-0.1236510791|-1.1134440819|-1.6576177257|-0.3890510402|-0.3508998645|0.0191573132|-1.0927639999|-0.1467765609|-0.115473441|-0.1171037175|-0.9053153817|1.3711358229|-0.1530035445|0.1691871784|1.1981110017|-0.0557622336|-0.386610073|0.2706098386|0.6113136809|1.1208870676|1.4385514899|0.2807554874|0.0253132514|-0.6532110699|0.1374312843|-0.0119206913|1.8899167853|-0.5384181727|0.1488253427|0.4098515328|-1.764357083|0.4720792964|0.4765888358|-0.5507367029|-0.1829108961|0.478338048|-1.0012021722|1.0917108797|0.5461435974|0.8402749369|0.0808952406|0.2369963826|-0.0112905047|0.680302451|0.2404081442|-0.5593441624|-0.2584270211|0|-0.7911278773|-0.9879313378|1.5567025551|0.6810740014|-1.3387896179|-0.3179197283|-0.5530606274|0.0451416318|2.0629247822|0.0128854358|0.6001791464|0.0105418511|-0.5734077673|0.1633097441|0.0400534045|4.2445274685|0.4264378203|0.1310231849|0.1580670655|-0.1420144199|-0.1671548144|-0.4741689195|0.0525348043|-0.8068647967|-0.0459619771|1.0113149201|0.1273723093|1.2781954887|-0.0912825194|-0.7150704769|0.1044932079|-0.2662545154|-0.2359560759|0.2756524258|-0.170690802|0.1155068205|-0.0456621005|-0.4737547142|-0.0943145465|0|-0.0902472079|-0.6861858949|1.1629176294|-0.2179779946|0.303217794|0.050451791|8.1455120601|-0.5780463636|-0.5295722894|0.5364771627|-0.8452064718|0.8016268901|0.1784803671|-0.1278118609|-0.1306568475|-2.3239781627|0.0968288549|6.123513936|-0.0991940483|-0.0694776877|-1.0993239314|-1.7189102104|0.1212545559|-1.5375990727|-0.7900943317|-0.1063761818|-1.4960108568|-0.4339145649|-0.4976175502|3.3816667083|0.5785504598|-0.8408408409|0.3293789576|0.2069716776|-0.4555166296|0.4302175029|0.2008285235|0.2581644507|3.1684590617|-1.1503905752|-0.221434898|-1.1433882049|1.6718977955|2.3623585836|0.4472226017|-0.3523608175|0.9673202615|-0.6077912548|0.0871628763|1.3776875992|-0.3860388873|-1.7770992634|-0.1328181598|-0.6312294284|0.909748761|-0.242685722|-0.9718583946|0.0478125747|-0.0318557926|0.9980990611|-0.7262164125|-0.8826898577|-0.2265575834|0.2061791639|3.1851408594|-1.387993121|-1.2596736204|0.3261853536|0.1621673185|3.7300558219|1.0886904806|0.5247723414|0.8584588497|1.6151573889|-0.7694704506|-1.7271513313|0.7329763287|0.3929664096|4.7297981422|-1.3144277293|-0.3027027027|-0.2737447427|-0.0648004147|1.3167636027|0.3250543382|-0.9420379046|-0.2275600505|-0.6058121188|0.0762572816|-0.061221991|0.7528885086|-0.5448910114|-0.3092963219|0.0363592291|0.0372083312|0.4380170257|0.1132944029|-0.4943064031|0.994495743|-1.4760147602|2.4304825428|-0.3474302144|1.1704215789|-0.5427637169|-2.0207619825|-0.0458557835|-1.5973966753|0.3560431101 | dt4 | |||||||||||||||
DTXSID8024109 | 66332-96-5 | Flutolanil | TOX21_ERa_BLA_Agonist_ratio | 42 | 2.07675760930659 | poly2 | 0.153980859401703 | 3.98740811010708 | 1.30260587951674 | -141.060510551291 | -0.254139410746411 | 2.50607543243183 | 0.107045055842162 | -961.240670524643 | 0 | 20.210314027706 | -0.319780921450055 | 29.9999999999998|0.00199999999999999|0.0500000000000001|0.001|79.9999999999993|1|0.0199999999999999|79.9999999999993|1|0.0199999999999999|0.0500000000000001|29.9999999999998|0.00199999999999999|19.9999999999999|0.0500000000000001|79.9999999999993|0.0199999999999999|29.9999999999998|0.600000000000001|0.1|0.001|0.00199999999999999|7|3|0.0500000000000001|0.00500000000000001|0.01|19.9999999999999|29.9999999999998|0.0199999999999999|0.00199999999999999|3|7|0.0500000000000001|0.0500000000000001|0.0199999999999999|1|7|0.00500000000000001|0.00500000000000001|19.9999999999999|0.001|0.0199999999999999|79.9999999999993|1|0.600000000000001|29.9999999999998|3|29.9999999999998|0.01|0.0199999999999999|19.9999999999999|0.001|7|0.0199999999999999|29.9999999999998|0.01|19.9999999999999|0.01|0.0500000000000001|29.9999999999998|0.001|1|79.9999999999993|0.0199999999999999|0.00199999999999999|0.00500000000000001|7|0.0500000000000001|0.01|0.001|1|1|0.0199999999999999|0.0199999999999999|0.01|0.600000000000001|3|0.00199999999999999|3|7|19.9999999999999|79.9999999999993|3|29.9999999999998|0.001|0.00500000000000001|0.0500000000000001|0.1|0.3|19.9999999999999|0.600000000000001|19.9999999999999|0.00500000000000001|7|0.001|0.0199999999999999|0.01|79.9999999999993|0.01|7|29.9999999999998|1|0.01|1|3|0.0199999999999999|0.3|29.9999999999998|79.9999999999993|1|0.00500000000000001|0.0500000000000001|7|19.9999999999999|0.00500000000000001|7|0.00500000000000001|0.0199999999999999|19.9999999999999|79.9999999999993|0.3|1|0.01|0.01|0.600000000000001|0.3|0.3|0.01|0.00500000000000001|0.3|19.9999999999999|0.3|0.00199999999999999|0.001|0.00199999999999999|1|0.0199999999999999|0.00500000000000001|0.3|0.1|0.00199999999999999|29.9999999999998|0.001|0.3|0.600000000000001|0.600000000000001|0.01|0.01|0.00199999999999999|0.0500000000000001|0.0199999999999999|19.9999999999999|0.600000000000001|0.00500000000000001|0.01|1|0.001|79.9999999999993|7|3|0.600000000000001|19.9999999999999|79.9999999999993|0.00199999999999999|0.0199999999999999|0.0500000000000001|0.1|7|29.9999999999998|7|0.00199999999999999|3|0.3|79.9999999999993|0.00500000000000001|29.9999999999998|0.00500000000000001|3|19.9999999999999|3|0.00500000000000001|0.600000000000001|1|0.01|0.1|19.9999999999999|3|0.3|0.00199999999999999|0.0199999999999999|0.00199999999999999|7|0.00199999999999999|3|0.00199999999999999|79.9999999999993|7|3|0.1|29.9999999999998|0.00500000000000001|0.00500000000000001|0.3|0.1|0.1|0.00500000000000001|0.00199999999999999|0.1|7|0.1|0.001|79.9999999999993|0.001|0.600000000000001|0.01|3|0.1|0.0500000000000001|0.001|19.9999999999999|3|0.1|0.01|0.3|0.00500000000000001|0.00500000000000001|0.001|0.0199999999999999|0.01|7|0.3|79.9999999999993|0.00500000000000001|0.600000000000001|79.9999999999993|1|3|29.9999999999998|29.9999999999998|7|29.9999999999998|0.001|0.01|0.0199999999999999|0.0500000000000001|3|19.9999999999999|3|0.001|1|0.1|3|0.00199999999999999|0.3|29.9999999999998|0.00199999999999999|0.00199999999999999|1|79.9999999999993|7|3|0.600000000000001|29.9999999999998|3|0.0500000000000001|0.600000000000001|0.00500000000000001|0.0500000000000001|7|0.600000000000001|0.1|0.001|0.01|0.001|0.3|79.9999999999993|1|0.001|3|1|0.600000000000001|0.0500000000000001|19.9999999999999|79.9999999999993|3|0.1|0.0500000000000001|0.0500000000000001|0.00199999999999999|0.001|0.0500000000000001|3|0.0500000000000001|0.600000000000001|29.9999999999998|29.9999999999998|0.0199999999999999|0.00500000000000001|1|0.0500000000000001|0.0199999999999999|79.9999999999993|7|1|79.9999999999993|0.00500000000000001|0.1|0.00199999999999999|79.9999999999993|3|29.9999999999998|0.00500000000000001|1|0.1|1|19.9999999999999|19.9999999999999|0.00199999999999999|19.9999999999999|0.3|0.00500000000000001|0.01|0.3|0.0199999999999999|1|7|0.600000000000001|19.9999999999999|0.600000000000001|0.0500000000000001|0.600000000000001|0.001|0.1|19.9999999999999|0.001|0.001|0.600000000000001|3|1|0.600000000000001|0.3|19.9999999999999|1|0.0199999999999999|0.3|0.00199999999999999|0.0199999999999999|1|0.01|0.0500000000000001|79.9999999999993|0.00500000000000001|0.600000000000001|0.1|29.9999999999998|0.600000000000001|29.9999999999998|29.9999999999998|0.0199999999999999|0.0199999999999999|0.0199999999999999|7|29.9999999999998|1|0.0500000000000001|0.0199999999999999|0.0199999999999999|0.001|79.9999999999993|0.01|1|0.0199999999999999|0.3|19.9999999999999|19.9999999999999|0.3|0.00199999999999999|79.9999999999993|0.0199999999999999|29.9999999999998|3|1|0.600000000000001|29.9999999999998|0.00199999999999999|0.0500000000000001|0.001|29.9999999999998|1|19.9999999999999|0.00199999999999999|0.3|0.0500000000000001|0.600000000000001|7|7|0.001|7|0.1|0.00199999999999999|0.00500000000000001|0.1|0.001|0.600000000000001|1|0.3|7|0.3|0.0199999999999999|0.01|79.9999999999993|0.00199999999999999|7|79.9999999999993|79.9999999999993|0.01|0.01|0.3|0.0199999999999999|0.1|7|0.600000000000001|0.01|0.1|0.001|79.9999999999993|0.600000000000001|0.00500000000000001|0.01|29.9999999999998|0.00199999999999999|0.3|0.00199999999999999|19.9999999999999|0.3|19.9999999999999|19.9999999999999|0.3|29.9999999999998|0.01|0.00199999999999999|19.9999999999999|0.600000000000001|0.0199999999999999|0.01|1|0.3|3|0.00500000000000001|0.600000000000001|0.01|0.1|7|79.9999999999993|0.1|0.001|29.9999999999998|0.01|19.9999999999999|29.9999999999998|0.3|0.3|0.3|0.001|0.0199999999999999|79.9999999999993|19.9999999999999|0.600000000000001|7|0.001|0.1|0.0199999999999999|0.01|1|1|3|3|0.0500000000000001|0.001|79.9999999999993|0.0500000000000001|79.9999999999993|0.01|0.3|0.1|3|0.1|79.9999999999993|0.00500000000000001|29.9999999999998|0.001|0.00199999999999999|29.9999999999998|0.3|0.00500000000000001|0.00500000000000001|0.1|29.9999999999998|0.0500000000000001|0.600000000000001|79.9999999999993|0.00500000000000001|0.0500000000000001|79.9999999999993|1|0.3|0.00199999999999999|0.00500000000000001|19.9999999999999|0.001|0.1|0.001|7|0.1|79.9999999999993|7|0.1|19.9999999999999|0.00500000000000001|0.001|7|79.9999999999993|0.01|0.00500000000000001|0.600000000000001|0.1|29.9999999999998|0.00199999999999999|79.9999999999993|0.00500000000000001|0.0500000000000001|3|7|0.0500000000000001|79.9999999999993|19.9999999999999|0.00500000000000001|7|19.9999999999999|0.1|0.1|0.1|79.9999999999993|0.3|3|7|0.0500000000000001|3|19.9999999999999|0.01|0.01|0.00500000000000001|0.600000000000001|0.3|0.600000000000001|29.9999999999998|0.00500000000000001|0.1|0.0500000000000001|1|0.001|19.9999999999999|0.1|0.00199999999999999|0.00199999999999999|0.0500000000000001|19.9999999999999|0.0199999999999999|0.3|29.9999999999998|0.0500000000000001|3|0.0500000000000001|7|1|0.0500000000000001|7|0.00199999999999999|3|3|1|3|0.01|3|7|79.9999999999993|0.3|0.1|0.600000000000001|0.00199999999999999|0.00199999999999999|0.01|0.1|0.3|19.9999999999999|0.00199999999999999|0.0500000000000001|0.0199999999999999|0.600000000000001|3|7|0.0500000000000001|0.001|0.001|0.0199999999999999|7|0.01|0.1|19.9999999999999|0.0199999999999999|1|0.0199999999999999|3|0.600000000000001|0.01|1|0.001|0.600000000000001|1|0.600000000000001|0.3|0.00500000000000001|0.600000000000001|0.00199999999999999|29.9999999999998|0.1|0.0500000000000001|29.9999999999998|0.001 | 0.0165693678|-3.2075161733|-0.103175513|-0.0362811791|0.5293605347|-1.4916380538|-1.2930078131|2.3197620067|0.8221612672|0.8752186945|1.22605001|0|0.0216239594|0.965875602|7.873197624|-0.1641223596|-0.1578739638|0.1362110622|-0.5369568839|0.4853414031|0.0753904324|0.9370039362|-0.2864037923|0.208129285|-0.0126968004|1.1571582346|0.3736188511|-1.20357569|-0.1508346479|0.0246500899|1.2160282964|0.681781241|0.0432432432|-0.0261437907|-0.9602553836|-0.9009101587|1.0398764268|-0.7921234503|-0.2480372792|0.0766871165|-0.1496976284|-0.8811640121|1.5025881111|0.6087669806|0.7222309918|-0.6243347568|0|0.0737571913|-0.0465203429|-0.5498270547|0.0789369819|2.0875050107|-0.4028975576|-0.1816640425|2.5573601925|-1.047005603|-0.5666082394|-0.1255177607|-0.6367194427|0.0941109812|0.8800249056|0.0128221566|0.1761486856|-0.953897334|-0.2609094232|1.043651874|0.5827564258|0.3146185501|-0.251085133|1.9003759027|0.4876438641|-1.9477005876|0.5228710902|0.1015075911|0.4564138862|-1.0949457893|0|-2.0814137985|-0.0629048369|0.3769337481|-1.6703579635|-0.1117299861|-0.6714642129|0.2950287653|-0.6611609803|0.2306937725|0.7702931198|0.0082839581|-0.2460844691|0.0605180343|-0.280472128|0.0234595686|-0.0274665738|0.0435729847|0.8151451969|1.3007659885|-0.8029420836|1.0450175649|-0.542215203|2.4249471827|1.3567031439|-0.6642322763|1.1325322357|1.3911204515|0.9429585891|-1.2570302838|4.6982478422|-0.2230208664|-0.4743833017|0.4868799422|-0.0837588506|0.9686264582|0.1165182054|-0.5477374756|-0.3405221339|-1.1900943478|2.8547814462|1.5735766354|1.4571666906|0.633392133|5.4634796687|-0.2602170689|0.3374938672|-1.018318766|-0.685280774|0.1662728625|-0.2629924606|0.8155414847|-0.0122189638|-0.0483208504|-0.3303508478|0.8331644121|0.307030251|3.2020135587|0.9247272054|0.9845120673|0.1527614572|-0.8715952841|2.4471458265|0.3110816004|2.0447314251|0.1909093597|-1.0729253167|0.1490161848|-1.9969947336|-0.2356374637|0.180709284|0.0124703829|-0.1954751916|-2.2964456063|-0.1086571482|-0.4052377368|-0.0997879506|0.436058916|-1.4397244238|0.9218489174|-0.9227042947|-0.0882925427|-0.4461602122|2.7846481586|0.0456865353|1.1857048581|-0.8429550897|-0.9319468447|1.4279090178|0.6502037227|0.4109530157|-0.1781397124|2.3042394963|-1.70419294|0.1061946903|0.7074677041|0.1926287403|-0.3618332886|0.6712639393|1.2527808659|0|0.0904509626|-1.8105160663|-0.0987821592|-0.0164294838|1.6372896673|1.2897977331|-0.0679968135|-0.9968066533|0.7238483173|-0.2767936225|-0.88523837|3.343070849|-0.0982511298|0.4873822518|-0.1182313456|0.127735609|2.5564779906|-0.7944146186|-0.0152565791|0.781937991|-1.6762784124|0.692476163|-0.0441014332|-0.0437636761|-0.6235552665|0.1627834004|-0.1051893408|-1.4307989544|-0.091637454|-0.0127828199|-0.059220446|0.2371468724|-0.8805111463|0.0339597012|0.0984251722|-2.0348108426|0.5562692926|-0.9624150142|-0.8957745838|0.0587783957|-0.6505222764|0.6290206312|-0.365068479|-0.0602993763|0.2205967723|-3.6170937272|0.5354360174|-0.0523089662|0.0825569052|-0.403461859|0.4364620549|-0.1209292125|0.8556844177|1.1542149895|0.1428638648|-2.6151970958|0.1181031825|-0.3270724268|-0.8536796936|0.2928731154|2.6497776149|0.782201113|0.1395348837|-0.9233233921|-2.0213490395|0.1710669601|-1.5782016722|0.6719285247|-1.9939351508|1.4131968576|8.9211038723|-0.0106078285|0.0028767466|0.1686559419|-0.4635338332|-0.5368557921|0.4019690759|1.6611123789|0.6827232374|1.9310718831|0.6390516559|-0.0473092844|-0.1075268817|0.671486224|-0.3367404479|-0.3623205441|-0.1410780334|-0.1958224543|0.0128256664|20.6095528856|0.6658927957|0.7595851469|-0.2541690626|-2.3135232006|0.2956306901|0.0730618487|0.2912643079|-0.2593627409|-0.8823260834|-1.9669697532|2.3778762888|1.4373037438|0.9474971622|1.8689266127|0.5513173021|0.3956478733|-0.0481944311|-1.1321979|-0.6068212569|-0.0706838664|-0.6633201645|-1.191106658|0.8322741653|1.5698825717|-0.4553610203|-0.3900803652|-0.6443907803|60.0280642803|-0.0741839762|-0.0788794279|-0.4254056193|-0.192990047|0.2036945996|0.4803883624|0.3150433185|-0.1371058208|-0.5268276501|0|-4.0613166364|-1.5386692916|-0.549241882|-0.1722440945|1.2734712437|-6.4956102691|0.7320848821|1.0551403182|1.0132034362|-0.5088058109|1.7900039147|0.0246184144|0.0496129666|-0.130455408|-0.8356659279|-1.2080424941|-0.9977427427|0.948897901|1.0118241611|0.0376884422|1.4563897706|-0.6367241241|-0.1087881501|-2.691499692|-1.477285752|1.3516116862|0.8693387263|-0.3158848447|1.0597541391|0.0360142935|0.1250891757|0.2353248791|-1.8541919074|-0.032337954|0.3312579033|-0.4167264976|0.0726291762|0.0106123315|1.7367282297|-1.3141455106|-0.4443215811|0.0521575651|0.4766663379|-0.1774937877|0.1739562624|0.4404147304|-0.2564401445|-0.1150306748|-5.5436796606|-1.254276112|0.1112759643|-0.9149144734|-1.0396585474|-0.3053867931|-0.0125216766|0.4452080465|1.4783549815|0.2201261417|-1.3338336879|-0.7656733217|-0.1148511352|-0.3185093187|-1.6157074697|0.4888655442|-0.0344371425|0.2636640863|-0.7558016541|0.9635838615|2.0171173032|-0.1772111729|0.0400534045|-0.1135635958|-0.1565100984|-0.8273917201|-0.5901590952|-0.2842010075|0.2425702693|-0.5951879736|0|-2.9496893608|0.5979538422|0.0231125809|1.2389517249|-0.4701758662|-1.1658928731|0|-1.8099636555|1.257414922|-0.0882624939|0.9055684518|-0.1414093802|0.1935712509|-0.0501332269|-1.370045255|-1.4049755607|-0.777661739|-0.5728650849|0.9579520035|2.0432517063|1.2977025434|-2.5210576865|0.3163790689|-1.967244706|0.0196465737|-0.3356582389|-0.3096162364|-0.7249491635|-0.175724865|1.6207020291|1.5878954503|-1.0790989669|0.649108853|0.1231527093|1.1491901329|0.8867028136|0.5520039631|0.4510795369|-0.7249378867|-0.0979551855|3.5728717829|-0.3388867958|1.3274498174|-0.3614185678|-0.3728479|-1.2141201239|-0.3491795533|0.6095744658|-0.5913753703|-0.6217682678|-0.0665462496|-0.482458241|1.9612820297|-1.1718382005|-0.4736973382|0.4594693621|-0.3387151406|-0.0646986813|-1.273930504|-0.1193175038|0.1836627601|0.6537329164|0.3704430358|-0.140236064|0.0391798353|1.6161561889|-0.3837512197|0.0852551108|2.4677572432|-1.9430785609|0.5419941903|-0.083039236|-0.3219255843|-0.0096070707|-0.050999034|-0.9812532219|0.0105418511|-0.682662785|0.012399256|1.2290047522|0.2996356388|-0.762469269|-0.4817610614|-1.3524325763|0.3101111249|0.8359371425|-2.0194402965|0.7317522054|0.7038087103|-0.0130913132|0.9789864145|-0.147275405|0.8948706841|0.12318305|2.2651888035|-0.0030258901|-0.5022888723|0|0.6104822887|0.1566389667|-2.3914580578|0.1802623896|-0.0627588803|-0.9766069615|-1.5936355524|0.6362615726|-1.2070166297|0.5265674767|1.4825298606|-0.5485557037|-1.0117112813|0.3070231546|0.0676870708|0|-0.922744433|-0.0577256108|0.2474653665|0.020854309|0.1316261816|0.9373258689|-0.8492083223|1.1217463735|-0.1675930816|-0.4649151258|0.5679326875|-0.4731287153|-0.4857416903|-1.9102805524|-0.1049431373|0.3893267495|-0.0381727954|0.1734338471|0.3264415275|0.166078472|-0.0415624912|-0.1416122004|0.4441212531|-2.3504486416|-2.7237934481|-0.4093983624|-0.4356965299|1.1735525524|-0.0583022387|0.5776899035|0.0699785354|-1.8456705049|1.0312430717|71.2354388363|-0.0640034704|0.0278280228|0.0072835586|1.2983910868|0.0706903371|0.4678685711|0.7251035906|-0.0553587245|-0.8377412721|-0.0142998324|1.2788037162|0|-0.6126174642|-0.926945557|0.174994601|-1.377150432|0.0770200927|-1.7161353383|0.0963855421|1.8473449146|-0.7083241524|0.097335207|-0.4891435403|0.3344853739|-0.7732057121|-0.4620359081|-1.1074767651|0.6934801972|-1.5240145972|1.4300090007|-1.9138320414|-0.456591153|-0.2692778458|0.8999415157|0.1508295625|0.9966357412|0.3688079056|-0.0619962802|1.2775403809|0.6794102884|-0.085951676|-1.039572118|0.2921942395|0.2390041923|0.9335824661|0.2053139414|0.4330879168|0.2393978212|-0.2822832154|-0.7310682163|2.0687975634|0.183961777|-0.4596955145|0.0728463802|-3.6576196182|0.7895713329|-0.9902101462|-1.1352871821|4.4545072267|-0.2071220157|2.2040572455|-0.1754899093|-1.0075750037|1.5674256444|1.9055529188|0.4378053254|0.3658940292|1.7779161023|0.1113633786|-0.7647002743|-0.6902248174|1.9425600144|0.5017530717|0.414038708|0.1079913606|-0.0514509158|-0.8656345907|-0.0661302766|-0.1268516054|0.5953944488|-0.6304233145|-1.0121614453|0.0092773064|0.2086981638|0.3761958844|0.1954821894|0.1497830229|0.0618429189|-0.1530382513|2.0195232409|-1.4424968527|1.8328911403|0.6324740751|-3.4573673933|0.1175395062|-0.5713209224|0.6292895448|1.8633159783 | dt4 | ||||||||||||||
DTXSID5020607 | 117-81-7 | Di(2-ethylhexyl) phthalate | TOX21_ERa_BLA_Agonist_ratio | 32 | 2.07675760930659 | poly2 | 0.0870551876652886 | 1.3555566125726 | 0.842799844291887 | -116.215424149384 | -0.422734747165152 | 2.50607543243183 | 0.45319212723266 | -831.733271933172 | 0 | 14.1999765764914 | -0.180792523413501 | 0.00199999999999999|0.3|19.9999999999999|29.9999999999998|0.00199999999999999|0.600000000000001|7|7|0.001|0.001|0.600000000000001|1|0.3|7|7|79.9999999999993|79.9999999999993|0.01|0.01|0.3|0.0199999999999999|0.1|7|0.600000000000001|19.9999999999999|19.9999999999999|0.3|0.01|19.9999999999999|7|79.9999999999993|0.1|0.001|29.9999999999998|0.3|0.001|0.0199999999999999|79.9999999999993|19.9999999999999|0.001|0.1|7|19.9999999999999|0.001|0.01|1|1|3|79.9999999999993|0.01|0.3|0.1|3|0.00199999999999999|29.9999999999998|0.3|0.00500000000000001|0.00500000000000001|0.1|29.9999999999998|0.0500000000000001|0.600000000000001|79.9999999999993|7|79.9999999999993|0.1|0.00500000000000001|7|3|7|0.0500000000000001|79.9999999999993|19.9999999999999|0.1|79.9999999999993|0.3|3|7|0.0500000000000001|0.0500000000000001|1|7|3|29.9999999999998|0.00199999999999999|0.0500000000000001|0.001|79.9999999999993|0.00500000000000001|0.600000000000001|0.3|0.600000000000001|1|0.0199999999999999|79.9999999999993|1|0.0199999999999999|29.9999999999998|0.00500000000000001|0.1|0.0500000000000001|1|0.0199999999999999|0.0500000000000001|1|29.9999999999998|7|0.00199999999999999|0.00500000000000001|19.9999999999999|0.00500000000000001|0.0500000000000001|0.001|19.9999999999999|0.1|0.00199999999999999|0.00199999999999999|0.0500000000000001|19.9999999999999|0.0199999999999999|0.3|29.9999999999998|79.9999999999993|0.0199999999999999|29.9999999999998|0.600000000000001|0.1|0.001|0.00199999999999999|7|3|0.0500000000000001|3|7|0.0500000000000001|0.00199999999999999|3|0.00500000000000001|0.01|19.9999999999999|29.9999999999998|0.0199999999999999|1|3|0.01|3|7|0.00199999999999999|3|7|0.0500000000000001|0.0500000000000001|79.9999999999993|0.3|0.1|0.600000000000001|0.00199999999999999|0.0199999999999999|0.0199999999999999|0.600000000000001|1|0.600000000000001|19.9999999999999|0.001|0.0199999999999999|79.9999999999993|1|0.00199999999999999|0.01|0.1|0.3|0.600000000000001|29.9999999999998|3|29.9999999999998|0.01|19.9999999999999|0.00199999999999999|0.0500000000000001|0.0199999999999999|0.600000000000001|0.01|0.0199999999999999|0.600000000000001|19.9999999999999|3|0.001|0.00199999999999999|7|3|0.0199999999999999|3|7|0.0500000000000001|0.001|0.001|0.0199999999999999|7|0.01|0.1|19.9999999999999|29.9999999999998|0.01|19.9999999999999|0.01|0.0500000000000001|29.9999999999998|0.001|1|79.9999999999993|0.0199999999999999|1|3|0.01|0.001|1|0.00199999999999999|0.00500000000000001|7|0.0500000000000001|0.01|0.600000000000001|0.3|0.00500000000000001|0.600000000000001|0.00199999999999999|0.001|1|1|0.0199999999999999|0.0199999999999999|29.9999999999998|0.1|0.0500000000000001|29.9999999999998|0.001|0.01|0.3|0.01|0.3|0.3|7|19.9999999999999|79.9999999999993|3|29.9999999999998|0.001|0.00500000000000001|0.0500000000000001|0.1|0.3|19.9999999999999|0.600000000000001|19.9999999999999|0.00500000000000001|0.00199999999999999|7|0.0500000000000001|0.001|0.0199999999999999|0.0199999999999999|19.9999999999999|0.01|0.600000000000001|79.9999999999993|0.00500000000000001|0.01|0.01|7|1|29.9999999999998|0.001|1|79.9999999999993|0.01|1|3|0.0199999999999999|0.3|29.9999999999998|79.9999999999993|1|0.00500000000000001|0.0500000000000001|7|19.9999999999999|0.00500000000000001|7|0.00500000000000001|0.0199999999999999|19.9999999999999|79.9999999999993|0.3|1|0.01|0.600000000000001|0.3|0.00500000000000001|19.9999999999999|0.00199999999999999|0.001|0.00199999999999999|1|0.0199999999999999|0.00500000000000001|0.3|0.1|0.00199999999999999|29.9999999999998|0.001|0.3|0.600000000000001|0.600000000000001|0.01|0.01|0.00500000000000001|0.1|0.00500000000000001|0.1|0.1|7|3|0.600000000000001|19.9999999999999|79.9999999999993|0.00199999999999999|0.0199999999999999|0.0500000000000001|0.1|7|29.9999999999998|7|0.00199999999999999|0.001|3|0.0199999999999999|0.3|0.01|79.9999999999993|7|0.00500000000000001|0.3|29.9999999999998|79.9999999999993|0.00500000000000001|0.00500000000000001|3|0.600000000000001|19.9999999999999|79.9999999999993|3|1|0.00500000000000001|0.600000000000001|1|0.01|0.1|19.9999999999999|3|0.3|0.00199999999999999|0.0199999999999999|0.00199999999999999|7|0.00199999999999999|3|0.00199999999999999|79.9999999999993|7|3|0.1|29.9999999999998|0.00500000000000001|0.3|0.1|0.00199999999999999|7|0.001|79.9999999999993|0.001|0.600000000000001|0.01|3|0.1|0.0500000000000001|0.001|19.9999999999999|3|0.1|0.01|0.3|0.00500000000000001|0.00500000000000001|3|0.0500000000000001|0.00199999999999999|0.0500000000000001|0.0500000000000001|3|29.9999999999998|29.9999999999998|7|29.9999999999998|0.001|0.01|0.0199999999999999|0.0500000000000001|3|19.9999999999999|3|0.001|3|1|29.9999999999998|0.1|0.00500000000000001|3|1|0.00199999999999999|0.1|0.3|29.9999999999998|0.00199999999999999|0.00199999999999999|1|79.9999999999993|7|3|0.600000000000001|29.9999999999998|3|0.0500000000000001|0.600000000000001|0.00500000000000001|0.0500000000000001|7|0.600000000000001|0.1|0.001|0.01|0.001|0.3|79.9999999999993|1|0.001|3|1|0.600000000000001|0.0500000000000001|19.9999999999999|79.9999999999993|0.1|0.0500000000000001|0.001|3|0.600000000000001|29.9999999999998|29.9999999999998|0.0199999999999999|0.00500000000000001|1|0.0500000000000001|0.0199999999999999|79.9999999999993|7|1|79.9999999999993|0.00500000000000001|0.1|0.00199999999999999|79.9999999999993|1|0.0199999999999999|0.001|0.01|0.0199999999999999|1|19.9999999999999|19.9999999999999|0.00199999999999999|19.9999999999999|0.3|0.00500000000000001|0.01|0.3|0.0199999999999999|1|7|0.600000000000001|19.9999999999999|1|0.600000000000001|19.9999999999999|0.0500000000000001|0.00199999999999999|0.600000000000001|0.3|0.001|0.0500000000000001|0.1|19.9999999999999|0.001|0.001|0.600000000000001|3|1|0.600000000000001|0.3|19.9999999999999|1|0.0199999999999999|0.3|0.00199999999999999|0.0199999999999999|1|0.01|0.0500000000000001|79.9999999999993|0.00500000000000001|0.600000000000001|0.1|29.9999999999998|0.600000000000001|29.9999999999998|29.9999999999998|0.0199999999999999|0.0199999999999999|0.0199999999999999|7|29.9999999999998|0.0500000000000001|0.0199999999999999|79.9999999999993|1|0.3|19.9999999999999|19.9999999999999|0.3|0.00199999999999999|79.9999999999993|0.0199999999999999|29.9999999999998|3|1|0.600000000000001|29.9999999999998|0.00199999999999999|0.0500000000000001|0.001|29.9999999999998|0.600000000000001|0.01|0.3|0.00500000000000001|0.01|7|0.1|0.00199999999999999|0.00500000000000001|0.1|0.600000000000001|0.3|7|0.0199999999999999|0.001|0.01|0.1|79.9999999999993|0.0199999999999999|0.00199999999999999|0.01|0.1|0.001|79.9999999999993|0.600000000000001|0.00500000000000001|0.01|29.9999999999998|0.00199999999999999|0.3|0.0199999999999999|1|3|0.600000000000001|0.1|0.01|19.9999999999999|29.9999999999998|0.3|0.3|79.9999999999993|0.00500000000000001|0.1|0.00199999999999999|0.00500000000000001|3|0.0500000000000001|0.001|79.9999999999993|0.0500000000000001|0.0500000000000001|0.1|3|79.9999999999993|19.9999999999999|0.00500000000000001|0.01|29.9999999999998|0.01|0.001|0.00500000000000001|0.0500000000000001|79.9999999999993|1|0.3|0.00199999999999999|0.00500000000000001|19.9999999999999|0.001|0.1|0.01|0.600000000000001|29.9999999999998|79.9999999999993|0.0500000000000001|0.00500000000000001|7|19.9999999999999|0.1|0.1 | 2.2202861313|0.0726216412|0.1107828655|-1.1670609355|-0.0430195563|-1.0156652701|0.058920575|21.7972180088|1.1091300915|1.0815029193|-1.3656225378|-0.2824467584|1.4979864747|-1.1783844374|1.3560303522|-0.5822101734|1.4899846997|0.212139069|-0.3534562819|-0.3529220445|0.6207341148|-0.1078004793|2.7136801005|-1.2942188871|0.1711189276|0.3003957211|0.0842903803|-0.50557828|-0.4578512177|-1.7772542491|0.3467929913|-0.0103799044|1.103068863|0.5167705785|-1.8312537603|0.198889394|-0.1775072904|0.0235404896|-0.3975793274|0.2934268659|0.2333962643|0.04713646|-0.8739473436|0.5491981608|1.2444586447|0.1449434304|-1.5855635435|-0.2804143379|-0.17628197|-1.5640067766|0.0112789091|-0.1801455417|-0.7005672044|-4.4304043298|-1.1748014747|1.1632850884|0.2935857174|-0.1298420256|-0.0800915332|1.4514287761|0.0464619539|-0.5570576917|-1.5811500397|0.2866989712|0.3439873871|0.1245588541|0.3704812502|0.4633303015|-0.2196542832|0.2654966353|-0.3791546347|0.1647834274|0.9285923898|-1.2838811108|-0.7358658273|-0.6457543451|1.6870601879|-0.0840711861|7.632327156|0.1519797608|-0.01648977|-0.7228515654|0.144707209|-0.217809094|1.0075749053|-1.5689125619|-1.8709757257|1.8631742055|1.197696591|-0.0721403999|-1.8576127447|0.1483340939|-1.3293877344|0.2798453741|-0.7511818203|-0.3824977409|1.6683658749|0.9169311133|0.9966619199|-0.3448936477|0.8343196339|0.6555627221|-0.7393040562|-0.4346547668|-0.1497005988|0.0705262523|-0.3373411673|0.1884300399|0.1810261737|0.8069217098|0.2928564327|-0.5144418734|-0.806986258|1.2532861538|0.3396097024|0.7883959331|-0.8680487847|-0.1354226381|-0.6486398481|-0.0533617929|-0.9124869617|-0.8222667178|-0.3519129705|0.5778201095|-1.7897113078|1.4015644556|1.6243565992|0.2056623407|-0.0769724182|0.4191888498|0.2125251811|0.2545881145|0.4054102074|0.0556560455|0.1464894841|-0.7148804724|-0.4448485782|0.2316118953|0.5864161651|-0.679673248|-1.3783565993|-0.0849351744|-0.0700464057|0.489026486|-0.1062923227|-1.1047843715|0.1531986115|0.3902350485|-0.6313112897|-0.0710937071|-0.7002862497|-0.3465702996|-3.4234299714|-0.0660501982|-0.3812983055|1.0498931467|2.0714576936|2.2780003332|0.0879396985|-0.4178617109|0.0843525938|1.4423105619|-1.3478164414|0.7532765074|-0.196168936|-1.2493207018|0.0207900208|0.9964797978|0.1832844574|-0.1300869581|-0.6372374744|-0.5115825482|0.8631508749|0.550362037|-1.0606799723|1.6825145246|-0.9143129198|-1.3687958457|-0.4701155447|0|-0.6023249734|0.0065628735|-1.515450249|-0.5035733694|-1.5224237713|0.0788790932|0.1355930337|0.6493483305|-0.0968874893|-0.1346718902|0.1136621958|-6.2638125747|1.5184475667|0.2904285573|0.0022553966|-1.4947018462|-0.3139661984|-0.9940138954|-0.2736207571|0|-0.1007711352|-1.3675331132|0.0884215309|0.5382212332|-0.7770467147|0.6664019754|-0.6854663496|0.1153994102|-0.1914474866|-0.4123028393|0.7405285371|-0.4728132387|-0.1525092472|-0.3795456437|1.2271058772|0.0768118449|-0.199655141|0.160672759|0.0714370758|0.2390854949|1.3922838613|-0.1925264724|0.2592016588|-0.2533115736|-1.1586136333|1.7336464076|-1.5864501243|-1.0648395808|0.0591645959|-0.3792563629|-0.0646746864|-2.5269531997|-0.1189100488|0.629329992|-0.5428791978|-0.1344820297|1.5148133|-0.1120238983|-0.1213174843|-1.2027065441|-0.4047259051|-0.117260788|-1.4124684374|0.1002595125|-0.3971401966|1.7234467453|1.0987063465|0.1106131794|-0.7449464664|0.0338802722|0.1517483046|0.1402360639|0.614778987|-0.7030895337|-0.7330262277|0.2817975336|0.9207347082|0.2230461236|2.1692414884|-0.2765623199|-0.2743102162|-0.5634903397|0.714264857|-0.0373047041|2.1506545332|0.3972656932|0.0360500071|-0.0555979347|-1.8917918517|0.9900823165|0.3090168955|-0.205154507|0.022847382|-0.3556418116|0.9288058643|-0.3656921547|-0.2190494161|0.6990154691|0.870159444|-0.4869226431|-0.2123284227|0.0140587655|-0.0432236394|0.0101545639|-0.2175757009|-0.7349421273|0.0896344686|-0.0829275867|-0.3193015213|1.1336779926|0.0587128457|-1.0434314152|-6.4606713563|-0.0148284137|0.6849658662|-0.7613546863|0.0141561107|0.1058040143|-3.89326427|-0.5738689204|0.2930546597|0.5787420341|-0.1057579318|0.012642225|-1.3233234061|-0.1490182328|-0.3109613889|0.6886622848|0.5520977556|0.4049829069|1.7972415744|-0.0651720541|0.090354642|1.219873958|-0.0126658809|-0.085043053|1.2251140499|-0.0639140994|-0.2461774423|0.0377568517|-1.7586212694|-0.4333596616|-0.7790800001|0.0476425832|0.9250408096|0.5568437529|0.1660787355|-0.1131996399|-1.7603043219|-0.7496798108|0.6919227543|-0.6061149644|0.8930349083|0.2616302774|1.188392275|2.1237487568|-0.2086363568|-0.0251730648|-1.4222828662|-0.3477046145|0.7747384454|-0.5815843011|0.2734995817|-1.5872860603|-1.1196297509|0.0417788298|-1.5836850902|2.1168359539|0.3524644205|0.3236289655|-0.8931963205|-0.3963883423|-0.5660000075|-0.013039355|0.3753640237|0.2439650744|0.5430839348|0.1672580458|0.0677041407|-0.9062913531|-0.6447669785|-0.4520288565|0.1168544402|0.5586568318|-0.4115693405|-0.0094431546|0.0445914996|0.2096436059|0.0384912648|-1.1292508179|-0.3629332719|-1.0044241616|0.2864651879|0.1142567739|0.0141057348|-0.1886368355|-0.4653910609|0.3513836627|-4.2053619951|0.375850605|-0.0909757219|0.6546573355|0.4935491007|-0.5566354479|-0.8661428657|0.0383386582|0.5425452183|0.1277139208|3.3010586067|-0.8647170162|0.3153380423|-0.0471753745|-0.3643596041|1.0733185904|0.9506332972|0.0847252481|0.1061410159|0.9460015737|-1.0587634507|0.202403542|-0.9507951311|2.0883836264|-1.7624735792|0.0821830967|-0.1089326319|-0.318020923|-1.5116668444|0.7698270452|0.0767695378|2.0502825523|1.2445096461|1.5233220069|-0.1427088738|0.7980773959|-0.6591794003|-0.2658068839|0.7513180741|-0.9646483346|0.7429859733|-0.3285807748|-0.6480274668|0.9512372212|-0.0770317113|0.0705788506|-0.2602010644|0.0477897252|0.0791661168|0.8706152999|-0.3806557235|1.1832585311|0.5004607152|0.1313746566|0.2167609942|-0.0505178075|0.3196289276|0.1293459973|0.1351351351|-0.8443506096|-0.3084153281|0.5787240592|-0.2967203241|0.5593264053|-1.3523300112|0.0964203929|-0.1695787305|-0.1327749086|-0.144906727|-0.7693515019|-1.9555662145|-0.4373343716|0.0994035785|0.5919773811|-1.1913804206|-0.082392576|-0.0878624324|-1.2819230036|-2.1819799327|2.0588239222|-0.4609747547|0.6457711398|-0.1346896554|-0.2650410813|0.0656340247|0.0479836996|0.5144941523|0.1113172542|-3.305606371|-0.8722866558|0.1146204787|0.3646968956|0.9673211675|2.2160327201|-0.1081120326|0.1921459338|0.2544084685|-0.5968916115|0.6546599147|0.1230920728|-0.6201148102|-0.3712238492|-0.1988020485|-0.210354096|-0.5413667001|0.0668598172|2.6706942347|-0.149135806|-1.1923487179|0.1018978474|1.7241594279|-2.7341699983|0.5511121561|3.692270228|0.4025864999|-1.0192730595|-0.402995756|-1.7947786495|-0.9357820519|-0.3578228552|0.6860302942|-0.202501489|0.7969493644|-1.0155926344|-0.1018582462|0.0196782732|-0.0154257065|0.0887311446|0.8833415841|-0.3710155579|1.6690896752|-0.2090857293|-0.0119617224|-0.613354825|-1.0605498298|0.548559927|-0.7397249905|0.0093040866|-0.8562320666|-1.8302470204|0.2028866578|3.0332339195|-0.9275497938|-0.5656528189|0.2841227874|-0.6476561954|-0.2885016602|0.1978630787|-0.183227625|0.2975220636|-0.6135244785|-0.4451641195|-0.4682392437|-0.3771472072|1.3310609291|-0.1482579689|0.0656987751|-0.0475330354|-0.3321282308|-0.4445553088|-0.0300430881|0.3227055634|-0.3061046003|-0.0231882918|-0.181780503|-0.3957088297|-0.4079627976|0.1083963023|0.0130208333|-0.042356513|0.0124641654|-0.5906554557|0.2505667581|0.2265575833|-0.0116863386|-1.3998224823|-0.5995305822|-0.79157469|-0.727105469|0.6205973966|-0.3002329208|0.2883687322|1.1054135371|0.2207505517|0.2237136466|-0.4207573633|-0.4883258553|0.1118290258|-0.0805369127|1.140066734|-0.2607320999|-0.1265778769|-0.13468838|-0.8482685759|0.2127659574|-0.2055234425|-0.9236176959|-0.2845708913|0.0206589509|0.6811914578|-0.5396825533|2.787997924|-0.6003511926|0.2039074524|0.2277552002|-0.1165097068|-0.1977813075|0.2658271899|-0.1844716169|0.0049033526|0.6836940219|-0.1354171034|-0.7887390263|0.0599017611|1.2432243774|-1.6222254651|0.1557251537|-1.0733460417|-0.2407428636|-0.7187595865|-0.0157922421|2.0995410226|1.4232790815|-0.1229105211|-0.2469116381|0.2436469667|2.3708859317|-0.0333809422|-0.204819277|-0.2067064768|0.7210641819|-0.2317510675|0.0865514911|1.66580157|-0.135271894|-0.1360174102|0.7600829761|-0.6490954995|-0.0539945755|1.2328224933|-0.8153550467|2.2569481304|-0.7030971876|0.227656582|0.0538635738|-4.4104055899|2.2415059165|-2.2011714097|0.1413432336|0.6677304137|0.2171527845|0.0808314087 | dt4 | ||||||||||||||
DTXSID3031864 | 1763-23-1 | Perfluorooctanesulfonic acid | TOX21_ERa_BLA_Agonist_ratio | 43 | 2.07675760930659 | poly1 | 0.217043754771889 | 1.23034007274665 | 0.00563434086593747 | -0.315886164706897 | 2.50607543243183 | 0.0413692779125863 | -900.236923122482 | 0 | 39.9999999999997 | 0.450747269274994 | 0.0500000000000001|0.00500000000000001|7|0.0500000000000001|0.1|3|0.0500000000000001|0.00199999999999999|0.0199999999999999|0.01|29.9999999999998|0.001|79.9999999999993|0.00500000000000001|3|1|29.9999999999998|0.1|0.00500000000000001|0.00500000000000001|0.3|0.600000000000001|0.3|0.3|0.600000000000001|0.0500000000000001|0.00199999999999999|29.9999999999998|0.001|0.1|0.0500000000000001|7|3|0.600000000000001|0.0500000000000001|0.0199999999999999|0.00199999999999999|1|0.3|0.0199999999999999|0.00199999999999999|1|0.0199999999999999|0.0500000000000001|1|0.0199999999999999|0.001|79.9999999999993|0.00500000000000001|19.9999999999999|0.3|3|0.00199999999999999|0.3|1|0.600000000000001|19.9999999999999|0.0500000000000001|0.00199999999999999|0.00199999999999999|0.1|29.9999999999998|0.1|0.1|0.3|0.0199999999999999|0.001|19.9999999999999|0.600000000000001|0.0500000000000001|0.0199999999999999|3|1|0.3|0.0199999999999999|29.9999999999998|0.001|0.3|0.1|0.01|0.001|0.600000000000001|0.01|0.0199999999999999|0.00199999999999999|0.3|19.9999999999999|19.9999999999999|3|0.600000000000001|0.01|0.3|3|0.00199999999999999|0.600000000000001|7|7|0.600000000000001|7|0.1|0.600000000000001|0.001|0.1|0.3|0.001|0.001|0.600000000000001|0.0199999999999999|1|0.600000000000001|0.01|19.9999999999999|7|0.600000000000001|0.3|7|0.0199999999999999|0.001|0.001|0.0500000000000001|19.9999999999999|0.0500000000000001|0.00199999999999999|7|79.9999999999993|79.9999999999993|0.01|0.01|0.3|29.9999999999998|0.00500000000000001|7|0.600000000000001|0.1|79.9999999999993|79.9999999999993|7|0.3|19.9999999999999|19.9999999999999|0.3|0.01|79.9999999999993|0.0199999999999999|1|1|0.600000000000001|0.1|7|79.9999999999993|0.1|3|29.9999999999998|0.01|19.9999999999999|29.9999999999998|0.1|0.0500000000000001|0.00500000000000001|79.9999999999993|0.3|0.00500000000000001|0.01|0.001|0.1|7|7|0.600000000000001|79.9999999999993|0.00500000000000001|0.1|0.600000000000001|0.001|0.01|1|1|0.3|3|0.0500000000000001|0.01|79.9999999999993|0.0500000000000001|0.1|79.9999999999993|79.9999999999993|0.01|0.3|0.3|0.0199999999999999|0.00500000000000001|7|3|0.0500000000000001|0.1|3|79.9999999999993|19.9999999999999|79.9999999999993|0.01|7|0.0199999999999999|0.001|0.00199999999999999|29.9999999999998|0.3|0.00500000000000001|0.00500000000000001|0.1|19.9999999999999|0.00199999999999999|0.00199999999999999|79.9999999999993|0.0500000000000001|1|3|1|0.1|7|79.9999999999993|0.1|0.00500000000000001|29.9999999999998|0.01|0.600000000000001|0.600000000000001|79.9999999999993|0.0500000000000001|3|7|0.0500000000000001|0.600000000000001|19.9999999999999|0.00500000000000001|7|19.9999999999999|0.0500000000000001|0.0199999999999999|79.9999999999993|29.9999999999998|0.1|0.00199999999999999|0.00500000000000001|0.0500000000000001|0.0500000000000001|1|1|0.3|29.9999999999998|0.00199999999999999|0.0500000000000001|0.01|79.9999999999993|0.00500000000000001|0.600000000000001|0.3|0.1|0.00199999999999999|1|3|0.0199999999999999|7|0.00500000000000001|0.01|29.9999999999998|0.01|0.0199999999999999|79.9999999999993|29.9999999999998|0.3|0.00500000000000001|0.1|0.1|29.9999999999998|0.00199999999999999|0.00199999999999999|1|0.0199999999999999|0.0500000000000001|1|29.9999999999998|7|3|0.00500000000000001|1|0.01|0.0500000000000001|0.001|19.9999999999999|0.1|0.00199999999999999|0.00199999999999999|0.0500000000000001|7|0.001|0.001|29.9999999999998|0.0199999999999999|0.600000000000001|29.9999999999998|0.3|0.0500000000000001|3|7|0.0500000000000001|0.00199999999999999|19.9999999999999|0.00500000000000001|0.01|0.01|29.9999999999998|0.0199999999999999|1|3|79.9999999999993|0.0199999999999999|7|29.9999999999998|19.9999999999999|0.0500000000000001|0.001|79.9999999999993|0.0199999999999999|0.0199999999999999|0.600000000000001|0.3|0.1|19.9999999999999|0.001|0.0199999999999999|0.00500000000000001|29.9999999999998|0.00199999999999999|0.01|0.1|0.0500000000000001|0.001|0.600000000000001|1|29.9999999999998|1|0.00199999999999999|0.00500000000000001|19.9999999999999|0.00500000000000001|0.01|29.9999999999998|19.9999999999999|0.1|0.00199999999999999|0.0500000000000001|0.0500000000000001|19.9999999999999|0.001|0.001|0.600000000000001|0.01|0.0199999999999999|0.600000000000001|19.9999999999999|3|29.9999999999998|0.00199999999999999|0.3|0.00500000000000001|0.0199999999999999|3|7|0.0500000000000001|0.001|0.001|0.0199999999999999|1|79.9999999999993|3|19.9999999999999|0.01|0.01|19.9999999999999|0.1|0.0199999999999999|1|3|79.9999999999993|0.001|7|0.00199999999999999|0.00500000000000001|0.00500000000000001|0.01|0.01|0.600000000000001|0.3|3|29.9999999999998|0.00199999999999999|19.9999999999999|7|0.0199999999999999|79.9999999999993|1|0.01|0.3|0.01|0.1|0.0500000000000001|7|19.9999999999999|79.9999999999993|0.00199999999999999|19.9999999999999|0.001|0.00500000000000001|0.0500000000000001|0.0199999999999999|0.3|0.3|0.600000000000001|19.9999999999999|0.600000000000001|0.001|0.00199999999999999|7|3|0.00500000000000001|0.00199999999999999|7|0.0500000000000001|0.001|0.0199999999999999|0.0199999999999999|7|79.9999999999993|3|79.9999999999993|0.00500000000000001|0.01|0.01|7|1|19.9999999999999|0.001|0.1|79.9999999999993|0.01|1|3|0.0199999999999999|0.3|29.9999999999998|0.01|0.3|3|0.600000000000001|7|0.00500000000000001|0.00500000000000001|7|0.3|0.01|0.600000000000001|0.3|29.9999999999998|19.9999999999999|0.00199999999999999|0.001|0.00199999999999999|0.00199999999999999|0.00500000000000001|0.00500000000000001|0.3|0.1|0.01|19.9999999999999|0.001|7|3|79.9999999999993|3|29.9999999999998|0.00500000000000001|0.1|0.00500000000000001|0.0500000000000001|0.0199999999999999|7|3|0.001|7|79.9999999999993|0.00199999999999999|0.0199999999999999|0.01|0.1|0.1|0.01|7|0.3|29.9999999999998|0.001|1|79.9999999999993|0.00199999999999999|0.001|3|0.0199999999999999|0.3|0.01|0.01|1|3|0.600000000000001|29.9999999999998|79.9999999999993|0.00500000000000001|0.00500000000000001|3|0.600000000000001|7|79.9999999999993|0.0500000000000001|1|0.00500000000000001|0.600000000000001|1|0.01|0.1|19.9999999999999|0.00500000000000001|0.1|0.600000000000001|0.3|0.00199999999999999|0.00199999999999999|0.00199999999999999|1|0.1|0.00500000000000001|0.3|0.1|19.9999999999999|7|0.001|79.9999999999993|0.001|0.001|0.00199999999999999|3|0.1|0.0500000000000001|0.00500000000000001|7|0.600000000000001|0.3|1|3|0.600000000000001|19.9999999999999|3|29.9999999999998|29.9999999999998|1|79.9999999999993|0.0500000000000001|0.00500000000000001|3|0.1|19.9999999999999|79.9999999999993|0.0500000000000001|1|0.001|29.9999999999998|0.00199999999999999|0.00199999999999999|1|79.9999999999993|1|3|0.0199999999999999|29.9999999999998|3|79.9999999999993|0.001|0.600000000000001|0.0500000000000001|3|29.9999999999998|29.9999999999998|0.0199999999999999|0.001|79.9999999999993|0.1|0.600000000000001|29.9999999999998|29.9999999999998|7|1|19.9999999999999|19.9999999999999|3|29.9999999999998|0.0199999999999999|0.00199999999999999|1|0.0500000000000001|7|3|0.0199999999999999|29.9999999999998|19.9999999999999|19.9999999999999|0.001|0.001|0.600000000000001|3|0.600000000000001|0.600000000000001|0.01|19.9999999999999|1|29.9999999999998|29.9999999999998|0.0199999999999999|0.0199999999999999|1|19.9999999999999|19.9999999999999|0.3|79.9999999999993|1 | 1.1509687721|0.0884061631|-0.054054054|0.095705086|1.5166330663|-1.1646744921|0.0440319057|0.0520690032|-0.1979457591|4.012335426|0.4779876715|-0.5362788123|3.3381480446|0.0905837231|0.2503887927|0.0648676699|-0.590048102|-0.7875616069|-0.5148409991|-0.0241604252|-0.0720980534|-0.1477898696|0.2157864849|0.1743058926|-0.01837495|0.1443444936|0.0130022103|0.1044250097|-0.6287076669|0.7640015264|0.144929583|-1.1310870341|0.0125517761|-0.1097857212|-0.3040600833|-1.8652729093|0.3948163214|-1.29090208|-0.2477724863|-0.3229665072|-0.4567901234|0.4851496864|-1.1770351266|0.8038838118|0.0092756085|0.6302721667|0.3206589399|0.0152207|4.2594165664|0.1120474452|0.2191565855|1.7536458653|0.2760426832|0.1198126403|0.2811574082|1.0835305311|-0.0540858092|-0.5028300073|-0.1407294476|-1.0718057868|-0.565302738|-0.1827437671|-0.150331256|-0.2382370459|0.7948744503|-0.49592441|0.1277955271|0.7711734995|4.185305851|1.3293452218|-1.0758851175|-0.3161485618|0.2726719549|0.0107053365|-0.2739128387|-0.1163725557|-0.4060115734|-0.494965114|-0.7226310618|0|0.0790990019|0|-0.9290014856|0.3060710359|1.5325673139|0.29264484|-0.7287298491|0.128978046|1.206425047|-2.8501964917|-0.3361902763|2.1877801605|-0.5825509067|0.576113876|0.0950442816|0.1531934951|-0.0395830584|1.9775262244|-0.7545715737|0.0349813433|-1.0332781761|-0.2283527341|-1.024609741|1.154359563|-1.7659389655|0.2735689642|0.0462122247|0.6548737437|-0.7738669727|0.6629240876|-0.1220953742|-0.2789171928|-0.6245278753|1.6744426284|-0.8031083097|0.3813819579|-0.5411738859|-1.3595727122|0.0255591054|0.8230398553|-1.0327661971|0.0232018561|-0.229876504|-0.0875656742|-0.5201884949|-0.0762769754|-0.1649970535|-0.7165248543|-0.080878105|0.750845136|-0.0235876872|-0.7328083339|2.0022373571|2.394963228|0.5108524592|4.8113763147|-0.0785854615|-1.2868263953|0.554751176|-1.1547546069|-0.1791170583|0.4967822061|-0.7399314517|-0.0174916913|0.1360174102|-0.5640423031|0.0739826943|0.9421257446|-1.1212965102|0.0139054236|0.4151961801|-0.0364482223|0.2683749979|0.0045671563|10.4560591545|-0.1897533206|0.0044607787|-0.9723917587|1.4630227038|3.2823960917|0.5711079311|0.086628479|0.4320594592|0.5304736727|-0.3606388318|-1.4435922116|0.0891606165|0.3120026212|-1.0012238112|0.8948983532|0.2698225095|-0.0276310144|-0.1536098309|-0.0898818695|-0.2370056817|-0.0470949457|-0.1470712507|-0.7044627509|0.0127050808|-0.2485089462|1.5005582522|-1.3707446797|1.8974821219|4.4770509501|0.0304783927|0.1587204989|-1.083672119|0.034662045|2.8970051728|0.5259806709|-0.103662817|-0.1668784581|0.3479812668|1.6159226887|0.7674301891|1.5212089771|2.1622184412|1.7694975365|0.091954023|-0.1833660772|-0.5818554576|-0.0123823675|2.2497782626|-0.4354246753|0.0445696943|3.8330353513|-0.8872538412|-0.4576659038|-0.8345065219|0.1432402027|0.0223260135|0.6990206176|1.2239535634|-1.3455194228|0.1545446457|0.0680094683|-0.5813136531|-0.0157535765|-1.9740847868|-0.3840564666|0.0147391799|0.9862420646|-0.2798106439|0.4295684053|-1.1370436864|-0.3242477004|1.5228939317|-0.5742960136|-0.0973980799|-0.1272810755|-0.9822115069|-0.0770366548|0.0538213132|-1.2618922371|0.1439326837|-0.8652958209|-0.2557291167|-1.8617658079|1.9775077485|0.0636780438|0.7293274292|1.6733978223|-5.1733824251|0.1976196347|1.0919251794|-0.4419431002|0.9145226547|1.3526275808|1.5296336273|0.7177692441|-0.2269371217|-0.5752678486|0.3788835563|0.6950433107|0.667044727|1.5878957182|-0.8773079348|-0.2690699816|0.3984079477|1.8731794141|-0.3783783783|-0.0447179472|-0.7991207621|-2.161728406|-0.1312436472|-1.878680668|3.3615911898|-0.1604752479|0.3963011888|-1.0122658732|-0.9328861033|0.5766789731|-0.1138824652|0.0861220471|-0.7265621343|-0.0494193229|0.097695117|1.236406564|-2.1350083852|0.0706214689|0.0686734576|-0.6812712478|-0.325065351|-0.3822381521|-0.0534145426|-0.2323514183|-0.7094426498|0.9920200815|0.2742588481|0.6518586516|-0.7162842752|0.6497273466|-1.3335701213|0.074784993|-0.80353843|0.0096070708|0.1052493093|-1.6829932027|0.6988505101|-1.0534598762|-1.4815195525|0.6915043229|-0.1552620468|0.2360742834|0.9184776062|0.1500554166|0.1763356835|-1.2226137457|0.0783699059|1.5595840662|-0.8347939933|-0.4844602106|0.083534161|0.9514783683|1.5316767075|2.9166732867|-0.08317741|1.8015439459|0.2133266407|-0.3964765392|3.1662443778|2.6838853233|0.1449413017|-2.1289361173|0|0.0820176337|1.767816575|0.9257784414|0.06711425|-0.3289834412|0.080385852|-0.1181584235|0.68580097|-0.0915331808|1.6760031257|-0.2297404138|-0.305642381|-1.6190790228|1.2056008916|-0.0399099533|0.5730349226|-0.4443429302|0.1224677418|-0.2882301305|-2.037486269|-0.6119683645|-0.013065064|0.2211189586|1.5128633488|-0.5200453277|-0.249689677|-0.2891844997|2.4332699469|-0.0212107528|0.0122986103|1.2810722626|-2.0498476253|-0.5883694609|1.7033215967|0.0667779632|0.0596018595|-0.5154873629|-1.3063659559|-0.0605540279|0.1523610609|-2.9020912503|0.9661868867|0.4514363884|-0.2432498176|-0.5813290779|-0.8464055976|-0.1382644756|-1.8275118447|0.9888609874|0.6835724169|1.1761042079|-0.7158611156|-0.2799582941|0.5739164961|1.1064417835|-0.2945831354|-0.5010211653|1.4478103979|-0.2053450888|1.2636447253|0.2704484944|0.1342778761|0.5612158502|0.0602409637|-0.2331861469|-1.1755064378|-1.1557143224|-0.2180817283|0.1721664275|-0.1479289941|1.4733831749|2.4711567401|0.0905482676|2.8262793346|0.0084850429|-1.0113125111|-0.0746825988|0.2270566335|-0.1754899093|0.1446501928|-0.9250833018|0.9755678267|0.5958291956|0.3892312683|-0.1455780662|0.806701355|0.5998902366|-0.0464090962|-0.1206926528|0.3204913713|0.4563295065|-0.0802806124|1.9073080323|0.2936525864|-0.086376557|-1.2821304145|0.3875499576|0.0865930365|-0.6660453915|-1.1586742924|1.00570963|0.123119015|-0.0557793977|-0.1494509476|0.1955110908|-0.0269978401|1.5413140117|-0.0971156648|2.6987827956|-1.3022085823|1.0152088509|0.8191807219|0.4851855207|0.2852213114|-0.4184007273|-0.2969442838|-0.2752835657|-0.4931905429|1.6313987127|-0.0863984201|0.4832745085|-0.1844775333|-1.0194934759|0.0843348092|0.150788211|-0.2696348643|-0.106559318|1.6896684126|0.6376834737|-0.8949523091|-1.564233955|0.031196142|3.300974632|2.6568555571|-0.0144480841|-1.2872035401|-0.3337704136|-3.6533893905|-0.4289768316|0.786274069|-0.9331228504|-0.7244091165|-0.7535566461|-0.710662361|-0.8182083393|-0.5723829705|0.2942091348|0.3864533953|4.0393171368|0.9606344674|1.6672764315|2.1738682412|-0.5426879393|-0.0119531436|1.7293874889|0.973159366|0.3563842834|-0.2911813644|-1.2712003028|-0.8426898656|-0.0631047539|0.2934868495|0.2087375548|0.0127388535|-0.2979365385|-0.5966484466|0.7189269904|1.2452620407|0|0.4784864397|0.6886205857|0.0189520203|2.6725545306|0.0648145276|-0.5300353355|7.5507857123|-1.4155611162|0.0779601883|0.9327883168|-0.0395309|-0.3497524042|-0.6843512967|0.584934255|-0.4962788736|1.7237904332|-0.3026435898|0.6414421155|2.3112507901|0.8078737601|0.1250219019|0.8369571707|-0.608311489|-1.949782164|0.0415295193|0.9075568875|1.114260439|0.5815841661|-0.0041571478|0.2180692833|-0.0385208012|0.0853727946|0.4096545615|0.0349311955|0.2916712514|0.1746607549|0.7838967501|2.9527505563|0.7783813758|0.1721714922|-0.4400814944|-0.4851157662|-0.7721195979|0.248685594|0.0518268982|0.0959577785|0.212708538|0.8003913134|3.0258433064|-1.0761719654|-1.2200974507|0.0641436819|-1.2042136696|-0.4101202288|1.2382881897|0.0549685643|-1.1830985996|0.4239334549|1.5800848585|2.1470014398|0.1494540891|0|-0.3086554534|-0.228176429|0.0126502213|0.0127926314|-0.1028959071|-1.1233758609|-0.155353553|0.2306805074|1.6009426441|-0.6141658057|0.3778925967|0.6000900522|0.6025512371|-0.4360758929|-0.0210913967|-0.264871427|-0.6208625918|-1.8638816047|-0.6605614109|-0.3106332138|-0.0235017626|-0.1327629444|0.02528445|0.5636275136|2.3198553083|-0.9364674902|-0.5280968974|-0.2555553869|0.10010732|0.0616431527|0.0012098627|-0.4695366563|0.3660466956|0.0256443133|-0.019078508|0.2511528313|1.5836095282|1.1965235992|0.3797394926|-0.1061946902|-0.461273288|-0.3701737965|0.1260875047|1.9488663999|-3.0849566328|0.087087387|0.648587349|1.3669472127|0.1173941546|0.3139521408|0.1002506265|9.2146662895|1.8115530495|-0.1135710471|0.1725614599|0.203087689|0.9266401002|0.2882234654|-0.8175355449|0.336956682|0.4899148483|0.0601283538|-1.1243871226|3.4042695145|0.3436655342|0.334078942|0.0395726157|0.4081169935|-0.9763227127|-0.0389190561|-0.4939126182|-0.058460542|-1.5964333551|0.1635873749 | dt4 |
One can also pass output from tcplhit2_core
directly to
concRespPlot2
to plot the best model fit, as shown in Concentration-Response Modeling for a Single Series with
concRespCore. The code below demonstrates how to select a single
row/result and plot the winning model with concRespPlot2
,
along with a minor customization using ggplot2
layers.
# plot the first row
concRespPlot2(result_table[1,],log_conc = TRUE) +
ggtitle(paste(result_table[1,"dtxsid"], result_table[1,"name"]))
Figure 3: Concentration-response data and the
winning model fit for Bisphenol A using the concRespPlot2
function. Concentrations (x-axis) are displayed in log10
units.
tcpl
-like data
without a database connectionThe tcplLite
functionality was deprecated with the
updates to tcpl
and development of tcplfit2
,
because tcplfit2
allows one to perform curve fitting and
hitcalling independent of a database connection. This example
demonstrates how to perform an analysis analogous to
tcplLite
with tcplfit2
. More information on
the ToxCast program can be found at https://www.epa.gov/comptox-tools/toxicity-forecasting-toxcast.
A detailed explanation of processing levels can be found within the Data
Processing section of the tcpl
Vignette on CRAN.
In this example, the example input data comes from the ACEA_AR assay. Data from the assay component ACEA_AR_agonist_80hr assumes the response changes in the positive direction relative to DMSO (neutral control & baseline activity) for this curve fitting analysis. Using an electrical impedance as a cell growth reporter, increased activity can be used to infer increased signaling at the pathway-level for the androgen receptor (as encoded by the AR gene). Given the heterogeneity in assay data reporting, source data often must go through pre-processing steps to transform into a uniform data format, namely Level 0 data.
To run standalone tcplfit2
fitting, without the need for
a MySQL database connection like invitrodb
, the user will
need to step-through/replicate multiple levels of processing
(i.e. through to Level 3). The below table is identical to the
multi-concentration level 0 data (mc0) table one would see in
invitrodb
and is compatible with tcpl
. Columns
include:
# Loading in the Level 0 example data set from invitrodb
data("mc0")
data.table::setDTthreads(2)
dat <- mc0
m0id | spid | acid | apid | rowi | coli | wllt | wllq | conc | rval | srcf | clowder_uid | git_hash |
---|---|---|---|---|---|---|---|---|---|---|---|---|
519762672 | TP0001364A01 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 3 | t | 1 | 0.138 | 3.12223683963748 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx | ||
519762768 | TP0001364A02 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 5 | t | 1 | 0.138 | 3.84260554743345 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx | ||
519762864 | TP0001364A03 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 7 | t | 1 | 0.138 | 4.32871864587724 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx | ||
519762960 | TP0001364A04 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 9 | t | 1 | 0.138 | 4.26783180585688 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx | ||
519763056 | TP0001364A05 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 11 | t | 1 | 0.138 | 4.53262917268075 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx | ||
519763152 | TP0001364A06 | 1829 | Experiment.ID:1502051323HT1_A113641_AP01_RA_P09 | 13 | 13 | t | 1 | 0.055 | 4.53943356408973 | ACEA/source/TO1_800_AR_mc_20141231/1502051323HT1_A113641_AP01_RA_P09.xlsx |
The first step is to establish the concentration index, and
corresponds to Level 1 in tcpl
. Concentration indices are
integer values ranking N distinct concentrations from 1 to N, which
correspond to the lowest and highest concentration groups, respectively.
This index can be used to calculate the baseline median absolute
deviation (BMAD) for an assay.
# Order by the following columns
setkeyv(dat, c('acid', 'srcf', 'apid', 'coli', 'rowi', 'spid', 'conc'))
# Define a temporary replicate ID (rpid) column for test compound wells
# rpid consists of the sample ID, well type (wllt), source file, assay plate ID, and
# concentration.
nconc <- dat[wllt == "t" , ## denotes test well as the well type (wllt)
list(n = lu(conc)), #total number of unique concentrations
by = list(acid, apid, spid)][ , list(nconc = min(n)), by = acid]
dat[wllt == "t" & acid %in% nconc[nconc > 1, acid],
rpid := paste(acid, spid, wllt, srcf, apid, "rep1", conc, sep = "_")]
dat[wllt == "t" & acid %in% nconc[nconc == 1, acid],
rpid := paste(acid, spid, wllt, srcf, "rep1", conc, sep = "_")]
# Define rpid column for non-test compound wells
dat[wllt != "t",
rpid := paste(acid, spid, wllt, srcf, apid, "rep1", conc, sep = "_")]
# set the replicate index (repi) based on rowid
# increment repi every time a replicate ID is duplicated
dat[, dat_rpid := rowid(rpid)]
dat[, rpid := sub("_rep[0-9]+.*", "",rpid, useBytes = TRUE)]
dat[, rpid := paste0(rpid,"_rep",dat_rpid)]
# For each replicate, define concentration index
# by ranking the unique concentrations
indexfunc <- function(x) as.integer(rank(unique(x))[match(x, unique(x))])
# the := operator is a data.table function to add/update rows
dat[ , cndx := indexfunc(conc), by = list(rpid)]
The second step is perform any necessary data adjustments, and
corresponds to Level 2 in tcpl
. Generally, if the raw
response values (rval
) need to undergo logarithmic
transformation or some other transformation, then those adjustments
occur in this step. Transformed response values are referred to as
corrected values and are stored in the cval
field/variable.
Here, the raw response values do not require transformation and are
identical to the corrected values (cval
). Samples with poor
well quality (wllq = 0
) and/or missing response values are
removed from the overall dataset to consider in the
concentration-response series.
# If no adjustments are required for the data, the corrected value (cval) should be set as original rval
dat[,cval := rval]
# Poor well quality (wllq) wells should be removed
dat <- dat[!wllq == 0,]
##Fitting generally cannot occur if response values are NA therefore values need to be removed
dat <- dat[!is.na(cval),]
The third step normalizes and zero-centers before model fitting, and
corresponds to Level 3 in tcpl
. Our example dataset has
both neutral and negative controls available, and the code below
demonstrates how to normalize responses to a control in this scenario.
However, given experimental designs vary from assay to assay, this
process also varies across assays. Thus, the steps shown in this example
may not apply to other assays and should only be considered applicable
for this example data set. In other applications/scenarios, such as when
neutral control or positive/negative controls are not available, the
user should normalize responses in a way that best accounts for baseline
sampling variability within their experimental design and data. Provided
below is a list of normalizing methods used in tcpl
for
reference.
For this example, the normalized responses (resp
) are
calculated as a percent of control, i.e. the ratio of differences. The
numerator is the difference between the corrected (cval
)
and baseline (bval
) values and denominator is the
difference between the positive/negative control (pval
) and
baseline (bval
) values.
$$
\% \space control = \frac{cval - bval}{pval - bval}
$$ The table below provides a few methods for calculating
bval
and pval
in tcpl
. For more
on the data normalization step, refer to the Data Normalization
sub-section in the tcpl
Vignette on CRAN.
mc3_mthd_id | mc3_mthd | desc |
---|---|---|
1 | none | Set the corrected response value (cval) as the normalized response value (resp); cval = resp. No additional mc3 methods needed for endpoint-specific normalization. |
2 | bval.apid.lowconc.med | Calculate the baseline value (bval) as the plate-wise median, by assay plate ID (apid), of the corrected values (cval) for test compound wells (wllt = t) with a concentration index (cndx) of 1 or 2. |
3 | pval.apid.medpcbyconc.max | Calculate the positive control value (pval) as the plate-wise maximum, by assay plate ID (apid), of the medians of the corrected values (cval) for gain-of-signal single- or multiple-concentration negative control wells (wllt = m or o) by apid, well type, and concentration. |
4 | pval.apid.medpcbyconc.min | Calculate the positive control value (pval) as the plate-wise minimum, by assay plate ID (apid), of the medians of corrected value (cval) of gain-of-signal single- or multiple-concentration positive control wells (wllt = p or c) by apid, well type, and concentration. |
5 | resp.pc | Calculate the normalized response (resp) as a percent of control, i.e. the ratio of the difference between the corrected (cval) and baseline (bval) values divided the difference between the positive control (pval) and baseline (bval) values multiplied by 100; resp = (cval-bval)/(pval-bval)*100. |
6 | resp.multneg1 | Multiply the normalized response value (resp) by -1; -1*resp. |
# calculate bval of the median of all the wells that have a type of n
dat[, bval := median(cval[wllt == "n"]), by = list(apid)]
# calculate pval based on the wells that have type of m or o excluding any NA wells
dat[, pval := median(cval[wllt %in% c("m","o")], na.rm = TRUE), by = list(apid, wllt, conc)]
# take pval as the minimum per assay plate (apid)
dat[, pval := min(pval, na.rm = TRUE), by = list(apid)]
# Calculate normalized responses
dat[, resp := ((cval - bval)/(pval - bval) * 100)]
Before model fitting, we need to determine the median absolute
deviation around baseline (BMAD
) and baseline variability
(onesd
), which are later used for cutoff and benchmark
response (BMR
) calculations, respectively. This is part of
Level 4 processing in tcpl
. In this example, we consider
test wells in the two lowest concentrations as our baseline to calculate
BMAD
and onesd
.
BMAD
can be calculated as the median absolute deviation
of the data in control wells too. Check out other methods of determining
BMAD
and onesd
used in tcpl
.
mc4_mthd_id | mc4_mthd | desc |
---|---|---|
1 | bmad.aeid.lowconc.twells | Calculate the baseline median absolute value (bmad) as the median absolute deviation of normalized response values (rep) for test compound wells (wllt = t) with concentration index (cndx) equal to 1 or 2. Calculate one standard deviation of the normalized response for test compound wells (wllt = t) with a concentration index (cndx) of 1 or 2; onesd = sqrt(sum((resp - mean resp)^2)/sample size - 1). Onesd is used to establish BMR and therefore required for tcplfit2 processing. |
2 | bmad.aeid.lowconc.nwells | Calculate the baseline median absolute value (bmad) as the median absolute deviation of normalized response values (resp) for neutral control wells (wllt = n). Calculate one standard deviation of the normalized response for neutral control wells (wllt = n); onesd = sqrt(sum((resp - mean resp)^2)/sample size - 1). Onesd is used to establish BMR and therefore required for tcplfit2 processing. |
4 | bidirectional.false | Limits bidirectional fitting and processes data in positive analysis direction only. Use for gain-of-signal or inverted data. |
5 | bmad5.onesd16.static | Replace baseline median absolute deviation (bmad) with 5 and one standard deviation (osd) of the normalized response for test compound wells (wllt = t) with a concentration index (cndx) of 1 or 2 with 16. Typically used for binary data where values would otherwise be 0; non-zero values are required for tcplfit2 processing. |
6 | no.unbounded.models | Exclude unbounded models and only fit data to bounded models (hill, gnls, exp4 and exp5). |
If the user’s dataset contains data from multiple assays
(aeid
), BMAD
and onesd
should be
calculated per assay/ID. The example data set only contains data from
one assay, so we can calculate BMAD
and onesd
on the whole dataset.
Once the data adjustments and normalization steps are complete, model
fitting then hitcalling can be done, similar to what was shown in Concentration-response Modeling for Multiple Series with
tcplfit2_core and tcplhit2_core. Dose-Response Curve Fitting
corresponds to Level 4 in tcpl
. This is where
tcplfit2
is used to fit all available models within
tcpl
.
#do tcplfit2 fitting
myfun <- function(y) {
res <- tcplfit2::tcplfit2_core(y$conc,
y$resp,
cutoff = 3*bmad,
bidirectional = TRUE,
verbose = FALSE,
force.fit = TRUE,
fitmodels = c("cnst", "hill", "gnls", "poly1",
"poly2", "pow", "exp2", "exp3",
"exp4", "exp5")
)
list(list(res)) #use list twice because data.table uses list(.) to look for values to assign to columns
}
The following code performs dose-response modeling for all spids in
the dataset. Warning: The fitting step on the full data set,
dat
, can take 7-10 minutes with a single core
laptop. Hence the following code chunk provides an example
subset of data to demonstrate curve fitting. The example subset data
only contains records of six samples.
After all models are fit to the data, tcplhit2_core
is
used to perform hitcalling and corresponds to Level 5 in
tcpl
. The output of tcplfit2_core
, i.e. Level
4 data, may be fed directly to the tcplhit2_core
function.
The results are then pivoted wide, and the resulting data table is
displayed below.
myfun2 <- function(y) {
res <- tcplfit2::tcplhit2_core(params = y$params[[1]],
conc = y$conc,
resp = y$resp,
cutoff = 3*bmad,
onesd = onesd
)
list(list(res))
}
# continue with hitcalling
res <- subdat[wllt == 't', myfun2(.SD), by = .(spid)]
# pivot wider
res_wide <- rbindlist(Map(cbind, spid = res$spid, res$V1))
spid | n_gt_cutoff | cutoff | fit_method | top_over_cutoff | rmse | a | b | tp | p | q | ga | la | er | bmr | bmdl | bmdu | caikwt | mll | hitcall | ac50 | ac50_loss | top | ac5 | ac10 | ac20 | acc | ac1sd | bmd | conc | resp | errfun |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TP0001366A03 | 0 | 49.2830638452227 | gnls | 0.281901000511745 | 8.12511963559894 | -25.2616327130339 | 0.300000001034866 | 1.1277485785509 | 0.120675126521391 | 3.81608258484109 | 1.98905247064609 | 33.9132650800971 | 0.00208943205745552 | -85.6714534334205 | 1.2796267880407e-09 | 0.00477742508368088 | 6.39137615623954 | -13.8929450062525 | 8.32417470513654e-07 | 9.21717965036585e-06 | 0.000113464821692636 | 33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138|33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138 | 7.57637010009817|-8.71727493135018|-3.57441925297164|-3.14846820812451|7.58080403045715|-11.6338080189395|-7.31974763860654|-8.57298336800193|-5.18421571645738|-21.2876912931481|-1.55969444914751|-17.7927191204224|-11.2156618104964|1.70069902942194|-14.0483558489668|11.0961135367526|-5.33122078923688|-6.0944862332414|-16.7594874623633|-8.68192937293819|-25.3216028054796|-25.9261838964224|-16.7050074663144|-16.9418380935548 | dt4 | |||||||
TP0001366A04 | 0 | 49.2830638452227 | poly1 | 0.285116813596597 | 14.8933395805865 | 0.42196486870353 | 2.51117022960903 | 33.9132650800971 | 49.3661536586937 | 237.348407111574 | 0.180422901324317 | -99.5153531887808 | 1.56536710902145e-09 | 16.65 | 14.0514301278276 | 1.665 | 3.33 | 6.66 | 59.5773744604806 | 80.3698781471884 | 33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138|33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138 | 14.241588492206|19.1216673578058|-3.07891005142325|7.41168525453178|-0.820165219082611|-12.1418077561676|-22.3145448053283|-35.4842551108272|-20.8913650574489|-13.3480046597061|-20.0477993163153|-9.30803670622222|13.206034965252|18.3599964502708|4.17372718383475|-0.0737962667919195|-5.93594175179967|-5.54182548769889|-20.2069872072094|-11.4178462374255|-25.7804936168726|-6.72059356652579|-22.4398977513081|-12.3721483402333 | dt4 | ||||||||
TP0001366A05 | 0 | 49.2830638452227 | gnls | 0.230579663036236 | 9.8021833586969 | -17.0767315742384 | 0.300000000048306 | 4.055990640644 | 0.124889758460193 | 3.94936105182377 | 2.13196253698476 | 33.9132650800971 | 0.230506069221482 | -89.7068736755676 | 1.90361129822795e-13 | 0.0122778226713923 | 4.15378706341692 | -11.3636722548247 | 1.65673334691672e-06 | 1.87612431458595e-05 | 0.00024196842832153 | 33.1|33.1|11|11|3.68|3.68|1.19|1.19|0.409|0.409|0.137|0.137|33.1|33.1|11|11|3.68|3.68|1.19|1.19|0.409|0.409|0.137|0.137 | 2.37969182228561|5.76066862458754|24.6085932345949|3.15744796613787|-1.4753238878723|3.20479450955928|-10.1004513958664|-3.3249302441074|-22.0569152681714|-21.4116035614404|-14.730020189775|-8.36886871271494|7.41141949845364|14.3071742948947|9.06258998717994|16.3303193702521|7.45125493587269|-5.26756521490561|-16.7613757292355|-5.10472667472554|-2.7571633635886|-17.3240932442668|-7.60357513021789|-19.3356709366377 | dt4 | |||||||
TP0001366A06 | 0 | 49.2830638452227 | poly1 | 0.130144380745061 | 11.1839204176555 | 0.19261002478546 | 2.29827763252166 | 33.9132650800971 | 68.7229706022903 | 0.629210055042992 | -93.5208634895674 | 9.75399148300407e-11 | 16.65 | 6.41391382535582 | 1.665 | 3.33 | 6.66 | 130.520511691536 | 176.072170271883 | 33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138|33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138 | -6.60229015020154|14.6004291337046|15.2361596344551|4.17407686288514|13.8865803330993|-5.11131462803459|12.7039098360703|5.37585382322667|12.697182011141|-17.3026509248975|4.83287219379868|-7.17580575430865|-14.2820813262399|12.0061882332686|12.6983569327504|-0.715387388427199|11.1177376892281|0.80918529690051|-18.8189432103119|2.83206461617937|-11.4186015441744|-2.44382296012512|-6.77252789908789|-20.5146348357326 | dt4 | |||||||||
TP0001366A07 | 0 | 49.2830638452227 | gnls | 0.25480547525408 | 8.86452058842676 | -12.5575945136781 | 7.98842631852464 | 7.9999986953221 | 0.0167893679648239 | 3.91623536169883 | 1.89813253015055 | 33.9132650800971 | 0.00148372909623819 | -85.8405179284853 | 0 | 0.0167893674048174 | 3.91623536237081 | -12.5575945050592 | 33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138|33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138 | 4.11243543988432|20.7326387429006|14.7529451483177|7.10911496582029|-1.76036826257897|-4.59509043954118|-6.99430833999997|-16.3638605847648|-3.6587758270851|-24.2421016154744|-11.1072892792031|-16.4019756012561|-23.1836231299777|1.20158114007354|11.3527779597309|7.25486119401818|-15.6678034542428|-9.75250675357766|-5.5003115908377|-13.0995926623172|-14.8552472512966|-13.4613706078389|-14.086358968162|-11.5213652234997 | dt4 | ||||||||||
TP0001366A08 | 0 | 49.2830638452227 | gnls | 0.440022924941614 | 7.45675844926627 | -29.8245869314839 | 7.98596120556591 | 0.353240646376545 | 0.083649130537124 | 2.64521777979504 | 1.86978547363224 | 33.9132650800971 | 2.45711096575871e-07 | -80.0457583161288 | 8.19943780600322e-11 | 0.0824132481469447 | 12.9099530041626 | -21.6856779032592 | 0.0571805465600416 | 0.0628097667143753 | 0.069510453119329 | 33.3|33.3|11.1|11.1|3.7|3.7|1.2|0.412|0.412|0.138|0.138|33.3|33.3|11.1|11.1|3.7|3.7|1.2|1.2|0.412|0.412|0.138|0.138 | -9.97203526140537|-9.26141749522581|-8.93154426626026|-17.7216363630617|-0.544184525361571|-19.4566738752308|-7.72856440998552|-19.1592648493029|-20.1683266913997|-14.6279698557126|-24.5517214338418|-6.07777157463346|-16.2381999212206|-4.93900677916975|-19.3878430509545|-8.9921646264341|-8.68643323910698|-2.75155451162059|-19.2249765364499|-33.1882205045543|-29.3179448006381|-16.9564267035365|-33.6131504865745 | dt4 |
Please note, hitcalling can also be done with the full data set,
dat
, but here we only demonstrate hitcalling with the
example dataset model fitting was performed on.
The resulting output from the previous code chunk is the same format
as the result_table
table in Concentration-response Modeling for Multiple Series with
tcplfit2_core and tcplhit2_core. Thus, one can use the
concRespPlot2
function, as done previously to plot the
results. The next code chunk demonstrates how to visualize the Concentration-response Modeling for tcpl-like data fit
results.
# allocate a place-holder object
plt_list <- NULL
# plot results using `concRespPlot`
for(i in 1:nrow(res_wide)){
plt_list[[i]] <- concRespPlot2(res_wide[i,])
}
# compile and display winning model plots for concentration-response series
grid.arrange(grobs=plt_list,ncol=2)
Figure 4: Each sub-plot displays the winning
curve for a given concentration-response series in the
subdat
dataset.
Occasionally, the estimated benchmark dose (BMD) can occur outside
the experimental concentration range, e.g. the BMD may be greater than
the maximum tested concentration in the data. In these cases,
tcplhit2_core
and concRespCore
provide options
for users to “bound” the estimated BMD. This can be done using the
bmd_low_bnd
and bmd_up_bnd
arguments.
bmd_low_bnd
and bmd_up_bnd
are multipliers
applied to the minimum or maximum tested concentrations (i.e. reference
doses), respectively, to provide lower and upper boundaries for BMD
estimates. This section demonstrates how to “bound” BMD estimates using
the provided arguments in the concRespCore
and
tcplhit2_core
functions, thereby preventing extreme BMD
estimates far outside of the concentration range screened.
First, consider a situation when the estimated BMD is less than the lowest tested concentration. This occurs when the experimental concentrations do not go low enough to capture the transition between the baseline response and the minimum response considered adverse occurring around the benchmark response (BMR). Failure to capture the response behavior in the low-dose region of the experimental design may indicate the data is not suitable for estimating a reliable point-of-departure, and should be flagged.
In the following code chunk, we use the mc3
dataset with
some minor modifications to demonstrate this case. Here, we take one of
the concentration-response series and remove dose groups less than 0.41. Removing the lower dose groups
simulates the scenario where there is a lack of data in the low-dose
region and causes the BMD estimate to be less than the lowest
concentration remaining in the data.
# We'll use data from mc3 in this section
data("mc3")
# determine the background variation
# background is defined per the assay. In this case we use logc <= -2
# However, background should be defined in a way that makes sense for your application
temp <- mc3[mc3$logc<= -2,"resp"]
bmad <- mad(temp)
onesd <- sd(temp)
cutoff <- 3*bmad
# load example data
spid <- unique(mc3$spid)[94]
ex_df <- mc3[is.element(mc3$spid,spid),]
# The data file has stored concentration in log10 form, fix it
conc <- 10^ex_df$logc # back-transforming concentrations on log10 scale
resp <- ex_df$resp
# modify the data for demonstration purposes
conc2 <- conc[conc>0.41]
resp2 <- resp[which(conc>0.41)]
# pull out all of the chemical identifiers and the name of the assay
dtxsid <- ex_df[1,"dtxsid"]
casrn <- ex_df[1,"casrn"]
name <- ex_df[1,"name"]
assay <- ex_df[1,"assay"]
# create the row object
row_low <- list(conc = conc2, resp = resp2, bmed = 0, cutoff = cutoff, onesd = onesd,
assay=assay, dtxsid=dtxsid,casrn=casrn,name=name)
# run the concentration-response modeling for a single sample
res_low <- concRespCore(row_low,fitmodels = c("cnst", "hill", "gnls", "poly1", "poly2",
"pow", "exp2", "exp3", "exp4", "exp5"),
bidirectional=F)
concRespPlot2(res_low, log_conc = T) +
geom_rect(aes(xmin = log10(res_low[1, "bmdl"]),
xmax = log10(res_low[1, "bmdu"]),ymin = 0,ymax = 30),
alpha = 0.05,fill = "skyblue") +
geom_segment(aes(x = log10(res_low[, "bmd"]),
xend = log10(res_low[, "bmd"]), y = 0,
yend = 30),col = "blue")
Figure 5: This plot shows the winning curve, BMD estimation (represented by the solid blue line) and the estimated BMD confidence interval (represented by the light blue bar).
# function results
res_low['Min. Conc.'] <- min(conc2)
res_low['Name'] <- name
res_low[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")] <- round(res_low[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")], 3)
Herein, The lowest tested concentration in the data is 0.6 but the
estimated BMD from the hitcalling results is 0.302, which is lower.
Users may allow the estimated BMD to be lower than the lowest
concentration screened while restricting it to be no lower than a
boundary set by using the argument bmd_low_bnd
.
If the BMD should be no lower than 80% of the lowest tested
concentration, then bmd_low_bnd = 0.8
can be used to set a
boundary. This results in a computed boundary of 0.48. If the estimated BMD is less than the
computed boundary (like in this example), it will be “bounded” to the
threshold set in bmd_low_bnd
. Similarly, the confidence
interval will also be shifted right by a distance equal to the
difference between the estimated BMD and the computed boundary. Figure 6
provides a visual representation of the lower boundary bounding. The
valid input range for bmd_low_bnd
is between 0 and 1,
excluding 0, (0 < bmd_low_bnd ≤ 1).
# using the argument to set a lower bound for BMD
res_low2 <- concRespCore(row_low,fitmodels = c("cnst", "hill", "gnls", "poly1", "poly2",
"pow", "exp2", "exp3", "exp4", "exp5"),
conthits = T, aicc = F, bidirectional=F, bmd_low_bnd = 0.8)
#> Warning in fitpoly2(conc = c(79.9999999999993, 0.600000000000001,
#> 29.9999999999998, : The `bidirectional` argument is ignored when `biphasic =
#> TRUE`.
# print out the new results
# include previous results side by side for comparison
res_low2['Min. Conc.'] <- min(conc2)
res_low2['Name'] <- paste(name, "after `bounding`", sep = "-")
res_low['Name'] <- paste(name, "before `bounding`", sep = "-")
res_low2[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")] <- round(res_low2[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")], 3)
output_low <- rbind(res_low[1, c('Name', "Min. Conc.", "bmd", "bmdl", "bmdu")],
res_low2[1, c('Name', "Min. Conc.", "bmd", "bmdl", "bmdu")])
# generate some concentration for the fitted curve
logc_plot <- seq(from=-3,to=2,by=0.05)
conc_plot <- 10**logc_plot
# initiate the plot
plot(conc2,resp2,xlab="conc (uM)",ylab="Response",xlim=c(0.001,100),ylim=c(-5,60),
log="x",main=paste(name,"\n",assay),cex.main=0.9)
# add vertical lines to mark the minimum concentration in the data and the lower threshold set by bmd_low_bnd
abline(v=min(conc2), lty = 1, col = "brown", lwd = 2)
abline(v=res_low2$bmd, lty = 2, col = "darkviolet", lwd = 2)
# add markers for BMD and its boundaries before `bounding`
lines(c(res_low$bmd,res_low$bmd),c(0,50),col="green",lwd=2)
rect(xleft=res_low$bmdl,ybottom=0,xright=res_low$bmdu,ytop=50,col=rgb(0,1,0, alpha = .5), border = NA)
points(res_low$bmd, 0, pch = "x", col = "green")
# add markers for BMD and its boundaries after `bounding`
lines(c(res_low2$bmd,res_low2$bmd),c(0,50),col="blue",lwd=2)
rect(xleft=res_low2$bmdl,ybottom=0,xright=res_low2$bmdu,ytop=50,col=rgb(0,0,1, alpha = .5), border = NA)
points(res_low2$bmd, 0, pch = "x", col = "blue")
# add the fitted curve
lines(conc_plot, exp4(ps = c(res_low$tp, res_low$ga), conc_plot))
legend(1e-3, 60, legend=c("Lowest Dose Tested", "Boundary", "BMD-before", "BMD-after"),
col=c("brown", "darkviolet", "green", "blue"), lty=c(1,2,1,1))
Figure 6: This plot shows the estimated BMD and
confidence interval before and after “bounding.” The solid green line
and “X” mark the estimated BMD before “bounding,” and the green shaded
region represents the estimated confidence interval. The solid blue line
and “X” mark the BMD after “bounding,” and the blue shaded region
represents the “bounded” confidence interval. The solid brown line
represents the minimum tested concentration, and the dashed dark violet
line represents the boundary dose set by bmd_low_bnd
. Here,
the estimated BMD and the confidence interval were shifted right such
that the BMD was “bounded” to the boundary value represented by the
overlap between the blue “X” and dashed dark violet line.
In the next scenario, the estimated BMD is much larger than the
maximum tested concentration. Here, bmd_up_bnd
is used to
set an upper bound on extremely large BMD estimates.
# load example data
spid <- unique(mc3$spid)[26]
ex_df <- mc3[is.element(mc3$spid,spid),]
# The data file has stored concentration in log10 form, so fix that
conc <- 10**ex_df$logc # back-transforming concentrations on log10 scale
resp <- ex_df$resp
# pull out all of the chemical identifiers and the name of the assay
dtxsid <- ex_df[1,"dtxsid"]
casrn <- ex_df[1,"casrn"]
name <- ex_df[1,"name"]
assay <- ex_df[1,"assay"]
# create the row object
row_up <- list(conc = conc, resp = resp, bmed = 0, cutoff = cutoff, onesd = onesd,assay=assay,
dtxsid=dtxsid,casrn=casrn,name=name)
# run the concentration-response modeling for a single sample
res_up <- concRespCore(row_up,fitmodels = c("cnst", "hill", "gnls", "poly1", "poly2",
"pow", "exp2", "exp3", "exp4", "exp5"),
conthits = T, aicc = F, bidirectional=F)
#> Warning in fitpoly2(conc = c(0.0199999999999999, 0.3, 0.0599999999999995, : The
#> `bidirectional` argument is ignored when `biphasic = TRUE`.
concRespPlot2(res_up, log_conc = T)
# max conc
res_up['Max Conc.'] <- max(conc)
res_up['Name'] <- name
res_up[1, c("Max Conc.", "bmd", "bmdl", "bmdu")] <- round(res_up[1, c("Max Conc.", "bmd", "bmdl", "bmdu")], 3)
# function results
The estimated BMD, 299.927, is greater than the maximum tested
concentration, which is 80. As with the bmd_low_bnd
, users
may allow the BMD to be greater than the maximum tested concentration
but no greater than a boundary dose set using
bmd_up_bnd
.
Suppose it is desired that the estimated BMD not be larger than 2
times the maximum tested concentration. Here,
bmd_up_bnd = 2
can set the upper threshold dose to 160. If the estimated BMD is greater than the
upper boundary (like in this example), it will be “bounded” to this
dose, and its confidence interval will be shifted left. Figure 7
provides a visual representation of upper boundary bounding. The valid
input range for bmd_up_bnd
is any value greater than or
equal to 1 (bmd_up_bnd ≥ 1).
# using bmd_up_bnd = 2
res_up2 <- concRespCore(row_up,fitmodels = c("cnst", "hill", "gnls", "poly1", "poly2",
"pow", "exp2", "exp3", "exp4", "exp5"),
conthits = T, aicc = F, bidirectional=F, bmd_up_bnd = 2)
#> Warning in fitpoly2(conc = c(0.0199999999999999, 0.3, 0.0599999999999995, : The
#> `bidirectional` argument is ignored when `biphasic = TRUE`.
# print out the new results
# include previous results side by side for comparison
res_up2['Max Conc.'] <- max(conc)
res_up2['Name'] <- paste(name, "after `bounding`", sep = "-")
res_up['Name'] <- paste(name, "before `bounding`", sep = "-")
res_up2[1, c("Max Conc.", "bmd", "bmdl", "bmdu")] <- round(res_up2[1, c("Max Conc.", "bmd", "bmdl", "bmdu")], 3)
output_up <- rbind(res_up[1, c('Name', "Max Conc.", "bmd", "bmdl", "bmdu")],
res_up2[1, c('Name', "Max Conc.", "bmd", "bmdl", "bmdu")])
# generate some concentration for the fitting curve
logc_plot <- seq(from=-3,to=2,by=0.05)
conc_plot <- 10**logc_plot
# initiate plot
plot(conc,resp,xlab="conc (uM)",ylab="Response",xlim=c(0.001,500),ylim=c(-5,40),
log="x",main=paste(name,"\n",assay),cex.main=0.9)
# add vertical lines to mark the maximum concentration in the data and the upper boundary set by bmd_up_bnd
abline(v=max(conc), lty = 1, col = "brown", lwd=2)
abline(v=160, lty = 2, col = "darkviolet", lwd=2)
# add marker for BMD and its boundaries before `bounding`
lines(c(res_up$bmd,res_up$bmd),c(0,50),col="green",lwd=2)
rect(xleft=res_up$bmdl,ybottom=0,xright=res_up$bmdu,ytop=50,col=rgb(0,1,0, alpha = .5), border = NA)
points(res_up$bmd, 0, pch = "x", col = "green")
# add marker for BMD and its boundaries after `bounding`
lines(c(res_up2$bmd,res_up2$bmd),c(0,50),col="blue",lwd=2)
rect(xleft=res_up2$bmdl,ybottom=0,xright=res_up2$bmdu,ytop=50,col=rgb(0,0,1, alpha = .5), border = NA)
points(res_up2$bmd, 0, pch = "x", col = "blue")
# add the fitting curve
lines(conc_plot, poly1(ps = c(res_up$a), conc_plot))
legend(1e-3, 40, legend=c("Maximum Dose Tested", "Boundary", "BMD-before", "BMD-after"),
col=c("brown", "darkviolet", "green", "blue"), lty=c(1,2,1,1))
Figure 7: This plot shows the estimated BMD and
confidence interval before and after “bounding”. The green line and “X”
mark the estimated BMD before “bounding” and the green shaded region
represents the estimated confidence interval. The solid blue line and
“X” mark the “bounded” BMD, and the blue shaded region represents the
“bounded” confidence interval. The solid brown line represents the
maximum tested concentration, and the dashed dark violet line represents
the boundary dose set by bmd_up_bnd
. Here, the estimated
BMD and the confidence interval were shifted left such that the BMD was
“bounded” to the boundary value represented by the overlap between the
blue “X” and dashed dark violet line.
tcplhit2_core
The previous two examples provided for BMD bounding use the
concRespCore
function. However, the
bmd_low_bnd
and bmd_up_bnd
arguments originate
from the tcplhit2_core
function, which is utilized within
the concRespCore
function. Thus, for users that perform
dose-response modeling and hitcalling utilizing the
tcplfit2_core
and tcplhit2_core
separately can
do the same BMD “bounding.” Regardless of whether a user utilizes the
bmd_low_bnd
and bmd_up_bnd
arguments in the
concRespCore
or tcplhit2_core
function the
results should be identical. The code provided below shows how to
replicate the results from the lower bound
example using tcplhit2_core
as an alternative.
# using the same data, fit curves
param <- tcplfit2_core(conc2, resp2, cutoff = cutoff)
hit_res <- tcplhit2_core(param, conc2, resp2, cutoff = cutoff, onesd = onesd,
bmd_low_bnd = 0.8)
# adding the result from tcplhit2_core to the output table for comparison
hit_res["Name"]<- paste("Chlorothalonil", "tcplhit2_core", sep = "-")
hit_res['Min. Conc.'] <- min(conc2)
hit_res[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")] <- round(hit_res[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")], 3)
output_low <- rbind(output_low,
hit_res[1, c('Name', "Min. Conc.", "bmd", "bmdl", "bmdu")])
If the estimated BMD falls between the lowest dose tested and the defined threshold for an acceptable BMD, i.e. lowest tested dose and lower boundary dose, the estimated BMD will remain unchanged. For demonstration purposes, the lower bound example is used, but the same principle applies to the upper bound case.
The same data from the lower bound
example is used along with a smaller bmd_low_bnd
value
to obtain a lower boundary dose. Here, the estimated BMD is acceptable
as long as it is no less than 40% (two-fifths) of the minimum tested
concentration. The estimated BMD is 0.302, which is between the lowest
tested dose, 0.6, and the new computed boundary, 0.24. Thus, the BMD estimate and its
confidence interval will remain unchanged.
res_low3 <- concRespCore(row_low,fitmodels = c("cnst", "hill", "gnls", "poly1", "poly2",
"pow", "exp2", "exp3", "exp4", "exp5"),
conthits = T, aicc = F, bidirectional=F, bmd_low_bnd = 0.4)
#> Warning in fitpoly2(conc = c(79.9999999999993, 0.600000000000001,
#> 29.9999999999998, : The `bidirectional` argument is ignored when `biphasic =
#> TRUE`.
# print out the new results
# add to previous results for comparison
res_low3['Min. Conc.'] <- min(conc2)
res_low3['Name'] <- paste("Chlorothalonil", "after `bounding` (two fifths)", sep = "-")
res_low3[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")] <- round(res_low3[1, c("Min. Conc.", "bmd", "bmdl", "bmdu")], 3)
output_low <- rbind(output_low[-3, ],
res_low3[1, c('Name', "Min. Conc.", "bmd", "bmdl", "bmdu")])
# initiate the plot
plot(conc2,resp2,xlab="conc (uM)",ylab="Response",xlim=c(0.001,100),ylim=c(-5,60),
log="x",main=paste(name,"\n",assay),cex.main=0.9)
# add vertical lines to mark the minimum concentration in the data and the lower boundary set by bmd_low_bnd
abline(v=min(conc2), lty = 1, col = "brown", lwd = 2)
abline(v=0.4*min(conc2), lty = 2, col = "darkviolet", lwd = 2)
# add markers for BMD and its boundaries before `bounding`
lines(c(res_low$bmd,res_low$bmd),c(0,50),col="green",lwd=2)
rect(xleft=res_low$bmdl,ybottom=0,xright=res_low$bmdu,ytop=50,col=rgb(0,1,0, alpha = .5), border = NA)
points(res_low$bmd, 0, pch = "x", col = "green")
# add markers for BMD and its boundaries after `bounding`
lines(c(res_low3$bmd,res_low3$bmd),c(0,50),col="blue",lwd=2)
rect(xleft=res_low3$bmdl,ybottom=0,xright=res_low3$bmdu,ytop=50,col=rgb(0,0,1, alpha = .5), border = NA)
points(res_low3$bmd, 0, pch = "x", col = "blue")
# add the fitted curve
lines(conc_plot, exp4(ps = c(res_low$tp, res_low$ga), conc_plot))
legend(1e-3, 60, legend=c("Lowest Dose Tested", "Boundary Dose", "BMD-before", "BMD-after"),
col=c("brown", "darkviolet", "green", "blue"), lty=c(1,2,1,1))
Figure 8: This plot shows the estimated BMD and the confidence interval before and after “bounding”. The dashed dark violet line represents the boundary dose and the solid brown line represents the minimum tested concentration, which are at 0.24 and 0.6, respectively. The estimated BMD of 0.302 falls between the boundary and lowest dose tested, which leaves the BMD and confidence intervals unchanged. Here, the estimated BMD and “bounded” BMD are the same. Thus, the green and blue lines and “X”s representing the estimated BMD before and after “bounding”, respectively, as well as their confidence intervals indicated by the shaded regions completely overlap.
Concentration-response Modeling for a Single Series
with concRespCore and for Multiple Series with
tcplfit2_core and tcplhit2_core illustrated two plotting functions
available in tcplfit2
based on ggplot2
plotting grammar. This section will show two other plotting options
available in tcplfit2
, which use base R plotting, namely
the do.plot
argument in concRespCore
and the
concRespPlot
function.
The concRespPlot
function and the do.plot
argument in concRespCore
provide plots similar to Figure 1
and 2, respectively. The do.plot
argument returns a plot of
all curve fits of a chemical, and concRespCore
returns a
plot of the winning curve with the hitcall results.
The input data used for the demonstration contains 6 signatures for one chemical in a transcriptomics data set for more information see: High-Throughput Transcriptomics Platform for Screening Environmental Chemicals. Each signature is treated as a different assay endpoint, thus one row in the data represents a given chemical and signature pair. This data set is a sample from the signature scoring method that provides the cutoff, one standard deviation, and the concentration-response data.
# call additional R packages
library(stringr) # string management package
# read in the file
data("signatures")
# set up a 3 x 2 grid for the plots
oldpar <- par(no.readonly = TRUE)
on.exit(par(oldpar))
par(mfrow=c(3,2),mar=c(4,4,2,2))
# fit 6 observations in signatures
for(i in 1:nrow(signatures)){
# set up input data
row = list(conc=as.numeric(str_split(signatures[i,"conc"],"\\|")[[1]]),
resp=as.numeric(str_split(signatures[i,"resp"],"\\|")[[1]]),
bmed=0,
cutoff=signatures[i,"cutoff"],
onesd=signatures[i,"onesd"],
name=signatures[i,"name"],
assay=signatures[i,"signature"])
# run concentration-response modeling (1st plotting option)
out = concRespCore(row,conthits=F,do.plot=T)
if(i==1){
res <- out
}else{
res <- rbind.data.frame(res,out)
}
}
Figure 9: This figure provides several example
plots generated using the argument do.plot=TRUE
in the
concRespCore
function. Each plot displays data for a single
row of data in the signatures
dataset, and like Figure 1
provides all model fits for a given response. Note that the detail of
smooth curves is not captured here as the curves are only sampled at the
given concentrations.
# set up a 3 x 2 grid for the plots
oldpar <- par(no.readonly = TRUE)
on.exit(par(oldpar))
par(mfrow=c(3,2),mar=c(4,4,2,2))
# plot results using `concRespPlot`
for(i in 1:nrow(res)){
concRespPlot(res[i,],ymin=-1,ymax=1)
}
Figure 10: Each figure shows curve-fit results
for a randomly selected set of responses in the mc3
data.
For each plot, the title contains the chemical name and assay ID.
Summary statistics from the curve-fit results – including the winning
model, AC50, top, BMD, ACC, and hitcall – are displayed at the top of
the plot. Black dots represent observed responses, and the winning model
fit is displayed as a solid black curve. The estimated BMD is displayed
with a solid green vertical line, and the confidence interval around the
BMD is represented with solid green lines bounding the green shaded
region (i.e., lower and upper BMD confidence limits - BMDL and BMDU,
respectively). The black horizontal lines bounding the grey shaded
region indicate the estimated baseline noise and is centered around the
x-axis (i.e. y = 0).
tcplfit2_core
While most users prefer to fit and hitcall all of their data in one
step with concRespCore
, some users might prefer to fit
their curves first with tcplfit2_core
and/or examine each
of the fits. Thus, users performing concentration-response modeling may
want to compare the resulting fits from all models. The
plot_allcurves
function enables users to automatically
generate this visualization with the output from the
tcplfit2_core
function. Note, to utilize
plot_allcurves
, tcplfit2_core
must be run
separately to obtain the necessary input. The resulting figure allows
one to evaluate general behaviors and qualities of the resulting curve
fits. Furthermore, some curves may fail to fit the observed data. In
these cases, failed models are excluded from the plot, and a warning
message is provided, such that the user will know which models
reasonably describe the data. Lastly, if a user wants to visualize their
data with the concentrations on the log10
scale they can set the log_conc
argument to
TRUE
.
For this vignette, the signature
dataset available in
the tcplfit2
package will be used to demonstrate the
utility of the plotting functions. The signatures
dataset
contains 6 transcriptional signatures for one chemical. Each row in the
data is treated as a chemical-assay endpoint pair with a cutoff,
baseline standard deviation, and experimental concentration-response
data. For demonstration purposes, only the first row will be used.
# Load the example data set
data("signatures")
# using the first row of signatures data as an example
signatures[1,]
#> sample_id dtxsid name
#> 1 TP0001651A05 DTXSID8020337 Clomiphene citrate (1:1)
#> signature cutoff onesd
#> 1 CMAP mometasone 7.6e-06 100 2494 100 0.2393037 0.1196519
#> conc
#> 1 0.03|0.1|0.3|1|10|3|30
#> resp
#> 1 -0.267223789187984|0.0446549190032419|-0.0150009098668537|0.097550989137631|0.420105528343523|0.0353858177275554|0.657069577568875
The following code demonstrates how to obtain the curve fitting
results with tcplfit2_core
and generate a visualization
with plot_allcurves
:
# using the first row of signature as an example
conc <- as.numeric(str_split(signatures[1,"conc"],"\\|")[[1]])
resp <- as.numeric(str_split(signatures[1,"resp"],"\\|")[[1]])
cutoff <- signatures[1,"cutoff"]
# run curve fitting
output <- tcplfit2_core(conc, resp, cutoff)
# show the structure of the output
summary(output)
#> Length Class Mode
#> cnst 5 -none- list
#> hill 17 -none- list
#> gnls 22 -none- list
#> poly1 13 -none- list
#> poly2 17 -none- list
#> pow 15 -none- list
#> exp2 15 -none- list
#> exp3 17 -none- list
#> exp4 15 -none- list
#> exp5 17 -none- list
#> modelnames 10 -none- character
#> errfun 1 -none- character
# get plots in normal and in log-10 concentration scale
basic <- plot_allcurves(output, conc, resp)
basic_log <- plot_allcurves(output, conc, resp, log_conc = T)
grid.arrange(basic, basic_log)
Figure 11: Example plots generated by
plot_allcurves
. The two plots display the experimental data
(open circles) with all successful curve fits, concentrations are in the
original and log10
scale (top and bottom plots, respectively).
Most users utilizing the tcplfit2
package are only
interested in generating a plot displaying the observed
concentration-response data with the winning curve. This can be achieved
with the concRespPlot2
function, which generates a basic
plot with minimal information. concRespPlot2
gives a
slightly more aesthetic plot compared to the basic plotting
functionality in concRespPlot
by using the
ggplot2
package. Minimalism in the resulting plot gives
users the flexibility to include additional details they consider
informative, while maintaining a clean visualization. More details on
this is found in the Customization section. As with the
plot_allcurves
function, the log_conc
argument
is available to return a plot with concentrations on the log10
scale.
# prepare the 'row' object for concRespCore
row <- list(conc=conc,
resp=resp,
bmed=0,
cutoff=cutoff,
onesd=signatures[1,"onesd"],
name=signatures[1,"name"],
assay=signatures[1,"signature"])
# run concentration-response modeling
out <- concRespCore(row,conthits=F)
# show the output
out
#> name assay n_gt_cutoff
#> 1 Clomiphene citrate (1:1) CMAP mometasone 7.6e-06 100 2494 100 3
#> cutoff fit_method top_over_cutoff rmse a b tp p q ga
#> 1 0.2393037 exp4 3.130382 0.1135895 NA NA 0.7491121 NA NA 9.591142
#> la er bmr bmdl bmdu caikwt mll hitcall ac50 ac50_loss
#> 1 NA -2.6244 0.1614104 2.380694 4.848624 NA NA 1 9.591142 NA
#> top ac5 ac10 ac20 acc ac1sd bmd
#> 1 0.7491121 0.7097501 1.457883 3.087658 5.325258 2.408014 3.357835
#> conc
#> 1 0.03|0.1|0.3|1|10|3|30
#> resp
#> 1 -0.267223789187984|0.0446549190032419|-0.0150009098668537|0.097550989137631|0.420105528343523|0.0353858177275554|0.657069577568875
#> errfun
#> 1 dt4
# pass the output to the plotting function
basic_plot <- concRespPlot2(out)
basic_log <- concRespPlot2(out, log_conc = TRUE)
res <- grid.arrange(basic_plot, basic_log)
Figure 12: Example plots generated by
concRespPlot2
. The two plots display the experimental data
(open circles) and the best curve fit (red curve). Concentrations are in
the original and log10
scale (top and bottom plots, respectively).
This section provides some examples on customizing a basic plot
returned by concRespPlot2
with additional information.
Since concRespPlot2
returns a ggplot
object,
additional details can be included in ggplot2
layers.
ggplot2
layers can be added directly to the base plot with
a +
operator.
Some customizations may include, but are not limited to:
The following sub-sections explore a few customization possibilities:
Users may want to generate a polished figure to include in a report or publication. In this case, the basic plot may not include enough context. Thus, this section introduces simple modifications one can make to the basic plot to provide additional information. The code below adds a plot title, shades a region signifying the cutoff band, and highlights the specified adverse response level (BMR) along with the potency estimate (BMD).
# Using the fitted result and plot from the example in the last section
# get the cutoff from the output
cutoff <- out[, "cutoff"]
basic_plot +
# Cutoff Band - a transparent rectangle
geom_rect(aes(xmin = 0,xmax = 30,ymin = -cutoff,ymax = cutoff),
alpha = 0.1,fill = "skyblue") +
# Titles
ggtitle(
label = paste("Best Model Fit",
out[, "name"],
sep = "\n"),
subtitle = paste("Assay Endpoint: ",
out[, "assay"])) +
## Add BMD and BMR labels
geom_hline(
aes(yintercept = out[, "bmr"]),
col = "blue") +
geom_segment(
aes(x = out[, "bmd"], xend = out[, "bmd"], y = -0.5, yend = out[, "bmr"]),
col = "blue"
) + geom_point(aes(x = out[, "bmd"], y = out[, "bmr"], fill = "BMD"), shape = 21, cex = 2.5)
#> Warning in geom_segment(aes(x = out[, "bmd"], xend = out[, "bmd"], y = -0.5, : All aesthetics have length 1, but the data has 7 rows.
#> ℹ Please consider using `annotate()` or provide this layer with data containing
#> a single row.
#> Warning in geom_point(aes(x = out[, "bmd"], y = out[, "bmr"], fill = "BMD"), : All aesthetics have length 1, but the data has 7 rows.
#> ℹ Please consider using `annotate()` or provide this layer with data containing
#> a single row.
Figure 13: Basic plot generated with
concRespPlot2
with updated titles to provide additional
details about the observed data. Experimental data is shown with the
open circles and the red curve represents the best fit model. The title
and subtitle display the compound name and assay endpoint, respectively.
The light blue band represents responses within the cutoff threshold(s)
– i.e. cutoff band. The red point represents the BMD estimated from the
winning model, given the BMR. The horizontal and vertical blue lines
display the BMR and the estimated BMD, respectively.
concRespCore
, and tcplfit2_core
return
several potency estimates in addition to the BMD (displayed in Figure
3), e.g. AC50, ACC, etc. Users may want to compare several potency
estimates on the plot. The code chunk below demonstrates how to add all
available potency estimates to the base plot. Note, when labeling
potency estimates on the plot where log_conc = TRUE
, the
potency values also need to be log-transformed to be displayed in the
correct positions.
# Get all potency estimates and the corresponding y value on the curve
estimate_points <- out %>%
select(bmd, acc, ac50, ac10, ac5) %>%
tidyr::pivot_longer(everything(), names_to = "Potency Estimates") %>%
mutate(`Potency Estimates` = toupper(`Potency Estimates`))
y <- c(out[, "bmr"], out[, "cutoff"], rep(out[, "top"], 3))
y <- y * c(1, 1, .5, .1, .05)
estimate_points <- cbind(estimate_points, y = y)
# add Potency Estimate Points and set colors
basic_plot + geom_point(
data = estimate_points,
aes(x = value, y = y, fill = `Potency Estimates`), shape = 21, cex = 2.5
)
Figure 14: Basic plot generated by
concRespPlot2
with potency estimates highlighted.
Experimental data is shown with the open circles and the red curve
represents the best fit model. Five colored points represent the various
potency estimates from concRespCore
. These include the
activity concentrations at 5, 10, and 50 percent of the maximal response
(AC5 = gold, AC10 = red, and AC50 = green, respectively), as well as the
activity concentration at the user-specified threshold (cutoff) and BMD
(ACC = blue and BMD = purple, respectively).
# add Potency Estimate Points and set colors - with plot in log-10 concentration
basic_log + geom_point(
data = estimate_points,
aes(x = log10(value), y = y, fill = `Potency Estimates`), shape = 21, cex = 2.5
)
Figure 15: Basic plot generated by
concRespPlot2
, where log_conc = TRUE
, with
potency estimates highlighted. Experimental data is shown with the open
circles and the red curve represents the best fit model. Five colored
points represent the various potency estimates from
concRespCore
. These include the activity concentrations at
5, 10, and 50 percent of the maximal response (AC5 = gold, AC10 = red,
and AC50 = green, respectively), as well as the activity concentration
at the user-specified threshold (cutoff) and BMD (ACC = blue and BMD =
purple, respectively).
Working with ggplot2
based functions can flexibly
accommodate users’ unique plotting needs. For example, a user might want
to add one or more additional curve fits to the basic plot for comparing
either various compounds, experimental scenarios, technologies, etc. To
accomplish this, a user first needs to know the model to be displayed on
the plot and the corresponding parameter estimates. Next, a user can
generate a smooth curve by predicting responses for a series of 100
points within the concentration range, then add this curve to the basic
plot. This section provides example code a user may modify to add
another curve, and may be generalized to add more than one curve.
# maybe want to extract and use the same x's in the base plot
# to calculate predicted responses
conc_plot <- basic_plot[["layers"]][[2]][["data"]][["conc_plot"]]
basic_plot +
# fitted parameter values of another curve you want to add
geom_line(data=data.frame(x=conc_plot, y=tcplfit2::exp5(c(0.5, 10, 1.2), conc_plot)), aes(x,y,color = "exp5"))+
# add different colors for comparisons
scale_colour_manual(values=c("#CC6666", "#9999CC"),
labels = c("Curve 1-exp4", "Curve 2-exp5")) +
labs(title = "Curve 1 v.s. Curve 2")
Figure 16: Basic plot generated by
concRespPlot2
with an additional curve for comparison.
Experimental data is shown with the open circles, the red curve
represents the best fit model for the baseline model, and the blue curve
represents the additional curve of interest.
Plots like Figure 16 typically have similar concentrations and response ranges. If one is comparing curves that do not have similar concentration and/or response ranges, additional alterations may be necessary.
Please note, this AUC calculation in tcplfit2
is
a beta functionality still under development and review, and as such, we
welcome your feedback.
This section explores how to estimate the area under the curve (AUC)
for concentration-response curves with tcplfit2
using the
parameters from curve fitting in the integration to estimate an AUC. The
AUC can be interpreted as a measure of overall efficacy and potency,
which users may want to include as part of their analyses, such as
analyses that aim to rank or prioritize chemical by activity.
A consideration in applying this function get_AUC
is
whether the model bounds are on a log10-scale or arithmetic scale. The
use of log10-scale or arithmethic scale may change interpretation of the
AUC value. In the get_AUC
function, use.log
is
a logical option that is FALSE
by default.
concRespCore
The concRespCore
function has a logical argument
AUC
controlling whether the area under the curve (AUC) is
calculated for the winning model and returned alongside the other
modeling results (e.g. model parameters and hitcall details). This
argument defaults to FALSE
, such that the AUC will only be
included in the output when the users request it
(i.e. AUC=TRUE
).
# some example data
conc <- list(.03, .1, .3, 1, 3, 10, 30, 100)
resp <- list(0, .2, .1, .4, .7, .9, .6, 1.2)
row <- list(conc = conc,
resp = resp,
bmed = 0,
cutoff = 1,
onesd = .5)
# AUC is included in the output
concRespCore(row, conthits = TRUE, AUC = TRUE)
#> n_gt_cutoff cutoff fit_method top_over_cutoff rmse a b tp
#> cnst 1 1 hill 1.225599 0.1750312 NA NA 1.225599
#> p q ga la er bmr bmdl bmdu caikwt
#> cnst 0.7752844 NA 2.554272 NA -2.467853 0.6745 2.341811 4.822553 6.064845e-05
#> mll hitcall ac50 ac50_loss top ac5 ac10
#> cnst 4.492301 0.9650614 2.554272 NA 1.225599 0.05726215 0.1501198
#> ac20 acc ac1sd bmd conc
#> cnst 0.4272681 17.43267 1.580024 3.314775 0.03|0.1|0.3|1|3|10|30|100
#> resp errfun AUC
#> cnst 0|0.2|0.1|0.4|0.7|0.9|0.6|1.2 dt4 106.1212
The following sections demonstrate how to estimate the AUC when curve
fitting is performed with concRespCore
as well as via
separate calls using tcplfit2_core
and
tcplhit2_core
. Additionally, several types of potential
curve fits with the resulting AUC are highlighted with context to help
with interpretation.
This section provides an example of how to use the
get_AUC
function in tcplfit2
to calculate the
area under the curves (AUC) for a given concentration-response curve.
First, example data is obtained and curve-fit.
# This is taken from the example under tcplfit2_core
conc_ex2 <- c(.03, .1, .3, 1, 3, 10, 30, 100)
resp_ex2 <- c(0, .1, 0, .2, .6, .9, 1.1, 1)
# fit all available models in the package
# show all fitted curves
output_ex2 <- tcplfit2_core(conc_ex2, resp_ex2, .8)
grid.arrange(plot_allcurves(output_ex2, conc_ex2, resp_ex2),
plot_allcurves(output_ex2, conc_ex2, resp_ex2, log_conc = TRUE), ncol = 2)
Figure 17: This figure depicts all fit concentration-response curves. The models are polynomial 1 and 2, power, Hill, gain-loss, and exponential 2 to exponential 5.
The get_AUC
function can be used to calculate the AUC
for a single model. Inputs to this function are: the name of the model,
lower and upper concentration bounds (usually the lowest and the highest
concentrations in the data, respectively), and the estimated model
parameters. The code chunk below demonstrates how to calculate AUC for
the Hill model, starting by extracting information from the
tcplfit2_core
output then inputting this information into
the get_AUC
function. After estimating the AUC, the Hill
curve is plotted and the corresponding region under the curve is
shaded.
fit_method <- "hill"
# extract the parameters
modpars <- output_ex2[[fit_method]][output_ex2[[fit_method]]$pars]
# plug into get_AUC function
estimated_auc1 <- get_AUC(fit_method, min(conc_ex2), max(conc_ex2), modpars)
estimated_auc1
#> [1] 97.41475
# extract the predicted responses from the model
pred_resp <- output_ex2[[fit_method]][["modl"]]
# plot to see if the result make sense
# the shaded area is what the function tries to find
plot(conc_ex2, pred_resp)
lines(conc_ex2, pred_resp)
polygon(c(conc_ex2, max(conc_ex2)), c(pred_resp, min(pred_resp)), col=rgb(1, 0, 0,0.5))
Figure 18: The red shaded region is the area
under the Hill curve fit. The AUC estimated with get_AUC
is
97.41475. This estimate seems to align with the area of the shaded
region.
The AUC can be calculated for all other models, except the constant model, fit to the concentration-response series.
# list of models
fitmodels <- c("gnls", "poly1", "poly2", "pow", "exp2", "exp3", "exp4", "exp5")
mylist <- list()
for (model in fitmodels){
fit_method <- model
# extract corresponding model parameters
modpars <- output_ex2[[fit_method]][output_ex2[[fit_method]]$pars]
# get AUC
mylist[[fit_method]] <- get_AUC(fit_method, min(conc_ex2), max(conc_ex2), modpars)
}
# print AUC's for other models
data.frame(mylist,row.names = "AUC")
#> gnls poly1 poly2 pow exp2 exp3 exp4 exp5
#> AUC 97.4147 58.09263 121.7488 97.43487 55.01408 96.18956 98.80625 98.65734
This section demonstrates the behavior of the get_AUC
function with negative response curves. Here, example data is pulled
from example 3 in the tcplfit2 Introduction
Vignette.
# Taking the code from example 3 in the vignette
library(stringr) # string management package
data("signatures")
# use row 5 in the data
conc <- as.numeric(str_split(signatures[5,"conc"],"\\|")[[1]])
resp <- as.numeric(str_split(signatures[5,"resp"],"\\|")[[1]])
cutoff <- signatures[5,"cutoff"]
# plot all models, this is an example of negative curves
output_negative <- tcplfit2_core(conc, resp, cutoff)
grid.arrange(plot_allcurves(output_negative, conc, resp),
plot_allcurves(output_negative, conc, resp, log_conc = TRUE), ncol = 2)
Figure 19: This plot depicts all concentration-response curves fit to the observed data. All curves show decreasing responses starting from 0 and below the x-axis.
fit_method <- "exp3"
# extract corresponding model parameters and predicted response
modpars <- output_negative[[fit_method]][output_negative[[fit_method]]$pars]
pred_resp <- output_negative[[fit_method]][["modl"]]
estimated_auc2 <- get_AUC(fit_method, min(conc), max(conc), modpars)
estimated_auc2
#> [1] -12.92738
# plot this curve
pred_resp <- pred_resp[order(conc)]
plot(conc[order(conc)], pred_resp)
lines(conc[order(conc)], pred_resp)
polygon(c(conc[order(conc)], max(conc)), c(pred_resp, max(pred_resp)), col=rgb(1, 0, 0,0.5))
*Figure 20: Notice the function returns a negative AUC value, -12.92738. The absolute value, 12.92738, seems to align with the area between the curve and the x-axis. Note: The x-axis in this plot is in the original (un-logged) units.
As demonstrated, when integrating over a curve in the negative
direction, the function will return a negative AUC value. However, some
users may want to consider all “areas” as positive values. For this
reason, the return.abs = TRUE
argument in
get_AUC
converts negative AUC values to positive values
when returned. This argument is by default FALSE
.
Currently, the polynomial 2 model in tcplfit2
is capable
of fitting bi-phasic curves, but these polynomial 2 curve fits (as
implemented in the tcplfit2
package) are bounded such that
the baseline response is always assumed to be 0. This section
demonstrates what happens if a user did want to estimate the AUC for a
simulated bi-phasic curve that has area both below and above the
x-axis.
The polynomial 2 model in tcplfit2
is implemented as
$a*(\frac{x}{b} + \frac{x^2}{b^2})$.
Here, we simulate a bi-phasic curve, where a = 2.41 and b = (−1.86), which can be
represented in the typical form as $\frac{1}{4} x^2 - \frac{1}{2}x$.
# simulate a poly2 curve
conc_sim <- seq(0,3, length.out = 100)
## biphasic poly2 parameters
b1 <- -1.3
b2 <- 0.7
## converted to tcplfit2's poly2 parameters
a <- b1^2/b2
b <- b1/b2
## plot the curve
resp_sim <- poly2(c(a, b, 0.1), conc_sim)
plot(conc_sim, resp_sim, type = "l")
abline(h = 0)
Figure 21: This plot illustrates the simulated bi-phasic polynomial 2 curve. The curve initially decreases, then increases and crosses the x-axis.
# get AUC for the simulated Polynomial 2 curve
get_AUC("poly2", min(conc_sim), max(conc_sim), ps = c(a, b))
#> [1] 0.45
Currently, when integrating over a bi-phasic curve fit the
get_AUC
function returns the difference between the total
area above the x-axis and the total area below the x-axis (i.e. the blue
region minus the red region). In this example, the area above the x-axis
is slightly larger than the area below the x-axis resulting in a
positive AUC value.
tcplfit2_core
and
tcplhit2_core
In some cases, users may want to run the tcplfit2_core
and tcplhit2_core
functions separately, and only obtain the
AUC for the winning model from tcplhit2_core
. Thus,
tcplfit2
also includes a wrapper function for
get_AUC
, called post_hit_AUC
, which allows
users to estimate the AUC for the winning model only.
tcplhit2_core
provides output in a data frame format
with a single row containing the concentration-response data, the
winning model name along with the fitted parameter values, and
hitcalling results. The code chunk below provides an example
demonstrating how to use the wrapper function post_hit_AUC
.
Internally, the wrapper function extracts information from the one-row
data frame output and passes it to get_AUC
, which
calculates the AUC. Thus, manual entry of the model name, parameters
values, etc. into get_AUC
is not necessary with
post_hit_AUC
.
The winning model from the Positive
Responses example is the Hill model. Comparing the AUC from the
previous example and the AUC returned from the post_hit_AUC
here should be identical, i.e. 97.41475.
out <- tcplhit2_core(output_ex2, conc_ex2, resp_ex2, 0.8, onesd = 0.4)
out
#> n_gt_cutoff cutoff fit_method top_over_cutoff rmse a b tp
#> cnst 3 0.8 hill 1.279049 0.05022924 NA NA 1.023239
#> p q ga la er bmr bmdl bmdu caikwt
#> cnst 1.592714 NA 2.453014 NA -3.295307 0.5396 2.33877 2.979982 1.446965e-08
#> mll hitcall ac50 ac50_loss top ac5 ac10
#> cnst 12.71495 0.9999999 2.453014 NA 1.023239 0.3862094 0.6174049
#> ac20 acc ac1sd bmd conc
#> cnst 1.027285 5.466819 1.856853 2.627574 0.03|0.1|0.3|1|3|10|30|100
#> resp errfun
#> cnst 0|0.1|0|0.2|0.6|0.9|1.1|1 dt4
post_hit_AUC(out)
#> [1] 97.41475
This section contains details for all models available in
tcplfit2
, with parameter explanations and illustrative
plots. Users should note that the implementation of all models in
tcplfit2
assume the baseline response is always 0.
The following code chunk prepares two concentration ranges for visualizing the effect of various parameters in the models on the shape of the concentration-response curve as their values change.
# prepare concentration data for demonstration
ex_conc <- seq(0, 100, length.out = 500)
ex2_conc <- seq(0, 3, length.out = 100)
The Poly1 model is a simple linear model with the intercept assumed to be at zero.
Model: y = ax
Parameters include:
a
: slope of the line (i.e. rate of change for the
response across the concentration/dose range). If bi-directional fitting
is allowed, then −∞ < a < ∞. Otherwise, a ≥ 0 (i.e. non-negative).poly1_plot <- ggplot(mapping=aes(ex_conc)) +
geom_line(aes(y = 55*ex_conc, color = "a=55")) +
geom_line(aes(y = 10*ex_conc, color = "a=10")) +
geom_line(aes(y = 0.05*ex_conc, color = "a=0.05")) +
geom_line(aes(y = -5*ex_conc, color = "a=(-5)")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.1,0.8)) +
scale_color_manual(name='a values',
breaks=c('a=(-5)', 'a=0.05', 'a=10', 'a=55'),
values=c('a=(-5)'='black', 'a=0.05' = 'red', 'a=10'='blue', 'a=55'='darkviolet'))
poly1_plot
Figure 22: This plot illustrates how changing the
parameter a
(slope) affects the shape of the resulting
curves.
The Poly2 model is a quadratic model with the baseline response
assumed to be zero. The quadratic model implemented in
tcplfit2
is parameterized such that the a
and
b
parameters are interpreted in terms of their impact on
the the x- and y-scales, respectively. The Poly2 model is defined by the
following equation:
Model: $f(x) = a(\frac{x}{b} + \frac{x^2}{b^2})$.
Note, this parameterization differs from the typical representation of a quadratic function.
Parameters include:
a
: The y-scalar. If a
increases, the
curve is stretched vertically. If bi-directional fitting is allowed,
then −∞ < a < ∞.
Otherwise, a ≥ 0
(i.e. non-negative).b
: The x-scalar. If b
increase, the curve
is shrunk horizontally. Optimization of the poly2 model in
tcplfit2
restricts b
such that b > 0.fits_poly <- data.frame(
# change a
y1 = poly2(ps = c(a = 40, b = 2),x = ex_conc),
y2 = poly2(ps = c(a = 6, b = 2),x = ex_conc),
y3 = poly2(ps = c(a = 0.1, b = 2),x = ex_conc),
y4 = poly2(ps = c(a = -2, b = 2),x = ex_conc),
y5 = poly2(ps = c(a = -20, b = 2),x = ex_conc),
# change b
y6 = poly2(ps = c(a = 4,b = 1.8),x = ex_conc),
y7 = poly2(ps = c(a = 4,b = 7),x = ex_conc),
y8 = poly2(ps = c(a = 4,b = 16),x = ex_conc)
)
# shows how changes in parameter 'a' affect the shape of the curve
poly2_plot1 <- ggplot(fits_poly, aes(ex_conc)) +
geom_line(aes(y = y1, color = "a=40")) +
geom_line(aes(y = y2, color = "a=6")) +
geom_line(aes(y = y3, color = "a=0.1")) +
geom_line(aes(y = y4, color = "a=(-2)")) +
geom_line(aes(y = y5, color = "a=(-20)")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='a values',
breaks=c('a=(-20)', 'a=(-2)', 'a=0.1', 'a=6', 'a=40'),
values=c('a=(-20)'='black', 'a=(-2)'='red', 'a=0.1'='blue', 'a=6'='darkviolet', 'a=40'='darkgoldenrod1'))
# shows how changes in parameter 'b' affect the shape of the curve
poly2_plot2 <- ggplot(fits_poly, aes(ex_conc)) +
geom_line(aes(y = y6, color = "b=1.8")) +
geom_line(aes(y = y7, color = "b=7")) +
geom_line(aes(y = y8, color = "b=16")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='b values',
breaks=c('b=1.8', 'b=7', 'b=16'),
values=c('b=1.8'='black', 'b=7'='red', 'b=16'='blue'))
grid.arrange(poly2_plot1, poly2_plot2, ncol = 2)
Figure 23: The left plot illustrates how changing
the a
(y-scalar) affects the shape of the resulting
polynomial 2 curves while holding b
constant (b = 2). The right plot illustrates
how changing b
(x-scalar) affects the shape of the
resulting polynomial 2 curves while holding a
constant
(a = 4).
It should be noted, the quadratic model may be optimized either
allowing for the possibility of bi-phasic responses in the
concentration/dose range (poly2.biphasic=TRUE
argument in
tcplfit2_core
, default) or assuming the response is
monotonic (poly2.biphasic=FALSE
). When bi-phasic modeling
is enabled, the polynomial 2 model is optimized using the typical
quadratic function then parameters are converted to the x- and y-scalar
parameterization.
Model: f(x) = a * xb
Parameters include:
a
: Scaling factor. If a
increases, the
curve is stretched vertically. If bi-directional fitting is allowed,
then −∞ < a < ∞.
Otherwise, a > 0.p
: Power, or the rate of growth. A measure of how
steep the curve is. The larger p
is, the steeper the curve
is. Optimization of the power model restricts p
such that
0.3 ≤ p ≤ 20.fits_pow <- data.frame(
# change a
y1 = pow(ps = c(a = 0.48,p = 1.45),x = ex2_conc),
y2 = pow(ps = c(a = 7.2,p = 1.45),x = ex2_conc),
y3 = pow(ps = c(a = -3.2,p = 1.45),x = ex2_conc),
# change p
y4 = pow(ps = c(a = 1.2,p = 0.3),x = ex2_conc),
y5 = pow(ps = c(a = 1.2,p = 1.6),x = ex2_conc),
y6 = pow(ps = c(a = 1.2,p = 3.2),x = ex2_conc)
)
# shows how changes in parameter 'a' affect the shape of the curve
pow_plot1 <- ggplot(fits_pow, aes(ex2_conc)) +
geom_line(aes(y = y1, color = "a=0.48")) +
geom_line(aes(y = y2, color = "a=7.2")) +
geom_line(aes(y = y3, color = "a=(-3.2)")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='a values',
breaks=c('a=(-3.2)', 'a=0.48', 'a=7.2'),
values=c('a=(-3.2)'='black', 'a=0.48'='red', 'a=7.2'='blue'))
# shows how changes in parameter 'p' affect the shape of the curve
pow_plot2 <- ggplot(fits_pow, aes(ex2_conc)) +
geom_line(aes(y = y4, color = "p=0.3")) +
geom_line(aes(y = y5, color = "p=1.6")) +
geom_line(aes(y = y6, color = "p=3.2")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='p values',
breaks=c('p=0.3', 'p=1.6', 'p=3.2'),
values=c('p=0.3'='black', 'p=1.6'='red', 'p=3.2'='blue'))
grid.arrange(pow_plot1, pow_plot2, ncol = 2)
Figure 24: The left plot illustrates how changing
a
(scaling factor) affects the shape of the resulting power
curves while holding p
constant (p = 1.45). The right plot
illustrates how changing p
(power) affects the shape of the
resulting power curves while holding a
constant (a = 1.2). Note: These plots use a
concentration range from 0 to 3 to better show the impact of
p
on the resulting curves.
Model: $f(x) = \frac{tp}{(1 + (ga/x)^p )}$
Parameters include:
tp
: Top, the highest response (or lowest - for a
decreasing curve) achieved at saturation, that is the horizontal
asymptote. If bi-directional fitting is allowed, then −∞ < tp < ∞.
Otherwise 0 ≤ tp < ∞.ga
: AC50, concentration at 50% of the maximal
activity. It provides useful information about the “apparent affinity”
of the protein under study (enzyme, transporter, etc.) for the
substrate. The model restricts ga
such that 0 ≤ ga < ∞.p
: Power, also called the Hill coefficient.
Mathematically, it is a measure of how steep the response curve is. In
context, it is a measure of the co-operativity of substrate binding to
the enzyme, transporter, etc. Optimization of the Hill model restricts
p
such that 0.3 ≤ p ≤ 8.fits_hill <- data.frame(
# change tp
y1 = hillfn(ps = c(tp = -200,ga = 5,p = 1.76), x = ex_conc),
y2 = hillfn(ps = c(tp = 200,ga = 5,p = 1.76), x = ex_conc),
y3 = hillfn(ps = c(tp = 850,ga = 5,p = 1.76), x = ex_conc),
# change ga
y4 = hillfn(ps = c(tp = 120,ga = 4,p = 1.76), x = ex_conc),
y5 = hillfn(ps = c(tp = 120,ga = 12,p = 1.76), x = ex_conc),
y6 = hillfn(ps = c(tp = 120,ga = 20,p = 1.76), x = ex_conc),
# change p
y7 = hillfn(ps = c(tp = 120,ga = 5,p = 0.5), x = ex_conc),
y8 = hillfn(ps = c(tp = 120,ga = 5,p = 2), x = ex_conc),
y9 = hillfn(ps = c(tp = 120,ga = 5,p = 5), x = ex_conc)
)
# shows how changes in parameter 'tp' affect the shape of the curve
hill_plot1 <- ggplot(fits_hill, aes(log10(ex_conc))) +
geom_line(aes(y = y1, color = "tp=(-200)")) +
geom_line(aes(y = y2, color = "tp=200")) +
geom_line(aes(y = y3, color = "tp=850")) +
labs(x = "Concentration in Log-10 Scale", y = "Response") +
theme(legend.position = c(0.2,0.8),
legend.key.size = unit(0.5, 'cm')) +
scale_color_manual(name='tp values',
breaks=c('tp=(-200)', 'tp=200', 'tp=850'),
values=c('tp=(-200)'='black', 'tp=200'='red', 'tp=850'='blue'))
# shows how changes in parameter 'ga' affect the shape of the curve
hill_plot2 <- ggplot(fits_hill, aes(log10(ex_conc))) +
geom_line(aes(y = y4, color = "ga=4")) +
geom_line(aes(y = y5, color = "ga=12")) +
geom_line(aes(y = y6, color = "ga=20")) +
labs(x = "Concentration in Log-10 Scale", y = "Response") +
theme(legend.position = c(0.8,0.25),
legend.key.size = unit(0.4, 'cm')) +
scale_color_manual(name='ga values',
breaks=c('ga=4', 'ga=12', 'ga=20'),
values=c('ga=4'='black', 'ga=12'='red', 'ga=20'='blue'))
# shows how changes in parameter 'p' affect the shape of the curve
hill_plot3 <- ggplot(fits_hill, aes(log10(ex_conc))) +
geom_line(aes(y = y7, color = "p=0.5")) +
geom_line(aes(y = y8, color = "p=2")) +
geom_line(aes(y = y9, color = "p=5")) +
labs(x = "Concentration in Log-10 Scale", y = "Response") +
theme(legend.position = c(0.8,0.2),
legend.key.size = unit(0.4, 'cm')) +
scale_color_manual(name='p values',
breaks=c('p=0.5', 'p=2', 'p=5'),
values=c('p=0.5'='black', 'p=2'='red', 'p=5'='blue'))
grid.arrange(hill_plot1, hill_plot2, hill_plot3, ncol = 2, nrow = 2)
Figure 25: The top left plot illustrates how
changing tp
(maximal change in response) affects the shape
of the resulting Hill curves while holding all other parameters constant
(ga = 5, p = 1.76).
The top right plot illustrates how changing ga
(slope)
affects the shape of the resulting Hill curves while holding all other
parameters constant (tp = 120, p = 1.76).
The bottom left plot illustrates how changing p
(power)
affects the shape of the resulting Hill curves while holding all other
parameters constant (tp = 120, ga = 5).
Note: The x-axes are in the log10
scale to reflect the scale the model is optimized in, i.e. log Hill
model $f(x) = \frac{tp}{1 +
10^{(p*(ga-x))}}$.
The Gain-Loss model is the product of two Hill models. One Hill model fits the response going up (gain) and one fits the response going down (loss). A gain-loss curve can occur either as a gain in response first then changing to a loss, or vice-versa.
Model: $f(x) = \frac{tp}{[(1 + (ga/x)^p )(1 + (x/la)^q )]}$
Parameters include:
tp
, ga
, and p
are the same as
in the Hill model, and the la
and
q
parameters are counterparts to the ga
and
p
parameters, respectively, but in the loss direction of
the curve.la
: Loss AC50, concentration at 50% of the maximal
activity in the loss direction. The model optimization restricts
la
such that 0 ≤ la < ∞ and la − ga ≥ 1.5.q
: Loss power or the rate of loss. The larger it is,
the faster the curve decreases (if it increases first). The model
restricts q
such that 0.3 ≤ q ≤ 8.fits_gnls <- data.frame(
# change la
y1 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 17,q = 1.34), x = ex_conc),
y2 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 50,q = 1.34), x = ex_conc),
y3 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 100,q = 1.34), x = ex_conc),
# change q
y4 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 20,q = 0.3), x = ex_conc),
y5 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 20,q = 1.2), x = ex_conc),
y6 = gnls(ps = c(tp = 750,ga = 15,p = 1.45,la = 20,q = 8), x = ex_conc)
)
# shows how changes in parameter 'la' affect the shape of the curve
gnls_plot1 <- ggplot(fits_gnls, aes(log10(ex_conc))) +
geom_line(aes(y = y1, color = "la=17")) +
geom_line(aes(y = y2, color = "la=50")) +
geom_line(aes(y = y3, color = "la=100")) +
labs(x = "Concentration in Log-10 Scale", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='la values',
breaks=c('la=17', 'la=50', 'la=100'),
values=c('la=17'='black', 'la=50'='red', 'la=100'='blue'))
# shows how changes in parameter 'q' affect the shape of the curve
gnls_plot2 <- ggplot(fits_gnls, aes(log10(ex_conc))) +
geom_line(aes(y = y4, color = "q=0.3")) +
geom_line(aes(y = y5, color = "q=1.2")) +
geom_line(aes(y = y6, color = "q=8")) +
labs(x = "Concentration in Log-10 Scale", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='q values',
breaks=c('q=0.3', 'q=1.2', 'q=8'),
values=c('q=0.3'='black', 'q=1.2'='red', 'q=8'='blue'))
grid.arrange(gnls_plot1, gnls_plot2, ncol = 2)
Figure 26: The left plot illustrates how changing
la
(loss slope) affects the shape of the resulting
gain-loss curves while holding all other parameters constant (tp = 750, ga = 15, p = 1.45, q = 1.34).
The right plot illustrates how changing q
(loss power)
affects the shape of the resulting gain-loss curves while holding all
other parameters constant (tp = 750, ga = 15, p = 1.45, la = 20).
Note: The x-axes are in the log10
scale to reflect the scale the model is optimized in, i.e. the log
gain-loss model $f(x) = \frac{tp}{[(1 +
10^{(p*(ga-x))} )(1 + 10^{(q*(x-la))})] }$.
Model: $f(x) = a*(e^{\frac{x}{b}}-1)$
Parameters include:
a
: The y-scalar. If a
increases, the
curve is stretched vertically. If bi-directional fitting is allowed,
then −∞ < a < ∞.
Otherwise, 0 < a < ∞.b
: The x-scalar. If b
increases, the
curve is shrunk horizontally. The model restricts b
such
that b > 0
(i.e. positive).fits_exp2 <- data.frame(
# change a
y1 = exp2(ps = c(a = 20,b = 12), x = ex2_conc),
y2 = exp2(ps = c(a = 9,b = 12), x = ex2_conc),
y3 = exp2(ps = c(a = 0.1,b = 12), x = ex2_conc),
y4 = exp2(ps = c(a = -3,b = 12), x = ex2_conc),
# change b
y5 = exp2(ps = c(a = 0.45,b = 4), x = ex2_conc),
y6 = exp2(ps = c(a = 0.45,b = 9), x = ex2_conc),
y7 = exp2(ps = c(a = 0.45,b = 20), x = ex2_conc)
)
# shows how changes in parameter 'a' affect the shape of the curve
exp2_plot1 <- ggplot(fits_exp2, aes(ex2_conc)) +
geom_line(aes(y = y1, color = "a=20")) +
geom_line(aes(y = y2, color = "a=9")) +
geom_line(aes(y = y3, color = "a=0.1")) +
geom_line(aes(y = y4, color = "a=(-3)")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='a values',
breaks=c('a=(-3)', 'a=0.1', 'a=9', 'a=20'),
values=c('a=(-3)'='black', 'a=0.1'='red', 'a=9'='blue', 'a=20'='darkviolet'))
# shows how changes in parameter 'b' affect the shape of the curve
exp2_plot2 <- ggplot(fits_exp2, aes(ex2_conc)) +
geom_line(aes(y = y5, color = "b=4")) +
geom_line(aes(y = y6, color = "b=9")) +
geom_line(aes(y = y7, color = "b=20")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='b values',
breaks=c('b=4', 'b=9', 'b=20'),
values=c('b=4'='black', 'b=9'='red', 'b=20'='blue'))
grid.arrange(exp2_plot1, exp2_plot2, ncol = 2)
Figure 27: The left plot illustrates how changing
a
(y-scalar) affects the shape of the resulting exponential
2 curves while holding b
constant (b = 12). The right plot illustrates
how changing b
(x-scalar) affects the shape of the
resulting exponential 2 curves while holding a
constant
(a = 0.45). Note: These plots
use a smaller concentration range from 0 to 3 to better show the impact
of b
on the resulting curves.
Model: f(x) = a * (e(x/b)p − 1)
Parameters include:
a
and b
are similar to those in
Exponential 2. For details and plots, refer back to Exponential 2.p
: Power. A measure of how steep the curve is. The
further p
is from 1, the steeper the curve is. The model
restricts p
such that 0.3 ≤ p ≤ 8.fits_exp3 <- data.frame(
# change p
y1 = exp3(ps = c(a = 1.67,b = 12.5,p = 0.3), x = ex2_conc),
y2 = exp3(ps = c(a = 1.67,b = 12.5,p = 0.9), x = ex2_conc),
y3 = exp3(ps = c(a = 1.67,b = 12.5,p = 1.2), x = ex2_conc)
)
# shows how changes in parameter 'p' affect the shape of the curve
exp3_plot <- ggplot(fits_exp3, aes(ex2_conc)) +
geom_line(aes(y = y1, color = "p=0.3")) +
geom_line(aes(y = y2, color = "p=0.9")) +
geom_line(aes(y = y3, color = "p=1.2")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.15,0.8)) +
scale_color_manual(name='p values',
breaks=c('p=0.3', 'p=0.9', 'p=1.2'),
values=c('p=0.3'='black', 'p=0.9'='red', 'p=1.2'='blue'))
exp3_plot
Figure 28: This plot illustrates how changing
p
(power) affects the shape of the resulting exponential 3
curves while holding all other parameters constant (a = 1.67, b = 12.5). Note:
This plot uses a smaller concentration range from 0 to 3 to better show
the impact of p
on the resulting curves.
Model: $f(x) = tp*(1-2^{(-\frac{x}{ga})})$
Parameters include:
tp
: Top. The horizontal asymptote the curve is
approaching (can also be negative); it is the maximum or minimum of the
predicted responses. If bi-directional fitting is allowed, then −∞ < tp < ∞.
Otherwise, 0 ≤ tp < ∞.ga
: AC50, concentration at 50% of the maximal
activity. It acts as the slope, controlling the rate at which the
response (curve) approaches the top. If ga
increases, the
curve is shrunk horizontally. The model restricts ga
such
that 0 ≤ ga < ∞
(i.e. non-negative).fits_exp4 <- data.frame(
# change tp
y1 = exp4(ps = c(tp = 895,ga = 15),x = ex_conc),
y2 = exp4(ps = c(tp = 200,ga = 15),x = ex_conc),
y3 = exp4(ps = c(tp = -500,ga = 15),x = ex_conc),
# change ga
y4 = exp4(ps = c(tp = 500,ga = 0.4),x = ex_conc),
y5 = exp4(ps = c(tp = 500,ga = 10),x = ex_conc),
y6 = exp4(ps = c(tp = 500,ga = 20),x = ex_conc)
)
# shows how changes in parameter 'tp' affect the shape of the curve
exp4_plot1 <- ggplot(fits_exp4, aes(ex_conc)) +
geom_line(aes(y = y1, color = "tp=895")) +
geom_line(aes(y = y2, color = "tp=200")) +
geom_line(aes(y = y3, color = "tp=(-500)")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.1,0.8)) +
scale_color_manual(name='tp values',
breaks=c('tp=(-500)', 'tp=200', 'tp=895'),
values=c('tp=(-500)'='black', 'tp=200'='red', 'tp=895'='blue'))
# shows how changes in parameter 'ga' affect the shape of the curve
exp4_plot2 <- ggplot(fits_exp4, aes(ex_conc)) +
geom_line(aes(y = y4, color = "ga=0.4")) +
geom_line(aes(y = y5, color = "ga=10")) +
geom_line(aes(y = y6, color = "ga=20")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.8,0.2)) +
scale_color_manual(name='ga values',
breaks=c('ga=0.4', 'ga=10', 'ga=20'),
values=c('ga=0.4'='black', 'ga=10'='red', 'ga=20'='blue'))
grid.arrange(exp4_plot1, exp4_plot2, ncol = 2)
Figure 29: The left plot illustrates how changing
tp
(maximal change in response) affects the shape of the
resulting exponential 4 curves while holding ga
constant
(ga = 15). The right
plot illustrates how changing ga
(slope) affects the shape
of the resulting exponential 4 curves while holding tp
constant (tp = 500).
Model: f(x) = tp * (1 − 2(−(x/ga)p))
Parameters include:
tp
and ga
are similar to those in
Exponential 4. For details and plots, refer back to Exponential 4.p
: Power. A measure of how steep the curve is. The
further p
is from 1, the steeper the curve is. The model
restricts p
such that 0.3 ≤ p ≤ 8.fits_exp5 <- data.frame(
# change p
y1 = exp5(ps = c(tp = 793,ga = 6.25,p = 0.3), x = ex_conc),
y2 = exp5(ps = c(tp = 793,ga = 6.25,p = 3.4), x = ex_conc),
y3 = exp5(ps = c(tp = 793,ga = 6.25,p = 8), x = ex_conc)
)
# shows how changes in parameter 'p' affect the shape of the curve
exp5_plot <- ggplot(fits_exp5, aes(ex_conc)) +
geom_line(aes(y = y1, color = "p=0.3")) +
geom_line(aes(y = y2, color = "p=3.4")) +
geom_line(aes(y = y3, color = "p=8")) +
labs(x = "Concentration", y = "Response") +
theme(legend.position = c(0.8,0.2)) +
scale_color_manual(name='p values',
breaks=c('p=0.3', 'p=3.4', 'p=8'),
values=c('p=0.3'='black', 'p=3.4'='red', 'p=8'='blue'))
exp5_plot
Figure 30: This plot illustrates how changing
p
(power) affects the shape of the resulting exponential 5
curves while holding all other parameters constant (tp = 793, ga = 6.25).
This table provides a summary of model details for all available
tcplfit2
models. This table is taken from the
Concentration-Response Modeling Details sub-section in the tcpl
Vignette on CRAN.
tcplfit2 model details. | ||||
Model | Abbreviation | Equations | OutputParameters | Details |
---|---|---|---|---|
Constant | cnst | f(x) = 0 | Parameters always equals ‘er’. | |
Linear | poly1 | f(x) = ax | a (y-scale) | |
Quadratic | poly2 | $f(x) = a(\frac{x}{b}+(\frac{x}{b})^{2})$ | a (y-scale) b (x-scale) | |
Power | pow | f(x) = axp | a (y-scale) p (power) | |
Hill | hill | $f(x) = \frac{tp}{1 + (\frac{ga}{x})^{p}}$ | tp (top) ga (gain AC50) p (gain-power) | Concentrations are converted internally to log10 units and optimized with f(x) = tp/(1 + 10^(p*(gax))), then ga and ga_sd are converted back to regular units before returning. |
Gain-Loss | gnls | $f(x) = \frac{tp}{(1 + (\frac{ga}{x})^{p} )(1 + (\frac{x}{la})^{q} )}$ | tp (top) ga (gain AC50) p (gain power) la (loss AC50) q (loss power) | Concentrations are converted internally to log10 units and optimized with f(x) = tp/[(1 + 10^(p(gax)))(1 + 10^(q(x-la)))], then ga, la, ga_sd, and la_sd are converted back to regular units before returning. |
Exponential 2 | exp2 | $f(x) = a*(exp(\frac{x}{b}) - 1)$ | a (y-scale) b (x-scale) | |
Exponential 3 | exp3 | $f(x) = a*(exp((\frac{x}{b})^{p}) - 1)$ | a (y-scale) b (x-scale) p (power) | |
Exponential 4 | exp4 | $f(x) = tp*(1-2^{\frac{-x}{ga}})$ | tp (top) ga (AC50) | |
Exponential 5 | exp5 | $f(x) = tp*(1-2^{-(\frac{x}{ga})^{p}})$ | tp (top) ga (AC50) p (power) | |
Model descriptions are pulled from tcplFit2 manual at https://cran.R-project.org/package=tcplfit2. |
The following glossary, though it may not be encompassing all terms
included in this package, is provided to serve as a quick reference when
using tcplfit2
:
concRespCore
tcplfit2_core
and
tcplhit2_core
tcpl
-like data without a database connection