read_and_preprocess_data() has been removed. Its responsibilities are now
handled internally by each test function via the new .prepare_data() helper
in utils.R. Existing scripts that called this function directly must be
updated to pass dataframe, con1, con2, exp1, exp2 to the test
functions or to DGEAR() instead.Unified function interface: all five test functions
(perform_t_test, perform_anova, perform_dunnett_test,
perform_h_test, perform_wilcox_test) now share a consistent signature:
(dataframe, con1, con2, exp1, exp2, alpha = 0.05, annot_df = NULL).
Optional gene annotation (annot_df): users may supply a GEO SOFT-style
annotation data.frame with columns ID and Gene.Symbol (or
Gene.symbol) to map probe row names to gene symbols. When annot_df = NULL
(the default), row names of dataframe are used directly — making the
package fully usable without any annotation file.
Richer DGEAR() return value: the main function now returns a named list
with four elements:
DEGs — genes that passed majority votingFDR_Table — per-test BH-adjusted p-values, Fisher-combined FDR,
ensemble voting score, and log2FC for every geneResults_Table — concise summary (G_Symbol, CombineFDR, log2FC, Ensemble)IndividualTests — raw Table and DEGs output from each of the five
test functionsFisher's combined p-value: DGEAR() now computes a combined p-value
across all five tests using metapod::parallelFisher and includes it as
CombineFDR in FDR_Table and Results_Table.
Internal helpers in utils.R: .prepare_data() centralises log2
normalisation and .resolve_symbols() centralises gene symbol resolution,
eliminating code duplication across test files.
Defensive Dunnett test: perform_dunnett_test() now silently assigns
NA p-values to genes with zero variance, NA values, or infinite values,
rather than throwing an error that would abort the full analysis.
Input validation in DGEAR(): informative stop() messages are raised
for invalid column ranges, alpha outside (0, 1), or votting_cutoff
outside 1–5.
82-test testthat suite: tests/testthat/ now contains 7 test files
covering structure, value sanity, biological correctness, defensive handling,
alpha/cutoff sensitivity, and annotation behaviour for every exported
function.
Interactive demo script: inst/examples/DGEAR_demo.R is a fully
annotated walkthrough callable via
source(system.file("examples", "DGEAR_demo.R", package = "DGEAR")).
Eliminated the R CMD check NOTE "no visible binding for global variable
'G_Symbol'" by removing all reliance on globally defined annotation vectors.
Gene symbols are now always resolved locally inside each function.
Removed library(DGEAR) from all \examples{} blocks in .Rd files;
R CMD check loads the package automatically, so the call caused an error.
Wrapped perform_dunnett_test() examples in \donttest{} to prevent
R CMD check failures from the DescTools::DunnettTest external dependency
in constrained check environments.
fdr columns are now consistently typed as integer (0L / 1L) rather than
a mix of NA and numeric 1.
BH.perform_h_test(): removed the FC parameter; fold-change is now computed
internally from the data.perform_wilcox_test(): internal improvements.NEWS.md with newsmd.