[Bioc-devel] Question about BiocGeneric::order
Michael Lawrence
lawrence.michael at gene.com
Fri May 12 20:28:53 CEST 2017
Thanks for noticing that. I'll fix that in R soon. I'm going through
and generalizing many of the stats default methods so that they work
automatically with Rle.
For order,Rle(), I fixed the method argument default and added a fast
path for the single arg case. I guess we'll keep it around.
On Thu, May 11, 2017 at 6:47 PM, Hervé Pagès <hpages at fredhutch.org> wrote:
> On 05/11/2017 06:44 PM, Hervé Pagès wrote:
>>
>> Hi Michael,
>>
>> On 05/11/2017 03:27 PM, Michael Lawrence wrote:
>>>
>>> There is a bug in S4Vectors, but thanks to an R 3.4 bug in the methods
>>> package (recently fixed in devel), the bug is masked. So, we should
>>> fix S4Vectors. The problem is that order,Rle has a default for the
>>> 'method' argument that differs from that of the generic. Since R 3.3,
>>> base::order() is smart enough to basically do the same thing as
>>> order,Rle(). I'll go ahead and remove the method.
>>
>>
>> Note that base::order() is much slower than the method for Rle objects:
>
>
> Forgot to copy/paste this:
>
> library(S4Vectors)
> x <- Rle(sample(25L, 500000L, replace=TRUE) - 8L,
> sample(13L, 500000L, replace=TRUE))
>
>>
>>> system.time(oo1 <- order(x))
>>
>> user system elapsed
>> 0.018 0.000 0.018
>>
>>> system.time(oo2 <- base::order(x))
>>
>> user system elapsed
>> 1.089 0.000 1.103
>>
>>> identical(oo1, oo2)
>>
>> [1] TRUE
>>
>> Looks like by default, base::order() does not pick up the fastest
>> method (radix):
>>
>>> system.time(oo2 <- base::order(x, method="radix"))
>>
>> user system elapsed
>> 0.020 0.000 0.019
>
>
> and to provide my sessionInfo():
>
>> sessionInfo()
> R version 3.4.0 Patched (2017-04-26 r72630)
> Platform: x86_64-pc-linux-gnu (64-bit)
> Running under: Ubuntu 14.04.5 LTS
>
> Matrix products: default
> BLAS: /home/hpages/R/R-3.4.r72630/lib/libRblas.so
> LAPACK: /home/hpages/R/R-3.4.r72630/lib/libRlapack.so
>
> 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 stats4 stats graphics grDevices utils datasets
> [8] methods base
>
> other attached packages:
> [1] S4Vectors_0.15.2 BiocGenerics_0.23.0
>
> loaded via a namespace (and not attached):
> [1] compiler_3.4.0 tools_3.4.0
>
> H.
>
>
>>
>> H.
>>
>>>
>>> Michael
>>>
>>> On Thu, May 11, 2017 at 1:29 PM, Ou, Jianhong
>>> <Jianhong.Ou at umassmed.edu> wrote:
>>>>
>>>> Thank you Hervé,
>>>>
>>>> I got that. Good to know that BioC 3.6 require R 3.4.0.
>>>>
>>>> Yours Sincerely,
>>>>
>>>> Jianhong Ou
>>>>
>>>> TEL: 508-856-5379
>>>> LRB 608
>>>> Bioinformatician of Bioinformatics core at
>>>> Department of Molecular, Cell and Cancer Biology
>>>> UMASS Medical School
>>>> 364 Plantation Street Worcester,
>>>> MA 01605
>>>>
>>>> Confidentiality Notice:
>>>> This e-mail message, including any attachments, is for the sole use
>>>> of the intended recipient(s) and may contain confidential,
>>>> proprietary and privileged information. Any unauthorized review, use,
>>>> disclosure or distribution is prohibited. If you are not the intended
>>>> recipient, please contact the sender immediately and destroy or
>>>> permanently delete all copies of the original message.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On 5/11/17, 4:25 PM, "Hervé Pagès" <hpages at fredhutch.org> wrote:
>>>>
>>>> Hi Jianhong,
>>>>
>>>> I can't reproduce this but I'm using R 3.4.0.
>>>> You seem to be using Bioc devel (aka BioC 3.6) with R devel.
>>>> This is not supported. Both, BioC 3.5 (current release) and
>>>> BioC 3.6 require R 3.4.0.
>>>>
>>>> Cheers,
>>>> H.
>>>>
>>>>
>>>> On 05/11/2017 01:11 PM, Ou, Jianhong wrote:
>>>> > I got error when I try order for Rle object by following codes:
>>>> >
>>>> > library("BiocGenerics")
>>>> > library(XVector)
>>>> > order(Rle(1))
>>>> > ## Error in match.arg(method) : 'arg' must be of length 1
>>>> >
>>>> >> sessionInfo()
>>>> > R Under development (unstable) (2017-05-10 r72667)
>>>> > Platform: x86_64-apple-darwin16.5.0 (64-bit)
>>>> > Running under: macOS Sierra 10.12.4
>>>> >
>>>> > Matrix products: default
>>>> > BLAS:
>>>>
>>>> /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.dylib
>>>>
>>>> > LAPACK:
>>>>
>>>> /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
>>>>
>>>> >
>>>> > 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] stats4 parallel stats graphics grDevices utils
>>>> datasets
>>>> > [8] methods base
>>>> >
>>>> > other attached packages:
>>>> > [1] XVector_0.17.0 IRanges_2.11.2 S4Vectors_0.15.1
>>>> > [4] BiocGenerics_0.23.0
>>>> >
>>>> > loaded via a namespace (and not attached):
>>>> > [1] zlibbioc_1.23.0 compiler_3.5.0
>>>> >
>>>> > Is this a bug? Or I should always add method argument?
>>>> >
>>>> > Yours Sincerely,
>>>> >
>>>> > Jianhong Ou
>>>> >
>>>> > TEL: 508-856-5379
>>>> > LRB 608
>>>> > Bioinformatician of Bioinformatics core at
>>>> > Department of Molecular, Cell and Cancer Biology
>>>> > UMASS Medical School
>>>> > 364 Plantation Street Worcester,
>>>> > MA 01605
>>>> >
>>>> > Confidentiality Notice:
>>>> > This e-mail message, including any attachments, is for the sole
>>>> use of the intended recipient(s) and may contain confidential,
>>>> proprietary and privileged information. Any unauthorized review, use,
>>>> disclosure or distribution is prohibited. If you are not the intended
>>>> recipient, please contact the sender immediately and destroy or
>>>> permanently delete all copies of the original message.
>>>> >
>>>> >
>>>> >
>>>> > [[alternative HTML version deleted]]
>>>> >
>>>> > _______________________________________________
>>>> > Bioc-devel at r-project.org mailing list
>>>> >
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=FhYaKPjNM3nCK5wrqNrek8IgmU7YlJH8B77AMM77j7U&s=N1wtJXFb6nsvQncKFe8tgzi_q8NunVLhu-gJoQA_Co8&e=
>>>>
>>>> >
>>>>
>>>> --
>>>> 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: hpages at fredhutch.org
>>>> Phone: (206) 667-5791
>>>> Fax: (206) 667-1319
>>>>
>>>>
>>>> _______________________________________________
>>>> Bioc-devel at r-project.org mailing list
>>>>
>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_bioc-2Ddevel&d=DwIFaQ&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=SfDjGrm-go9CSXhsmi7cU43TGLLM-77DG5Lpdg0dD8U&s=SAYmrM-Cxa3tQ7XDNei_qKHzwjdLRoa-aQCt9W03Fs8&e=
>>>>
>>
>
> --
> 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: hpages at fredhutch.org
> Phone: (206) 667-5791
> Fax: (206) 667-1319
More information about the Bioc-devel
mailing list