目录

这个实验中心服务器提供了方便R/生物导体访问大型数据文件。

1ExperimentHub对象

这个实验中心包提供客户端接口存储在ExperimentHub web服务中的资源。它有类似的功能到批注中心包裹。

库(ExperimentHub)

这个实验中心这个包很容易使用。创建一个实验中心对象

eh=实验中心()

现在,您已经按顺序完成了所有需要的工作开始检索实验数据。对于大多数操作,使用实验中心对象应该感觉很像与熟悉的列表数据帧并具有集线器类对象批注中心程序包批注中心对象。

让我们花一分钟时间来看看hub对象的show方法eh

##ExperimentHub有8282条记录###snapshotDate():2024-04-29###$数据提供商:Eli和Edythe L.Broad Institute of Harvard and MIT,NCBI,。。。###$物种:智人、小家鼠、酿酒酵母、果蝇。。。###$rdataclass:SummarizedExperiment、data.frame、ExpressionSet、matrix、char。。。###additional mcols():分类学,基因组,描述,###coordinate_1_based、maintainer、rdatadateadded、preparerclass、tags、,###rdatapath,源URL,源类型###使用例如“对象[[“EH1”]]”检索记录## ##所有权##EH1|RNA-来自The…的7706个肿瘤样本的序列和临床数据。。。##EH166|ERR188297##EH167|ERR188088##EH168|ERR188204##EH169 | ERR188317##   ...      ...                                                                ##EH9531 | Seurat Visium HD小鼠大脑数据子集(8 um和16 um)##EH9532|多样本Seurat Xenium小鼠大脑数据##EH9533 | Seurat Xenium小鼠大脑数据##EH9534 | Seurat Vizgen多样本测试数据##EH9535 | Seurat Vizgen测试数据

您可以看到,它可以让您了解集线器中存在的不同类型的数据。您可以看到数据来自何处(数据提供者),以及存在哪些物种的样本(物种),可以返回哪些类型的R数据对象(rdataclass)。我们可以通过简单地查看数据提供程序的内容,将其视为data.frame对象的列,来更深入地了解可用的所有类型的数据提供程序,如下所示:

头部(唯一(eh$dataprovider))
##[1]“地理位置”##[2]“GEUVADIS”##[3]“艾伦大脑图谱”##[4]“ArrayExpress”##[5]“巴基斯坦卡拉奇联邦乌尔都艺术、科学和技术大学Abdul Haq校区心理学系。shahiq_psy@yahoo.com"##[6]“查尔默斯理工大学化学与生物工程系,瑞典哥德堡SE-412 96。”

同样,您也可以通过查看物种的内容来查看中心内不同物种的数据,如下所示:

头部(独特(eh$species))
##[1]“智人”“小家鼠”##[3]“小家鼠(E18小鼠)”NA##[5]“褐家鼠”“人类肠道宏基因组”

这也适用于任何其他类型的元数据。键入“eh$”后,只需点击tab键,即可了解哪些类型的元数据可用。通过这种方式,您可以从命令行直接探索中心中存在哪些类型的数据。此接口还允许您以编程方式访问中心,以提取与特定条件集匹配的数据。

另一种需要注意的有价值的元数据类型是rdataclass。

头部(唯一(eh$rdataclass))
##[1]“ExpressionSet”“GAlignmentPairs”##[3]“CellMapperList”“gds.class”##[5]“RangedSummarizedExperiment”“G范围”

rdataclass允许您查看集线器将返回给您的R对象的类型。这类信息既有助于筛选结果,也有助于探索和了解某些类型的实验中心广泛用于项目的对象。目前,这是一个很短的列表,但随着时间的推移,随着我们支持更多不同类型的实验中心对象。

现在,让我们尝试获取与r Biocpkg(“alpineData”)使用查询方法的包。查询方法允许您搜索特定字符串的行,返回实验中心实例,具有只有与查询匹配的行。这个实验中心::package()功能表示负责原始准备和文件编制的文件包ExperimentHub数据,是了解有关数据。此软件包还可能依赖、导入或建议所需的其他软件包用于操作数据,因此可能需要安装并加载以使用资源。该软件包也可在(隐名)预备班ExperimentHub元数据的列对象。

您可以从UCSC获取果蝇的链文件:

apData<-query(eh,“alpineData”)apData(应用程序数据)
##ExperimentHub有4条记录###snapshotDate():2024-04-29###$数据提供商:GEUVADIS###$物种:智人###$rdataclass:GA对齐对###additional mcols():分类学,基因组,描述,###coordinate_1_based、maintainer、rdatadateadded、preparerclass、tags、,###rdatapath,源URL,源类型###使用例如“object[[“EH166”]]”检索记录## ##标题##EH166|ERR188297##EH167|ERR188088##EH168|ERR188204##EH169 | ERR188317

查询已经起作用,您现在可以看到,存在的唯一数据由这个alpineData公司包裹。

您可以检索此中心对象的基础元数据

apData$preparerclass
##[1]“alpineData”“alpine数据”“albineData”
df<-mcols(apData)

默认情况下,show方法将只显示前5行和最后5行。中心中有数百条记录。

长度(eh)
## [1] 8282

让我们看另一个示例,其中我们只提取数据来自“小家鼠”物种的中心。

mm<-query(呃,“小肌肉”)毫米
##实验中心有1698条记录###snapshotDate():2024-04-29###$数据提供商:Jonathan Griffiths、Tabula Muris Consortium、GEO、mulea。。。###$种:小家鼠、小家鼠(E18小鼠)###$rdataclass:字符、矩阵、data.frame、DFrame、H5File、SummarizedExpe。。。###additional mcols():分类学,基因组,描述,###coordinate_1_based、maintainer、rdatadateadded、preparerclass、tags、,###rdatapath,源URL,源类型###使用例如“object[[“EH173”]]”检索记录## ##标题##EH173|Affymetrix MG-U74Av2平台的预处理微阵列数据。。。##EH552|st100k##EH553|st400k##EH557|tasicST6##EH1039 |脑scRNA-seq数据,“基于HDF5的10X基因组学”格式##   ...      ...                                                                ##EH9529 | SeuratData中的Seurat Visium小鼠大脑数据集##EH9530 | Seurat Visium HD小鼠大脑数据子集(8 um)##EH9531 | Seurat Visium HD小鼠大脑数据子集(8 um和16 um)##EH9532|多样本Seurat Xenium小鼠大脑数据##EH9533 | Seurat Xenium小鼠大脑数据

1.1使用BiocHubsShiny交互式检索资源

我们可以使用生物轮毂闪亮()函数同名包。在“物种”领域,我们可以进入肌肉作为搜索词。

生物轮毂闪亮::生物轮毂闪耀()
BiocHubsShiny查询物种术语“肌肉”

图1:BiocHubsShiny查询物种术语“肌肉”

2使用实验中心检索数据

回顾我们的alpineData文件示例,如果我们对第一个文件感兴趣,我们可以使用

apData(应用程序数据)
##ExperimentHub有4条记录###snapshotDate():2024-04-29###$数据提供商:GEUVADIS###$物种:智人###$rdataclass:GAlignmentPairs(GAlignment对)###additional mcols():分类学,基因组,描述,###coordinate_1_based、maintainer、rdatadateadded、preparerclass、tags、,###rdatapath,源URL,源类型###使用例如“object[[“EH166”]]”检索记录## ##标题##EH166|ERR188297##EH167|ERR188088##EH168|ERR188204##EH169 | ERR188317
apData[“EH166”]
##ExperimentHub有1条记录###snapshotDate():2024-04-29###name():EH166###package():alpineData###$数据提供商:GEUVADIS###$物种:智人###$rdataclass:GAlignmentPairs(GAlignment对)###$rdatadate添加日期:2016-07-21###$标题:ERR188297###$description:样本ERR188297中对齐读取的子集###$分类法:9606###$基因组:GRCh38###$源类型:FASTQ###$sourceurl:ftp://ftp.sra.ebi.ac.uk/vol1/fastq/ERR188/ERR188297/ERR188297_。。。###$资源大小:不适用###$tags:c(“测序”,“RNASeq”,“基因表达”,“转录”)###使用“object[[“EH166”]]”检索记录

我们可以使用下载文件

apData[[“EH166”]]
##未安装alpineData。##如果不安装,可能无法实现完整的功能、文档和数据加载
##从缓存加载
##要求(“基因组比对”)
##具有25531对、strandMode=1和0元数据列的GAlignmentPairs对象:##序列名串:范围--范围##<Rle><Rle>:<IRanges>-->IRanges>##       [1]        1      +   : 108560389-108560463  -- 108560454-108560528##       [2]        1      -   : 108560454-108560528  -- 108560383-108560457##       [3]        1      +   : 108560534-108600608  -- 108600626-108606236##       [4]        1      -   : 108569920-108569994  -- 108569825-108569899##       [5]        1      -   : 108587954-108588028  -- 108587881-108587955##       ...      ...    ... ...                 ... ...                 ...##[25527]X+:119790596-119790670-119790717-119790791##[25528]X+:119790988-119791062--119791160##[25529]X+:119791037-119791111--119791142-119791216##[25530]X+:119791348-119791422--119791475-119791549##[25531]X+:119791376-119791450--119791481-119791555##   -------##seqinfo:194个来自未知基因组的序列

每个文件都是从ExperimentHub服务器检索的,文件是也在本地缓存,以便下次需要检索它时,下载速度应该快得多。

正在配置实验中心物体

当您创建实验中心对象,它将设置该对象使用一些默认设置。请参见?实验中心寻找方法自定义中心源、本地缓存和其他特定于实例的选项,以及?getExperimentHub选项获取或设置package-global跨会话使用的选项。

如果你看这个物体,你会看到一些有用的信息比如数据缓存在哪里,集线器服务器在线在哪里设置为。

##ExperimentHub有8282条记录###snapshotDate():2024-04-29###$数据提供商:Eli和Edythe L.Broad Institute of Harvard and MIT,NCBI,。。。###$物种:智人、小家鼠、酿酒酵母、果蝇。。。###$rdataclass:摘要实验,数据框架,表达式集,矩阵,字符。。。###additional mcols():分类学,基因组,描述,###coordinate_1_based、maintainer、rdatadateadded、preparerclass、tags、,###rdatapath,源URL,源类型###使用例如“对象[[“EH1”]]”检索记录## ##标题##EH1|RNA-来自The…的7706个肿瘤样本的序列和临床数据。。。##EH166|ERR188297##EH167|ERR188088##EH168|ERR188204##EH169 | ERR188317##   ...      ...                                                                ##EH9531 | Seurat Visium HD小鼠大脑数据子集(8 um和16 um)##EH9532|多样本Seurat Xenium小鼠大脑数据##EH9533 | Seurat Xenium小鼠大脑数据##EH9534 | Seurat Vizgen多样本测试数据##EH9535 | Seurat Vizgen测试数据

默认情况下实验中心对象设置为最新快照数据以及与版本匹配的快照版本生物导体你正在使用的。您还可以了解这些数据使用适当的方法。

快照日期(eh)
## [1] "2024-04-29"

如果您有兴趣使用较旧版本的快照,可以列出以前的版本可能的日期()这样地:

