Repository navigation
v0.18.0 — DE tables from score_cellstream, and bundles that survive a release
Install
pip install -U cell-eval2Requires Python 3.11+. The extras are unchanged since 0.16.0: [gpu], [gpudge], [scale].
Scoring is unchanged
rule_version stays 3, and the competition rule digest is bit-identical to 0.16.0's. No scored number moves.
A release no longer invalidates a validation bundle. cell_eval2_version is now recorded in every artifact and no longer compared on the bundle path, so bundles built under rule_version 3 — at 0.15.0 or 0.16.0 — score under 0.18.0. The stamp is still validated: a missing, empty or non-string value fails closed. The rule itself is still enforced: a bundle built under a different rule_version is refused, as before. BREAKING for direct callers only: AnchorExpect loses its version field. The loose --baseline-agg path still compares the version, and the comparison can still be waived.
Added
score_cellstream(..., write_de=True)writes the gene-level DE tables,de_real.parquetandde_pred.parquet, next to the score frames. It is off by default and requiresoutdir. It uses the same writer as the in-memory--write-degenespath, so both paths emit one schema.- The jackknife's per-gene decomposition, opt-in (
per_gene_jk=True). Nothing requests it by default, and the scalar correction is bit-identical whichever route builds it.
Fixed
- With
control_source="real"on a CPU DE backend, a duplicated gene axis is now refused with aValueErrornaming the duplicated labels. Before, the error type depended on the installed anndata: 0.13.3 raisespandas.errors.InvalidIndexErrorwhere 0.13.2 raisedValueError.
Why there is no 0.17.0
The development tree carried the version 0.17.0 for several weeks before this release. Builds from it stamped that number, even though they lacked some of these changes. The release therefore takes 0.18.0, so that no unreleased build shares its number. An artifact stamped 0.17.0 came from an unreleased development build.
Credits
Chris Carpenter (@cachris1) reported the missing DE-table export from score_cellstream and contributed the fix. Nick Youngblut (@nick-youngblut) wrote the duplicated-gene-axis guard.
Note on issue numbers
Issue and pull-request numbers in CHANGELOG.md refer to the internal development repository this tree was copied from, not to this one.