Don't know when this happened, but it looks like the SE constructor now checks for consistency in the dimnames between the rowData and colData and assays. This is fine as a default, but I'd like an option to avoid this, in much the same way that I can set withDimnames=FALSE in assays<- and assay<- to force in an assay without manual renaming.
This is motivated by two use cases:
I have a few assays and a data frame of column data. The data frame has the correct sample names but the assays do not (different casing). It is convenient to construct the SE and rely on the getters to override the incorrect column names.
My assays are DelayedMatrices and need to be renamed during SE construction. However, this would add an extra delayed layer, which persists when extracting each assay with withDimnames=FALSE. This in turn causes some downstream code to decide that the DM is not pristine and re-save the data into a new file. (The downstream functions can't avoid this with ignore.dimnames= because there are other cases where renaming is intentional and should trigger a save.) Ideally I would preserve the input state of my DelayedMatrices so that the downstreams can correctly detect duplicates.
Don't know when this happened, but it looks like the SE constructor now checks for consistency in the dimnames between the
rowData
andcolData
andassays
. This is fine as a default, but I'd like an option to avoid this, in much the same way that I can setwithDimnames=FALSE
inassays<-
andassay<-
to force in an assay without manual renaming.This is motivated by two use cases:
withDimnames=FALSE
. This in turn causes some downstream code to decide that the DM is not pristine and re-save the data into a new file. (The downstream functions can't avoid this withignore.dimnames=
because there are other cases where renaming is intentional and should trigger a save.) Ideally I would preserve the input state of my DelayedMatrices so that the downstreams can correctly detect duplicates.