[Bioc-devel] import except on Window Machine
Hi Michael,
On 04/11/2016 01:23 PM, Michael Lawrence wrote:
Yes, you're right, sorry. I didn't realize that the generic is always exported from a package defining methods on the generic.
What's the rationale behind this feature? It seems to be a recurrent source of surprise and confusion. In the last couple of years I must have fixed dozens (maybe 100+) of NAMESPACEs that import things from the wrong place, that is, what the maintainer of the package actually needs and should import is the foo() generic from package A, but s/he imports a particular method from package B instead. Sometimes that method is not even the one that they actually need. *Unfortunately* things work for a while but break later when the random method they import disappears from package B. One almost always calls the generic, not a particular method directly. So personally I never use importMethodsFrom. Don't see the need for it. I don't even know what it does i.e. what importing a method means exactly. AFAIK when I call the generic, dispatch on the appropriate method works, whether I "import" that method or not... Getting the NAMESPACE right has always been a source of struggle for developers. Simplifying and clarifying some of the concepts involved would help make the process a little more straightforward. Thanks, H.
That can make the exceptions more difficult to maintain. A better syntax for this case might have been: import(cranPackage, override=values) But we have to live with except= for now. Michael On Mon, Apr 11, 2016 at 12:25 PM, Zhu, Lihua (Julie) <Julie.Zhu at umassmed.edu> wrote:
Thanks Michael! FYI, I would get a warning message if I did not use import(IRanges, except=values). Best, Julie On 4/11/16 2:40 PM, "Michael Lawrence" <lawrence.michael at gene.com> wrote:
On Mon, Apr 11, 2016 at 10:28 AM, Dan Tenenbaum <dtenenba at fredhutch.org> wrote:
In that output you sent me, it's still using roxygen (via devtools) to create the namespace. Try creating it manually and see if you still get the same error. What does your NAMESPACE look like anyway? Looking at the NAMESPACE for CRISPRseek, the instances of the 'except' syntax look like this: import(S4Vectors, except=c(fold, values)) import(IRanges, except=values)
Unrelated note: should be no need to exclude values from IRanges. It is S4Vectors that exports the generic.
So maybe make sure the objects to be excepted are not quoted? Dan ----- Original Message -----
From: "Karim Mezhoud" <kmezhoud at gmail.com> To: "Dan Tenenbaum" <dtenenba at fredhutch.org> Cc: "Lihua Zhu" <Julie.Zhu at umassmed.edu>, "Michael Lawrence" <lawrence.michael at gene.com>, "bioc-devel" <bioc-devel at r-project.org> Sent: Monday, April 11, 2016 10:21:42 AM Subject: Re: [Bioc-devel] import except on Window Machine
##### ## BUILT & RELOAD
==> R CMD INSTALL --no-multiarch --with-keep.source bioCancer
* installing to library
?/Library/Frameworks/R.framework/Versions/3.3/Resources/library?
ERROR: failed to lock directory
?/Library/Frameworks/R.framework/Versions/3.3/Resources/library? for
modifying
Try removing
?/Library/Frameworks/R.framework/Versions/3.3/Resources/library/00LOCK-b
ioCancer?
Exited with status 3.
######## BUILT SOURCE PACKAGE
==> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating bioCancer documentation
Loading bioCancer
Documentation completed
==> devtools::build()
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file
--no-environ \
--no-save --no-restore CMD build '/Volumes/DATA/radiant/bioCancer' \
--no-resave-data --no-manual
* checking for file ?/Volumes/DATA/radiant/bioCancer/DESCRIPTION? ...
OK
* preparing ?bioCancer?:
* checking DESCRIPTION meta-information ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* building ?bioCancer_0.99.0.tar.gz?
[1] "/Volumes/DATA/radiant/bioCancer_0.99.0.tar.gz"
Source package written to /Volumes/DATA/radiant
On Mon, Apr 11, 2016 at 6:10 PM, Dan Tenenbaum <dtenenba at fredhutch.org>
wrote:
roxygen2 does not support the new syntax. Do you still get the same error if you write your NAMESPACE manually? ----- Original Message -----
From: "Karim Mezhoud" <kmezhoud at gmail.com> To: "Dan Tenenbaum" <dtenenba at fredhutch.org> Cc: "Lihua Zhu" <Julie.Zhu at umassmed.edu>, "Michael Lawrence" <
lawrence.michael at gene.com>, "bioc-devel"
<bioc-devel at r-project.org> Sent: Monday, April 11, 2016 10:08:15 AM Subject: Re: [Bioc-devel] import except on Window Machine
sessionInfo()
R version 3.3.0 beta (2016-04-06 r70435) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.11.3 (El Capitan) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 On Mon, Apr 11, 2016 at 6:07 PM, Dan Tenenbaum
<dtenenba at fredhutch.org>
wrote:
Karim, What is the sessionInfo() in your R-3.3? It might be too
old to
have the new feature. It needs to be at svn rev r70426 or newer. Dan ----- Original Message -----
From: "Karim Mezhoud" <kmezhoud at gmail.com> To: "Lihua Zhu" <Julie.Zhu at umassmed.edu> Cc: "Dan Tenenbaum" <dtenenba at fredhutch.org>, "Michael Lawrence"
<
lawrence.michael at gene.com>, "bioc-devel"
<bioc-devel at r-project.org> Sent: Monday, April 11, 2016 10:03:52 AM Subject: Re: [Bioc-devel] import except on Window Machine
Dear Julie, Are you using roxigen2 to edit NAMESPACE file? Are you using R 3.4? Thanks In my case, When I used R 3.3 I get this error: ==> R CMD INSTALL --no-multiarch --with-keep.source bioCancer * installing to library ?/Library/Frameworks/R.framework/Versions/3.3/Resources/library? * installing *source* package ?bioCancer? ... ** R ** inst ** preparing package for lazy loading Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck =
vI[[i]])
:
there is no package called ?c("dataTableOutput",
"renderDataTable")?
ERROR: lazy loading failed for package ?bioCancer? * removing
?/Library/Frameworks/R.framework/Versions/3.3/Resources/library/bioCanc er?
* restoring previous
?/Library/Frameworks/R.framework/Versions/3.3/Resources/library/bioCanc er?
Exited with status 1 When I used R 3.4, I get : unfortunately, Bioconductor version 3.3 (BiocInstaller 1.21.4), ?biocLite for
help
Bioconductor does not yet support R version 3.4.0 On Mon, Apr 11, 2016 at 5:30 PM, Zhu, Lihua (Julie) <
Julie.Zhu at umassmed.edu>
wrote:
Thanks, Dan! Best, Julie On 4/11/16 12:22 PM, "Dan Tenenbaum" <dtenenba at fredhutch.org>
wrote:
The windows machine is still running an older version of R
that does
not
support this NAMESPACE syntax. I will update it this week. Dan ----- Original Message -----
From: "Lihua Zhu" <Julie.Zhu at umassmed.edu> To: "bioc-devel" <bioc-devel at r-project.org> Cc: "Michael Lawrence" <lawrence.michael at gene.com> Sent: Monday, April 11, 2016 9:18:31 AM Subject: [Bioc-devel] import except on Window Machine
Michael, For some reason, adding except clause in import in the
NAMESPACE
file
gives error on window server, although it runs fine on Linux and
Mac OS X.
kResults_devel_bioc-2DLATEST_CRISPRseek_moscato2-2Dbuildsrc.html&d=BQ ICaQ
&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4DerPlOmhQ&r=3IbW-yoIQpGZOKgd4i2b gmPH
hwHHF5gJMlij5cC5bLU&m=t9rR8WHE_O0PrI0B-0ySt37UGJMdDhnwk0JFoVzS5Cw&s=l EJWy
zN3zY_O2V1X3QmOZcPD25KidcjhIQMAky52xsA&e=
Here is the line that gives error.
import(S4Vectors, except=c(fold, values))
Did I miss something? Thank!
Best regards,
Julie
[[alternative HTML version deleted]]
_______________________________________________ Bioc-devel at r-project.org mailing list
_listinfo_bioc-2Ddevel&d=BQICaQ&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4D erPl
OmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=t9rR8WHE_O0PrI0B -0yS
t37UGJMdDhnwk0JFoVzS5Cw&s=3ZMFBJ4XMwlGXkfXcB5spcBnnzqBDeqk05sf_TSi88g &e=
_______________________________________________ Bioc-devel at r-project.org mailing list
https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailm an_listinfo_bioc-2Ddevel&d=BQIFaQ&c=WJBj9sUF1mbpVIAf3biu3CPHX4MeRjY_w4D erPlOmhQ&r=3IbW-yoIQpGZOKgd4i2bgmPHhwHHF5gJMlij5cC5bLU&m=p3WrsvoaEWYRGX 1hHvBYdHyfl3qSnDlhimrlUmhWc78&s=3y16NmxUwgAm1KDxESsjtgLdg1qSZ5EWMfbHqPx x7Go&e=
_______________________________________________ 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 fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319