Skip to content

Commit

Permalink
Rename rowData to rowRanges and deprecate rowData
Browse files Browse the repository at this point in the history
  • Loading branch information
jimhester committed Mar 2, 2015
1 parent b93455d commit 5572bc8
Show file tree
Hide file tree
Showing 10 changed files with 151 additions and 137 deletions.
3 changes: 2 additions & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ export(
## SummarizedExperiment-class.R:
SummarizedExperiment,
exptData, "exptData<-",
rowRanges, "rowRanges<-",
rowData, "rowData<-",
colData, "colData<-",
assays, "assays<-",
Expand All @@ -145,7 +146,7 @@ exportMethods(
granges, grglist, rglist,
SummarizedExperiment,
exptData, "exptData<-",
rowData, "rowData<-",
rowRanges, "rowRanges<-",
colData, "colData<-",
assays, "assays<-",
assay, "assay<-",
Expand Down
2 changes: 2 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ CHANGES IN VERSION 1.20.0
NEW FEATURES

o Add 'assayNames', 'assayNames<-' for SummarizedExperiment
o Deprecate 'rowData', 'rowData<-' for SummarizedExperiment
o Add 'rowRanges', 'rowRanges<-' for SummarizedExperiment

CHANGES IN VERSION 1.18.0
-------------------------
Expand Down
85 changes: 48 additions & 37 deletions R/SummarizedExperiment-class.R
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ setClass("SummarizedExperiment",
NULL
}

.valid.SummarizedExperiment.rowData_dims <- function(x)
.valid.SummarizedExperiment.rowRanges_dims <- function(x)
{
if (!all(sapply(assays(x, withDimnames=FALSE), nrow) ==
length(rowData(x))))
return("'rowData' length differs from 'assays' nrow")
length(rowRanges(x))))
return("'rowRanges' length differs from 'assays' nrow")
NULL
}

