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

Reply via email to