Record of all changes made by Claude Code in this repository.
- Added SIF auto-download to
tests/test.shandvalidation/validate.sh— both scripts now check for the SIF file at$CONTAINER_PATH/bioc_cosia_1.10.0.sifbefore running. If missing, they pull it viasingularity pullfromdocker://lizzyr/bioc_cosia:1.10.0. The source URI can be overridden with theCOSIA_SIF_URIenvironment variable.
- Bumped version
DESCRIPTION: 1.11.1 → 1.11.2. 1.11.1 is the current Bioconductor production version (with the CV_Tissue bug); 1.11.2 is the fixed release. - Revised validation scripts — clarified that 1.11.1 is the production version, not a Bioconductor release from a separate branch. Rewrote all three scripts to cover all six metric types.
01_run_bioc.R: tests all metrics against 1.11.1, expects CV_Tissue to crash, captures reference values for working metrics.02_run_dev.R: tests all metrics against 1.11.2, all should succeed.03_compare.R: three-part strategy — (1) confirm CV_Tissue crashes in 1.11.1 and succeeds in 1.11.2 with structural checks + cross-species consistency check; (2) exact value match for unchanged metrics (CV_Species, DS_*); (3) manual spot-check instructions.
-
Added GitHub Actions workflow (
.github/workflows/test.yml) — runs the test suite on every push and pull request todevelandmain. Uses the officialbioconductor/bioconductor_docker:RELEASE_3_22container. Caches R packages (keyed toDESCRIPTION) and ExperimentHub data (static key since datasets EH7858–EH7863 are versioned) to minimise run time. -
Added validation scripts (
validation/) — three scripts for comparing Bioconductor release vs dev outputs to verify correctness of the CV_Tissue merge rewrite:01_run_bioc.R,02_run_dev.R,03_compare.R. Tests single-species (must match exactly), two-species, and three-species cases. Includes manual spot-check instructions. -
Updated
.Rbuildignore— addedvalidation/,CLAUDE.md, andCLAUDE_CHANGELOG.mdso they are excluded from the package tarball.
- Created
CLAUDE.md— initial guidance file documenting project overview, common commands, architecture, key files, and conventions. - Removed deprecation markers — CoSIA was listed on a Bioconductor deprecation candidate list but was never actually removed; it remains active in Bioconductor 3.22 at v1.10.1. Removed the
.Deprecated()call fromR/zzz.RandPackageStatus: DeprecatedfromDESCRIPTION. - Created unit test suite — added
tests/testthat.Rand five test files covering the full public API:tests/testthat/helper-CoSIA.R— shared fixtures andskip_if_no_experimenthub()helpertests/testthat/test-CoSIAn-constructor.R— 11 tests for constructor validation (offline)tests/testthat/test-viewCoSIAn.R— 4 tests for theviewCoSIAnaccessor (offline)tests/testthat/test-getConversion.R— 5 tests for gene ID/ortholog conversion; 4 run offline via annotationDBI + HomoloGene, 1 skips without network (NCBIOrtho)tests/testthat/test-getGEx.R— 5 tests for ExperimentHub expression data retrieval (skip if offline)tests/testthat/test-getGExMetrics.R— 9 tests covering all 6 metric types (skip if offline)
- Updated
DESCRIPTION— addedConfig/testthat/edition: 3to declare testthat edition 3. - Updated
CLAUDE.md— added Claude Changelog section requiring this file to be updated with every Claude session; corrected stale note aboutzzz.R. - Fixed
viewCoSIAnbug (R/CoSIA-utility-method.R) — replacedifelse()withif/else.ifelse()is vectorized and strips S3 attributes, causing it to return a bare scalar instead of the data frame slot value. - Fixed
CV_Tissuemulti-species bug (R/CoSIA-getGExMetrics-method.R) — rewrote the merge loop that accumulated the growing result back into itself on each iteration, creating a Cartesian product with cascading.x/.yduplicate columns and a brokenAnatomical_entity_namecolumn (also contained a typo"Anatomical_enti_name.y"). Replaced with a per-species independent left join against the originalid_dataframe, combining results by joining on all ID columns +Anatomical_entity_name.