Saw the fix: could this be considered a bug in the methods package? It seems callNextMethod gets confused with .local(). That said, I like explicit argument passing.
On Tue, Oct 29, 2013 at 2:15 PM, Hervé Pagès <hpa...@fhcrc.org> wrote: > Hi Thomas, > > This is addressed in IRanges 1.20.4 (release) and 1.21.7 (devel). > Both should become available thru biocLite() in the next 24 hours > or so. > > Cheers, > H. > > > > On 10/28/2013 04:01 PM, Hervé Pagès wrote: > >> On 10/28/2013 11:16 AM, Hervé Pagès wrote: >> >>> Hi Thomas, >>> >>> Thanks for the report. I'm looking at this. Will let you know >>> when the problem is fixed. >>> >> >> What has changed in BioC 2.13 is that, by default, the RleList() >> constructor now returns a CompressedRleList object instead of a >> SimpleRleList object: >> >> return_rles <- RleList(Rle(values=TRUE,lengths=151), >> Rle(values=TRUE,lengths=151), >> Rle(values=TRUE,lengths=151)) >> Then: >> >> > class(return_rles) # used to be SimpleRleList (in BioC < 2.13) >> [1] "CompressedRleList" >> attr(,"package") >> [1] "IRanges" >> >> and `[<-` doesn't work (and never has) on a CompressedRleList object >> when the subscript is a list-like object: >> >> > return_rles[ list(20:108, 41:131, 21:105) ] <- TRUE >> Error in callNextMethod() : >> in processing 'callNextMethod', found a '...' in the matched call, >> but no corresponding '...' argument >> >> So an immeadiate work-around for you is to call RleList() with >> 'compress=FALSE' to create a SimpleRleList object: >> >> return_rles <- RleList(Rle(values=TRUE,lengths=151), >> Rle(values=TRUE,lengths=151), >> Rle(values=TRUE,lengths=151), >> compress=FALSE) >> >> Then: >> >> > return_rles[ list(20:108, 41:131, 21:105) ] <- TRUE >> >> This also works with an IRangesList subscript: >> >> keep_ranges <- IRangesList(IRanges(start=20, end=108), >> IRanges(start=41, end=131), >> IRanges(start=21, end=105)) >> >> Then: >> >> > return_rles[ keep_ranges ] <- TRUE >> >> 2 issues that need to be addressed: >> (1) `[<-` should work on a CompressedRleList object when using a >> list-like subscript. >> (2) The RleList() constructor should warn that its behavior has >> changed when called without specifying the 'compress' arg. >> A fix is on its way. >> >> H. >> >> >> >>> H. >>> >>> >>> On 10/25/2013 11:33 AM, Thomas Sandmann wrote: >>> >>>> Sorry, forgot that attachments don't make it through. >>>> Here's how to generate the example objects and reproduce the error: >>>> >>>> library(IRanges) >>>> keep_ranges <- IRangesList( IRanges( start=20, end=108), IRanges( >>>> start=41, >>>> end=131), IRanges( start=21, end=105)) >>>> return_rles <- RleList( Rle(values=TRUE,lengths=151), >>>> Rle(values=TRUE,lengths=151), Rle(values=TRUE,lengths=151)) >>>> return_rles[ keep_ranges ] <- TRUE >>>> >>>> return_rles[ keep_ranges ] ## subsetting works >>>> return_rles[ keep_ranges ] <- TRUE ## assignment doesn't work >>>> Error in callNextMethod() : >>>> in processing 'callNextMethod', found a '...' in the matched call, >>>> but no >>>> corresponding '...' argument >>>> >>>> >>>> >>>> On Fri, Oct 25, 2013 at 11:23 AM, Thomas Sandmann <sandm...@gene.com> >>>> wrote: >>>> >>>> Dear BioC developers, >>>>> >>>>> I am trying to subset an RleList with an IRangesList (see attached >>>>> rdata >>>>> object). Unfortunately, the following line fails with IRanges 1.20.0: >>>>> >>>>> return_rles[keep_ranges] <- TRUE >>>>> Error in subsetListByList_replace(x, i, value) : >>>>> cannot subscript an unnamed list-like object by a named list-like >>>>> object >>>>> >>>>> Unnaming the IRangesList doesn't help, either: >>>>> >>>>> return_rles[unname(keep_ranges)] <- TRUE >>>>> Error in callNextMethod() : >>>>> in processing 'callNextMethod', found a '...' in the matched call, >>>>> but >>>>> no corresponding '...' argument >>>>> >>>>> The same operation worked with IRanges 1.18.2 using the (now >>>>> deprecated) >>>>> seqselect method: >>>>> >>>>> seqselect( return_rles, keep_ranges ) <- TRUE >>>>> >>>>> Any hints ? >>>>> >>>>> Thanks, >>>>> Thomas >>>>> >>>>> SessionInfo() >>>>> R version 3.0.2 (2013-09-25) >>>>> Platform: x86_64-apple-darwin10.8.0 (64-bit) >>>>> >>>>> locale: >>>>> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 >>>>> >>>>> attached base packages: >>>>> [1] parallel stats graphics grDevices utils datasets methods >>>>> base >>>>> >>>>> other attached packages: >>>>> [1] BiocInstaller_1.12.0 IRanges_1.20.0 BiocGenerics_0.8.0 >>>>> devtools_1.3 >>>>> >>>>> loaded via a namespace (and not attached): >>>>> [1] digest_0.6.3 evaluate_0.5.1 httr_0.2 memoise_0.1 >>>>> RCurl_1.95-4.1 stats4_3.0.2 stringr_0.6.2 >>>>> [8] tools_3.0.2 whisker_0.3-2 >>>>> >>>>> >>>> >>>> >>>> >>> >> > -- > Hervé Pagès > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpa...@fhcrc.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 > > _______________________________________________ > Bioc-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/bioc-devel > [[alternative HTML version deleted]]
_______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel