[Bioc-devel] Empty DataFrame Causes SummarizedExperiment Constructor Error

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Wed May 17 20:45:24 CEST 2023


Not sure why the colData default is DataFrame(). Seems like this has 
been the default since the birth of the SummarizedExperiment class back 
in 2010 (FWIW the class was born in the GenomicRanges package). Anyways, 
it should probably be NULL, like for rowData. Can you please open an 
issue on GitHub for this? Thanks

H.

On 5/12/23 07:00, Dario Strbenac via Bioc-devel wrote:
> Good day,
>
> The default value of colData is DataFrame(). Not specifying an informative colData is fine.
>
> countsMini <- matrix(rpois(100, 100), ncol = 10)
> colnames(countsMini) <- paste("Cell", 1:10)
> rownames(countsMini) <- paste("Gene", 1:10)
> SummarizedExperiment(assays = list(counts = countsMini)) # Creates the object successfully.
>
> But, explicitly specifying an empty DataFrame triggers an error. I don't understand why it is not equivalent to the constructor's default.
>
> SummarizedExperiment(assays = list(counts = countsMini), colData = DataFrame())
> Error in `rownames<-`(`*tmp*`, value = .get_colnames_from_first_assay(assays)) :
>    invalid rownames length
>
> What is the subtle difference? It also seems like there could be a clearer error message emitted if this is caught in the right place.
>
> --------------------------------------
> Dario Strbenac
> University of Sydney
> Camperdown NSW 2050
> Australia
> _______________________________________________
> Bioc-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

-- 
Hervé Pagès

Bioconductor Core Team
hpages.on.github using gmail.com



More information about the Bioc-devel mailing list