目录

1介绍

使用生物技术经理包来安装和管理来自生物导体统计分析和理解项目高通量基因组数据。

当前生物导体包在预期的“发布”版本上可用用于日常使用,以及引入新功能的“devel”版本。A类新版本每六个月创建一次。使用生物技术经理包帮助用户安装来自同一版本的包。

2基本用途

2.1正在安装R(右)

我们建议使用当前“发布”版本的R(右).跟随说明书用于安装R(右).

2.2正在安装生物技术经理

使用标准R(右)安装程序以安装生物技术经理包裹。此命令每次只需要一次R(右)安装。

install.packages(“BiocManager”,repos=“https://cloud.r-project.org")

2.3正在安装生物导体,CRAN(起重机),或GitHub软件包

安装生物导体(或CRAN)包装

BiocManager::install(c(“GenomicRanges”,“Organism.dplyr”))

安装的软件包可以用更新到其当前版本

BiocManager::安装()

2.4早期版本

安装与早期版本一致的CRAN软件包版本生物导体,使用生物档案包裹。BioArchive启用过时CRAN包的当代安装生物导体发布使用Posit包管理器.

2.5安装的版本和有效性

使用版本()发现的版本生物导体当前在使用。

BiocManager::版本()

生物导体当所有包都来自同一版本时,它们工作得最好。使用valid()识别过期或意外的包裹版本。

生物经理::valid()

valid()返回可以查询详细信息的对象有关无效包的信息,如下所示屏幕截图

>v<-valid()警告消息:6包过期;0个程序包太新>姓名(v)[1] “out_of_date”“too_new”>头部(v$过期,2)程序包LibPathbit“比特”“/home/mtmorgan/R/x86_64-pc-linux-gnu-library/3.5-Bioc-3.8”ff“ff”“/home/mtmorgan/R/x86_64-pc-linux-gnu-library/3.5-Bioc-3.8”已安装的构建ReposVer存储库位“1.1-12”“3.5.0”“1.1-13”https://cloud.r-project.org/src/contrib网站ff“2.2-13”“3.5.0”“2.2-14”https://cloud.r-project.org/src/控制>

2.6可用的程序包

适用于您的版本的软件包生物导体可以是使用发现可用(); 第一个参数可用于基于正则表达式筛选包名称,例如“BSgenome”包可用于智人

可用<-BiocManager::可用()长度(有效)#所有CRAN和Bioconductor封装BiocManager::available(“BSgenome.Hsapiens”)#BSgenome。Hsapens.*包

有关安装和管理的问题生物导体程序包应生物导体支持站点.

2.7更新旧包

用户通常会收到类似以下内容的更新包提示:

>BiocManager::安装(“AnVIL”)生物导体版本3.18(BiocManager 1.30.22),R 4.3.1(2023-06-16)旧软件包:“AnnotationDbi”、“arrow”、“basilisk.utils”、“beachmat”、,“BiocParallel”、“BiocSingular”、“biochis”、“生物串”、“bluster”、,“DelayedArray”、“downlit”、“edgeR”、“GenomeInfoDb”、“基因组特征”,'IRanges','limma','pkgbuild','pkgload','processx','RcppSpdlog','rhdf5',“rstudioapi”、“SingleR”、“testtat”、“usethis”、“xml2”、“KernSmooth”,“矩阵”,“mgcv”更新全部/部分/无?[a/s/n]:

应就更新包作出决定。在以下部分中我们将详细介绍更新包的基本原理、优点和缺点。

(本节初稿由ChatGPT于2023年8月28日编制)

2.7.1理论基础

包更新通常包括错误修复、功能改进以及优化。通过更新,用户可以确保他们从中受益他们使用的包中的最新增强和修复。

2.7.2更新的优点

  • 漏洞修补:更新包可以解决中存在的已知问题和错误旧版本。这可以导致更准确和可靠的分析。
  • 性能:包更新可能附带性能优化这可以加快代码和分析的执行速度。
  • 新功能:更新的包可能会引入新的特性、功能、,以及可以增强工作流和分析选项的功能。
  • 兼容性:开发的较新软件包通常与注意。使用过时的软件包可能会导致与其他软件包的兼容性问题包或R本身。
  • 安全:在某些情况下,包更新解决了安全问题漏洞。保持包的最新状态有助于维护计算环境。
  • 文档:更新版本的软件包可能随附更新反映包中最新更改和改进的文档功能。

2.7.3更新的缺点

  • 代码中断:更新可以引入包行为的更改,函数签名或语法。这可能会破坏现有代码,如果依赖于之前的行为。
  • 版本冲突:对一个包的更新可能会触发对的依赖关系其他包的更新版本。如果这些更新,则可能导致冲突版本与工作流的其他部分不兼容。
  • 工作流中断:更新包时,可能需要重新测试并验证您的分析,以确保包行为中的更改不会影响您的结果。
  • 学习曲线:更新包中引入的新功能和更改可能需要你花时间了解如何有效地使用它们。
  • 暂时不稳定:在进行重大更新后,新版本可能会不如前一个稳定,导致意外行为。

2.7.4平衡决策

  • 考虑一下这个包对你的分析有多重要。如果包裹是中央的对于您的工作流,更新可能更重要。
  • 阅读软件包的发行说明以了解有哪些更改更新中引入。
  • 考虑使用单独的环境(例如Docker容器)进行测试在将其应用于主分析环境之前进行更新。
  • 确保在执行更新之前备份代码和数据。
  • 检查您正在使用的其他软件包是否存在任何兼容性问题。

2.8存档的CRAN包

如果CRAN上不再提供软件包,则可能是需要安装存档包,尤其是假设包稍后将返回到未配置状态。希望这样做的用户保护他们的系统免受这些状态变化的影响使用克兰海文存储库。此存储库包含CRAN软件包的存档版本长达五周或直至它们在CRAN上没有存档。为了启用存档的CRAN包安装用户可以运行以下命令:

选项(回购=c(getOption(“回购”),CRANhaven=“https://cranhaven.r-universe.dev网站))BiocManager::安装('archivedPackage')

高级使用

3.1更改版本

使用版本=参数将所有包更新为特定生物导体版本

BiocManager::安装(版本=“3.7”)

生物导体版本与特定R(右)版本,作为总结在这里。正在尝试安装的版本生物导体的版本不支持R(右)正在使用中导致错误;使用最新版本的生物导体可以需要安装新版本的R(右).

>BiocManager::安装(版本=“3.9”)错误:Bioconductor版本“3.9”需要R版本“3.6”;看见https://bioconductor.org/install(https://bioconductor.org/install)

一个特殊的版本,version=“开发”,允许使用生物导体正在开发的包。

3.2管理多个版本

可以有多个版本的生物导体安装在上同一台计算机。最佳实践是创建首字母R(右)安装.然后为每个版本的生物导体.图书馆将包含所有生物导体、CRAN和该版本的其他软件包生物导体。我们说明了假设使用生物导体版本3.7,可使用R(右)版本3.5

创建包含库的目录(替换用户姓名与您的用户Windows上的名称)

  • Linux:~/R/3.5-Bioc-3.7
  • macOS:~/图书馆/R/3.5-Bioc-3.7/图书馆
  • 窗户:C: \Users\USER_NAME\Documents\R\3.5-Bioc-3.7

设置环境变量用户(_LIBS)并调用R(右).Linux的命令行示例有

  • Linux:R_LIBS_USER=~/R/3.5-Bioc-3.7 R
  • macOS:R_LIBS_USER=~/Library/R/3.5-Bioc-3.7/Library R
  • 窗户:cmd/C“设置R_LIBS_USER=C:\Users\USER_NAME\Documents\R\3.5-Bioc-3.7&&R”

一次进入R(右),确认已设置特定于版本的库路径

.libPaths()

在Linux和macOS上,创建一个bash别名以保存键入,例如。,

  • Linux操作系统:alias Bioc3.7='R_LIBS_USER=~/R/3.5-Bioc-3.7 R'
  • macOS:alias Bioc3.7='R_LIBS_USER=~/Library/R/3.5-Bioc-3.7/Library R'

从命令行调用这些生物3.7.

在Windows上,创建快捷方式。转到“我的电脑”并导航到一个目录那是在你的路径上。然后右键单击并选择新建->快捷方式。在“键入项目位置”框中,输入:

cmd/C“设置R_LIBS_USER=C:\Users\USER_NAME\Documents\R\3.5-Bioc-3.7&&R”

单击“下一步”。在“键入此快捷方式的名称”框中,键入生物-3.7.

3.3脱机使用

脱机使用生物技术经理对于组织和用户来说希望提供对内部存储库的访问生物导体包裹同时在Bioconder和R之间执行适当的版本检查。对于脱机使用,组织和用户需要执行以下步骤:

  1. 使用远程同步创建本地存储库CRAN(起重机)生物导体.告诉R(右)使用(例如。,在现场范围内.R配置文件,请参阅?。R配置文件).

    选项(repos=c(CRAN_mirror=“文件:///path/to/CRAN-mirror"),BioC_mirror=“文件:///路径/to/Bioc-mirror)

    通过查看的输出来验证存储库设置存储库().

  2. 创建环境变量或选项,例如。,

    选项(生物导体_ONLINE_VERSION_DIAGNOSIS=假)
  3. 使用install.packages()以引导BiocManager安装。

    install.软件包(c(“BiocManager”、“BiocVersion”)

然后可以使用BiocManager进行后续安装,例如:。,BiocManager::安装(c(“ggplot2”,“GenomicRanges”).

3.3.1离线config.yaml

生物技术经理还希望参考在线配置yaml的文件生物导体版本验证位置https://bioconductor.org/config.yaml。通过脱机使用,用户可以应在本地托管此文件或提供其配置yaml版本。该包允许以下任一环境变量或R特定选项来定位此文件,例如。,

```第页选项(生物导体_CONFIG_FILE=“文件:///path/to/config.yaml)```

4它是如何工作的

BiocManager的工作是确保所有软件包都是从相同的生物导体版本,使用兼容R(右)CRAN(起重机)包装。然而,R(右)有一个年度发布周期,而生物导体有两年的发布周期。也,生物导体有一个“devel”分支,引入了新的包和功能,以及一个“发布”分支,其中有错误修复和相对稳定性重要;CRAN(起重机)包不区分devel和释放分支。

过去,人们会安装生物导体通过评估打包命令源(“https://…/biocLite.R")从中读取文件网状物。该文件包含足够智能的安装脚本找出什么版本的R(右)生物导体正在使用或适用于调用脚本的人。获取可执行文件来自web的脚本是一个明显的安全问题。

我们的解决方案是使用CRAN软件包BiocManager,以便用户从预先配置的CRAN镜像安装,而不是键入URL以及从网上采购。

但CRAN包如何知道什么版本的生物导体在中使用?我们可以使用BiocManager吗?不,因为我们没有足够的控制权超过CRAN上可用的BiocManager版本,例如,每个使用相同版本的R(右)将获得相同版本的BiocManager和因此生物导体.但有两个生物导体每个R的版本版本,所以这不起作用!

BiocManager可以将信息写入用户磁盘上的缓存,但由于一些原因,这不是一个健壮的解决方案。有吗另一种方式R(右)可以跟踪版本信息吗?是的,由安装生物导体包(BiocVersion),其唯一目的是指示的版本生物导体正在使用中。

默认情况下,BiocManager安装相应的BiocVersion包到最新发布的版本生物导体对于版本属于R(右)正在使用中。在编写本节时R的版本是R-3.6.1,与生物导体释放版本3.9。因此,首次使用BiocManager::安装()我们明白了正在安装BiocVersion版本3.9.0。

>BiocManager::安装()生物导体版本3.9(BiocManager 1.30.4),R 3.6.1 Patched(2019-07-06r76792)安装程序包“BiocVersion”正在尝试URL'https://bioductor.org/packages/3.9/biocs/src/controib/\生物版本_3.9.0.tar.gz...

请求的特定版本生物导体更新,如果可能,BiocVersion包。

>##3.10适用于R-3.6>BiocManager::安装(版本=“3.10”)将3个软件包升级到Bioconductor版本“3.10”?[年/月]:年生物导体版本3.10(BiocManager 1.30.4),R 3.6.1已修补(2019-07-06r76792)安装程序包“BiocVersion”尝试URL'https://bioconductor.org/packages/3.10/bioc/src/contrib网站/\生物版本_3.10.1.tar.gz...>##再次后退。。。>BiocManager::安装(版本=“3.9”)将3个软件包降级为Bioconductor版本“3.9”?[年/月]:年生物导体版本3.9(BiocManager 1.30.4),R 3.6.1 Patched(2019-07-06r76792)安装程序包“BiocVersion”尝试URL'https://bioconductor.org/packages/3.9/bioc/src/contrib网站/\生物版本_3.9.0.tar.gz...

回答n个提示升级或降级程序包时安装保持不变,因为这将立即创建安装不一致。

5故障排除

5.1程序包不可用

(本节初稿由ChatGPT于2023年5月25日编制)

2023年5月25日,用户未能安装“celldex”软件包。A类成绩单R(右)会话如下:

>BiocManager::版本()[1] '3.18'>BiocManager::install(“celldex”)生物导体版本3.18(BiocManager 1.30.20),R 4.3.0修补(2023-05-01r84362)正在安装程序包“celldex”警告消息:包“celldex”不适用于Bioconductor版本“3.18”您的R版本的此软件包版本可能在其他地方提供,请参阅上的想法https://cran.r-project.org/doc/manuals/r-patched/r-admin.html#安装-程序包

内特定软件包的可用性生物导体可以依赖于关于各种因素,包括进入包裹时的简单错误名称、包的开发状态、维护和兼容性使用最新版本的生物导体以及可用性CRAN包的生物导体包依赖于。

程序包名称:R(右)包名称区分大小写,必须拼写正确,因此使用BiocManager::安装(“Celldex”)(有资本C类)或BiocManager::install(“celdex”)(只有一个)会两者都无法安装细胞索引;R(右)有时会建议正确的名称。

CRAN(起重机)包装:BiocManager::安装()尝试安装程序包来自CRAN和生物导体.检查包装是否不是CRAN尝试访问CRAN“登录页”打包

  • https://cran.R-project.org/package=celldex

如果找到此页面,则该软件包为CRAN软件包;请参阅R-管理员CRAN包故障排除手册部分安装。

还应检查包装是否不是已经“已存档”,尝试访问后不再可用

  • https://cran.R-project.org/src/contrib/Archive/celldex/

如果此页面存在,但“登录页面”不存在,这意味着包装已从CRAN中取出。虽然可以安装存档的软件包,通常最好的做法是确定替代包来完成任务感兴趣。如果最近存档的软件包是几个多月前的。

兼容性:A生物导体包必须可用于的特定版本生物导体您正在使用。尝试访问您的版本的软件包的“登录页”生物导体,例如,对于生物导体3.18版和package celldex

如果此登录页不存在,则程序包不可用对于您的版本生物导体.

用户有时可能会有过时版本的R(右)生物导体安装;这可能是有意的(例如,为了确保现有分析的再现性)或仅仅因为生物导体尚未更新。尝试访问当前版本登录第页

如果发布登录页存在,那么您继续使用过时版本的生物导体,考虑更新R(右)(如有必要)和生物导体到当前版本使用本文档顶部说明的版本。

最近向贡献的包生物导体已添加到“devel”分支,而大多数用户配置为使用“release”分支。尝试访问“开发”登录页

如果只有devel登录页存在,请考虑更新您的安装以使用的开发版本生物导体.注意开发版本不如发布版本稳定,因此,不应用于时间关键型或“生产”分析。

可能是您感兴趣的包已从中删除生物导体。请访问查看

如果包装已被移除,最好的做法是确定可供选择的软件包以完成您的任务对感兴趣。

维护和操作系统可用性:软件包可以是包含在的发行版或开发版中生物导体,但是当前不可用,因为它需要维护。这可能是如下图所示,由红色的“构建”徽章表示(单击标记可查看构建问题)。生成错误通常要求包维护者更正以下问题他们的包装;维护人员和电子邮件地址列在程序包登录页。

少量生物导体并非所有软件包都可用操作系统。橙色的“平台”徽章表明了这一点。单击徽章上的“文件包档案”部分登录页;BGmix在Windows上不受支持,在上不可用“Intel”macOS,因为存在与构建相关的错误。考虑使用如果软件包对您的工作至关重要,请选择其他操作系统

包含旧版本的登录页但不适用于的软件包维护人员无法更新您的操作系统。如果软件包在当前版本中可用,可用于您的操作系统,请考虑更新到的当前版本生物导体.

5.2无法加载生物技术经理

更新后R(右)(例如,来自R(右)版本3.5.x至R(右)版本3.6.x在编写本文时)并尝试加载生物技术经理,R(右)答复

错误:.onLoad在“BiocManager”的loadNamespace()中失败,详细信息:调用:NULL错误:Bioconductor版本“3.8”需要R版本“3.5”;看见https://bioconductor.org/install(https://bioconductor.org/install)

出现这个问题是因为生物技术经理使用第二个包,生物版本,以指示的版本生物导体正在使用中。原始安装,生物技术经理已安装生物版本适用于R(右)版本3.5。通过更新生物导体由指示生物版本不再有效–您将需要更新生物版本以及所有生物导体包到最新版本可用于新版本的R(右).

建议的做法是为每个R(右)生物导体版本。因此,不要将包安装到R(右)的系统库(例如,作为“管理员”),仅安装基本R(右)进入系统位置。然后使用别名或其他方法创造R(右)/生物导体特定于版本的安装。这是在关于保持倍数版本属于R(右)生物导体.

或者,可以更新所有生物导体中的包上一个安装目录。这方面的问题是的早期版本生物导体被移除,损害了重现早期结果的能力。全部更新生物导体通过删除上一个安装目录中的包全部的的版本生物版本

remove.packages(“BiocVersion”)#重复,直到删除所有实例

然后安装更新的生物版本,并全部更新生物导体包裹;当要求您更新潜在的大量生物导体包装。

BiocManager::安装()

确认更新的生物导体对您的版本有效R(右)

生物经理::valid()

5.3包下载期间超时

在糟糕的互联网上下载大型软件包可能需要很长时间连接。BiocManager软件包将时间限制设置为300秒,使用选项(超时=300)。只能下载软件包的一部分,例如,在下面的示例中,79.4 MB中只有15.1 MB

尝试URL'https://bioconductor.org/packages/3.12/data/annotation/src/contrib/org.Hs.eg.db_3.12.0.tar.gz'内容类型“application/x-gzip”长度83225518字节(79.4 MB)=========已下载15.1 MB

或者可能带有警告(通常很难在输出中看到)

download.file(url,destfile,method,mode=“wb”,…)中出错:...…:已达到300秒超时...

尝试增加下载超时,例如,选项(超时=600).

5.4多个生物版本装置

如果有两个或多个,则会出现一个潜在问题.libPaths(),安装了多个BiocVersion软件包。这可能发生在如果“系统管理员”安装了BiocVersion,然后用户安装了自己的版本。在这种情况下适合通过反复调用来标准化安装remove.packages(“BiocVersion”)直到删除所有版本,以及然后安装所需版本。

5.5确定错误生物导体版本

一项重要任务生物技术经理是为了确定属于生物导体适用于的版本R(右).几个此任务失败时可能会发生错误。

  • 无法确定生物导体版本;没有互联网连接?生物导体无法从版本中获取版本地图托管于https://bioconductor.org/config.yaml,此错误将发生。这可能是由于互联网连接不良或离线造成的使用。请参阅脱机config.yaml部分以上。

  • 无法验证生物导体版本;没有互联网连接?通常发生在由于某种原因无法下载地图时到一个失踪的人生物导体_配置_文件。对于脱机使用应下载配置文件并将其地址设置为环境变量或选项。

  • 无法验证生物导体版本图;它配置错误吗?打开稀有的有时,版本映射托管在https://bioconductor.org/config.yaml可能配置错误。支票确保所有版本名称标记,即过期、发布、,发展和未来都在地图上。

  • 无法验证生物导体版本;是类型输入误诊?类型输入是指版本名称输入,主要是发布和开发。此错误主要是由于内部逻辑,而不是由于用户错误。请打开一个github问题.

6会话信息

sessionInfo()
##R开发中(不稳定)(2024-05-03 r86514)##平台:x86_64-pc-linux-gnu##运行于:Ubuntu 22.04.4 LTS## ##矩阵产品:默认##BLAS:/usr/lib/x86_64-linux-gnu/BLAS/libblas.so.3.10.0##LAPACK:/usr/lib/x86_64-linux-gnu/LAPACK/liblapack.so.3.10.0## ##区域设置:##[1]LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C##[3]LC_TIME=en_US.UTF-8 LC_COLLATE=C##[5]LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-9##[7]LC_PAPER=en_US.UTF-8 LC_NAME=C##[9]LC_ADDRESS=C LC_TELEPHONE=C##[11]LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C## ##时区:美国/纽约##tzcode源代码:系统(glibc)## ##附加的基本包:##[1]stats graphics grDevices utils datasets方法库## ##其他附加包:##[1]仿生风格_2.33.0## ##通过命名空间加载(未附加):##[1]摘要_0.6.35 R6_2.5.1 bookdown_0.39##[4]fastmap_1.1.1 xfun_0.43缓存_1.0.8##[7]knitr_1.46 htmltools_05.8.1 rmarkdown_2.26编织工装##[10]生命周期_1.0.4 cli_3.6.2 sass_0.4.9##[13]jquerylib_0.1.4编译器_4.5.0高r_0.10##[16]工具_4.5.0评估_0.23 bslib_0.7.0##[19]yaml_2.3.8生物经理_1.30.23 jsonlite_1.8.8##[22]爱尔兰_1.1.3