首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有CRAN和生物导体依赖关系的R包

具有CRAN和生物导体依赖关系的R包
EN

Stack Overflow用户
提问于 2016-01-05 17:06:57
回答 2查看 1.7K关注 0票数 4

我在本地git服务器上存储了一个R包。这个包有一系列依赖-来自CRAN和生物导体的包。使用devtools包,我可以直接从git安装:

代码语言:javascript
复制
library(devtools)
install_git("http://mygitserver.com/username/reponame")

我注意到,此安装过程未能安装所有的生物导体依赖项,但所有CRAN依赖项都已正确安装。

如何设置包的依赖项(在DESCRIPTION文件中),以便正确安装所有的生物导体包依赖项。我注意到,当包托管在生物导体镜像上并通过biocLite()安装时,这并不是一个问题,这意味着也许我可以通过列出一组镜像来解决这个问题,以便install.packages()在声明无法找到包之前进行搜索。有办法自动获取所有这些依赖项吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-05 17:39:07

简单回答:setRepositories(ind=1:2)

tl;dr

setRepositories的文档告诉我们,“已知存储库的默认列表存储在‘R_Home/etc/存储库’”文件中。我们可以通过几种方法跟踪这一点,但为了方便起见,让我们将存储库表读入R(这将切断该文件中所有注释的文档,但如果您感兴趣,可以使用readLines将其提取出来。

代码语言:javascript
复制
read.table(file.path(R.home(), "etc", "repositories"), sep = "\t")

                             menu_name                                 URL default source win.binary mac.binary
CRAN                              CRAN                              @CRAN@    TRUE   TRUE       TRUE       TRUE
BioCsoft                 BioC software                %bm/packages/%v/bioc   FALSE   TRUE       TRUE       TRUE
BioCann                BioC annotation     %bm/packages/%v/data/annotation   FALSE   TRUE       TRUE       TRUE
BioCexp                BioC experiment     %bm/packages/%v/data/experiment   FALSE   TRUE       TRUE       TRUE
BioCextra                   BioC extra               %bm/packages/%v/extra   FALSE   TRUE       TRUE       TRUE
CRANextra                CRAN (extras)  http://www.stats.ox.ac.uk/pub/RWin   FALSE   TRUE       TRUE       TRUE
Omegahat                      Omegahat           http://www.omegahat.org/R   FALSE   TRUE      FALSE      FALSE
R-Forge                        R-Forge        http://R-Forge.R-project.org   FALSE   TRUE       TRUE       TRUE
rforge.net                  rforge.net               http://www.rforge.net   FALSE   TRUE       TRUE       TRUE
CRANextra[https]  CRAN (extras, https) https://www.stats.ox.ac.uk/pub/RWin   FALSE   TRUE       TRUE       TRUE
R-Forge[https]         R-Forge [https]       https://R-Forge.R-project.org   FALSE   TRUE       TRUE       TRUE
rforge.net[https]   rforge.net [https]              https://www.rforge.net   FALSE   TRUE       TRUE       TRUE

假设每一行都有一个索引号。当您调用setRepositories(ind = 1:2)时,您告诉R查看第1行和第2行中的存储库。

票数 2
EN

Stack Overflow用户

发布于 2016-01-05 18:58:47

github存储库的另一个解决方案是使用biocLite()

代码语言:javascript
复制
source("https://bioconductor.org/biocLite.R")
biocLite("username/reposname")

它向devtools发送github包,并为他人发送CRAN /生化导体。

source()命令安装或更新BiocInstaller包,因此当您的BiocInstaller版本是当前版本时,有一个变化

代码语言:javascript
复制
BiocInstaller::biocLite("username/reposname")

使用devtools作为您的前端,但与正确的生物导体储存库,您的版本的R和生物导体

代码语言:javascript
复制
install_git("http://mygitserver.com/username/reponame", 
            repos=BiocInstaller::biocinstallRepos())

repos参数最终被传递给install.packages()。更具体地说,对我来说

代码语言:javascript
复制
> biocinstallRepos()
                                               BioCsoft 
           "https://bioconductor.org/packages/3.3/bioc" 
                                                BioCann 
"https://bioconductor.org/packages/3.3/data/annotation" 
                                                BioCexp 
"https://bioconductor.org/packages/3.3/data/experiment" 
                                              BioCextra 
          "https://bioconductor.org/packages/3.3/extra" 
                                                   CRAN 
                             "https://cran.rstudio.com" 

使用第二个注释包,BioCann,url。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34617306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档