On 1/23/2013 11:31 PM, Kasper Daniel Hansen wrote:
Many people will use a standard 2.15.2 and not the patched version.

For this particular case - the automatic download of CDF packages - I
believe Keith has made a very good point, that it is not sensible to
download suggested packages.  I see no reason why the function cannot
be changed in a defensive manner to explicitly state what the depends
argument is, instead of using the default.  I am happy to take
responsibility for changing it.

Well, the default in all versions of R except for a few iterations of 2.15.2 do what is expected, and the changes in 2.15.2 were quickly changed because it introduced this bug. In other words, the default behavior is to just download a small subset of the packages, not the gobton that Keith was seeing.

However your point about defensive programming is well taken, and I have made the requested changes.


On a side note, I don't understand why the CDF packages depends on
AnnotationDbi.  I don't see the data structures using anything in
AnnotationDbi and nothing is imported in the NAMESPACE and nothing
seems to used in the R code.

This was added (incorrectly IMO) late last year. I have now removed the code from makecdfenv, but until we rebuild the cdf packages it will still lurk in the existing versions.

Best,

Jim



Kasper

On Wed, Jan 23, 2013 at 11:09 PM, Dan Tenenbaum<dtene...@fhcrc.org>  wrote:
Hi Keith,

On Wed, Jan 23, 2013 at 6:28 PM, Keith<ke...@wehi.edu.au>  wrote:
Hi Jim,

thanks very much for testing this. However I get a different outcome to you.

I've done this twice with similar results. I did a fresh R-2.15.2 install,
sourced biocLite, ran biocLite(), deleted AnnotationDbi from the library
directory.

I then used biocLite to install the affy package. I loaded the affy package
and then ran the command "affy:::cdfFromBioC("hgu95av2cdf")". This installed
dependency "AnnotationDbi" and then reported
:
also installing the dependencies 'XML', 'BSgenome', 'Rsamtools', 'bitops',
'GenomicRanges', 'Biostrings', 'rtracklayer', 'biomaRt', 'RCurl',
'GenomicFeatures', 'hgu95av2.db', 'GO.db', 'org.Sc.sgd.db',
'org.At.tair.db', 'KEGG.db', 'RUnit', 'TxDb.Hsapiens.UCSC.hg19.knownGene',
'hom.Hs.inp.db', 'org.Hs.eg.db', 'seqnames.db', 'reactome.db',
'AnnotationForge'

The help for install.packages command says that with the dependencies
parameter,
"|TRUE| means (as from *R* 2.15.0) to use |c("Depends", "Imports",
"LinkingTo", "Suggests")| for |pkgs| and |c("Depends", "Imports",
"LinkingTo")| for added dependencies".

