chore: cascade dev → gsource (expression_matrix_class deprecation + overlap ids flip)#373
Merged
Conversation
…elpers The expression_matrix_class param was already deprecated in createExprObj but still had real defaults on createGiottoObject, readExprData, and readExprMatrix. createGiottoObject forwarded the default into readExprData → .read_expression_data → createExprObj, which then matched is_present() and emitted the deprecation warning on every default createGiottoObject call — generating thousands of warnings across the test suite. Three changes, same pattern as createExprObj: - Default changed from a real character vector to lifecycle::deprecated() - is_present() check emits the deprecation warning when the param is actually supplied by the caller - Param is no longer forwarded to downstream helpers .read_expression_data (internal) drops the param entirely — no external callers, no longer plumbed through. The DelayedArray / dbSparseMatrix branches in readExprMatrix are removed since the param can no longer influence return type; the function now always returns the default sparse class. Acceptable behavior change for a deprecated parameter — surfaced via the warning. Test suite: 967 / 0 (was previously generating ~3000 deprecation warnings on every run from the cascade; warning count down to 1449). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ression-matrix-class deprecate: expression_matrix_class across createGiottoObject + read helpers
- pulls `expression_matrix_class ` deprecation and a docs change
Default subset on a single axis now returns an overlapPointDT subset object, matching overlapIntensityDT (which has no ids param and always subsets) and SpatVector (legacy storage). The selection-query form (integer indices) is still available via `ovlp[i, ids = TRUE]`. Why: callers consistently want subset semantics — `.subset_overlaps_poly`, `.subset_overlaps_feat`, and the broken-then-reverted-then-broken "ids = FALSE" workarounds all converge on subset. The default returning indices was the unusual case (only documented + tested, no external callers found). Flipping it removes a footgun. Internal callers updated: - `.subset_overlaps_poly`: `[i, ids = FALSE]` → `[i]` - `.subset_overlaps_feat`: `[, i, ids = FALSE]` → `[, i]` Selection-query callers explicit: - test-aggregate.R: now uses `ovlp[i, ids = TRUE]` for the indices form, plus new test asserting `ovlp[i]` default returns overlapPointDT. Docs in classes-overlaps.R updated to reflect the new default. Side benefit: standalone polygon loads (e.g. GiottoData::loadSubObjectMini) that carry legacy SpatVector @overlaps now subset cleanly — SpatVector's [i] already returns a subset SpatVector, so .subset_overlaps_poly works without needing the ids workaround that SpatVector's [ doesn't support. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
flip overlapPointDT[i] / [,j] default: ids = TRUE → FALSE
Cascade giotto-suite#374 (flip overlapPointDT ids default TRUE → FALSE) up to gsource.
New S4 generic for the "filter form" complement to relate() — returns x narrowed by a spatial predicate rather than a relation matrix. The eager method on (giottoSpatial, giottoSpatial) wraps relate() + subset; the on- disk lazy form lives in GiottoDisk via methods on parquetGeomBase. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Five tests covering the eager filter-form contract: returns same class as x, narrowed to features satisfying the predicate; default relation is intersects; predicate choice affects narrowing; empty result is a zero-row giottoSpatial. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cascade the recent
devchanges up togsource:expression_matrix_classdeprecationoverlapPointDT[i] / [,j]default (ids = TRUE→ids = FALSE)Test plan
backendparameter work intact alongside the deprecation.