Hello all,

At the start of the SummarizedExperiment constructor, there's a code block that throws an error if 'colData' is not specified and the assay matrices don't have column names.

Is this really necessary? In many cases, I just want to get a matrix into the SE0 object without having to worry about column names. It doesn't seem like there's a requirement for this in the SE0 class, either; it seems happy with 'colnames(se0) <- NULL', and setting 'colData' to a 'DataFrame' with 'NULL' row names doesn't break the constructor.

The requirement for column names causes issues for some manipulations - for example:

out <- SummarizedExperiment(matrix(0, 10, 5), colData=DataFrame(row.names=1:5))
out[,1] <- out[,2]

## Error in `rownames<-`(`*tmp*`, value = c("2", "2", "3", "4", "5")) :
##  duplicate rownames not allowed

While this is fair enough, it's a bit annoying if I didn't want or need the names in the first place.

The error mentioned above precedes the construction of the missing 'colData', so if column names are missing, then a more general way to construct the 'colData' would to do 'new("DataFrame", nrows=ncol(assays))'.

Cheers,

Aaron

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to