pd<-可能日期(eh)
##   [1] "2016-02-23" "2016-06-07" "2016-07-14" "2016-07-21" "2016-08-08"##   [6] "2016-10-01" "2017-06-09" "2017-08-25" "2017-10-06" "2017-10-10"##  [11] "2017-10-12" "2017-10-16" "2017-10-19" "2017-10-26" "2017-10-30"##  [16] "2017-10-29" "2018-01-08" "2018-02-02" "2018-02-09" "2018-02-22"##  [21] "2018-03-16" "2018-03-30" "2018-04-02" "2018-04-10" "2018-04-20"##  [26] "2018-04-25" "2018-04-26" "2018-04-27" "2018-05-02" "2018-05-08"##  [31] "2018-06-29" "2018-07-30" "2018-08-02" "2018-08-03" "2018-08-27"##  [36] "2018-08-29" "2018-09-07" "2018-09-11" "2018-09-19" "2018-09-20"##  [41] "2018-10-30" "2018-11-02" "2018-11-05" "2018-11-13" "2018-12-12"##  [46] "2018-12-13" "2018-12-19" "2018-12-20" "2019-01-02" "2019-01-09"##  [51] "2019-01-15" "2019-01-25" "2019-03-21" "2019-04-01" "2019-04-15"##  [56] "2019-04-23" "2019-04-25" "2019-04-26" "2019-04-29" "2019-05-28"##  [61] "2019-05-29" "2019-06-11" "2019-06-20" "2019-06-28" "2019-07-01"##  [66] "2019-07-02" "2019-07-10" "2019-08-01" "2019-08-02" "2019-08-06"##  [71] "2019-08-07" "2019-08-13" "2019-09-04" "2019-09-09" "2019-09-11"##  [76] "2019-09-25" "2019-10-17" "2019-10-18" "2019-10-22" "2019-12-17"##  [81] "2019-12-27" "2020-01-08" "2020-02-11" "2020-02-12" "2020-03-09"##  [86] "2020-03-12" "2020-04-03" "2020-04-27" "2020-05-11" "2020-05-14"##  [91] "2020-05-19" "2020-05-29" "2020-06-11" "2020-06-26" "2020-07-02"##  [96] "2020-07-10" "2020-07-29" "2020-08-03" "2020-08-04" "2020-08-05"## [101] "2020-08-17" "2020-08-24" "2020-08-26" "2020-08-31" "2020-09-03"## [106] "2020-09-04" "2020-09-08" "2020-09-09" "2020-09-10" "2020-09-14"## [111] "2020-09-23" "2020-09-24" "2020-10-02" "2020-10-30" "2020-11-05"## [116] "2020-11-18" "2020-11-25" "2020-12-02" "2020-12-03" "2020-12-07"## [121] "2020-12-09" "2020-12-14" "2021-01-04" "2020-10-27" "2021-01-12"## [126] "2021-01-19" "2021-01-20" "2021-01-27" "2021-01-28" "2021-02-08"## [131] "2021-02-11" "2021-02-19" "2021-03-02" "2021-03-04" "2021-03-10"## [136] "2021-03-18" "2021-03-22" "2021-03-23" "2021-03-24" "2021-03-30"## [141] "2021-04-06" "2021-04-08" "2021-04-27" "2021-05-04" "2021-05-05"## [146] "2021-05-18" "2021-06-14" "2021-06-16" "2021-06-21" "2021-07-15"## [151] "2021-07-16" "2021-07-27" "2021-07-30" "2021-08-03" "2021-08-09"## [156] "2021-04-26" "2021-08-18" "2021-08-26" "2021-08-27" "2021-09-13"## [161] "2021-09-23" "2021-09-24" "2021-10-05" "2021-10-06" "2021-10-15"## [166] "2021-10-18" "2021-10-19" "2021-11-24" "2022-01-04" "2022-01-20"## [171] "2022-02-15" "2022-02-22" "2022-02-28" "2022-03-01" "2022-03-16"## [176] "2022-03-29" "2022-04-04" "2022-04-06" "2022-04-19" "2022-04-26"## [181] "2022-05-17" "2022-06-15" "2022-06-29" "2022-07-08" "2022-07-15"## [186] "2022-07-22" "2022-08-16" "2022-08-23" "2022-10-03" "2022-10-17"## [191] "2022-10-24" "2022-10-31" "2022-12-13" "2022-12-16" "2023-01-04"## [196] "2023-01-13" "2023-01-20" "2023-01-30" "2023-02-08" "2023-02-14"## [201] "2023-03-13" "2023-03-21" "2023-03-29" "2023-04-04" "2023-04-11"## [206] "2023-04-12" "2023-04-13" "2023-04-24" "2023-05-15" "2023-05-17"## [211] "2023-06-01" "2023-06-20" "2023-07-03" "2023-07-05" "2023-07-18"## [216] "2023-07-21" "2023-08-02" "2023-08-22" "2023-08-28" "2023-09-18"## [221] "2023-09-21" "2023-09-26" "2023-09-29" "2023-10-03" "2023-10-06"## [226] "2023-10-13" "2023-10-24" "2023-11-14" "2023-12-13" "2024-01-11"## [231] "2024-01-12" "2024-01-16" "2024-02-02" "2023-10-20" "2024-02-07"## [236] "2024-02-12" "2024-02-15" "2024-02-22" "2024-02-26" "2024-03-05"## [241] "2024-03-07" "2024-03-08" "2024-04-02" "2024-04-08" "2024-04-11"## [246] "2024-04-19" "2024-04-29" "2024-04-29"

