The cbind,SummarizedExperiment-method checks that the rowRanges slots are equal by calling `all(x == x1)`, where x and x1 are GenomicRanges objects. This can be kind of slow and makes a large, temporary vector when length(x) is large.
I wrote a fast method to check equality of two GenomicRanges objects, see https://gist.github.com/PeteHaitch/13787125a165928e652dcfea2a8d166a. It takes it from 13.7 seconds to 0.004 seconds for a GenomicRanges object with 100M elements on my machine. It uses identical() on key slots of the GenomicRanges objects, and I'm not sure if this could return false negatives, so I fall back to all(x == x1) if the fast method returns FALSE. Could cbind,SummarizedExperiment-method be updated to use something like this? Cheers, Pete _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel