Closed brgew closed 2 years ago
I think it's because tictoc defines a List data structure, which clashes with the List data structure used throughout Bioconductor (and implemented in the S4Vectors package). I don't know what the solution is, but merely reversing the loading/attaching of packages doesn't help :(
suppressPackageStartupMessages(library(tictoc))
suppressPackageStartupMessages(library(SingleCellExperiment))
counts <- matrix(rpois(100,lambda=10),ncol=10,nrow=10)
colnames(counts) <- as.character(seq(10))
sce <- SingleCellExperiment(counts)
red_mat <- prcomp(t(counts),rank.=5)$x
reducedDims(sce)[['PCA']] <- as.matrix(red_mat)
#> Error in `[[<-`(`*tmp*`, key, value = new("DFrame", rownames = NULL, nrows = 0L, : 0 elements in value to replace 10 elements
FWIW exporting List from tictoc seems to be a recent addition (https://github.com/jabiru/tictoc/commit/8cf7894a25e1462da8114a8e96195710f2b6f3d1).
For reasons I don't quite understand, calling lapply
inside the reducedDims
setter gives me:
lapply(List(PCA=red_mat), identity)
## list()
The base lapply
function seems to change its behavior, but only when tictoc is loaded. Seems like some kind of S3/S4 dispatch bug to me.
In any case, this shoudl be fixed by 07eb78ae4dae9dbc44f64dc3796fdfd55353aa4e.
Hi,
I ran into a problem with the SingleCellExperiment method called reducedDims when the tictoc packages is loaded. A (minimal?) list of commands that reproduce the error, and the reported error, are
The session info is
Perhaps this is a problem with tictoc?
I appreciate your consideration and assistance.
Thank you.