Skip to content

v2.0.0 - First submission to CRAN

Choose a tag to compare

@jibarozzo jibarozzo released this 26 Apr 05:50
· 229 commits to main since this release
v2.0.0
854cb7b

BRCore 2.0.0

Date: 2026-04-24

Breaking Changes

  • de1fa42 multi_rarefy(): .as_array logical argument replaced with .as character argument (e.g. "list", "array"). Single-iteration handling improved to support all .as formats and seeds.
  • fbb3b90 identify_core(): output column renamed from Index to rank.
  • fa7387e find_core() removed; ground truth logic moved to debugging branch.
  • 28b8821 and 4f5a9c9 identify_core() major rewrite: vegan::avgdist() replaced with vegan::vegdist() via new .mean_bc_over_iters() internal helper; rarefied_list is now optional and requires ≥ 2 iterations when provided. This fixes incorrect results on unrarefied datasets caused by how vegan::avgdist() handles zeros in a matrix of ones.
  • 9f3b3ae plot_identified_core() now returns a named list with $df and $plot instead of a bare plot object.
  • 3a590aa General update/refactor of tests to include new function parameters and logic. Regenerated tests/testthat/test_sets/test_vignette_data.rda reference dataset.
  • 2677cd2 Fixed binomial neutral model fitting: pbinom() now receives N.int, an integer size argument (round(N)) instead of a floating-point mean. This changes model output relative to prior versions. We also added comprehensive messaging to inform user of species (N or N.int) used in model fitting.
  • 200100b multi_rarefy() internal logic: Replaced .single_rarefy() with internal vegan::rrarefy() engine.
  • 34c41ca and 114468c Refactored multi_rarefy() to output 3D array or list. This handling increased speed of computation and eliminated the need for parallelization. CLI messages were improved to handle these new types and present summary statistics and information to users.

New Features

  • dbdf9fe Added .brcore_theme() internal helper (brcore_theme.R) to unify plot styling (borders, title sizes, viridis palettes) across all plotting functions.
  • plot_identified_core() gains an optional dataset_name parameter for plot titles.

Bug Fixes

  • 3225bd4 identify_core(): fixed proportionBC normalisation to use max() instead of last().
  • b3824ab identify_core(): fixed BC ranking and pair alignment using unique time points.
  • 7439ed3 plot_identified_core(): fixed deprecated size → linewidth in panel.border.
  • 5c2c57e and bfd74da Added plot_variance_propagation() to plot results from multi_rarefy().
  • 79153ca update_otu_table() has new parameter iteration to handle results from multi_rarefy().
  • e4ac648 identify_core() now has a progress bar powered by cli::cli_progress_bar() in .calculate_bc().

Smaller Changes

  • 36285d2 Tidy eval compliance enforced throughout using .data$ pronouns and quoted column names; globals.R significantly trimmed.

  • Vignette and README updated to reflect the required multi-iteration workflow for identify_core().

  • Test suite updated for identify_core, multi_rarefy, plot_identified_core, plot_variance_propagation, update_otu_table, and the full vignette workflow. Test data regenerated (test_vignette_data.rda grew ~250 KB).

  • Vignette updated to include multi_rarefy() and plot_variance_propagation() as part of the Data Exploration and Parameter Selection section. This new workflow allows users to determine the adequate sequence read depth for their data and input that into identify_core().

See PR #97 and #95 for more details

Contributors

@jibarozzo @Gian77