I think we should just drop the names for the user. The Bioc <2.13 behavior
seems reasonable to me. Please elaborate on the subtle issues. Most users
would not expect the *names* on the index to have any effect on the
extraction, in accordance with the behavior of ordinary vectors. The only
difference with Lists is that there is a partitioning, which seems
unrelated to naming.

Michael


On Tue, Oct 29, 2013 at 3:40 PM, Hervé Pagès <hpa...@fhcrc.org> wrote:

> Hi Thomas,
>
> For the same reasons that you cannot subset by names a Vector object
> with no names:
>
>   > IRanges(1:4, width=10)[letters[1:4]]
>   Error in normalizeSingleBracketSubscrip**t(i, x) :
>     cannot subset by character when names are NULL
>
> you cannot subset an unnamed List object using a named list-like
> subscript. So in your case, just remove the names on 'keep_ranges'
> (which are probably not desired anyway) before using it as a
> subscript:
>
>
>   > keep_ranges
>   CompressedIRangesList of length 18
>   $`1`
>   IRanges of length 1
>       start end width
>   [1]    20 108    89
>
>   $`2`
>   IRanges of length 1
>       start end width
>   [1]    43 131    89
>
>   $`3`
>   IRanges of length 1
>       start end width
>   [1]    21 105    85
>
>   ...
>   <15 more elements>
>
>   > return_rles[ unname(keep_ranges) ]
>   RleList of length 18
>   [[1]]
>   logical-Rle of length 89 with 1 run
>     Lengths:   89
>     Values : TRUE
>
>   [[2]]
>   logical-Rle of length 89 with 1 run
>     Lengths:   89
>     Values : TRUE
>
>   [[3]]
>   logical-Rle of length 85 with 1 run
>     Lengths:   85
>     Values : TRUE
>
>   [[4]]
>   logical-Rle of length 85 with 1 run
>     Lengths:   85
>     Values : TRUE
>
>   [[5]]
>   logical-Rle of length 102 with 1 run
>     Lengths:  102
>     Values : TRUE
>
>   ...
>   <13 more elements>
>
> Prior to BioC 2.13, it was possible to subset an unnamed List object by
> a named list-like subscript, and in that case, the names on the
> subscript were ignored and the subscript was treated as parallel to the
> object to subset. However this behavior was somehow dangerous (could
> lead to subtle issues) and didn't follow the spirit of what subsetting
> an unnamed Vector by name does. So it's not supported anymore.
>
> Sorry for the inconvenience,
> H.
>
>
>
> On 10/29/2013 03:05 PM, Thomas Sandmann wrote:
>
>> Hi Herve,
>>
>> I have updated to IRanges 1.20.4 now, but unfortunately, I still
>> encounter an error when I try to subset a CompressedRleList or
>> SimpleRleList with a CompressedIRangesList or SimpleIRangesList.
>>
>> Would you mind having a look at where I am going wrong ? (My two example
>> objects are available in the rdata object at the url shown below).
>>
>> con=url("http://dl.**dropboxusercontent.com/u/**126180/example.rdata<http://dl.dropboxusercontent.com/u/126180/example.rdata>
>> ")
>> load( con )
>> return_rles[ keep_ranges ]
>>
>> Error in subsetListByList(x, i) (from List-class.R#205) :
>>    cannot subscript an unnamed list-like object by a named list-like
>> object
>>
>> R version 3.0.2 (2013-09-25)
>> Platform: x86_64-unknown-linux-gnu (64-bit)
>>
>> locale:
>>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>>   [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
>>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] parallel  stats     graphics  grDevices utils     datasets  methods
>> [8] base
>>
>> other attached packages:
>>   [1] trimPrimers_1.3.0    Rsamtools_1.14.1     Biostrings_2.30.0
>>   [4] GenomicRanges_1.14.2 XVector_0.2.0        IRanges_1.20.4
>>   [7] BiocGenerics_0.8.0   Defaults_1.1-1       BiocInstaller_1.12.0
>> [10] roxygen2_2.2.2       digest_0.6.3         devtools_1.3
>>
>> loaded via a namespace (and not attached):
>>   [1] bitops_1.0-6   brew_1.0-6     compiler_3.0.2 evaluate_0.5.1 httr_0.2
>>   [6] memoise_0.1    RCurl_1.95-4.1 stats4_3.0.2   stringr_0.6.2
>>   tools_3.0.2
>> [11] whisker_0.3-2  zlibbioc_1.8.0
>>
>
> --
> 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<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

Reply via email to