Giotto Suite 3.0#

Breaking Changes#

  • Integration of S4_provenance branch into suite branch

    • S4 classes and methods for different Giotto slots

    • Getters and setters for different Giotto slots

    • Provenance information for Giotto slots

New features#

  • Working with intensity based data

    • calculateOverlapPolygonImages: calculates overlapping intensities from image based information (e.g. IMC, IF, MIBI, …) and polygon data (e.g. cell)

    • overlapImagesToMatrix: converts intensity-polygon overlap information into a matrix (e.g. cell by protein)

  • Aggregation of layers for subcellular datasets

    • aggregateStacksExpression: aggregate expression matrices from multiple layers (e.g. z-stacks through the same cell)

    • aggregateStacksPolygons: aggregate polygon shapes from multiple layers

    • aggregateStacksPolygonOverlaps: aggregate feature - polygon overlap information from multiple layers

    • aggregateStacks: combines the previous aggregate* functions

Giotto Suite 2.1#

Breaking Changes#

  • The default giotto python version has been upgraded to 3.10.2, and the following package versions are associated with the environment:

    • pandas==1.5.1

    • networkx==2.8.8

    • python-igraph==0.10.2

    • leidenalg==0.9.0

    • python-louvain==0.16


    • scikit-learn==1.1.3

New features#

  • Created new function anndataToGiotto()

    • Enables conversion of anndata object of scanpy flavor to Giotto.

    • The function currently handles dimension reductions (PCA, UMAP, tSNE), metadata, expression information, spatial locations, and layered data.

    • This function will be extended to include more information from the anndata object in the future.

Giotto Suite

New features#

  • GiottoData package

    • New package to work with spatial data associated with Giotto

    • Stores the minidatasets: preprocessed giotto objects that are ready to be used in any function

    • Moved: getSpatialDataset and loadGiottoMini functions to this package

  • I/O functions

    • saveGiotto

    • loadGiotto

      • All above functions to general_help.R

    • It saves a Giotto object into a folder using a specific structure. It’s essentially a wrapper around saveRDS that also works with spatVector and spatRaster pointers.

  • Interactive Polygon Filtering

    • plotInteractivePolygon

    • RShiny Gadget that enables interactive ROI filtering with polygons and the terra package

  • Polygon stamping functions

    • polyStamp

    • circleVertices

    • rectVertices

      • All above functions are in giotto_structures.R

    • circle and rect Vertices functions generate data.tables of x and y vertices that represent the respective shapes. Vertex information is accepted by the polyStamp function along with a table of spatlocs with ‘sdimx’, ‘sdimy’, and ‘cell_ID’. A data.table of polygon vertices placed at each spatloc with the respective ‘cell_ID’ will then be generated.

Minor improvements and bug fixes#

  • Accessor functions

    • get_CellMetadata (alias to pDataDT)

    • set_CellMetadata

    • get_FeatMetadata (alias to fDataDT)

    • set_FeatMetadata

      • All above functions to accessors.R

    • Required inputs: gobject, spat_unit, feat_type, data.table with new metadata (for setters)

    • Note that setters will overwrite the entire metadata slot with whatever is provided as a replacement argument

  • filterDistributions

    • auxiliary_giotto.R

    • Extended distribution summary to threshold, sum, and mean

    • Added a flexible way to scale the y-axis

  • plotInteractionChangedFeatures

    • spatial_interaction_visuals.R

    • Adapted from plotInteractionChangedGenes

    • Also made shorthand plotICF; deprecated plotICG and plotCPG

  • plotCombineInteractionChangedFeatures

    • spatial_interaction_visuals.R

    • Adapted from plotCombineInteractionChangedGenes

    • Also made shorthand plotCombineICF; deprecated plotCombineICG and plotCombineCPG

  • plotCellProximityFeatures

    • spatial_interaction_visuals.R

    • Semantics change

    • Also made shorthand plotCPF; deprecated plotCellProximityGenes and plotCPG

  • findInteractionChangedFeats

    • spatial_interactions.R

    • Adapted from findInteractionChangedGenes

    • Also made shorthand findICF; deprecated findICG and findCPG

  • filterInteractionChangedFeats

    • spatial_interactions.R

    • Adapted from filterInteractionChangedGenes

    • Also made shorthand filterICF; deprecated filterICG and filterCPG

  • combineInteractionChangedFeats

    • spatial_interactions.R

    • Adapted from combineInteractionChangedGenes

    • Also made shorthand combineICF; deprecated combineICG and combineCPG

  • combineInteractionChangedFeatures_per_interaction,

    • spatial_interactions.R

    • Updated from combineCellProximityGenes_per_interaction

    • Internal function which replaces combineCellProximityGenes_per_interaction