[R] dev-lang/R-3.1.0: biocLite("vsn") removes all files in /

Martin Morgan mtmorgan at fhcrc.org
Mon May 19 16:25:57 CEST 2014


On 05/19/2014 01:09 AM, Henric Winell wrote:
> On 2014-05-18 20:43, peter dalgaard wrote:
>>
>> On 18 May 2014, at 07:38 , Jeff Newmiller <jdnewmil at dcn.davis.ca.us> wrote:
>>
>>> Then you had best not do it again if you don't like that result.
>>>
>>> 1) This is not the right mailing list for issues having to do with
>>> bioconductor. Please go to the bioconductor mailing list for that.
>>
>> Hmm, this is one case where I'd really rather not scare people off R-help.
>> Non-BioC users do use BioC packages from time to time and what Juergen did is
>> what the BioConductor web pages tells new users to do (probably minus the
>> as-root bit). A warn-off on R-help seems entirely warranted. Good to see that
>> Martin Morgan is taking the issue very seriously in his post below.
>
> As a non-BioC user using BioC packages I've always wondered why the standard R
> functionality isn't enough.  Can someone, please, tell me why 'biocLite()'
> should be used?
>
> I've always succeeded installing BioC packages using the standard R tools (as
> indicated by Uwe in his reply).

Conversely, I've always succeeded in installing CRAN and Bioc packages via

   source("http://bioconductor.org/biocLite.R")
   biocLite(...)

and am more-or-less flummoxed by the extra steps I'm asked to perform (to choose 
and set repositories) when I take that rare foray into install.packages()-land! 
One point is that http://bioconductor.org actually points to an Amazon 
CloudFront address, which means that the content comes from a geographically 
proximate and reliable location (this makes choice of repository mostly 
irrelevant for normal users, just point to bioconductor.org)



Bioconductor has a repository and release schedule that differs from R 
(Bioconductor has a 'devel' branch to which new packages and updates are 
introduced, and a stable 'release' branch emitted once every 6 months to which 
bug fixes but not new features are introduced).

A consequences of the mismatch between R and Bioconductor release schedules is 
that the Bioconductor version identified by Uwe's method is sometimes not the 
most recent 'release' available. For instance, R 3.1.1 will likely be introduced 
some months before the next Bioc release. After the Bioc release, 3.1.1 users 
will be pointed to an out-of-date version of Bioconductor.

A consequence of the distinct 'devel' branch is that Uwe's method sometimes 
points only to the 'release' repository, whereas Bioconductor developers and 
users wanting leading-edge features wish to access the Bioconductor 'devel' 
repository. For instance, the next Bioc release will be available for R.3.1.x, 
so Bioconductor developers and leading-edge users need to be able to install the 
devel version of Bioconductor packages into the same version (though perhaps 
different instance or at least library location) of R that currently supports 
the release version.

An indirect consequence of the structured release is that Bioconductor packages 
generally have more extensive dependencies with one another, both explicitly via 
the usual package mechanisms and implicitly because the repository, release 
structure, and Bioconductor community  interactions favor re-use of data 
representations and analysis concepts across packages. There is thus a higher 
premium on knowing that packages are from the same release, and that all 
packages are current within the release.



These days, the main purpose of source("http://bioconductor.org/biocLite.R") is 
to install and attach the 'BiocInstaller' package.

In a new installation, the script installs the most recent version of the 
BiocInstaller package relevant to the version of R in use, regardless of the 
relative times of R and Bioconductor release cycles. The BiocInstaller package 
serves as the primary way to identify the version of Bioconductor in use

   > library(BiocInstaller)
   Bioconductor version 2.14 (BiocInstaller 1.14.2), ?biocLite for help

Since new features are often appealing to users, but at the same time require an 
updated version of Bioconductor, the source() command evaluated in an 
out-of-date R will nudge users to upgrade, e.g., in R-2.15.3

   > source("http://bioconductor.org/biocLite.R")
   A new version of Bioconductor is available after installing the most
     recent version of R; see http://bioconductor.org/install

The biocLite() function is provided by BiocInstaller. This is a wrapper around 
install.packages, but with the repository chosen according to the version of 
Bioconductor in use, rather than to the version relevant at the time of the 
release of R.

