[Bioc-devel] ggbio 1.13.11 fails to load due to namespace change in IRanges
Hi Tengfei and BioC-devel, ggbio 1.13.11 fails to load due to recent changes in IRanges' namespace as shown further below. Basically, some of IRanges previous code now lives in S4Vectors. On a recent thread Hervé exposed his view on specific imports versus importing the whole package (see https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005943.html and Stephanie's reply https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005948.html ). I have been using specific imports because I thought it was the best practice and that it would also help me learn more about what are the functions/methods I'm relying on exactly. But as Hervé exposed, using specific imports involves a lot of maintenance overhead. That is why, in general I'll try to use general imports now. Cheers, Leo > library(ggbio) Loading required package: BiocGenerics Loading required package: parallel Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following object is masked from ‘package:stats’: xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique, unlist Loading required package: ggplot2 No methods found in "IRanges" for requests: Rle, substring, ifelse, as.factor Error : object ‘runValue’ is not exported by 'namespace:IRanges' Error: package or namespace load failed for ‘ggbio’ > traceback() 2: stop(gettextf("package or namespace load failed for %s", sQuote(package)), call. = FALSE, domain = NA) 1: library(ggbio) > sessionInfo() R version 3.1.0 (2014-04-10) 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] ggplot2_1.0.0 BiocGenerics_0.11.3 loaded via a namespace (and not attached): [1] AnnotationDbi_1.27.8 BatchJobs_1.3BBmisc_1.7 Biobase_2.25.0 BiocParallel_0.7.7 [6] biomaRt_2.21.1 Biostrings_2.33.12 bitops_1.0-6 brew_1.0-6 BSgenome_1.33.8 [11] checkmate_1.1cluster_1.15.2 codetools_0.2-8 colorspace_1.2-4 DBI_0.2-7 [16] dichromat_2.0-0 digest_0.6.4 fail_1.2 foreach_1.4.2Formula_1.1-2 [21] GenomeInfoDb_1.1.12 GenomicAlignments_1.1.21 GenomicFeatures_1.17.12 GenomicRanges_1.17.24GGally_0.4.6 [26] grid_3.1.0 gridExtra_0.9.1 gtable_0.1.2 Hmisc_3.14-4 IRanges_1.99.22 [31] iterators_1.0.7 lattice_0.20-29 latticeExtra_0.6-26 MASS_7.3-33 munsell_0.4.2 [36] plyr_1.8.1 proto_0.3-10 RColorBrewer_1.0-5 Rcpp_0.11.2 RCurl_1.95-4.1 [41] reshape_0.8.5reshape2_1.4 Rsamtools_1.17.31RSQLite_0.11.4 rtracklayer_1.25.13 [46] S4Vectors_0.1.2 scales_0.2.4 sendmailR_1.1-2 splines_3.1.0stats4_3.1.0 [51] stringr_0.6.2survival_2.37-7 tools_3.1.0 XML_3.98-1.1 XVector_0.5.7 [56] zlibbioc_1.11.1 > > packageVersion("ggbio") [1] ‘1.13.11’ > ___ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
Re: [Bioc-devel] ggbio 1.13.11 fails to load due to namespace change in IRanges
On 07/16/2014 11:39 AM, Leonardo Collado Torres wrote: Hi Tengfei and BioC-devel, ggbio 1.13.11 fails to load due to recent changes in IRanges' namespace as shown further below. Basically, some of IRanges previous code now lives in S4Vectors. On a recent thread Hervé exposed his view on specific imports versus importing the whole package (see https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005943.html and Stephanie's reply https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005948.html ). I have been using specific imports because I thought it was the best practice and that it would also help me learn more about what are the functions/methods I'm relying on exactly. But as Hervé exposed, using specific imports involves a lot of maintenance overhead. That is why, in general I'll try to use general imports now. That should really be a judgement call -- a nice tidy package might well import a very limited number of functions from a small number of packages, with the use of each function limited to specific and well-know locations, and with changes to the code being very considered -- I no longer need to import pkg::foo because I made a very specific change to the code. Indeed for less experienced developers it might be worth focusing on this as a kind of discipline -- write code that _is_ restricted in this way, doing a small number of tasks well rather than trying to do everything. For the large and comprehensive packages Herve and others work on, this will certainly get tedious. For a more focused developer it is perhaps not so bad. Martin Cheers, Leo library(ggbio) Loading required package: BiocGenerics Loading required package: parallel Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following object is masked from ‘package:stats’: xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique, unlist Loading required package: ggplot2 No methods found in "IRanges" for requests: Rle, substring, ifelse, as.factor Error : object ‘runValue’ is not exported by 'namespace:IRanges' Error: package or namespace load failed for ‘ggbio’ traceback() 2: stop(gettextf("package or namespace load failed for %s", sQuote(package)), call. = FALSE, domain = NA) 1: library(ggbio) sessionInfo() R version 3.1.0 (2014-04-10) 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] ggplot2_1.0.0 BiocGenerics_0.11.3 loaded via a namespace (and not attached): [1] AnnotationDbi_1.27.8 BatchJobs_1.3BBmisc_1.7 Biobase_2.25.0 BiocParallel_0.7.7 [6] biomaRt_2.21.1 Biostrings_2.33.12 bitops_1.0-6 brew_1.0-6 BSgenome_1.33.8 [11] checkmate_1.1cluster_1.15.2 codetools_0.2-8 colorspace_1.2-4 DBI_0.2-7 [16] dichromat_2.0-0 digest_0.6.4 fail_1.2 foreach_1.4.2Formula_1.1-2 [21] GenomeInfoDb_1.1.12 GenomicAlignments_1.1.21 GenomicFeatures_1.17.12 GenomicRanges_1.17.24GGally_0.4.6 [26] grid_3.1.0 gridExtra_0.9.1 gtable_0.1.2 Hmisc_3.14-4 IRanges_1.99.22 [31] iterators_1.0.7 lattice_0.20-29 latticeExtra_0.6-26 MASS_7.3-33 munsell_0.4.2 [36] plyr_1.8.1 proto_0.3-10 RColorBrewer_1.0-5 Rcpp_0.11.2 RCurl_1.95-4.1 [41] reshape_0.8.5reshape2_1.4 Rsamtools_1.17.31RSQLite_0.11.4 rtracklayer_1.25.13 [46] S4Vectors_0.1.2 scales_0.2.4 sendmailR_1.1-2 splines_3.1.0stats4_3.1.0 [51] stringr_0.6.2survival_2.37-7 tools_3.1.0 XML_3.98-1.1 XVector_0.5.7 [56] zlibbioc_1.11.1 packageVersion("ggbio") [1] ‘1.13.11’ ___ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel -- Computational Biology / Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: Arnold Building M1 B861 Phone: (206) 667-2793 ___ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
Re: [Bioc-devel] ggbio 1.13.11 fails to load due to namespace change in IRanges
I think it's a per-dependency judgement call. If you're making broad use of a package, then it makes sense to import(), but if the dependency on some package is minimal, it makes sense to specify symbols with importFrom(), as the link is more tenuous and there is less risk to things moving around. On Wed, Jul 16, 2014 at 11:59 AM, Martin Morgan wrote: > On 07/16/2014 11:39 AM, Leonardo Collado Torres wrote: > >> Hi Tengfei and BioC-devel, >> >> ggbio 1.13.11 fails to load due to recent changes in IRanges' >> namespace as shown further below. Basically, some of IRanges previous >> code now lives in S4Vectors. >> >> On a recent thread Hervé exposed his view on specific imports versus >> importing the whole package (see >> https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005943.html and >> Stephanie's reply >> https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005948.html ). >> >> I have been using specific imports because I thought it was the best >> practice and that it would also help me learn more about what are the >> functions/methods I'm relying on exactly. But as Hervé exposed, using >> specific imports involves a lot of maintenance overhead. That is why, >> in general I'll try to use general imports now. >> > > That should really be a judgement call -- a nice tidy package might well > import a very limited number of functions from a small number of packages, > with the use of each function limited to specific and well-know locations, > and with changes to the code being very considered -- I no longer need to > import pkg::foo because I made a very specific change to the code. Indeed > for less experienced developers it might be worth focusing on this as a > kind of discipline -- write code that _is_ restricted in this way, doing a > small number of tasks well rather than trying to do everything. > > For the large and comprehensive packages Herve and others work on, this > will certainly get tedious. For a more focused developer it is perhaps not > so bad. > > Martin > > > >> Cheers, >> Leo >> >> >> >> library(ggbio) >>> >> Loading required package: BiocGenerics >> Loading required package: parallel >> >> Attaching package: âBiocGenericsâ >> >> The following objects are masked from âpackage:parallelâ: >> >> clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, >> clusterExport, clusterMap, parApply, parCapply, parLapply, >> parLapplyLB, parRapply, parSapply, parSapplyLB >> >> The following object is masked from âpackage:statsâ: >> >> xtabs >> >> The following objects are masked from âpackage:baseâ: >> >> anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, >> do.call, duplicated, eval, evalq, Filter, Find, get, >> intersect, is.unsorted, lapply, Map, mapply, match, mget, order, >> paste, pmax, pmax.int, pmin, pmin.int, Position, rank, >> rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, >> tapply, union, unique, unlist >> >> Loading required package: ggplot2 >> No methods found in "IRanges" for requests: Rle, substring, ifelse, >> as.factor >> Error : object ârunValueâ is not exported by 'namespace:IRanges' >> Error: package or namespace load failed for âggbioâ >> >>> traceback() >>> >> 2: stop(gettextf("package or namespace load failed for %s", >> sQuote(package)), >> call. = FALSE, domain = NA) >> 1: library(ggbio) >> >>> sessionInfo() >>> >> R version 3.1.0 (2014-04-10) >> 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] ggplot2_1.0.0 BiocGenerics_0.11.3 >> >> loaded via a namespace (and not attached): >> [1] AnnotationDbi_1.27.8 BatchJobs_1.3BBmisc_1.7 >> Biobase_2.25.0 BiocParallel_0.7.7 >> [6] biomaRt_2.21.1 Biostrings_2.33.12 bitops_1.0-6 >> brew_1.0-6 BSgenome_1.33.8 >> [11] checkmate_1.1cluster_1.15.2 codetools_0.2-8 >> colorspace_1.2-4 DBI_0.2-7 >> [16] dichromat_2.0-0 digest_0.6.4 fail_1.2 >> foreach_1.4.2Formula_1.1-2 >> [21] GenomeInfoDb_1.1.12 GenomicAlignments_1.1.21 >> GenomicFeatures_1.17.12 GenomicRanges_1.17.24GGally_0.4.6 >> [26] grid_3.1.0 gridExtra_0.9.1 gtable_0.1.2 >> Hmisc_3.14-4 IRanges_1.99.22 >> [31] iterators_1.0.7 lattice_0.20-29 >> latticeExtra_0.6-26 MASS_7.3-33 munsell_0.4.2 >> [36] plyr_1.8.1 proto_0.3-10 >> RColorBrewer_1.0-5 Rcpp_0.11.2 RCurl_1.95-4.1 >> [41] reshape_0.8.5reshape2_1.4 >> Rsamtools_1.17.31RSQLite_0.11.4 rtracklayer_1.25.13 >> [46] S4Vectors_0.1.2 scales_0.2.4 sendmailR_1.1-2 >> spli
Re: [Bioc-devel] ggbio 1.13.11 fails to load due to namespace change in IRanges
Basically I agree with Stephanie, Martin, and Michael. I'm probably a little biased when I'm advocating the "import all" approach. I must also admit that I use a few selective imports in the packages I maintain, exactly in the situations you guys describe, that is, when I just need very few things from some other packages (however these packages are base packages hence very stable). Advantage: if I make a change in my package and don't need that only function I import from the foo package anymore, then I can remove that importFrom(foo, bar) line and hopefully will also remember to remove foo from the Imports field, so I don't depend on foo anymore. So thanks for your more nuanced view on the "import all vs import selectively" question. @Leo: Try to update VariantAnnotation directly from svn. It was updated in svn to reflect the changes in IRanges/S4Vectors but didn't propagate because of other problems that prevent it from propagating. Let me know if that still doesn't solve the problem. Cheers, H. On 07/16/2014 12:38 PM, Michael Lawrence wrote: I think it's a per-dependency judgement call. If you're making broad use of a package, then it makes sense to import(), but if the dependency on some package is minimal, it makes sense to specify symbols with importFrom(), as the link is more tenuous and there is less risk to things moving around. On Wed, Jul 16, 2014 at 11:59 AM, Martin Morgan wrote: On 07/16/2014 11:39 AM, Leonardo Collado Torres wrote: Hi Tengfei and BioC-devel, ggbio 1.13.11 fails to load due to recent changes in IRanges' namespace as shown further below. Basically, some of IRanges previous code now lives in S4Vectors. On a recent thread Hervé exposed his view on specific imports versus importing the whole package (see https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005943.html and Stephanie's reply https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005948.html ). I have been using specific imports because I thought it was the best practice and that it would also help me learn more about what are the functions/methods I'm relying on exactly. But as Hervé exposed, using specific imports involves a lot of maintenance overhead. That is why, in general I'll try to use general imports now. That should really be a judgement call -- a nice tidy package might well import a very limited number of functions from a small number of packages, with the use of each function limited to specific and well-know locations, and with changes to the code being very considered -- I no longer need to import pkg::foo because I made a very specific change to the code. Indeed for less experienced developers it might be worth focusing on this as a kind of discipline -- write code that _is_ restricted in this way, doing a small number of tasks well rather than trying to do everything. For the large and comprehensive packages Herve and others work on, this will certainly get tedious. For a more focused developer it is perhaps not so bad. Martin Cheers, Leo library(ggbio) Loading required package: BiocGenerics Loading required package: parallel Attaching package: ‘BiocGenerics’ The following objects are masked from ‘package:parallel’: clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport, clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply, parSapply, parSapplyLB The following object is masked from ‘package:stats’: xtabs The following objects are masked from ‘package:base’: anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, do.call, duplicated, eval, evalq, Filter, Find, get, intersect, is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, tapply, union, unique, unlist Loading required package: ggplot2 No methods found in "IRanges" for requests: Rle, substring, ifelse, as.factor Error : object ‘runValue’ is not exported by 'namespace:IRanges' Error: package or namespace load failed for ‘ggbio’ traceback() 2: stop(gettextf("package or namespace load failed for %s", sQuote(package)), call. = FALSE, domain = NA) 1: library(ggbio) sessionInfo() R version 3.1.0 (2014-04-10) 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] ggplot2_1.0.0 BiocGenerics_0.11.3 loaded via a namespace (and not attached): [1] AnnotationDbi_1.27.8 BatchJobs_1.3BBmisc_1.7 Biobase_2.25.0 BiocParallel_0.7.7 [6] biomaRt_2.21.1 Biostrings_2.33.12 bitops_1.0-6 brew_1.0-6 BSgenome_1.33.8 [11] checkmate_1.1cluster_1.15.2 codetools_0.2-8 colorspace_1.2-4
Re: [Bioc-devel] ggbio 1.13.11 fails to load due to namespace change in IRanges
Hi Leo, So sorry for the late reply, I guess the problem is fixed already? I cannot see the error anymore, and thanks for the discussion! cheers Tengfei On Wed, Jul 16, 2014 at 2:39 PM, Leonardo Collado Torres wrote: > Hi Tengfei and BioC-devel, > > ggbio 1.13.11 fails to load due to recent changes in IRanges' > namespace as shown further below. Basically, some of IRanges previous > code now lives in S4Vectors. > > On a recent thread Hervé exposed his view on specific imports versus > importing the whole package (see > https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005943.html and > Stephanie's reply > https://stat.ethz.ch/pipermail/bioc-devel/2014-July/005948.html ). > > I have been using specific imports because I thought it was the best > practice and that it would also help me learn more about what are the > functions/methods I'm relying on exactly. But as Hervé exposed, using > specific imports involves a lot of maintenance overhead. That is why, > in general I'll try to use general imports now. > > Cheers, > Leo > > > > > library(ggbio) > Loading required package: BiocGenerics > Loading required package: parallel > > Attaching package: ‘BiocGenerics’ > > The following objects are masked from ‘package:parallel’: > > clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, > clusterExport, clusterMap, parApply, parCapply, parLapply, > parLapplyLB, parRapply, parSapply, parSapplyLB > > The following object is masked from ‘package:stats’: > > xtabs > > The following objects are masked from ‘package:base’: > > anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, > do.call, duplicated, eval, evalq, Filter, Find, get, > intersect, is.unsorted, lapply, Map, mapply, match, mget, order, > paste, pmax, pmax.int, pmin, pmin.int, Position, rank, > rbind, Reduce, rep.int, rownames, sapply, setdiff, sort, table, > tapply, union, unique, unlist > > Loading required package: ggplot2 > No methods found in "IRanges" for requests: Rle, substring, ifelse, > as.factor > Error : object ‘runValue’ is not exported by 'namespace:IRanges' > Error: package or namespace load failed for ‘ggbio’ > > traceback() > 2: stop(gettextf("package or namespace load failed for %s", > sQuote(package)), >call. = FALSE, domain = NA) > 1: library(ggbio) > > sessionInfo() > R version 3.1.0 (2014-04-10) > 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] ggplot2_1.0.0 BiocGenerics_0.11.3 > > loaded via a namespace (and not attached): > [1] AnnotationDbi_1.27.8 BatchJobs_1.3BBmisc_1.7 > Biobase_2.25.0 BiocParallel_0.7.7 > [6] biomaRt_2.21.1 Biostrings_2.33.12 bitops_1.0-6 > brew_1.0-6 BSgenome_1.33.8 > [11] checkmate_1.1cluster_1.15.2 codetools_0.2-8 > colorspace_1.2-4 DBI_0.2-7 > [16] dichromat_2.0-0 digest_0.6.4 fail_1.2 > foreach_1.4.2Formula_1.1-2 > [21] GenomeInfoDb_1.1.12 GenomicAlignments_1.1.21 > GenomicFeatures_1.17.12 GenomicRanges_1.17.24GGally_0.4.6 > [26] grid_3.1.0 gridExtra_0.9.1 gtable_0.1.2 > Hmisc_3.14-4 IRanges_1.99.22 > [31] iterators_1.0.7 lattice_0.20-29 > latticeExtra_0.6-26 MASS_7.3-33 munsell_0.4.2 > [36] plyr_1.8.1 proto_0.3-10 > RColorBrewer_1.0-5 Rcpp_0.11.2 RCurl_1.95-4.1 > [41] reshape_0.8.5reshape2_1.4 > Rsamtools_1.17.31RSQLite_0.11.4 rtracklayer_1.25.13 > [46] S4Vectors_0.1.2 scales_0.2.4 sendmailR_1.1-2 > splines_3.1.0stats4_3.1.0 > [51] stringr_0.6.2survival_2.37-7 tools_3.1.0 > XML_3.98-1.1 XVector_0.5.7 > [56] zlibbioc_1.11.1 > > > > packageVersion("ggbio") > [1] ‘1.13.11’ > > > -- Tengfei Yin, PhD Product Manager Seven Bridges Genomics sbgenomics.com One Broadway FL 7 Cambridge, MA 02142 (617) 866-0446 [[alternative HTML version deleted]] ___ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel