From e91f06739f7a3d09219b84c37e0ce598d36dd9c1 Mon Sep 17 00:00:00 2001 From: Sean Hackett Date: Thu, 18 Apr 2024 23:35:41 -0700 Subject: [PATCH] plot fix to include time zero fit when showing v_inter and v_final --- R/impulse_plotting.R | 65 +++++++++++------- README.Rmd | 20 +++++- README.md | 53 ++++++++++---- .../README-sigmoid_impulse_compare-1.png | Bin 37074 -> 25782 bytes 4 files changed, 100 insertions(+), 38 deletions(-) diff --git a/R/impulse_plotting.R b/R/impulse_plotting.R index ae747aa..35a7cdd 100644 --- a/R/impulse_plotting.R +++ b/R/impulse_plotting.R @@ -8,10 +8,12 @@ #' @return a ggplot #' #' @export -kinetics_plotting <- function(augmented_timecourses, - saturation = 0.9, - max_time, - fit_timepoints = 100) { +kinetics_plotting <- function( + augmented_timecourses, + saturation = 0.9, + max_time, + fit_timepoints = 100 +) { stopifnot("tbl_df" %in% class(augmented_timecourses)) stopifnot("tc_id" %in% colnames(augmented_timecourses)) @@ -20,8 +22,7 @@ kinetics_plotting <- function(augmented_timecourses, present_variables <- intersect(reserved_variables, colnames(augmented_timecourses)) if (length(present_variables) == 0) { - stop ("no aesthetic variables present; aesthetic variables are: ", - paste(reserved_variables, collapse = ", ")) + cli::cli_abort("no aesthetic variables present; aesthetic variables are: {.field {reserved_variables}}") } checkmate::assertNumber(saturation, lower = 0.5, upper = 1) @@ -51,6 +52,19 @@ kinetics_plotting <- function(augmented_timecourses, tidyr::unnest_legacy(fitted_kinetics) possible_nest_vars <- c("rate", "t_rise", "t_fall", "v_inter", "v_final", "tzero_offset") + missing_nest_vars <- setdiff(possible_nest_vars, colnames(fitted_kinetics)) + + if (length(missing_nest_vars) > 0) { + for (x in missing_nest_vars) { + if (x == "tzero_offset") { + fitted_kinetics <- fitted_kinetics %>% dplyr::mutate(tzero_offset = 0) + } else { + fitted_kinetics <- fitted_kinetics %>% + dplyr::mutate(!!rlang::sym(x) := NA_real_) + } + } + } + timepoints <- seq(from = 0, max_time, length.out = fit_timepoints) fitted_values <- fitted_kinetics %>% @@ -68,7 +82,7 @@ kinetics_plotting <- function(augmented_timecourses, dplyr::filter(model == best_model), fitted_values, saturation = saturation - ) + ) kinetics_plot <- kinetics_plot + geom_rect(data = kinetic_intervals$asympote_aesthetics_df, @@ -110,12 +124,14 @@ kinetics_plotting <- function(augmented_timecourses, } - kinetics_plot + return(kinetics_plot) } -kinetic_aesthetics <- function(fitted_kinetics, - fitted_values, - saturation = 0.9) { +kinetic_aesthetics <- function( + fitted_kinetics, + fitted_values, + saturation = 0.9 + ) { # find fitted kinetic value at timing coefficient time_aesthetics_df <- fitted_kinetics %>% @@ -132,22 +148,27 @@ kinetic_aesthetics <- function(fitted_kinetics, # find satuation time for assymptote asympote_aesthetics_df <- fitted_kinetics %>% - dplyr::select(tc_id, model, rate, t_rise, t_fall, v_inter, v_final) %>% - tidyr::gather(par, value, -tc_id, -model, -rate, -v_inter, -v_final) %>% + dplyr::select(tc_id, model, rate, t_rise, t_fall, v_inter, v_final, tzero_offset) %>% + tidyr::gather(par, value, -tc_id, -model, -rate, -v_inter, -v_final, -tzero_offset) %>% dplyr::filter(!is.na(value)) %>% # match t_rise to v_inter and t_fall to v_final - dplyr::mutate(assymp = dplyr::case_when(par == "t_rise" ~ v_inter, - par == "t_fall" ~ v_final)) %>% + dplyr::mutate(assymp = dplyr::case_when(par == "t_rise" ~ v_inter + tzero_offset , + par == "t_fall" ~ v_final + tzero_offset)) %>% dplyr::mutate(assymp_type = dplyr::case_when( par == "t_rise" ~ "v_inter", par == "t_fall" ~ "v_final")) %>% # derive saturation time for x-axis - dplyr::mutate(t_saturation_start = saturation_time(1 - saturation, - value, - rate), - t_saturation_end = saturation_time(saturation, - value, - rate)) %>% + dplyr::mutate( + t_saturation_start = saturation_time( + 1 - saturation, + value, + rate + ), + t_saturation_end = saturation_time( + saturation, + value, + rate + )) %>% dplyr::select(tc_id, model, assymp_type, assymp, t_saturation_start, t_saturation_end) @@ -156,7 +177,5 @@ kinetic_aesthetics <- function(fitted_kinetics, } saturation_time <- function(saturation, c_time, rate) { - c_time + log(saturation / (1 - saturation)) / rate - } diff --git a/README.Rmd b/README.Rmd index 950e18f..d9ff141 100644 --- a/README.Rmd +++ b/README.Rmd @@ -52,10 +52,9 @@ sigmoid_impulse_plot <- function(timecourse_parameters) { scale_x_continuous("Time") + theme_bw() + theme(text = element_text(size = 15), legend.position = "top") - } -sigmoid_impulse_plot(data_frame(t_rise = 25, rate = 0.25, v_inter = 3, v_final = -3, t_fall = 45)) +sigmoid_impulse_plot(tibble(t_rise = 25, rate = 0.25, v_inter = 3, v_final = -3, t_fall = 45)) ``` ### sigmoid @@ -100,3 +99,20 @@ Once conda and impulse are installed, A conda environment configured with Tensor ```{r, eval=FALSE} auto_config_tf() ``` + +Alternatively, create a minimal environment with: + +```{bash venv_setup, eval = FALSE} +<> -m venv .venv +source .venv/bin/activate +pip install --upgrade pip wheel setuptools ipykernel +pip install -r requirements.txt +``` + +Where, requirements.txt is just: + +```{bash requirements, eval = FALSE} +tensorflow==2.9.* +numpy==1.23.* +tensorflow-probability==0.17.* +``` diff --git a/README.md b/README.md index 81570e0..112a428 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ value(s) and asymptote(s). The core functionality of **impulse** is: -- Simulate timecourse parameters and resulting timecourses -- Fit sigmoid and impulse models to timecourses with or without priors - on kinetic parameters -- Compare sigmoid and impulse models -- Visualize measurements and parametric fits +- Simulate timecourse parameters and resulting timecourses +- Fit sigmoid and impulse models to timecourses with or without priors + on kinetic parameters +- Compare sigmoid and impulse models +- Visualize measurements and parametric fits ## The models @@ -33,21 +33,31 @@ between timecourses and kinetic paramters, but the kinetic parameters are generally more meaningful since they indicate the timing and magnitdue of responses. -A sigmoid with parameters {t\_rise = 25, v\_inter = 3, rate = 0.25} and -an impulse with two additional parameters {t\_fall = 45, v\_final = -3} -are shown. The t\_rise of 25 indicates a half-max time of 25 and -v\_inter of 3 indicates saturation at 3. In the impulse model there is a -second response with a half-max time of 45 and final asymptote at -3. +A sigmoid with parameters {t_rise = 25, v_inter = 3, rate = 0.25} and an +impulse with two additional parameters {t_fall = 45, v_final = -3} are +shown. The t_rise of 25 indicates a half-max time of 25 and v_inter of 3 +indicates saturation at 3. In the impulse model there is a second +response with a half-max time of 45 and final asymptote at -3. ![](man/figures/README-sigmoid_impulse_compare-1.png) ### sigmoid -![Sigmoid](https://github.com/calico/impulse/blob/master/man/figures/sigmoid.png) +
+ + +
### implulse -![Impulse](https://github.com/calico/impulse/blob/master/man/figures/impulse.png) +
+ + +
## *Impulse* functionality @@ -65,7 +75,7 @@ impulse models since there are natural constraints on parameter values which should hold (non-negative rates, non-negative times, rise before fall). When these constraints are violated, a good fit may occur, but interpretability of timing and effect sizes will be lost. The vignette -*setting\_priors* describes how to formulate the priors and can be used +*setting_priors* describes how to formulate the priors and can be used to guide the tuning of parameters for other application. ## Installation @@ -98,3 +108,20 @@ with TensorFlow can be created using: ``` r auto_config_tf() ``` + +Alternatively, create a minimal environment with: + +``` bash +<> -m venv .venv +source .venv/bin/activate +pip install --upgrade pip wheel setuptools ipykernel +pip install -r requirements.txt +``` + +Where, requirements.txt is just: + +``` bash +tensorflow==2.9.* +numpy==1.23.* +tensorflow-probability==0.17.* +``` diff --git a/man/figures/README-sigmoid_impulse_compare-1.png b/man/figures/README-sigmoid_impulse_compare-1.png index d9054da8c9547a1230b46f013a5c05e4f9005ed0..20c26d7793384600450d1ae639ea9f10b9db002b 100644 GIT binary patch literal 25782 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 udl5| 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