biocLite also nudges users to remain current within a release, by default 
checking for out-of-date packages and asking if the user would like to update

 > biocLite()
BioC_mirror: http://bioconductor.org
Using Bioconductor version 2.14 (BiocInstaller 1.14.2), R version
   3.1.0.
Old packages: 'BBmisc', 'genefilter', 'GenomicAlignments',
   'GenomicRanges', 'IRanges', 'MASS', 'reshape2', 'Rgraphviz',
   'RJSONIO', 'rtracklayer'
Update all/some/none? [a/s/n]:

The BiocInstaller package provides facilities for switching to the 'devel' 
version of Bioconductor

 > BiocInstaller::useDevel()
Installing package into ‘/home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
trying URL 
'http://bioconductor.org/packages/3.0/bioc/src/contrib/BiocInstaller_1.15.5.tar.gz'
Content type 'application/x-gzip' length 14144 bytes (13 Kb)
opened URL
==================================================
downloaded 13 Kb

* installing *source* package ‘BiocInstaller’ ...
...
Bioconductor version 3.0 (BiocInstaller 1.15.5), ?biocLite for help
'BiocInstaller' changed to version 1.15.5

(at some points in the R / Bioc release cycle use of 'devel' requires use of a 
different version of R itself, in which case the attempt to useDevel() fails 
with an appropriate message).

The BiocInstaller package also provides biocValid() to test that the installed 
packages are not a hodgepodge from different Bioconductor releases (the 'too 
new' packages have been installed from source rather than a repository; regular 
users would seldom have these).

 > biocValid()

* sessionInfo()

R version 3.1.0 Patched (2014-05-06 r65533)
Platform: x86_64-unknown-linux-gnu (64-bit)
...

* Out-of-date packages
...

update with biocLite()

* Packages too new for Bioconductor version '3.0'
...

downgrade with biocLite(c("ShortRead", "BatchJobs"))

Error: 9 package(s) out of date; 2 package(s) too new


Certainly for casual users install.packages() offers a familiar and 
not-incorrect way of installing Bioconductor packages. For users who spend a lot 
of time in Bioconductor, the features outlined above become increasingly 
important and biocLite() is the way to go.

Martin

