Как установить пакет из биокондуктора (а не CRAN)? - PullRequest
1 голос
/ 23 апреля 2020

В этом учебнике написано

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

, которые возвращают различные ошибки.

Это пытается загрузить и установить с биокондуктора, и если да, есть ли другой способ?

Ответы [ 2 ]

2 голосов
/ 23 апреля 2020

Ответ @ dc37 является правильным и соответствует тому, что вы найдете на веб-странице BioConductor.

Поскольку это и относительно распространенная задача, и ее можно выполнить и в командной строке, Я недавно добавил вспомогательный скрипт в репозиторий GitHub littler , и теперь я могу просто сделать

edd@rob:~$ installBioc.r limma
Bioconductor version 3.10 (BiocManager 1.30.10), R 3.6.3 (2020-02-29)
Installing package(s) 'limma'
trying URL 'https://bioconductor.org/packages/3.10/bioc/src/contrib/limma_3.42.2.tar.gz'
Content type 'application/x-gzip' length 1494662 bytes (1.4 MB)
==================================================
downloaded 1.4 MB

* installing *source* package ‘limma’ ...
** using staged installation
** libs
ccache gcc -I"/usr/share/R/include" -DNDEBUG     -fpic  -g -O3 -Wall -pipe -pedantic  -std=gnu99 -c init.c -o init.o
ccache gcc -I"/usr/share/R/include" -DNDEBUG     -fpic  -g -O3 -Wall -pipe -pedantic  -std=gnu99 -c normexp.c -o normexp.o
normexp.c: In function ‘fit_saddle_nelder_mead’:
normexp.c:165:78: warning: ISO C forbids passing argument 9 of ‘nmmin’ between function pointer and ‘void *’ [-Wpedantic]
  165 |   nmmin(3, par, parsOut, Fmin, normexp_m2loglik_saddle, fail, abstol, intol, &ex, alpha, beta, gamma, trace, fncount, maxit);
      |                                                                              ^~~
In file included from normexp.c:12:
/usr/share/R/include/R_ext/Applic.h:73:51: note: expected ‘void *’ but argument is of type ‘void (*)()’
   73 |     int *fail, double abstol, double intol, void *ex,
      |                                             ~~~~~~^~
ccache gcc -I"/usr/share/R/include" -DNDEBUG     -fpic  -g -O3 -Wall -pipe -pedantic  -std=gnu99 -c weighted_lowess.c -o weighted_lowess.o
ccache gcc -Wl,-S -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o limma.so init.o normexp.o weighted_lowess.o -L/usr/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/00LOCK-limma/00new/limma/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (limma)

The downloaded source packages are in
    ‘/tmp/downloaded_packages’
edd@rob:~$ 
1 голос
/ 23 апреля 2020

В этом учебнике использовалась предыдущая версия Bioconductor, теперь с версией 3.10, вы должны использовать BiocManager вместо BiocLite и передать следующую команду (как описано здесь: https://bioconductor.org/packages/release/bioc/html/limma.html) :

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("limma")

Более подробную информацию о BiocManager и Bioconductor можно найти здесь: https://bioconductor.org/install/

...