Repository navigation
Clarify differential abundance dispersion and error contracts - #185
coderabbitai[bot] wants to merge 0 commit into
Conversation
|
Important Review skippedThis PR was authored by a bot without an assigned CodeRabbit review seat. Ask an organization administrator to assign a seat to the bot. See the seat-assignment guide. After the seat is assigned, request a review again. ⚙️ Run configuration
You can disable this status message by setting the
Comment |
|
Add Carrot credits or activate Agent usage billing to use Autofix |
|
Resolved the stack conflict locally with git rebase onto the current parent (#181 at 33c2ad1). Every docstring change in this child is already present in the parent’s 5607f2a documentation commit, so the resolved child has no remaining diff. Updated the child ref with an explicit expected-head lease. Closing this redundant documentation PR; the docstrings and implementation fixes remain in #181, where I am addressing the remaining review findings. |
ec2b45d to
33c2ad1
Compare
|
…181) Adds optional `dispersion: glmGamPoi` for negative-binomial differential abundance. It fits the shared dispersion trend across tested taxa, then fits MASS NB GLMs with fixed scale 1. ML remains the default. This is plug-in NB Wald inference: it does not implement glmGamPoi’s quasi-likelihood test or propagate trend-estimation uncertainty. Zero dispersion withholds NB inference for that taxon; invalid trends affect their own taxa. Missing glmGamPoi returns HTTP 503. Configuration PATCHes save canonical dispersion values and publish one complete YAML document. PATCH and DELETE validate the prospective edited configuration and affected descendant cascades under the same lock before publication. Invalid combinations return HTTP 400 with the affected descendant identified and leave files unchanged. Runs without override files retain inheritance. The frontend enum matches the saved values. The R environment adds twelve dependency records, including glmGamPoi 1.22.0, for R 4.5.0 / Bioconductor 3.22; existing package versions are retained. Dependency discovery and both CI verification lists include glmGamPoi. Repository-maintained Julia installation/coverage steps satisfy the Actions policy, and restored relevance/occupancy jobs provide all six required branch checks. Julia’s archive URL/version/checksum come from the committed pins. CoverageTools is pinned to registered release 1.4.2. The redundant documentation child #185 is closed after its command-line rebase left no unique changes. Validation: - Real glmGamPoi/MASS reference fits, Poisson boundaries, malformed trends and missing-package HTTP 503 were validated against the declared restored R dependency closure. - Current configuration regression selection: 182 assertions pass, including the real MetaManifold router, covering PATCH/GET/YAML round trips and all four DELETE scopes. - Current running-application smoke test: 18 assertions pass through the HTTP listener, including canonical configuration persistence. This verifies the API; it does not claim an interactive browser test. - Isolated actual mutation helpers: 53 checks pass. Runtime/pin/relevance suite: 242 checks pass, including changes limited to either root installer. Frontend: 43 tests and TypeScript checking pass. Lockfile validation checks 160 dependency requirements. - [Final-commit CI](https://github.com/hyperpolymath/MetaManifold-WebUI/actions/runs/39089064276) passes all six required checks, including the registered Julia scientific/integration/server suite and fresh empirical occupancy-grade validation. Julia reports 3,187 passing assertions and five skipped optional-tool probes; the existing CI configuration bypasses DADA2 taxonomy classification (`CI_SKIP_TAXONOMY=1`). Reproduce the complete registered differential and pin tests with `julia --project=. -t 2 test/runtests.jl test_differential.jl test_install_pins.jl` after restoring `renv.lock`; full CI runs `julia --project=. -t 2 --code-coverage=user --compiled-modules=no test/runtests.jl --integration --server`. --------- Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>



Change and reason
Update differential analysis docstrings to explain glmGamPoi overdispersion values and fixed theta, case-insensitive dispersion selection, incompatible methods, sample and offset requirements, failed and boundary results, and propagated errors. Document prevalence filtering, dispersion reporting, and missing-package error guidance.
Validation
Tests were not run; Julia, R and bun versions were not tested. Reviewed the pinned diff: all changes are docstrings in src/analysis/differential.jl.
Scope
Documentation only; no model implementation, dependency or lockfile changes. No issue closure is claimed.
View coding task