[Bioc-devel] non-subsettable GRanges object

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Tue Apr 6 00:40:32 CEST 2021

Hi Oleksii,

It looks like we have a long-standing bug in the rbind() method for 
DataFrame objects that is somehow surfacing now. Here is a simple example:

   DF1 <- DataFrame(A=I(list(11:12, 21:23)))
   DF2 <- DataFrame(A=IntegerList(31:34, 41:45, 51:56))
   DF3 <- rbind(DF1, DF2)
   # DataFrame with 3 rows and 1 column
   #                                        A
   #                                   <list>
   # 1                                  11,12
   # 2                               21,22,23
   # 3 31,32,33,...,41,42,43,...,51,52,53,...

This result is wrong. We observe this in release and devel.

If you look at the mcols of the GRanges object returned by getAMR() in 
your code below, you'll see that it's actually an invalid DataFrame 
object (its first column has 23 elements but 22 are expected). This is a 
consequence of the above bug. Even though the bug has existed for a long 
time, somehow it was not affecting your code. However this changed 
recently because of some minor refactoring of the rbind() method for 
DataFrame objects that I made a few days ago in S4Vectors.

I'm working on a fix and will let you know when it's ready.


On 4/5/21 1:12 PM, Oleksii Nikolaienko wrote:
> Dear Bioc team,
> my package has started to fail during the build check (
> http://bioconductor.org/checkResults/devel/bioc-LATEST/ramr/). I tried to
> figure out why and it appears that I somehow make GRanges object
> non-subsettable. Could anyone from "GenomicRanges" developers look at my
> issue and advise me on a solution, please?
> To reproduce:
> library(ramr)
> data(ramr)
> amrs <- getAMR(ramr.data, ramr.samples, ramr.method="beta", min.cpgs=5,
> merge.window=1000, qval.cutoff=1e-3, cores=2)
> # this works:
> class(amrs)
> amrs
> # error:
> amrs[2]
> # suddenly works again:
> GRangesList(amrs)[[1]][2]
> Best regards,
> Oleksii
> 	[[alternative HTML version deleted]]
> _______________________________________________
> 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