按如下方式设置日期:

快照日期(ah)<-pd[1]

4创建ExperimentHub包或转换为ExperimentHub包

请参阅中心酒吧小品“CreateAHubPackage”。

vignette(“CreateAHubPackage”,package=“HubPub”)

5故障排除

请参阅批注中心小插曲“轮毂故障排除”。

vignette(“TroubleshootingTheHubs”,package=“AnnotationHub”)

6在代理后面访问

实验中心使用CRAN包高温气冷堆功能头部GET(获取)用于访问web资源。如果在代理后面操作,这可能会有问题。最容易解决方案是设置httr::设置配置使用代理信息。

代理<-httr::use_proxy(“http://my_user:my_password@我的代理:8080“)##或代理<-httr::use_proxy(Sys.getenv('http_proxy'))httr::set_config(代理)实验中心::setExperimentHubOption(“代理”,代理)

7组中心/缓存访问

可能会出现这样的情况,即希望在多个系统上的用户。这会出现权限错误。允许访问多个用户创建一个用户所属的组集线器缓存也属于。可能有两个文件的权限需要更改,具体取决于您希望个人通过中心能够完成什么。A类只读集线器需要手动操作文件BiocFileCache.sqlite。锁定以使组权限重力+重力.允许用户将文件下载到共享中心BiocFileCache.sqlite。LOCK文件和BiocFileCache.sqlite文件将需要组对的权限克+相对湿度。请用谷歌搜索如何为您的系统创建用户组感兴趣的。查找中心缓存的位置以更改组和文件权限,您可以在R中运行以下命令eh=实验中心();hubCache(eh)。为了在linux中快速参考,您将使用chown currentuser:新组更改组和chmod公司更改文件权限:chmod 660型chmod g+rw应该完成正确的权限。

8默认缓存位置更新

自ExperimentalHub版本>1.17.2起,默认缓存位置为改变。默认缓存现在由函数控制工具::R_user_dir而不是rapdirs::user_cache_dir。使用默认值的用户要继续使用创建的缓存,ExperimentHub位置必须移动缓存及其文件到新的默认位置,创建系统环境变量以指向旧位置,或删除并启动新缓存。

8.1选项1:将缓存和文件移动到新位置

可以使用以下步骤将文件移动到新位置:

  1. 通过在R中运行以下操作来确定旧位置rapdirs::user_cache_dir(appname=“ExperimentHub”)

  2. 通过在R中运行以下命令来确定新位置工具::R_user_dir(“ExperimentHub”,其中=“缓存”)

  3. 将文件移动到新位置。您可以手动执行此操作,也可以执行请记住,如果你有很多缓存文件,这可能需要一会儿。

#确保您对缓存/文件具有权限#使用风险自负moveFiles<-function(包){旧目录<-path.expand(rapdirs::user_cache_dir(appname=包))newdir<-tools::R_user_dir(包,它=“缓存”)dir.create(路径=newdir,递归=TRUE)文件<-list.files(olddir,full.names=TRUE)移动器<-vapply(文件,FUN=功能(fl){文件名=基本名称(fl)newname=文件路径(newdir,文件名)file.rename(fl,新名称)},有趣。VALUE=逻辑(1)if(所有(移动器))取消链接(olddir,recursive=TRUE)}package=“实验中心”moveFiles(包)

8.2选项2:创建系统环境变量

用户可以设置系统环境变量实验_HUB_CACHE控制缓存的默认位置。设置系统环境变量可能会有所不同取决于操作系统;我们建议使用谷歌查找合适的每个操作系统的说明。

您需要将变量设置为在R中运行以下操作的结果:

path.expand(rapdirs::user_cache_dir(appname=“ExperimentHub”))

注:R有系统检测然而,这只会为R设置变量会话。在未来的R课程中,它将不可用或无法识别。它是将变量设置为全局用户范围或系统范围很重要环境变量,以便它在以后的所有系统登录中保持不变。

8.3选项3:删除旧缓存

最后,如果用户不关心现有的默认缓存可以删除旧位置以使用新的默认位置前进。这个选项应谨慎使用。一旦删除,旧的缓存资源将不会更长时间可用,必须重新下载。

您可以通过导航到ERROR(错误)中指示的位置来手动执行此操作消息为有问题的缓存:并删除文件夹及其所有内容。

通过R代码可以执行以下操作来删除:

注意安全这将删除旧缓存和所有下载的资源。全部执行此代码后,必须重新下载资源。

库(ExperimentHub)oldcache=path.expand(rapdirs::user_cache_dir(appname=“ExperimentHub”))setExperimentHubOption(“CACHE”,旧缓存)eh=实验中心(localHub=真)##删除旧位置和所有资源removeCache(eh,ask=FALSE)##创建新的默认缓存位置newcache=tools::R_user_dir(“ExperimentHub”,其中=“cache”)setExperimentHubOption(“CACHE”,newcache)eh=实验中心()

9会话信息

sessionInfo()
##R版本4.4.0测试版(2024-04-15 r86425)##平台:x86_64-pc-linux-gnu##运行于:Ubuntu 22.04.4 LTS## ##矩阵产品:默认##BLAS:/home/biocbuild/bbs-3.19-bioc/R/lib/libRblas.so##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=en_US.UTF-8##[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]stats4 stats graphics grDevices utils datasets方法##[8]底座## ##其他附加包:##[1]基因组比对_1.40.0 Rsamtools_2.20.0##[3]生物字符串_2.72.0 XVector_0.44.0##[5]总结实验_1.34.0生物基_2.64.0##[7]矩阵Generics_1.16.0矩阵统计_1.3.0##[9]基因组范围_1.56.0基因组信息Db_1.40.0##[11]I范围_2.38.0 S4矢量_0.42.0##[13]实验Hub_2.12.0注释Hub_3.12.0##[15]生物文件缓存_2.12.0 dbplyr_2.5.0##[17]生物通用0.50.0生物风格2.32.0## ##通过命名空间加载(未附加):##[1]KEGGREST_1.44.0 xfun_0.43 bslib_0.7.0##[4]lattice_0.22-6位ops_1.0-7 vctrs_0.6.5##[7]工具_ 4.4.0通用_ 0.1.3并行_ 4.4.0##[10]卷曲_5.2.1 tibble_3.2.1扇形_1.0.6##[13]注释Dbi_1.66.0 RSQLite_2.3.6 highr_0.10##[16]blob_1.2.4 pkgconfig_2.0.3矩阵_1.7-0##[19]生命周期_1.0.4 GenomeInfoDbData_1.2.12编译器_4.4.0##[22]代码工具_0.2-20 htmltools_0.5.8.1 sass_0.4.9##[25]yaml_2.3.8柱_1.9.0蜡笔_1.5.2##[28]jquerylib_0.1.4生物并行_1.38.0延迟阵列_0.30.0##[31]cachem_1.0.8 abind_1.4-5模拟_0.12##[34]tidyselect_1.2.1摘要_0.6.35 dplyr_1.1.4##[37]purrr_1.0.2 bookdown_0.39生物版本_3.19.1##[40]网格_4.4.0 fastmap_1.1.1稀疏阵列_1.4.0##[43]cli_3.6.2磁头_2.0.3 S4阵列_1.4.0##[46]utf8_1.2.4,带r_3.0.0文件锁_1.0.3##[49]UCSC.utils_1.0.0 rapdirs_0.3.3位64_4.0.5##[52]rmarkdown_2.26 httr_1.4.7位_4.0.5##[55]png_0.1-8回忆录2.0.1评价_0.23##[58]knitr_1.46 rlang_1.1.3胶水_1.7.0##[61]DBI_1.2.2生物管理器_1.30.22网站_1.8.8##[64]R6_2.5.1 zlibbio_1.50.0型