Skip to content

Commit

Permalink
use drops() for bookkeeping instead of metadata() when assays are rem…
Browse files Browse the repository at this point in the history
…oved
  • Loading branch information
LiNk-NY committed Aug 18, 2023
1 parent b3bd0b8 commit 7291e52
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 23 deletions.
5 changes: 3 additions & 2 deletions NAMESPACE
@@ -1,6 +1,7 @@
# Generated by roxygen2: do not edit by hand

S3method(.DollarNames,MultiAssayExperiment)
export("drops<-")
export("experiments<-")
export("sampleMap<-")
export(DataFrame)
Expand All @@ -9,6 +10,7 @@ export(MatchedAssayExperiment)
export(MultiAssayExperiment)
export(MultiAssayExperimentToMAF)
export(anyReplicated)
export(drops)
export(experiments)
export(exportClass)
export(getWithColData)
Expand Down Expand Up @@ -47,7 +49,6 @@ exportMethods("[[<-")
exportMethods("colData<-")
exportMethods("colnames<-")
exportMethods("experiments<-")
exportMethods("metadata<-")
exportMethods("names<-")
exportMethods("sampleMap<-")
exportMethods(anyReplicated)
Expand All @@ -58,13 +59,13 @@ exportMethods(colData)
exportMethods(colnames)
exportMethods(complete.cases)
exportMethods(dimnames)
exportMethods(drops)
exportMethods(experiments)
exportMethods(exportClass)
exportMethods(hasRowRanges)
exportMethods(isEmpty)
exportMethods(length)
exportMethods(mergeReplicates)
exportMethods(metadata)
exportMethods(names)
exportMethods(replicated)
exportMethods(replicates)
Expand Down
26 changes: 12 additions & 14 deletions R/MultiAssayExperiment-class.R
Expand Up @@ -573,12 +573,6 @@ setMethod("colData", "MultiAssayExperiment", function(x, ...) {
getElement(x, "colData")
})

#' @exportMethod metadata
#' @rdname MultiAssayExperiment-methods
setMethod("metadata", "MultiAssayExperiment", function(x)
c(getElement(x, "metadata"), drops = getElement(x, "drops"))
)

### - - - - - - - - - - - - - - - - - - - - - - - -
### Getters
###
Expand All @@ -595,6 +589,15 @@ setMethod("names", "MultiAssayExperiment", function(x)
names(experiments(x))
)

#' @export
setGeneric("drops", function(x) standardGeneric("drops"))

#' @exportMethod drops
#' @describeIn MultiAssayExperiment Get information about dropped experiments
setMethod("drops", "MultiAssayExperiment", function(x) {
getElement(x, "drops")
})

### - - - - - - - - - - - - - - - - - - - - - - - -
### Replacers
###
Expand Down Expand Up @@ -636,16 +639,18 @@ setReplaceMethod("sampleMap", c("MultiAssayExperiment", "ANY"),
setGeneric("experiments<-", function(object, value)
standardGeneric("experiments<-"))

#' @export
setGeneric("drops<-", function(x, ..., value) standardGeneric("drops<-"))

#' @exportMethod experiments<-
#' @rdname MultiAssayExperiment-methods
setReplaceMethod("experiments", c("MultiAssayExperiment", "ExperimentList"),
function(object, value) {
if (!any(names(object) %in% names(value)) && !isEmpty(object)) {
if (isEmpty(drops(x)))
warning("'experiments' dropped; see 'drops()'", call. = FALSE)
drops(object) <-
list(experiments = setdiff(names(object), names(value)))
warning("'experiments' dropped; see 'metadata'", call. = FALSE)
}
o_cnames <- colnames(object)
v_cnames <- colnames(value)
Expand Down Expand Up @@ -732,13 +737,6 @@ setReplaceMethod("colData", c("MultiAssayExperiment", "ANY"),
}
)

#' @exportMethod metadata<-
#' @rdname MultiAssayExperiment-methods
setReplaceMethod("metadata", c("MultiAssayExperiment", "ANY"),
function(x, ..., value) {
slot(x, "metadata") <- value
return(x)
})

setReplaceMethod("drops", c("MultiAssayExperiment", "ANY"),
function(x, ..., value) {
Expand Down
3 changes: 2 additions & 1 deletion R/subsetBy-methods.R
Expand Up @@ -333,8 +333,9 @@ setMethod("subsetByAssay", c("MultiAssayExperiment", "ANY"), function(x, y) {
subexp <- experiments(x)[y]
dropnames <- setdiff(names(experiments(x)), names(subexp))
if (length(dropnames)) {
if (isEmpty(drops(x)))
warning("'experiments' dropped; see 'drops()'", call. = FALSE)
drops(x) <- list(experiments = dropnames)
warning("'experiments' dropped; see 'metadata'", call. = FALSE)
}
experiments(x) <- subexp
return(x)
Expand Down
5 changes: 5 additions & 0 deletions man/MultiAssayExperiment-class.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 0 additions & 6 deletions man/MultiAssayExperiment-methods.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 7291e52

Please sign in to comment.