One would think that added dependencies (like AnnotationDbi) would be
installed with dependencies of |c("Depends", "Imports", "LinkingTo"),
|
This was not the case. With my limited ability to debug these things, I
think that install.packages call utils:::getDependencies with dependencies
set to TRUE and pkgs="hgu95av2cdf", which seems to result in dependencies
being set by the getDependencies line:
if (depends&&  is.logical(dependencies)) {
         dependencies<- c("Depends", "Imports", "LinkingTo",
             "Suggests")
The call also sets pkgs to "AnnotationDbi" "hgu95av2cdf", which seems
reasonable.

Later on install.packages calls utils:::.install.winbinary with a pkgs =
"AnnotationDbi" "hgu95av2cdf" and dependencies=TRUE. The .install.winbinary
function then calls utils:::getDependencies with dependencies set to TRUE,
which sets dependencies to  c("Depends", "Imports", "LinkingTo",
"Suggests") again.

Consequently the Suggested packages are being installed.

I'm not very sure of my ground here and would appreciate some help from the
experts.

I have included a summarized copy of my R session, with a sessionInfo() at
the bottom of it.

I can only think that changing the dependencies value in the cdfFromBioC
function will fix this.


I think this issue is fixed in R-2.15.2-patched and R-devel. Can you
try one of those?

Thanks,
Dan


Appreciate your response,

Keith
************************
R version 2.15.2 (2012-10-26) -- "Trick or Treat"
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-w64-mingw32/x64 (64-bit)

source("http://bioconductor.org/biocLite.R";)
...
package 'BiocInstaller' successfully unpacked and MD5 sums checked
Bioconductor version 2.11 (BiocInstaller 1.8.3), ?biocLite for help
biocLite()
BioC_mirror: http://bioconductor.org
Using Bioconductor version 2.11 (BiocInstaller 1.8.3), R version 2.15.
Installing package(s) 'Biobase' 'IRanges' 'AnnotationDbi'
also installing the dependencies 'BiocGenerics', 'DBI', 'RSQLite'
...
package 'BiocGenerics' successfully unpacked and MD5 sums checked
package 'DBI' successfully unpacked and MD5 sums checked
package 'RSQLite' successfully unpacked and MD5 sums checked
package 'Biobase' successfully unpacked and MD5 sums checked
package 'IRanges' successfully unpacked and MD5 sums checked
package 'AnnotationDbi' successfully unpacked and MD5 sums checked
...
Old packages: 'foreign', 'lattice', 'MASS', 'Matrix', 'nlme', 'rpart',
'survival'
Update all/some/none? [a/s/n]: n

x<- c('XML', 'BSgenome', 'Rsamtools', 'bitops', 'GenomicRanges',
'Biostrings','rtracklayer', 'biomaRt', 'RCurl', 'GenomicFeatures',
'hgu95av2.db','GO.db', 'org.Sc.sgd.db', 'org.At.tair.db', 'KEGG.db',
'RUnit','TxDb.Hsapiens.UCSC.hg19.knownGene', 'hom.Hs.inp.db',
'org.Hs.eg.db','seqnames.db', 'reactome.db', 'AnnotationForge', 'DBI',
'RSQLite' ,'IRanges', 'AnnotationDbi')
sum(x %in% .packages(all.available = TRUE))
[1] 3
biocLite("affy")
BioC_mirror: http://bioconductor.org
Using Bioconductor version 2.11 (BiocInstaller 1.8.3), R version 2.15.
Installing package(s) 'affy'
also installing the dependencies 'affyio', 'preprocessCore', 'zlibbioc'
...
package 'affyio' successfully unpacked and MD5 sums checked
package 'preprocessCore' successfully unpacked and MD5 sums checked
package 'zlibbioc' successfully unpacked and MD5 sums checked
package 'affy' successfully unpacked and MD5 sums checked
...

sum(x %in% .packages(all.available = TRUE))
[1] 3

library(affy)
affy:::cdfFromBioC("hgu95av2cdf")
[1] "Attempting to obtain hgu95av2cdf from Bioconductor website"
[1] "Checking to see if package hgu95av2cdf is already installed"
[1] "The environment hgu95av2cdf was not found in these directories:
C:/RTest2/R-2.15.2/library.  Now searching the internet repository."

[1] "Checking to see if your internet connection works ..."
also installing the dependency 'AnnotationDbi'

also installing the dependencies 'XML', 'BSgenome', 'Rsamtools', 'bitops',
'GenomicRanges', 'Biostrings', 'rtracklayer', 'biomaRt', 'RCurl',
'GenomicFeatures', 'hgu95av2.db', 'GO.db', 'org.Sc.sgd.db',
'org.At.tair.db', 'KEGG.db', 'RUnit', 'TxDb.Hsapiens.UCSC.hg19.knownGene',
'hom.Hs.inp.db', 'org.Hs.eg.db', 'seqnames.db', 'reactome.db',
'AnnotationForge'
...
sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=C
LC_MONETARY=English_Australia.1252
[4] LC_NUMERIC=C LC_TIME=English_Australia.1252
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods base
other attached packages:
[1] affy_1.36.0         Biobase_2.18.0      BiocGenerics_0.4.0
BiocInstaller_1.8.3
loaded via a namespace (and not attached):
[1] affyio_1.26.0         preprocessCore_1.20.0 tools_2.15.2
zlibbioc_1.4.0
************************




On 24/01/2013 2:15 AM, James W. MacDonald wrote:
Hi Keith,

On 1/22/2013 10:44 PM, Keith wrote:
To the Bioconductor developer group,

I emailed the author of the affy package (Rafael Irizarry) and he advised
me to contact the Bioconductor developers with my problem.

My problem is with the affy package. My affylmGUI package depends on the
affy package. I only noticed this problem when I tested my program on a
fresh install of R-2.15.2. When affylmGUI normalizes data using the rma
function in the affy package, it calls eventually the cdfFromBioC function
(as coded in getCDFenv.R) which uses the "install.packages" function with
the parameter "dependencies=TRUE". This worked fine up until R-2.15.0, but
this version of R changed the meaning of the dependencies  parameter to
include packages also mentioned in the "Suggests" field.

Consequently when affy installs a cdf package like "hgu95av2cdf", the
dependency "AnnotationDbi" is installed, which is not a problem, but
additionally all the packages in the "Suggests" field of AnnotationDbi are
also installed. This causes the following to be installed:

There are two problems here. First, a normal BioC installation will
already have AnnotationDbi installed, as this is one of only three core
packages that are installed by

biocLite()

which is the first step in a 'regular' BioC installation procedure.

Second, if I install BioC and then strip out all of the packages you say
will be installed, I can't reproduce what you are seeing:

x<- c('XML', 'BSgenome', 'Rsamtools', 'bitops', 'GenomicRanges',
'Biostrings','rtracklayer', 'biomaRt', 'RCurl', 'GenomicFeatures',
'hgu95av2.db','GO.db', 'org.Sc.sgd.db', 'org.At.tair.db', 'KEGG.db',
'RUnit','TxDb.Hsapiens.UCSC.hg19.knownGene', 'hom.Hs.inp.db',
'org.Hs.eg.db','seqnames.db', 'reactome.db', 'AnnotationForge', 'DBI',
'RSQLite' ,'IRanges', 'AnnotationDbi')
sum(x %in% .packages(all.available = TRUE))
[1] 0

So I don't have any of these packages installed, including AnnotationDbi.

library(affy)
affy:::cdfFromBioC("hgu95av2cdf")
[1] "Attempting to obtain hgu95av2cdf from Bioconductor website"
[1] "Checking to see if package hgu95av2cdf is already installed"
[1] "The environment hgu95av2cdf was not found in these directories:
/misc/staff/jmacdon/R-devel/library.  Now searching the internet
repository."
[1] "Checking to see if your internet connection works ..."
also installing the dependencies DBI, RSQLite, IRanges, AnnotationDbi

So I end up installing the cdf, and four other packages.

I think the problem lies elsewhere.

Best,

Jim



'XML', 'BSgenome', 'Rsamtools', 'bitops', 'GenomicRanges', 'Biostrings',
'rtracklayer', 'biomaRt', 'RCurl', 'GenomicFeatures', 'hgu95av2.db',
'GO.db', 'org.Sc.sgd.db', 'org.At.tair.db', 'KEGG.db', 'RUnit',
'TxDb.Hsapiens.UCSC.hg19.knownGene', 'hom.Hs.inp.db', 'org.Hs.eg.db',
'seqnames.db', 'reactome.db', 'AnnotationForge', 'DBI', 'RSQLite' and
'IRanges'.

This is a 1.8GByte download which would rather destroy a lab lesson if it
happened during a class! Of course the immediate solution is to install
AnnotationDbi before running affylmGUI, but that may not always happen.

Therefore could someone please change line 102 of getCDFenv.R to
'dependencies=c("Depends", "Imports")' to solve this problem.

It would be very helpful if you could make the change on R-2.15.2 to
avoid the above mentioned problems.

After using Itoshi NIKAIDO's source code search engine at
http://search.bioconductor.jp/ (Thanks for that Itoshi, it is an excellent
tool), I suspect that 2 other packages would cause similar problems. Doing a
code search for "dependencies=TRUE" showed that the gcrma package (file
getPackages.R) and the oligoClasses package (file utils-general.R) have this
parameter on the install.packages function call. Perhaps it would be wise to
modify these packages in a similar way.

cheers,

Keith
------------------------------
Keith Satterley
Maintainer of affylmGUI
Bioinformatics Division,
The Walter&  Eliza Hall Institute
Melbourne, Australia
-----------------------------


______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

--
cheers,

Keith
------------------------------
Keith Satterley
Bioinformatics Division,
The Walter&  Eliza Hall Institute
Melbourne, Australia
e:ke...@wehi.edu.au

-----------------------------


______________________________________________________________________
The information in this email is confidential and inte...{{dropped:6}}
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

--
James W. MacDonald, M.S.
Biostatistician
University of Washington
Environmental and Occupational Health Sciences
4225 Roosevelt Way NE, # 100
Seattle WA 98105-6099

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to