On 9/12/2012 1:47 PM, Tengfei Yin wrote:
> Dear developers,
>
> I hit some problem I am not able to fix or find what's really going on.
> When I simply import VCF class in namespace, that will break ggplot2::qplot
> function when faceting turns on, at first I thought it's ggbio's problem,
> but when I dig into it, looks like, the cbind function used inside ggplot2
> changed, looks like ggplot2 suppose to use base::cbind, but use
> methods:::cbind after loading VariantAnnotation. But maybe I am digging in
> the wrong direction.
>
> Following code demonstrate when loading VariantAnnotation, ggplot2 cannot
> faceting, even though I import only VCF class  in a minimal package, and
> make the package depends on methods and ggplot2(0.9.2), the same issue
> still exists, not sure if I am posting in the right place or not.  Please
> let me know if I should post this in somewhere else, thanks.
>
>> library(ggplot2)
>> qplot(x = mpg, y = cyl, data = mtcars, facets = . ~ cyl)
>> library(VariantAnnotation)
> Loading required package: GenomicRanges
> 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: IRanges
> Loading required package: Rsamtools
> Loading required package: Biostrings
>> qplot(x = mpg, y = cyl, data = mtcars, facets = . ~ cyl)
> Error in rep.int("", ncol(r)) : incorrect type for second argument

Wow this is baroque. A simplification of the problem is

 > base::cbind
function (..., deparse.level = 1)
.Internal(cbind(deparse.level, ...))
<environment: namespace:base>
 > library(snpStats)
 > head(base::cbind)

1 function (..., deparse.level = 1)
2 {
3     na <- nargs() - (!missing(deparse.level))
4     deparse.level <- as.integer(deparse.level)
5     stopifnot(0 <= deparse.level, deparse.level <= 2)
6     argl <- list(...)

snpStats (which VariantAnnotation Imports:) uses 'cbind2' and 
methods:::bind_activation. bind_activation changes the definition of 
cbind. I think this is a left-over from a time when methods could not be 
written on ... . I'll try and get some clarification from R-devel.

Martin


>
>> sessionInfo()
> R version 2.15.1 (2012-06-22)
> Platform: x86_64-pc-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=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] ggplot2_0.9.2            VariantAnnotation_1.3.18 Rsamtools_1.9.26
>
> [4] Biostrings_2.25.10       GenomicRanges_1.9.47     IRanges_1.15.34
>
> [7] BiocGenerics_0.3.1
>
> loaded via a namespace (and not attached):
>   [1] AnnotationDbi_1.19.28  Biobase_2.17.6         biomaRt_2.13.2
>   [4] bitops_1.0-4.1         BSgenome_1.25.6        colorspace_1.1-1
>   [7] DBI_0.2-5              dichromat_1.2-4        digest_0.5.1
> [10] GenomicFeatures_1.9.29 grid_2.15.1            gtable_0.1.1
> [13] labeling_0.1           lattice_0.20-6         MASS_7.3-20
> [16] Matrix_1.0-6           memoise_0.1            munsell_0.3
> [19] plyr_1.7.1             proto_0.3-9.2          RColorBrewer_1.0-5
> [22] RCurl_1.91-1           reshape2_1.2.1         RSQLite_0.11.1
> [25] rtracklayer_1.17.17    scales_0.2.2           snpStats_1.7.3
> [28] splines_2.15.1         stats4_2.15.1          stringr_0.6.1
> [31] survival_2.36-14       tools_2.15.1           XML_3.9-4
> [34] zlibbioc_1.3.0
> Thanks a lot
>
> Tengfei
>
>
> _______________________________________________
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel


-- 
Dr. Martin Morgan, PhD
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109


	[[alternative HTML version deleted]]