>
>
> Henric Winell
>
>
>
>>
>>>
>>> 2) Running random scripts straight from the internet as root without
>>> reviewing them is exactly the kind of thing any experienced *nix user would
>>> never do. That is why user-level accounts have limits on the things they can
>>> do. I doubt you are supposed to be running anything with your current
>>> directory set to /, ever, especially not logged in as root.
>>> ---------------------------------------------------------------------------
>>> Jeff Newmiller                        The     .....       .....  Go Live...
>>> DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
>>>                                       Live:   OO#.. Dead: OO#..  Playing
>>> Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
>>> /Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
>>> ---------------------------------------------------------------------------
>>> Sent from my phone. Please excuse my brevity.
>>>
>>> On May 17, 2014 10:16:46 PM PDT, Juergen Rose <rose at rz.uni-potsdam.de> wrote:
>>>> I had the following files in /:
>>>>
>>>> root at caiman:/root(8)# ll /
>>>> total 160301
>>>> drwxr-xr-x   2 root root      4096 May 16 12:23 bin/
>>>> drwxr-xr-x   6 root root      3072 May 14 13:58 boot/
>>>> -rw-r--r--   1 root root     38673 May 14 14:22 boot_local-d.log
>>>> lrwxrwxrwx   1 root root        11 Jan 22  2011 data -> data_caiman/
>>>> drwxr-xr-x   7 root root      4096 Mar  9 22:29 data_caiman/
>>>> lrwxrwxrwx   1 root root        23 Dec 29 13:43 data_impala ->
>>>> /net/impala/data_impala/
>>>> lrwxrwxrwx   1 root root        21 Jan 27 08:13 data_lynx2 ->
>>>> /net/lynx2/data_lynx2/
>>>> drwxr-xr-x  21 root root      4040 May 14 14:40 dev/
>>>> drwxr-xr-x 160 root root     12288 May 17 17:14 etc/
>>>> -rw-------   1 root root     15687 Dec 26 13:42 grub.cfg_old
>>>> lrwxrwxrwx   1 root root        11 Jan 23  2011 home -> home_caiman/
>>>> drwxr-xr-x   5 root root      4096 Dec 26 11:31 home_caiman/
>>>> lrwxrwxrwx   1 root root        23 Dec 29 13:43 home_impala ->
>>>> /net/impala/home_impala/
>>>> lrwxrwxrwx   1 root root        21 Jan 27 08:13 home_lynx2 ->
>>>> /net/lynx2/home_lynx2/
>>>> lrwxrwxrwx   1 root root         5 Mar 30 04:25 lib -> lib64/
>>>> drwxr-xr-x   3 root root      4096 May 14 04:31 lib32/
>>>> drwxr-xr-x  17 root root     12288 May 16 12:23 lib64/
>>>> -rw-r--r--   1 root root   1797418 May 14 14:22 login.log
>>>> drwx------   2 root root     16384 Jan 20  2011 lost+found/
>>>> drwxr-xr-x   2 root root         0 May 14 14:21 misc/
>>>> drwxr-xr-x  10 root root      4096 Nov  4  2013 mnt/
>>>> drwxr-xr-x   4 root root         0 May 17 17:38 net/
>>>> drwxr-xr-x  13 root root      4096 Feb 13 13:25 opt/
>>>> dr-xr-xr-x 270 root root         0 May 14 14:21 proc/
>>>> drwx------  36 root root      4096 May 17 15:00 root/
>>>> drwxr-xr-x  30 root root       840 May 16 18:21 run/
>>>> drwxr-xr-x   2 root root     12288 May 16 12:23 sbin/
>>>> -rw-r--r--   1 root root 162191459 Jan 13  2011
>>>> stage3-amd64-20110113.tar.bz2
>>>> dr-xr-xr-x  12 root root         0 May 14 14:21 sys/
>>>> drwxrwxrwt  16 root root      1648 May 17 17:14 tmp/
>>>> drwxr-xr-x  19 root root      4096 May  6 04:40 usr/
>>>> drwxr-xr-x  16 root root      4096 Dec 26 11:17 var/
>>>>
>>>>
>>>> Then I did as root:
>>>> R
>>>>> source("http://bioconductor.org/biocLite.R")
>>>>> biocLite("vsn")
>>>>
>>>> Save workspace image? [y/n/c]: n
>>>> root at caiman:/root(15)# ll /
>>>> total 93
>>>> drwxr-xr-x   2 root root  4096 May 16 12:23 bin/
>>>> drwxr-xr-x   6 root root  3072 May 14 13:58 boot/
>>>> drwxr-xr-x   7 root root  4096 Mar  9 22:29 data_caiman/
>>>> drwxr-xr-x  21 root root  4040 May 14 14:40 dev/
>>>> drwxr-xr-x 160 root root 12288 May 17 17:14 etc/
>>>> drwxr-xr-x   5 root root  4096 Dec 26 11:31 home_caiman/
>>>> drwxr-xr-x   3 root root  4096 May 14 04:31 lib32/
>>>> drwxr-xr-x  17 root root 12288 May 16 12:23 lib64/
>>>> drwx------   2 root root 16384 Jan 20  2011 lost+found/
>>>> drwxr-xr-x   2 root root     0 May 14 14:21 misc/
>>>> drwxr-xr-x  10 root root  4096 Nov  4  2013 mnt/
>>>> drwxr-xr-x   2 root root     0 May 17 17:38 net/
>>>> drwxr-xr-x  13 root root  4096 Feb 13 13:25 opt/
>>>> dr-xr-xr-x 272 root root     0 May 14 14:21 proc/
>>>> drwx------  36 root root  4096 May 17 15:00 root/
>>>> drwxr-xr-x  30 root root   840 May 16 18:21 run/
>>>> drwxr-xr-x   2 root root 12288 May 16 12:23 sbin/
>>>> dr-xr-xr-x  12 root root     0 May 17 17:38 sys/
>>>> drwxrwxrwt  19 root root  1752 May 17 18:33 tmp/
>>>> drwxr-xr-x  19 root root  4096 May  6 04:40 usr/
>>>> drwxr-xr-x  16 root root  4096 Dec 26 11:17 var/
>>>>
>>>> I.e., all not directory files in / disappeared. This happens on two
>>>> systems.
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.


-- 
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



More information about the R-help mailing list