[Bioc-devel] non-subsettable GRanges object

Hervé Pagès hp@ge@@on@g|thub @end|ng |rom gm@||@com
Tue Apr 6 02:10:13 CEST 2021


This is fixed in S4Vectors 0.29.13: 
https://github.com/Bioconductor/S4Vectors/commit/6d79932910af9618465d5f932df5864d0a270e11

This new version of S4Vectors should propagate to the build machines and 
become available via BiocManager::install() in the next 48h or so.

Cheers,
H.

On 4/5/21 3:40 PM, Hervé Pagès wrote:
> 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:
> 
>    library(IRanges)
>    DF1 <- DataFrame(A=I(list(11:12, 21:23)))
>    DF2 <- DataFrame(A=IntegerList(31:34, 41:45, 51:56))
>    DF3 <- rbind(DF1, DF2)
>    DF3
>    # 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.
> 
> Cheers,
> H.
> 
> 
> 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