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 <jdnew...@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:<jdnew...@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 <r...@rz.uni-potsdam.de> wrote:
I had the following files in /:

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

______________________________________________
R-help@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.

Reply via email to