Skip to content

Releases: biodosetools-team/biodosetools

Biodose Tools 3.6.1

16 Nov 16:20
Compare
Choose a tag to compare

biodosetools 3.6.1

Improvements

  • Updated LQ and L formulas to use lambda instead of Y for yield in parse_model_formula(), list_fitting_formulas(), and help dialogues.
  • Removed unnecessary {base} namespace in solve() call.
  • Removed legacy gardner_confidence_table data (deprecated in 585e7b4).
  • Updated get_cov_ZIP_ML() to match expressions on manuscript, introducing minor calculation optimisation.
  • Improved fit_maxlik_method() by removing unused local variables and redundant calls.
  • Switched message() to cli::cli_alert_warning() in fit() function when switching from glm() to ML optimization.
  • Updated match_names() to return input x, akin to match.arg() from {base}.
  • Updated default values for assessment and whole-body error method selection in mod_estimation_micro_ui().
  • Added mean and std_err column renaming to calculate_aberr_table() when type = "case" depending on new aberr_module parameter.
  • Added aberr_module validation using match.arg() in *_aberr_table(), estimate_*(), prepare_maxlik_count_data(), fit*() functions.
  • Updated unit tests for names_from_model_formula() and parse_model_formula().
  • Updated app_config.R and test-golem-recommended.R unit tests.
  • Added unit test for load_rmd_report().
  • Added basic testServer() unit tests for all mod_*_server() modules.

UI Improvements

  • Updated "Irradiation conditions" boxes so they are no longer collapsed by default in mod_fitting_*_ui.R modules.

