% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/calc_risk.R
\name{calc_risk}
\alias{calc_risk}
\title{Calculate risk scores}
\usage{
calc_risk(
  GT,
  max_mult = 1.5,
  fixed = FALSE,
  overwrite = FALSE,
  risk_name = "risk"
)
}
\arguments{
\item{GT}{GeoTox object.}

\item{max_mult}{Upper bound multiplier for max response (default 1.5).}

\item{fixed}{Logical indicating whether to set standard deviation parameters
of Hill fit to zero (default FALSE). Used in sensitivity analysis.}

\item{overwrite}{Logical indicating whether to overwrite existing risk table
(default FALSE).}

\item{risk_name}{Table name to store risk results (default "risk"). Values
other than "risk" are used in sensitivity analysis.}
}
\value{
The same GeoTox object, invisibly.
}
\description{
Calculate generalized concentration addition (GCA) and independent action
(IA) risk scores and hazard quotients (HQ) based on in vitro concentration
data and Hill parameters.
}
\details{
This function requires that the 'concentration', 'sample', and 'hill_params'
tables are present in the GeoTox object. Typically these tables will have
been created by prior calls to \code{\link[=calc_invitro_concentration]{calc_invitro_concentration()}} and
\code{\link[=add_hill_params]{add_hill_params()}}.

The risk scores are calculated for each sample and assay combination and
stored in the 'risk' table in the GeoTox object, unless a different
\code{risk_name} is provided. Supplying a different \code{risk_name} shouldn't be done
directly by the user, but rather by calling \code{\link[=calc_sensitivity]{calc_sensitivity()}}.
}
\examples{
# Setup required tables
sample_df <- tibble::tribble(
  ~FIPS, ~age, ~weight,
  10000, 25, "Normal",
  10000, 35,  "Obese",
  20000, 50, "Normal"
)
exposure_df <- tibble::tribble(
  ~FIPS, ~casn, ~route, ~mean, ~sd,
  10000, "00-00-1", "inhalation", 10, 1,
  10000, "00-00-2", "inhalation", 20, 1,
  20000, "00-00-1", "inhalation", 30, 1,
  20000, "00-00-2", "inhalation", 40, 1
)
css_df <- tibble::tribble(
  ~casn, ~age_lb, ~age_ub, ~weight, ~css,
  "00-00-1",  0, 49, "Normal", 21,
  "00-00-1", 50, 99, "Normal", 22,
  "00-00-1",  0, 49,  "Obese", 61,
  "00-00-1", 50, 99,  "Obese", 62,
  "00-00-2",  0, 49, "Normal", 11,
  "00-00-2", 50, 99, "Normal", 12,
  "00-00-2",  0, 49,  "Obese", 31,
  "00-00-2", 50, 99,  "Obese", 32
)
hill_df <- tibble::tribble(
  ~assay, ~casn, ~logc, ~resp,
  "a1", "00-00-1",    0,  10,
  "a1", "00-00-1",    1,  20,
  "a1", "00-00-1",    2,  80,
  "a1", "00-00-1",    3, 100,
  "a1", "00-00-2", -0.5,   5,
  "a1", "00-00-2",  0.5,  20,
  "a1", "00-00-2",  1.5,  55,
  "a1", "00-00-2",  2.5,  60
)
GT <- GeoTox() |>
  set_sample(sample_df) |>
  set_simulated_css(css_df) |>
  add_exposure_rate_params() |>
  add_hill_params(fit_hill(hill_df, assay = "assay", substance = "casn")) |>
  simulate_population(exposure = exposure_df) |>
  calc_internal_dose() |>
  calc_invitro_concentration()

# Calculate risk
GT <- GT |> calc_risk()

# Open a connection to GeoTox database
con <- get_con(GT)

# Look at relevant table
dplyr::tbl(con, "risk") |> dplyr::collect()

# Clean up example
DBI::dbDisconnect(con)
file.remove(GT$db_info$dbdir)
}
\seealso{
\code{\link[=add_hill_params]{add_hill_params()}}, \code{\link[=calc_invitro_concentration]{calc_invitro_concentration()}},
\code{\link[=calc_response]{calc_response()}}
}
