Skip to content

v2.1.2

Latest

Choose a tag to compare

@ErickNavarroD ErickNavarroD released this 28 Aug 19:19
· 4 commits to main since this release

RAMEN 2.1.2

This patch focuses on the running time and memory usage of the package, and
fixes a few bugs:

  • Fixed a bug in lmGE() where the function would throw an error when a
    covariate had a non-syntactic name (e.g. "cell type"). This happened whenever
    the winning model was G+E or GxE.
  • Fixed a bug in lmGE() where a selected_variables object in which no VML
    had any selected genotype or environmental variable would throw an error. All
    the VML are now returned with the basal model as their winner, which is what
    already happened when only some of them were empty.
  • Fixed a bug in selectVariables() where setting environmental_matrix = NULL, which the documentation describes as the way to run the variable
    selection on the genotype alone, would throw an error instead. The
    documentation of that argument was also narrowed: a genotype_matrix is
    always required, and only the environmental one can be omitted.

The performance work touches findVML(), medCorVMR(), summarizeVML(),
selectVariables(), lmGE() and nullDistGE(). Most of it resolves look-ups
that were being repeated once per locus a single time up front instead, and
avoids keeping unnecessary copies of the genotype and methylation objects. Both
the running time and the memory each parallel worker needs are reduced.

Outputs are unchanged, with one exception: summarizeVML() now computes
medians with matrixStats::colMedians(). For VML with an even number of probes
the two middle values are averaged slightly differently than by median(), so
results can differ in the last representable digit (a relative difference of
about one machine epsilon). VML with an odd number of probes, including all
sVMPs, are unaffected.

The documentation of nullDistGE() now notes that the same seed is handed to
selectVariables() in every permutation, so the cross-validation folds are
shared across permutations.

On the testing side, a test was added checking that the variables
selectVariables() reports are the ones the underlying LASSO fits select, and
the tests that register a parallel back-end now restore the sequential one when
they finish, so that the back-end no longer leaks into the test files that run
after them.

Finally, the repository was transferred to ropensci after passing the peer
review process. All repository and website links were updated to reflect this
change.

The changes in this patch were conducted with help of Claude Opus 5.