Giotto Suite 3.3.0 (2023-04-18)#
Breaking Changes#
Set Suite as default branch
Removed all deprecated accessors from
accessors.Rset_default_feat_type()error downgraded to warning when nofeat_types exist for givenspat_unitupdate
loadGiotto()andsaveGiotto()to allow using long strings as column names in the spatVector objects'active_spat_unit'and'active_feat_type'params that can be set throughinstructions()are now used instead of ‘giotto.spat_unit’ and ‘giotto.feat_type’ global optionsremoved duplicate
create_dimObject()internal function. Keepingcreate_dim_obj()
Added#
New implementations of
anndataToGiotto()andgiottoToAnnData()for Nearest Neighbor and Spatial NetworksNew
check_py_for_scanpy()function, shifting code around inanndataToGiotto()Add
initialize()method forgiottoAdd exported
createconstructor functions for Giotto S4 subobjectsAdd
activeSpatUnit()andactiveFeatType()for getting and setting active defaults on gobjectNew
get_*_list()internal functions for retrieving list of all objects of a particular class for a spat_unit and feat_typeAdd
instructions()generic forgiottoto access and editgiottoInstructionsAdd
centroids()method forgiottoPolygonto get centroid infoAdd
overlaps()generic for accessingoverlapsslot ofgiottoPolygonAdd
[and[<-(empty) access generics to get the data from main slots ofgiottoPolygonandgiottoPointsAdd cores detection to run on package attach. (
getOption('giotto.cores'))Add option to return as
giottoPointsfromgetFeatureInfo(default is stillSpatVector)Add
spatVector_to_dt2internal as a barebones alternative tospatVector_to_dt()Add
getRainbowColors()color paletteNew
assign_objnames_2_list()andassign_listnames_2_obj()internals for passing list names to object@nameslots and vice versaNew test_that
test_createObject.Rscript forreadfunctions/S4 subobject creationNew test_that
test_accessors.Rscript foraccessorfunctionsNew test_that
test_gobject.Rscript for gobject consistency checks
Changes#
Update
installGiottoEnvironment()and downstream internal functions to allow custom python installation with a new argument,mini_install_path.Update
checkGiottoEnvironment()to account for custom python installations with a new argument,mini_install_path.Update
removeGiottoEnvironment()to account for custom python installations with a new argument,mini_path.Update
createGiottoObject()with new data ingestion pipelineModify
cell_ID,feat_ID,cell_metadata,feat_metadataslot initializationUpdate
read_expression_data()andevaluate_expr_matrix()to be compatible withexprObjChange
changeGiottoInstructions()to allow addition of new params and enforce logical class of known paramsUpdate and fix bugs in
createGiottoCosMxObject()associated with polygon placement and generationUpdate
plot()forgiottoPointswith faster rasterized plotting option. (Now used by default)Fix bug in
doLouvainCluster()(sub)functions and made them compatible with new Giotto Suite framework.Fix bug in
gefToGiotto()bin_size arguments.Update
loadGiotto()andsaveGiotto()with path.expand to expand provided file/directory pathsOrganize new and refactored slot
checkfunctions ingiotto.Rfor checking gobject consistency duringinitialize()Organize new and refactored
evaluatefunctions indata_evaluation.Rfor data wrangling of external dataOrganize new and refactored
readfunctions indata_input.Rfor ingesting data and converting to list of Giotto native S4 subobjectsOrganize dummy documentation in
dd.Rfor inheriting commonly used documentationMoved
create_featureNetwork_object(),create_giotto_points_object(),create_giotto_polygon_object()to classes.RMoved
depth()from giotto.R to utilities.R
Giotto Suite 3.2.0 (2023-02-02)#
Breaking Changes#
Removed support for deprecated nesting in
@nn_networkslotcreateSpatialNetwork()will now output aspatialNetworkObjby default whenreturn_gobject = FALSE. It is possible to change this back to the data.table output by settingoutput = 'data.table'Set incomplete classes in classes.R as virtual to prevent their instantiation
Removed
createGiottoCosMxObject()aggregateandallworkflows until they are updated
Added#
New
gefToGiotto()interoperability function to convert gef object from Stereo-seq to giottoNew
giottoToAnnData()interoperability function to convert giotto object to squidpy flavor anndata .h5ad file(s)New
giottoToSpatialExperiment()andspatialExperimentToGiotto()to convert between Giotto and SpatialExperimentNew
spatialAutoCorLocal()andspatialAutoCorGlobal()functions to find spatial autocorrelations from expression and cell metadata informationNew
createSpatialWeightMatrix()function to generate spatial weight matrix from spatial networks for autocorrelationAdd spatial_interaction_spot.R with functions adapted from master branch for working with the Giotto suite object.
New exported accessors for slots (experimental)
New
multiomicsslot ingiottoAdd
coord_fix_ratioparam tospatFeatPlot2D()andspatFeatPlot2D_single()Add
orderparameter todimFeatPlot2DandspatDimFeatPlot2dto plot and order cells according to the levels of the selected feature (#477)Add
plot()method forspatialNetworkObjNew
set_row_order_dt()internal for settingdata.tableto a specific row order by referenceNew
fread_colmatch()internal for fread loading a subset of rows based on matches in a specified columnAdd missing
create_nn_net_obj()internal constructor function for S4nnNetObjAdd
id_col,x_col,y_colparams topolyStamp()to make stamp location input more flexibleAdd
optionalandcustom_msgparams topackage_check()New
wrap()andvect()generics forgiotto,giottoPoints, andgiottoPolygonsNew
rotate(),t(), andspatShiftgenerics for giotto subobject spatial manipulationNew
spatIDs()andfeatIDs()genericsNew
objName()andobjNamegenerics for setting the names of relevant S4 subobjectsNew
rbind()generic to appendgiottoPolygonobjectsAdd packages
exactextractrandsfto “suggests” packagesAdd package
progressrto “imports” packages
Changes#
Move giotto object method-specific creation functions from
giotto.Rtoconvenience.RUpdate
addFeatMetadata()to handle replacement of existing columnsUpdate
show()method forgiottoUpdate
show()method forspatEnrObjDeprecate older snake_case accessors
Deprecate
polygon_feat_namesparam in favor ofz_indicesinreadPolygonFilesVizgenHDF5()Deprecate
xy_translate_spatial_locations()in favor ofshift_spatial_locations()Optimize
readPolygonFilesVizgen()Fix bug in
replaceGiottoInstructions()where instructions with more slots than previous are not allowedFix bug in
loadGiotto()that prevents proper parsing of filenames when spat_unit or feat_type contains ’_’ charactersFix
loadGiotto()loss of over-allocation for data.tables-based objects after loading from disk
Giotto Suite 3.1.0 (2202-12-01)#
Added#
New
initialize()generic that callssetalloccol()for data.table-based S4 subobjects to allow setting by referenceNew
spatUnit,spatUnit<-,featType, andfeatType<-feat type generics for S4 subobjects for setting the relevant slotsAdd
hexVertices()to polygon shape array generation functionality
Changes#
Update
createGiottoCosMxObject()for 3.0 and modularization of functions. ‘subcellular’ workflow has been tested to work along with an updated tutorial.Update grid plotting behavior to set a default number columns to use based on number of elements to plot. Can be overridden by explicitly providing input to
cow_n_colparamFix bug in
annotateGiotto()after 3.0 update (#433)Fix bug in
joinGiottoObjects()metadata processingUpdate seed setting behavior in dimension_reduction.R and clustering.R
Giotto Suite 3.0.1 (2022-11-20)#
Added#
New system color support detection (based on crayon package logic)
Add ability to turn off colored text in
showfunctions withoptions("giotto.color_show" = FALSE)
Changes#
Fix bug in
extract_polygon_list()(#433)Update Unicode character printing with
showfunctions for Latin1 systems
Giotto Suite 3.0.0 (2022-11-18)#
Breaking Changes#
S4 subobjects framework will require giotto objects to be remade
Added#
New
createGiottoXeniumObject()for loading 10x Xenium dataNew S4 subobjects. Details can be found in classes.R
New basic generics for S4 subobjects. Mainly the use of
[]and[]<-to get or set information into the main data slotNew
@provenanceslot in S4 subobjects to track provenance of aggregated information (z_layers used for example)New
calculateOverlapPolygonImages()for calculating overlapped intensities from image-based information (e.g. IMC, IF, MIBI, …) and polygon data (e.g. cell)New
overlapImagesToMatrix()converts intensity-polygon overlap info into an expression matrix (e.g. cell by protein)New
aggregateStacks()set of functions work with multiple subcellular layers when generating aggregated expression matrices
Changes#
Update
setterfunctions to read the@spat_unitand@feat_typeslots of subobjects to determine nestingUpdate of
showfunctions to display color coded nesting names and tree structure
Giotto Suite 2.1.0 (2202-11-09)#
Breaking Changes#
Update of python version to 3.10.2 details
Added#
New
anndataToGiotto()to convert scanpy anndata to Giotto
Giotto Suite 2.0.0.998#
Added#
New
GiottoDatapackage to work with spatial datasets associated with GiottoStores the minidatasets: preprocessed giotto objects that are ready to be used in any function
Moved:
getSpatialDataset()andloadGiottoMini()functions to this package
New
saveGiotto()andloadGiotto()for preserving memory-pointer based objects. In general_help.RIt saves a Giotto object into a folder using a specific structure. Essentially a wrapper around
saveRDS()that also works with spatVector and spatRaster pointers.
New
plotInteractivePolygon()for plot-interactive polygonal selection of points.New polygon shape array creation through
polyStamp(),circleVertices,rectVertices. In giotto_structures.RAdd accessor functions
get_CellMetadata(alias ofpDataDT()),set_CellMetadata,get_FeatMetadata(alias offDataDT()),set_FeatMetadata. See accessors.RNew
filterDistributions()to generate histogram plots from expression statistics
Changes#
Deprecate
plotInteractionChangedGenes(),plotICG(),plotCPG()in favor ofplotInteractionChangedFeatures()andplotICF()andplotCPF()Deprecate
plotCellProximityGenes(), in favor ofplotCellProximityFeatures()Deprecate
plotCombineInteractionChangedGenes(),plotCombineICG(),plotCombineCPG()in favor ofplotCombineInteractionChangedFeatures()andplotCombineICF()Deprecate
findInteractionChangedGenes(),findICG(),findCPG()in favor offindInteractionChangedFeats()andfindICFDeprecate
filterInteractionChangedGenes(),filterICG(),filterCPG()in favor offilterInteractionChangedFeats()andfilterICF()Deprecate
combineInteractionChangedGenes(),combineICG(),combineCPG()in favor ofcombineInteractionChangedFeats()andcombineICF()Deprecate
combineCellProximityGenes_per_interaction()in favor ofcombineCellProximityFeatures_per_interaction()
Breaking Changes#
ICF output internal object structure names have changed to use feats instead of genes