Expand All @@ -79,7 +79,7 @@ setClass("SummarizedExperiment",

.valid.SummarizedExperiment.assays_dims <- function(x)
{
c(.valid.SummarizedExperiment.rowData_dims(x),
c(.valid.SummarizedExperiment.rowRanges_dims(x),
.valid.SummarizedExperiment.colData_dims(x))
}

Expand Down Expand Up @@ -204,10 +204,22 @@ setGeneric("exptData<-",
## rowData, colData seem too vague, but from eSet derived classes wanted to
## call the rows / cols something different from 'features' or 'samples', so
## might as well avoid the issue
setGeneric("rowData", function(x, ...) standardGeneric("rowData"))
setGeneric("rowRanges", function(x, ...) standardGeneric("rowRanges"))

setGeneric("rowData<-",
function(x, ..., value) standardGeneric("rowData<-"))
setGeneric("rowRanges<-",
function(x, ..., value) standardGeneric("rowRanges<-"))

rowData <- function(...)
{
.Deprecated("rowRanges")
rowRanges(...)
}

`rowData<-` <- function(x, ..., value)
{
.Deprecated("rowRanges<-")
rowRanges(x, ...) <- value
}

setGeneric("colData", function(x, ...) standardGeneric("colData"))

Expand Down Expand Up @@ -249,24 +261,24 @@ setReplaceMethod("exptData", c("SummarizedExperiment", "list"),
clone(x, ..., exptData=SimpleList(value))
})

setMethod(rowData, "SummarizedExperiment",
setMethod(rowRanges, "SummarizedExperiment",
function(x, ...) value(x, "rowData"))

.SummarizedExperiment.rowData.replace <-
.SummarizedExperiment.rowRanges.replace <-
function(x, ..., value)
{
x <- clone(x, ..., rowData=value)
msg <- .valid.SummarizedExperiment.rowData_dims(x)
msg <- .valid.SummarizedExperiment.rowRanges_dims(x)
if (!is.null(msg))
stop(msg)
x
}

setReplaceMethod("rowData", c("SummarizedExperiment", "GenomicRanges"),
.SummarizedExperiment.rowData.replace)
setReplaceMethod("rowRanges", c("SummarizedExperiment", "GenomicRanges"),
.SummarizedExperiment.rowRanges.replace)

setReplaceMethod("rowData", c("SummarizedExperiment", "GRangesList"),
.SummarizedExperiment.rowData.replace)
setReplaceMethod("rowRanges", c("SummarizedExperiment", "GRangesList"),
.SummarizedExperiment.rowRanges.replace)

setMethod(colData, "SummarizedExperiment",
function(x, ...) value(x, "colData"))
Expand Down Expand Up @@ -392,23 +404,23 @@ setReplaceMethod("assay",
setMethod(dim, "SummarizedExperiment",
function(x)
{
c(length(rowData(x)), nrow(colData(x)))
c(length(rowRanges(x)), nrow(colData(x)))
})

setMethod(dimnames, "SummarizedExperiment",
function(x)
{
list(names(rowData(x)), rownames(colData(x)))
list(names(rowRanges(x)), rownames(colData(x)))
})

setReplaceMethod("dimnames", c("SummarizedExperiment", "list"),
function(x, value)
{
rowData <- rowData(x)
names(rowData) <- value[[1]]
rowRanges <- rowRanges(x)
names(rowRanges) <- value[[1]]
colData <- colData(x)
rownames(colData) <- value[[2]]
clone(x, rowData=rowData, colData=colData)
clone(x, rowData=rowRanges, colData=colData)
})

setReplaceMethod("dimnames", c("SummarizedExperiment", "NULL"),
Expand Down Expand Up @@ -482,7 +494,7 @@ setMethod("[", c("SummarizedExperiment", "ANY", "ANY"),
if (!missing(i) && !missing(j)) {
ii <- as.vector(i)
jj <- as.vector(j)
x <- clone(x, ..., rowData=rowData(x)[i],
x <- clone(x, ..., rowData=rowRanges(x)[i],
colData=colData(x)[j, , drop=FALSE],
assays=.SummarizedExperiment.assays.subset(x, ii, jj))
} else if (missing(i)) {
Expand All @@ -491,7 +503,7 @@ setMethod("[", c("SummarizedExperiment", "ANY", "ANY"),
assays=.SummarizedExperiment.assays.subset(x, j=jj))
} else { # missing(j)
ii <- as.vector(i)
x <- clone(x, ..., rowData=rowData(x)[i],
x <- clone(x, ..., rowData=rowRanges(x)[i],
assays=.SummarizedExperiment.assays.subset(x, ii))
}
x
Expand Down Expand Up @@ -553,9 +565,9 @@ setReplaceMethod("[",
jj <- as.vector(j)
x <- clone(x, ..., exptData=c(exptData(x), exptData(value)),
rowData=local({
r <- rowData(x)
r[i] <- rowData(value)
names(r)[ii] <- names(rowData(value))
r <- rowRanges(x)
r[i] <- rowRanges(value)
names(r)[ii] <- names(rowRanges(value))
r
}), colData=local({
c <- colData(x)
Expand All @@ -580,13 +592,13 @@ setReplaceMethod("[",
ii <- as.vector(i)
x <- clone(x, ..., exptData=c(exptData(x), exptData(value)),
rowData=local({
r <- rowData(x)
r[i] <- rowData(value)
names(r)[ii] <- names(rowData(value))
r <- rowRanges(x)
r[i] <- rowRanges(value)
names(r)[ii] <- names(rowRanges(value))
r
}), assays=.SummarizedExperiment.assays.subsetgets(x, ii,
..., value=value))
msg <- .valid.SummarizedExperiment.rowData_dims(x)
msg <- .valid.SummarizedExperiment.rowRanges_dims(x)
}
if (!is.null(msg))
stop(msg)
Expand All @@ -609,13 +621,12 @@ setMethod("rbind", "SummarizedExperiment",
stop("'...' objects must have the same colnames")
if (!.compare(lapply(args, ncol)))
stop("'...' objects must have the same number of samples")
rowData <- do.call(c, lapply(args,
function(i) slot(i, "rowData")))
rowRanges <- do.call(c, lapply(args, rowRanges))
colData <- .cbind.DataFrame(args, colData, "colData")
assays <- .bind.arrays(args, rbind, "assays")
exptData <- do.call(c, lapply(args, exptData))

initialize(args[[1]], assays=assays, rowData=rowData,
initialize(args[[1]], assays=assays, rowData=rowRanges,
colData=colData, exptData=exptData)
}

Expand All @@ -629,15 +640,15 @@ setMethod("cbind", "SummarizedExperiment",

.cbind.SummarizedExperiment <- function(args)
{
if (!.compare(lapply(args, rowData), TRUE))
if (!.compare(lapply(args, rowRanges), TRUE))
stop("'...' object ranges (rows) are not compatible")
rowData <- rowData(args[[1]])
mcols(rowData) <- .cbind.DataFrame(args, mcols, "mcols")
rowRanges <- rowRanges(args[[1]])
mcols(rowRanges) <- .cbind.DataFrame(args, mcols, "mcols")
colData <- do.call(rbind, lapply(args, colData))
assays <- .bind.arrays(args, cbind, "assays")
exptData <- do.call(c, lapply(args, exptData))

initialize(args[[1]], assays=assays, rowData=rowData,
initialize(args[[1]], assays=assays, rowData=rowRanges,
colData=colData, exptData=exptData)
}

Expand Down Expand Up @@ -793,8 +804,8 @@ setMethod(show, "SummarizedExperiment",
dlen <- sapply(dimnames, length)
if (dlen[[1]]) scat("rownames(%d): %s\n", dimnames[[1]])
else scat("rownames: NULL\n")
scat("rowData metadata column names(%d): %s\n",
names(mcols(rowData(object))))
scat("rowRanges metadata column names(%d): %s\n",
names(mcols(rowRanges(object))))
if (dlen[[2]]) scat("colnames(%d): %s\n", dimnames[[2]])
else cat("colnames: NULL\n")
scat("colData names(%d): %s\n", names(colData(object)))
Expand Down
Loading

0 comments on commit 5572bc8

Please sign in to comment.