Diff of /R/allgenerics.R [000000] .. [413088]

Switch to side-by-side view

--- a
+++ b/R/allgenerics.R
@@ -0,0 +1,561 @@
+#' @include zzz.R
+#'
+NULL
+
+####
+# General ####
+####
+
+#' vrFeatures
+#'
+#' Get names of the features.
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#' 
+#' @rdname vrFeatures
+#' @export vrFeatures
+#' @order 1
+setGeneric("vrFeatures", function(object, ...) standardGeneric("vrFeatures"))
+
+#' Feature Data
+#'
+#' Get and set feature data from the main.assay
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrFeatureData
+#' @export vrFeatureData
+#' @order 1
+setGeneric("vrFeatureData", function(object, ...) standardGeneric("vrFeatureData"))
+
+#' @rdname vrFeatureData
+#' @export vrFeatureData<-
+setGeneric("vrFeatureData<-", function(object, ..., value) standardGeneric("vrFeatureData<-"))
+
+#' getFeatures
+#'
+#' Get variable features of assays
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname getFeatures
+#' @export getFeatures
+setGeneric("getFeatures", function(object, ...) standardGeneric("getFeatures"))
+
+#' vrData
+#'
+#' Get data of assays
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrData
+#' @export vrData
+#' @order 1
+setGeneric("vrData", function(object, ...) standardGeneric("vrData"))
+
+#' generateTileData
+#'
+#' Generating data matrices for tile-based VoltRon objects from images
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname generateTileData
+#' @export generateTileData
+#' @order 1
+setGeneric("generateTileData", function(object, ...) standardGeneric("generateTileData"))
+
+#' changeSampleNames
+#'
+#' change sample names of VoltRon or other objects
+#'
+#' @param object a VoltRon or vrMetadata object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname changeSampleNames
+#'
+#' @noRd
+setGeneric("changeSampleNames", function(object, ...) standardGeneric("changeSampleNames"))
+
+#' changeAssayNames
+#'
+#' change assay names of VoltRon or other objects
+#'
+#' @param object a VoltRon, vrSample or vrLayer object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname changeAssayNames
+#'
+#' @noRd
+setGeneric("changeAssayNames", function(object, ...) standardGeneric("changeAssayNames"))
+
+####
+# Assay ####
+####
+
+#' Main Assay
+#'
+#' Get and set the main assay of a VoltRon object
+#' 
+#' @param object a VoltRon object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrMainAssay
+#' @export vrMainAssay
+setGeneric("vrMainAssay", function(object, ...) standardGeneric("vrMainAssay"))
+
+#' @param value new assay name
+#' 
+#' @rdname vrMainAssay
+#' @export vrMainAssay<-
+setGeneric("vrMainAssay<-", function(object, ..., value) standardGeneric("vrMainAssay<-"))
+
+#' Update Assay
+#'
+#' update assays from vrAssay to vrAssayV2
+#' 
+#' @param object a VoltRon object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname updateAssay
+#' @export updateAssay
+setGeneric("updateAssay", function(object, ...) standardGeneric("updateAssay"))
+
+#' Add Assay
+#'
+#' add a new assay (vrAssay object) to a VoltRon object
+#'
+#' @param object a VoltRon object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname addAssay
+#' @export addAssay
+setGeneric("addAssay", function(object, ...) standardGeneric("addAssay"))
+
+#' Get Assay names
+#'
+#' Given a VoltRon, vrMetadata or vrAssay object, get/set names of assays.
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrAssayNames
+#' @export vrAssayNames
+#' @order 1
+setGeneric("vrAssayNames", function(object, ...) standardGeneric("vrAssayNames"))
+
+#' @rdname vrAssayNames
+#' @noRd
+setGeneric("vrAssayNames<-", function(object, ..., value) standardGeneric("vrAssayNames<-"))
+
+#' Get assay types
+#' 
+#' Given a VoltRon or vrAssay object, get types of assays. 
+#' Here, an assay type is of either tile, molecule, cell, spot or ROI.
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrAssayTypes
+#' @export vrAssayTypes
+#' @order 1
+setGeneric("vrAssayTypes", function(object, ...) standardGeneric("vrAssayTypes"))
+
+####
+# Sample ####
+####
+
+#' Get Sample names
+#'
+#' Given a vrMetadata object, give names of samples
+#'
+#' @param object a vrMetadata object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrSampleNames
+#' @export vrSampleNames
+setGeneric("vrSampleNames", function(object, ...) standardGeneric("vrSampleNames"))
+
+####
+# Metadata ####
+####
+
+#' Metadata
+#'
+#' Get the metadata of a VoltRon object.
+#'
+#' @param object a VoltRon object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname Metadata
+#' @export Metadata
+setGeneric("Metadata", function(object, ...) standardGeneric("Metadata"))
+
+#' @param value new metadata
+#'
+#' @rdname Metadata
+setGeneric("Metadata<-", function(object, ..., value) standardGeneric("Metadata<-"))
+
+####
+# Processing ####
+####
+
+#' Normalize Data
+#' 
+#' Given a VoltRon or vrAssay object, normalize the raw count data.
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#' 
+#' @rdname normalizeData
+#' @export normalizeData
+setGeneric("normalizeData", function(object, ...) standardGeneric("normalizeData"))
+
+####
+# Embedding ####
+####
+
+#' Get Embedding names
+#'
+#' Given a VoltRon or vrAssay object, give names of embeddings
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrEmbeddingNames
+#' @export vrEmbeddingNames
+#' @order 1
+setGeneric("vrEmbeddingNames", function(object, ...) standardGeneric("vrEmbeddingNames"))
+
+#' vrEmbeddings
+#'
+#' Given a VoltRon or vrAssay object, get embeddings of spatial points
+#' 
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#' 
+#' @rdname vrEmbeddings
+#' @export vrEmbeddings
+#' @order 1
+setGeneric("vrEmbeddings", function(object, ...) standardGeneric("vrEmbeddings"))
+
+#' @param value new embedding data
+#'
+#' @rdname vrEmbeddings
+#' @export vrEmbeddings<-
+setGeneric("vrEmbeddings<-", function(object, ..., value) standardGeneric("vrEmbeddings<-"))
+
+####
+# Feature ####
+####
+
+#' addFeature
+#'
+#' add a new feature set to a vrAssay (or VoltRon) object
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname addFeature
+#' @export addFeature
+#' @order 1
+setGeneric("addFeature", function(object, ...) standardGeneric("addFeature"))
+
+#' vrMainFeatureType
+#'
+#' Get the main feature type
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrMainFeatureType
+#' @export vrMainFeatureType
+#' @order 1
+setGeneric("vrMainFeatureType", function(object, ...) standardGeneric("vrMainFeatureType"))
+
+#' vrMainFeatureType
+#'
+#' Set the main image
+#'
+#' @param value the name of main feature set.
+#'
+#' @rdname vrMainFeatureType
+#' @export vrMainFeatureType<-
+setGeneric("vrMainFeatureType<-", function(object, ..., value) standardGeneric("vrMainFeatureType<-"))
+
+#' vrFeatureTypeNames
+#'
+#' Get the names of the feature types
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrFeatureTypeNames
+#' @export vrFeatureTypeNames
+#' @order 1
+setGeneric("vrFeatureTypeNames", function(object, ...) standardGeneric("vrFeatureTypeNames"))
+
+####
+# Spatial ####
+####
+
+#' vrSpatialPoints
+#'
+#' Get and set spatial entities.
+#'
+#' @param object a VoltRon, vrSample, vrLayer, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrSpatialPoints
+#' @export vrSpatialPoints
+#' @order 1
+#'
+#' @examples
+#' vrSpatialPoints(visium_data)
+#' vrSpatialPoints(visium_data, assay = "Visium")
+#' vrSpatialPoints(visium_data, assay = "Assay1")
+setGeneric("vrSpatialPoints", function(object, ...) standardGeneric("vrSpatialPoints"))
+
+#' @param value names for spatial points
+#'
+#' @rdname vrSpatialPoints
+#' @export vrSpatialPoints<-
+setGeneric("vrSpatialPoints<-", function(object, ..., value) standardGeneric("vrSpatialPoints<-"))
+
+#' vrCoordinates
+#'
+#' Given a VoltRon, vrAssay or vrSpatial object, get and set the coordinates of assays and coordinate systems
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrCoordinates
+#' @export vrCoordinates
+#' @order 1
+setGeneric("vrCoordinates", function(object, ...) standardGeneric("vrCoordinates"))
+
+#' @param value coordinates
+#' 
+#' @rdname vrCoordinates
+#' @export vrCoordinates<-
+setGeneric("vrCoordinates<-", function(object, ..., value) standardGeneric("vrCoordinates<-"))
+
+#' vrSegments
+#'
+#' Given a VoltRon, vrAssay or vrSpatial object, get and set the segment coordinates of assays and coordinate systems
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrSegments
+#' @export vrSegments
+#' @order 1
+setGeneric("vrSegments", function(object, ...) standardGeneric("vrSegments"))
+
+#' @param value segments
+#' 
+#' @rdname vrSegments
+#' @export vrSegments<-
+setGeneric("vrSegments<-", function(object, ..., value) standardGeneric("vrSegments<-"))
+
+#' flipCoordinates
+#'
+#' Flip the coordinates of spatial points in the y axis direction. 
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname flipCoordinates
+#' @export flipCoordinates
+#' @order 1
+setGeneric("flipCoordinates", function(object, ...) standardGeneric("flipCoordinates"))
+
+####
+# Image ####
+####
+
+#' vrImages
+#'
+#' Get images of VoltRon objects
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrImages
+#' @export vrImages
+#' @order 1
+setGeneric("vrImages", function(object, ...) standardGeneric("vrImages"))
+
+#' @param value a raster image or an image of \code{magick-image} object
+#' 
+#' @rdname vrImages
+#' @export vrImages<-
+setGeneric("vrImages<-", function(object, ..., value) standardGeneric("vrImages<-"))
+
+#' vrImageNames
+#'
+#' Get names of all images
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrImageNames
+#' @export vrImageNames
+setGeneric("vrImageNames", function(object, ...) standardGeneric("vrImageNames"))
+
+#' vrSpatialNames
+#'
+#' Get names of all spatial systems
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrSpatialNames
+#' @export vrSpatialNames
+setGeneric("vrSpatialNames", function(object, ...) standardGeneric("vrSpatialNames"))
+
+#' vrImageChannelNames
+#'
+#' Get names of all image channels
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrImageChannelNames
+#' @export vrImageChannelNames
+#'
+setGeneric("vrImageChannelNames", function(object, ...) standardGeneric("vrImageChannelNames"))
+
+#' vrMainImage
+#'
+#' Get the main image
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrMainImage
+#' @export vrMainImage
+#' @order 1
+setGeneric("vrMainImage", function(object, ...) standardGeneric("vrMainImage"))
+
+#' vrMainSpatial
+#'
+#' Get the main spatial system name
+#'
+#' @param object a VoltRon or vrAssay object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname vrMainSpatial
+#' @export vrMainSpatial
+#' @order 1
+setGeneric("vrMainSpatial", function(object, ...) standardGeneric("vrMainSpatial"))
+
+#' vrMainImage
+#'
+#' Set the main image
+#'
+#' @param value the name of main spatial coordinate system.
+#'
+#' @rdname vrMainImage
+#' @export vrMainImage<-
+setGeneric("vrMainImage<-", function(object, ..., value) standardGeneric("vrMainImage<-"))
+
+#' vrMainSpatial
+#'
+#' Set the main image
+#'
+#' @param value the name of main spatial coordinate system
+#'
+#' @rdname vrMainSpatial
+#' @export vrMainSpatial<-
+setGeneric("vrMainSpatial<-", function(object, ..., value) standardGeneric("vrMainSpatial<-"))
+
+#' vrMainChannel
+#'
+#' Get and set the main channel name of the spatial system.
+#' @param ... arguments passed to other methods.
+#'
+#' @param object a vrAssay or vrSpatial object
+#'
+#' @rdname vrMainChannel
+#' @export vrMainChannel
+#' @order 1
+setGeneric("vrMainChannel", function(object, ...) standardGeneric("vrMainChannel"))
+
+#' @param value the name of main channel of the spatial system
+#'
+#' @rdname vrMainChannel
+#' @export vrMainChannel<-
+setGeneric("vrMainChannel<-", function(object, ..., value) standardGeneric("vrMainChannel<-"))
+
+#' resizeImage
+#'
+#' Resizing Magick images
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname resizeImage
+#' @export resizeImage
+#'
+setGeneric("resizeImage", function(object, ...) standardGeneric("resizeImage"))
+
+#' modulateImage
+#'
+#' Modulating Magick images
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname modulateImage
+#' @export modulateImage
+#'
+setGeneric("modulateImage", function(object, ...) standardGeneric("modulateImage"))
+
+#' combineChannels
+#'
+#' Combining channels into novel channels of the same image
+#'
+#' @param object a VoltRon, vrAssay or vrSpatial object.
+#' @param ... arguments passed to other methods.
+#'
+#' @rdname combineChannels
+#' @export combineChannels
+#'
+setGeneric("combineChannels", function(object, ...) standardGeneric("combineChannels"))
+
+####
+# Conversion ####
+####
+
+#' as.VoltRon
+#'
+#' Generic methods for conversion into a VoltRon object
+#'
+#' @param object a Seurat or SpatialExperiment object
+#' @param ... Arguments passed to other methods
+#'
+#' @rdname as.VoltRon
+#' @export as.VoltRon
+as.VoltRon <- function(object, ...) {
+  UseMethod(generic = 'as.VoltRon', object = object)
+}
+
+#' as.Zarr
+#'
+#' Generic methods to save VoltRon or magick-image objects as zarr files
+#'
+#' @param object a VoltRon or magick-image object
+#' @param out_path output path to zarr file
+#' @param image_id image name
+#'
+#' @rdname as.Zarr
+#' @export as.Zarr
+#'
+as.Zarr <- function(object, out_path, image_id) {
+  UseMethod(generic = 'as.Zarr', object = object)
+}
\ No newline at end of file