Bug fixes

  • Return case data as_tibble() in calculate_aberr_table() for consistency with count data.
  • Minor formatting fix in cli::cli_alert_info() call.
  • Fixed pi_estimate value in est_metaphases_frac data frame in estimate_partial_body_dolphin(), as pointed out by Gaëtan.
  • Fixed issue with match_names() not correctly stopping, and added unit tests for it.
  • Fixed misconstructed column selection in calculate_aberr_table() when type = "case".
  • Added est_metaphases_frac data frame to explicitly return f (1 - pi_est) in estimate_partial_body_dolphin() (closes #29).
  • Updated deprecated .data calls inside {tidyselect} selections (see https://www.tidyverse.org/blog/2022/10/tidyselect-1-2-0/).

Deprecations

  • Removed unused files in data-raw.
  • Deprecated model_formula with no intercept in parse_model_formula(), names_from_model_formula(), prepare_maxlik_count_data(), fit_maxlik_method(), and mod_estimation_fit_curve_hot_server().
  • Removed golem_utils_server.R.
  • Purged calculate_decision_threshold*() functions and mentions in UI and server modules, as this will be rewritten from scratch.
  • Removed calculate_decision_threshold from _pkgdown.yml.

Biodose Tools 3.6.0

27 Jan 09:18
Compare
Choose a tag to compare

biodosetools 3.6.0

  • Major rewrite of plot_estimated_dose_curve() function.
  • Delta method calculations are now all done via msm::deltamethod().
  • Added progress and alert notifications to UI.
  • Added {markdown} as suggested dependency.
  • Added {cli} as dependency.
  • Tweaked references section in {pkgdown} site to only include exported functions organised by topic/usage.
  • Use consistently genomic conversion factor or genome_factor across all functions, help dialogues, and reports.
  • Added R-CMD check GitHub Action.
  • Added vignettes.

New features

  • Return conf_int in estimate_*() family of functions.
  • Parse est_full_doses$type in plot_estimated_dose_curve() function so unused assessments are not shown in legend.
  • Added match_names() function to match est_doses list names when calling plot_estimated_dose_curve().
  • Updated plot_estimated_dose_curve() to automatically build est_full_doses object from list of dose estimation results, added parse_conf_int_text() auxiliary function.

Bug fixes

  • Correct dispersion index value on estimate_whole_body_delta() when there's no aberrations.
  • Fixed issue in missing count data in DOCX fitting report.
  • Removed double calculation of cov_est in estimate_partial_dolphin().
  • Wrapped mixed Poisson model dose estimation in try() to ensure convergence (up to 5 tries).
  • Mixed Poisson model estimate_hetero_mixed_poisson() uses exact delta methods for dose and fraction irradiated, as described in paper by Pujol et al. (2016) https://doi.org/10.1667/RR14145.1.
  • Fixed gamma and gamma_error parsing when calling estimate_hetero_mixed_poisson() in mod_estimation_results_server().
  • Wrap unicode characters (\uxxxx) in rlang::as_utf8_character() to avoid "unable to translate to native encoding" warning on Windows.

New functions

  • get_deltamethod_std_err(): auxiliary function to wrap all msm::deltamethod() calls.

Improvements

  • Fixed order of output case data columns in calculate_aberr_table() so they match the final output in Shiny.
  • Renamed count-data-IAEA.csv to count-data-barquinero-1995.csv from Barquinero et al. (1995) https://doi.org/10.1016/0027-5107(94)00150-4.
  • Added count-data-rodriguez-2004.csv for total translocations from Rodriguez et al. (2004) https://doi.org/10.1667/RR3198.
  • Updated translocations fitting unit tests to use data from Rodriguez et al. (2004) https://doi.org/10.1667/RR3198.
  • Rewrote calculate_aberr_power() to remove {purrr} dependency and reduce computation time by 4.
  • Replaced message() calls with appropriate cli::cli_*() calls.
  • Split quasi-Poisson from automatic fitting in fit_glm_method(), as it is otherwise confusing.
  • Updated \sigma to \hat{\sigma} in fix_count_data_names() and respective tests.
  • Updated unit tests to test individual values both in dose-effect fitting and dose estimation.
  • Use *-fitting-results-*.rds instead of *-fitting-data-*.rds when exporting RDS objects in mod_fitting_results_server().

UI Improvements

  • Added new side-widget-* CSS classes to better style file download/format buttons.
  • Added widget_sep_vert() function.
  • Use new sep-widget_* CSS classes in fitting UI modules.
  • Updated report help modals text.
  • Using new side-widget-* CSS classes in dose estimation UI modules.
  • Added progress notifications to calculations via shiny::Progress.
  • Updated _pkgdown.yml and simplified extra.css thanks to Bootstrap 5 support in {pkgdown} 2.0.0.

Biodose Tools 3.5.0

28 May 08:17
Compare
Choose a tag to compare

biodosetools 3.5.0 (2021-05-26)

  • Added unit tests for to check code coverage and to validate that the code performs as expected.
  • Major revision of the fitting and dose estimation pipelines, introducing new auxiliary functions to reduce duplicated code.
  • Major simplification of report rendering process; abandoned HTML output.
  • Added custom {pkgdown} theme for more consistent branding.
  • Added preliminary citation to README.
  • Moved packages required only for reports to Suggests field in DESCRIPTION file.

New features

  • Added irradiation conditions input to dose-effect fitting modules.
  • Reports include conditional formatting of u-value and other formatting refinements.
  • Added biodosetools_version element to Shiny App's exported *-fitting-data-YYY-MM-DD.rds files.
  • fit() function allows to optionally select "glm" or "maxlik" algorithms. If "glm" if selected, the original tryCatch() routine will be executed.

Bug fixes

  • Fixed unexported calculate_aberr_var() function.
  • Stopped using weights in fitting algorithms (glm and glm.nb). Fixes #20, addresses part of #14 as well.
  • Fixed aggregated count data column parsing in fix_count_data_names() function.
  • Fixed case data parsing issue when .csv file is not perfectly formatted.
  • Fixed issue with manual fitting curve input (fixes #23).
  • Fixed bug in calculate_yield_infimum() where infima were being calculated for yield estimate only (fixes #26).
  • Fixed wrong calculation of aberrations X for Ck when k>=10 (fixes #27).
  • Fixed fix_count_data_names() to properly correct Ck>=C10 (related to issue #27).
  • Added "where" to global variables (see r-lib/tidyselect#201).

New functions

  • inner_column(), to fix padding of boxes inside columns.
  • widget_sep(), to insert div(class = "widget-sep", br()) calls.
  • widget_sep_vert() to insert div(style = "height: 8px;") calls.
  • names_from_model_formula(), to parse rhandsontable() Unicode row and column coefficient names.
  • parse_model_formula() to get raw and TeX formulae from model_formula.
  • calculate_trans_rate_sigurdson() and calculate_trans_rate_manual() to calculate translocation rates.
  • calculate_aberr_table() wrapper, to calculate aberration tables for count and cases data.
  • init_aberr_table(), to initialise aberration distribution tables in fitting and estimation server modules.
  • list_fitting_formulas(), to replace global global_fitting_formulas object.
  • generalise_fit_coeffs() and generalise_fit_var_cov_mat(), used internally in estimation functions instead of using general_fit_* as parameters.

Function refactoring

  • Refactored get_decision_threshold() functoin to calculate_decision_threshold(), and added calculate_decision_threshold_table() wrapper function.
  • Refactored calculate_decision_threshold_*() functions to remove input argument.
  • Refactored get_*() translocation functions to calculate_*() for better consistency.
  • Refactored get_*_dose_curve() functions to plot_*_dose_curve() for more clarity.
  • Refactored get_model_statistics() to calculate_model_stats().
  • Refactored get_fit_*() functions to fit() and fit_*_method().

Improvements

  • Added Oliveira citation on get_fit_maxlik_method() function.
  • Fixed Gaëtan's name order in citation and contributors list.
  • Updated README and About body text.
  • Renamed source R files for better naming consistency.
  • Changed structure of modules to mod_<calc_type>_<aberration>_*().
  • Generalised get_model_statistics() function so that local get_model_statistics() definition could be removed from mod_estimate_fit_curve_server() module.
  • Multiple (18 files) <aberration>-<module>-<format>.Rmd report templates have been merged into <module>-<format>.Rmd (4 files).
  • Use correct_negative_vals() to ensure correct dose estimation when X < Xc in translocations asay.
  • Replaced all *_at() and *_if() occurrences by their {dplyr} 1.0.0 equivalents.

UI Improvements

  • Replaced column(width = X) calls by col_X() in UI modules.
  • Added tabitem-container class to tabItem() page containers for fixed max-width while keeping responsive UI.
  • Added col-inner-textinput-* CSS classes for Irradiation conditions textInput() widgets' containers.
  • Added sep-widget-download and sep-widget-format CSS classes to unify download and format select buttons into a single widget.

Biodose Tools 3.4.0

11 Oct 09:33
Compare
Choose a tag to compare
v3.4.0

Version bump to 3.4.0

Biodose Tools 3.3.0

06 Sep 09:37
Compare
Choose a tag to compare
v3.3.0

Added dna_fraction_tests.R script

Version 3.1.0 (2019-10-26)

11 Feb 08:59
Compare
Choose a tag to compare

This is the first version of the app bundled as an R package.

The package consists of runApp() only, which runs the app located on inst/app. This includes some of the changes I discussed with David in Stockholm.