Skip to content

NOVA v0.1.1 — CRAN-ready + UX enhancements

Choose a tag to compare

@atudoras atudoras released this 26 Mar 22:24
· 117 commits to main since this release

NOVA v0.1.1

Install from GitHub:

remotes::install_github("atudoras/nova")

New Features

UX Enhancements

  • color_by parameter in plot_pca_trajectories_general() — colour trajectory lines by Treatment or Genotype
  • Genotype end-labelsggrepel labels at trajectory endpoints, shaped start (◇) and end (●) markers, timepoint subtitle
  • split_by = "combination" in create_mea_heatmaps_enhanced() — Treatment × Genotype dual-annotated heatmap with Z-score scaling (blue-white-red, ±3 SD cap)
  • Per-metric visualisationplot_mea_metric() supports bar, box, violin and line plots per electrode metric
  • Zero-code quickstartExample/nova_quickstart.R requires only a single path change
  • Smart MEA row detection — label-based scan replaces hardcoded row positions

README & Docs

  • Publication-quality 300 DPI trajectory figure from real MEA Neuronal Agonists data (4 treatment groups × 7 timepoints)
  • Illustrated HTML User Guide with step-by-step walkthroughs

Bug Fixes & Code Quality

CRAN Readiness — 0 ERRORs · 0 WARNINGs in R CMD check --as-cran

# Issue Fix
1 Non-ASCII chars in source (→ — × ◇ ● + box-drawing in comments) caused 4 test failures in ASCII locale Replaced all with ASCII equivalents
2 4 undocumented params in create_mea_heatmaps_enhanced() Added @param for use_raw, filter_timepoints, filter_treatments, filter_genotypes
3 ~192 cat() calls writing to stdout Converted to message() — now suppressable via suppressMessages()
4 6 print(plot_obj) side-effects Removed; plots already saved by ggsave()
5 6 deprecated aes_string() calls Replaced with aes(x = .data[[col]]) pattern
6 size = in geom_tile, geom_errorbar, geom_errorbarh, stat_ellipse Changed to linewidth = (ggplot2 >= 3.4)
7 Missing globalVariables() entries All NSE column names declared; no "no visible binding" NOTEs
8 No LICENSE file GPL (>= 3) LICENSE file added
9 LazyData: true with no data/ directory Removed from DESCRIPTION
10 No Language field Added Language: en-US to DESCRIPTION
11 .Rbuildignore too narrow Expanded to exclude .claude/, docs/, scripts/, Rplots.pdf, .github/
12 Stray Rplots.pdf in root and tests/testthat/ Deleted
13 @param roxygen order didn't match function signature Reordered to match

Earlier Bug Fixes

  • Z-score scaling on combination heatmap (raw 300–500 range → normalised ±3 SD, blue-white-red)
  • Duplicate row names in combination heatmap — fixed with unique Treatment_Genotype_Well IDs
  • names(.) anti-pattern inside dplyr::summarise — replaced with pre-computed flags
  • Scoping bug in pca_analysis_enhanced Excel loading branch
  • Duplicate null_coalesce definition removed
  • Missing tp_subtitle in per-group trajectory labs() calls