Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GiottoClass v0.4.0 #241

Merged
merged 166 commits into from
Oct 27, 2024
Merged

GiottoClass v0.4.0 #241

merged 166 commits into from
Oct 27, 2024

Conversation

jiajic
Copy link
Member

@jiajic jiajic commented Oct 27, 2024

breaking changes

  • stop exporting deprecated internal accessors
  • terra requirement raised to 1.7.41 for minCircle()
  • R version raised to 4.4.1

bug fixes

  • fix dimnames() for some subobjects
  • fix joinGiottoObject() for gobjects with only poly and point data #233
  • fix joinGiottoObject() for gobjects with image intensity overlaps features
  • fix subsetting error due to expression matrix drop to numeric when only one cell is left
  • shift_vertical_step and shift_horizontal_step args in createGiottoPolygonsFromMask() when numeric now shift by steps based on the dims of the image instead of just by the numerical value provided.
  • fix feature metadata not being mixedsorted after join
  • fix non-inclusive subsetting when not all minmax values are supplied to subsetGiottoLocs()
  • fix giottoAffineImage loading after being saved

enhancements

  • python packages to install through pip is now settable in installGiottoEnvironment() #224
  • giotto initialize() and slot checking behavior can be toggled now using 'giotto.init' and 'giotto.check_valid' options. #946 by rbutleriii
  • setGiotto() now only initializes and performs checks once all items are added if a list input is provided.
  • instructions() with no args will now call createGiottoInstructions(). You can also supply named args.
  • instructions(gobject, param) and instructions(gobject, param)<- will now work for giottoInstructions objects for convenience.
  • [, [[, $, $<-, and subset() for giotto see ?GiottoClass::subset_giotto
  • subset for spatIDs() and featIDs()
  • objName(), spatUnit(), featType() generics now return NA_character_ instead of erroring when used on unsupported classes.
  • ext() and ext<-() can now be used to get and set extent of affine2d
  • rownames(), colnames(), dimnames() for giotto
  • spatValues() can get values from multiple spatial units.
  • createGiottoPolygonsFromMask() now works with anything terra::rast() can read
  • createGiottoLargeImage() now works with anything terra::rast() can read

new

  • sliceGiotto() for pulling out specific spatial units and feature types as independent giotto objects
  • splitGiotto() for splitting a Giotto object into a list of Giotto objects based on a cell metadata column
  • as.list() method for giotto to dump the data as a list of subobjects
  • XY() and XY<-() for accessing and setting coordinate values of subobjects as matrix
  • terra convHull(), minRect(), minCircle() for Giotto spatial vector classes
  • area() for SpatVector and giottoPolygon

jiajic and others added 30 commits August 28, 2024 11:57
Add pip_packages param to allow repository selection when install conda env
Fix functions to be generalizable for more datasets
Mainly an order of operations kind of issue that violated the hierarchical checking
- TODO also deprecate the multomics internals
- removed @family and @export tags for deprecated accessors
- remove package self reference with `GiottoClass::`
- Use `setGiotto()` generic which will automatically loop over list inputs
- allow hierarchical slot checks to be turned off.
- ... arg is needed so that `setGiotto()`can pass `check_preqs` arg without erroring because the underlying accessor does not have that arg.
- allow creation of a `giotto` object without going through the full initialization workflow
- add a debug message for when initialization is run.
feat: `[` and `subset()` for `giotto`
@jiajic jiajic merged commit 1b64c31 into main Oct 27, 2024
4 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants