[Bioc-devel] Incorrect result from AnnotationDbi::mget on bimap subset when ifnotfound=NA

Hervé Pagès hpages at fhcrc.org
Fri Mar 15 03:01:13 CET 2013


Hi Renaud,

Nice catch! This has been unnoticed for more than 5 years. Should be
fixed in AnnotationDbi release (1.20.7) and devel (1.21.15). Both
versions should become available via biocLite() in the next 24 hours
or so.

Thanks for the report,
H.


On 03/14/2013 06:57 AM, Renaud Gaujoux wrote:
> Hi,
>
> I get strange (incorrect?) output from AnnotationDbi::mget when using it on
> a subset bimap object with argument ifnotfound=NA.
> Keys that exist in the original map are incorrectly returned as found, keys
> that don't are correctly returned as NA (See code and output below).
>
> Any idea? Can anybody reproduce this?
> Thank you
>
> Renaud
>
> ##########################
> ## code
> ##########################
>
> library(org.Hs.eg.db)
> map <- org.Hs.egUNIGENE
> # get some mappedkeys
> k <- c(mappedkeys(map)[1:3], 'notakey')
> # subset the map using only part of the keys
> map2 <- map[k[1:2]]
> keys(map2)
> # try to get all keys from the subset map:
> AnnotationDbi::mget(k, map2) # OK error on third key
> AnnotationDbi::mget(k, map2, ifnotfound=NA) # Not OK: the third element
> should be NA, right?
> sessionInfo()
>
>
> ##############################
> ####
> ## output
> ##################################
>
> R version 2.15.3 (2013-03-01) -- "Security Blanket"
> Copyright (C) 2013 The R Foundation for Statistical Computing
> ISBN 3-900051-07-0
> Platform: i686-pc-linux-gnu (32-bit)
>
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
>
>    Natural language support but running in an English locale
>
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
>
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
>
>> library(org.Hs.eg.db)
> Loading required package: AnnotationDbi
> Loading required package: BiocGenerics
>
> Attaching package: ‘BiocGenerics’
>
> The following object(s) are masked from ‘package:stats’:
>
>      xtabs
>
> The following object(s) are masked from ‘package:base’:
>
>      anyDuplicated, cbind, colnames, duplicated, eval, Filter, Find,
>      get, intersect, lapply, Map, mapply, mget, order, paste, pmax,
>      pmax.int, pmin, pmin.int, Position, rbind, Reduce, rep.int,
>      rownames, sapply, setdiff, table, tapply, union, unique
>
> Loading required package: Biobase
> Welcome to Bioconductor
>
>      Vignettes contain introductory material; view with
>      'browseVignettes()'. To cite Bioconductor, see
>      'citation("Biobase")', and for packages 'citation("pkgname")'.
>
> Loading required package: DBI
>
>> map <- org.Hs.egUNIGENE
>> # get some mappedkeys
>> k <- c(mappedkeys(map)[1:3], 'notakey')
>> # subset the map using only part of the keys
>> map2 <- map[k[1:2]]
>> keys(map2)
> [1] "1"  "10"
>> # try to get all keys from the subset map:
>> AnnotationDbi::mget(k, map2) # OK error on third key
> Error in .checkKeys(value, Lkeys(x), x at ifnotfound) :
>    value for "100" not found
>> AnnotationDbi::mget(k, map2, ifnotfound=NA) # Not OK: the third element
> should be NA, right?
> $`1`
> [1] "Hs.529161" "Hs.709582"
>
> $`10`
> [1] "Hs.2"
>
> $`100`
> [1] "Hs.654536"
>
> $notakey
> [1] NA
>
>> sessionInfo()
> R version 2.15.3 (2013-03-01)
> Platform: i686-pc-linux-gnu (32-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=C                 LC_NAME=C
>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] org.Hs.eg.db_2.8.0   RSQLite_0.11.2       DBI_0.2-5
> [4] AnnotationDbi_1.20.6 Biobase_2.18.0       BiocGenerics_0.4.0
>
> loaded via a namespace (and not attached):
> [1] IRanges_1.16.6  parallel_2.15.3 stats4_2.15.3
>>
>
> 	[[alternative HTML version deleted]]
>
>
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

-- 
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 fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list