seed parameter for reproducible GSEA. WebGestaltR() and
WebGestaltRMultiOmics() now accept seed, which fixes the permutation draw so the
same input returns identical p-values and FDRs. GSEA has never been reproducible:
set.seed() could not reach the permutations, which are generated by a separate RNG
in the Rust core, and the main path seeded itself from the clock. Two runs of one
analysis could return a different number of significant sets, and nothing said so.
Requested in #9 (2021).
The default is NULL, which keeps the previous clock-seeded behaviour, so results do
not change on upgrade unless a seed is passed. ORA and NTA are unaffected — neither
uses randomness, and both were already reproducible.
A seed makes the Monte Carlo error repeatable, not smaller. A p-value near 0.05 at
perNum = 1000 still carries roughly 0.007 of sampling error; raise perNum for
precision.
swGsea()'s rng_seed now does something. It defaults to 1 and was documented
as a random seed, but had no effect in 1.0.0 or 1.0.1: the pure-R implementation called
set.seed(rng_seed), and the port to Rust dropped that without removing the parameter.
Direct callers of swGsea() therefore move from varying between runs to being
deterministic, restoring the 0.4.6 behaviour. Pass rng_seed = NULL for the 1.0.x
behaviour of drawing from system entropy.PATH. src/Makevars.in ran rustc --version before extending PATH with
~/.cargo/bin. Each line of a make recipe runs in its own shell, so that extension —
applied only to the cargo build line — never reached the version check, which failed
with rustc: No such file or directory and aborted the build before cargo ran. Both
the Unix and Windows Makevars now share one PATH definition used by every step.The default annotation dataset is now WebGestalt 2024. Previous releases sent no data version to the server and therefore received the 2019 dataset. Identical code will now return results based on 2024 annotations. Gene sets, category sizes, and consequently p-values and FDRs will differ from 0.4.x. This is the intended upgrade, but it is not a silent one: re-run any analysis you intend to compare against earlier results.
Redundancy reduction is now opt-in, and the default method changed. 0.4.x always applied
affinity propagation and weighted set cover. 1.0.0 gates these behind
useAffinityPropagation, useWeightedSetCover, and usekMedoid, with usekMedoid = TRUE
(kMedoid_k = 25) as the default in WebGestaltR(). Enrichment statistics are unaffected;
which categories are reported as representatives will change.
Removed the libc exit, _exit and abort symbols from the compiled shared object. They were
introduced by Rust's standard library, not by any code path in this package, but R CMD check
reports their presence. Where the linker supports it, references are now redirected so the
symbols do not appear at all, and any (unreachable) call is raised as an R error rather than
terminating the R session.
The summary report now shows the uploaded file name again. A mangled identifier in
summaryDescription() (interestGeneFilWEBGESTALT_DATA_VERSIONeBase instead of
interestGeneFileBase) meant the "Interesting list" field rendered empty for all supported
organisms; only the custom "others" organism was unaffected. Present since 2024-08.
cargo, rustc >= 1.63). Binary
installations from CRAN do not require a local Rust toolchain. On Windows, source installation
requires the GNU toolchain (x86_64-pc-windows-gnu), not MSVC.WebGestaltRMultiOmics() — multi-omics enrichment across gene and metabolite lists, with
meta-analysis support.multiswGsea() — weighted set cover GSEA across multiple lists.WebGestaltR(): interestGeneNames, useWeightedSetCover,
useAffinityPropagation, usekMedoid, kMedoid_k, listName.Bug fixes. Add a few advanced options for GSEA.
Bug fixes.
Add option to save downloaded data in cache. Bug fixes.
Support of multiple databases for ORA and GSEA. Adjusted column names of the returned data frame.
Bug fixes. The version with NAR update manuscript.
Major updates in HTML report and for 2019 publication
Stable version in WebGestalt 2017 update.
First submission to CRAN.