1简介

随着生物技术的飞速发展,测序(如DNA、体/单细胞RNA等)等生物数据的规模越来越大。R中的内存空间是快速高效数据处理的障碍,因为它是最可用的RBioconductor包是基于内存中的数据操作开发的。SingleCellExperiment实现了高效的磁盘存储/读取大规模计数数据为HDF5Array对象。然而,对于高通量变异数据(如DNA-seq、基因分型等),仍然没有这样的轻质容器。

我们已经开发了VariantExperiment,一个Bioconductor包中包含不同的数据RangedSummarizedExperiment对象。该包转换和表示VCF/GDS文件使用标准SummarizedExperiment比喻。它是一个高通量可变数据的容器,后端为GDS。

VariantExperiment,高通量变量数据保存在DelayedArray对象与GDS后端。除了重量轻分析数据,它还支持在磁盘上保存特征和示例的注释数据(对应于rowData / colData分别)通过实现DelayedDataFrame数据结构。分析数据和注释数据的盘上表示实现了盘上读取、处理和保存R内存空间显著。界面RangedSummarizedExperiment数据格式使高通量可变数据与通用的简单和通用的操作SummarizedExperiment隐喻在R而且Bioconductor

2安装

  1. 从Bioconductor下载软件包:
如果(!requireNamespace("BiocManager", quiet = TRUE)) install.packages("BiocManager")::install("VariantExperiment")

或者从Github安装开发版本的包。

BiocManager:安装(“Bioconductor / VariantExperiment”)
  1. 将包加载到R会话。
库(VariantExperiment)

3.背景

3.1GDSArray

GDSArray是一个Bioconductor表示的包GDS类派生的对象DelayedArray包和DelayedArray类。它转换GDS节点转换为DelayedArray-派生数据结构。上定义的丰富的通用方法和数据操作GDSArray让它变得更多R-比直接使用GDS文件友好。

GDSArray ()构造函数有2个参数:文件路径和GDS节点名(可以使用gdsnodes ()函数)内的GDS文件。

库(GDSArray)
##加载所需的包:gdsfmt
##加载所需的包:DelayedArray
##加载所需的包:矩阵
## ##附件:《黑客帝国》
下面的对象从“package:S4Vectors”中屏蔽:## ## expand
## ##附加包:'DelayedArray'
以下对象从'package:base'中屏蔽:## ## aperm, apply, rowsum, scale, sweep
文件<- GDSArray::gdsExampleFileName("seqgds")
这是一个SeqArray GDS文件
gdsnodes(文件)
##[1] "样本。id”“变体。Id“##[3]”位置“##[5]”等位基因“基因型/数据”##[7]“基因型/~数据”“基因型/额外。索引“##[9]基因型/额外”“阶段/数据”##[11]阶段/~数据”“阶段/额外”。在dex" ## [13] "phase/extra" "annotation/id" ## [15] "annotation/qual" "annotation/filter" ## [17] "annotation/info/AA" "annotation/info/AC" ## [19] "annotation/info/AN" "annotation/info/DP" ## [21] "annotation/info/HM2" "annotation/info/HM3" ## [23] "annotation/info/OR" "annotation/info/GP" ## [25] "annotation/info/BN" "annotation/format/DP/data" ## [27] "annotation/format/DP/~data" "sample.annotation/family"
GDSArray(文件,“基因型/数据”)
## <2 x 90 x 1348>数组类GDSArray和类型“integer”:##,,1 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ##,,2 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ##…## ##,,1347 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 0 0 0 0。0 0 0 0 ##[2,] 0 0 0 0 0。 0 0 0 0 ## ## ,,1348 ## [,1] [,2] [,3] [,4] ... [,87] [,88] [,89] [,90] ## [1,] 3 3 0 3 . 3 3 3 3 ## [2,] 3 3 1 3 . 3 3 3 3
GDSArray(文件,“sample.id”)
## <90>类GDSArray数组和类型“character”:##[1][2][3]。[89][90] ##“na06984”“na06985”“na06986”。“NA12891”“NA12892”

更多详情GDSGDSArray格式可以在小插图中找到gdsfmtSNPRelateSeqArrayGDSArray而且DelayedArray包。

3.2DelayedDataFrame

DelayedDataFrame是一个Bioconductor上实现延迟操作的包DataFrame使用标准的对象DataFrame比喻。里面的每一列数据DelayedDataFrame是一维的吗GDSArray与磁盘上的GDS文件。方法如显示有效性检查[[构造子集,rbindcbindDelayedDataFrame.的DelayedDataFrame保持懒惰,直到显式实现调用,如DataFrame ()构造函数或as.list ()触发。更多详情DelayedDataFrame的小插图中可以找到数据结构DelayedDataFrame包中。

4VariantExperiment

4.1VariantExperiment

VariantExperiment类定义为扩展RangedSummarizedExperiment.不同之处在于分析数据被保存为DelayedArray,标注数据默认保存为DelayedDataFrame(选项保存为普通DataFrame),两者都表示磁盘上的数据GDS后端。

将方法转换为VariantExperiment对象直接定义VCF而且GDS文件。 这里我们展示了一个简单的例子,将dna测序数据从GDS格式转换为VariantExperiment以及一些类相关的操作。

ve <- makeVariantExperimentFromGDS(file
##类:VariantExperiment ## dim: 1348 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(1348): 1 2…1347 1348 ## rowData名称(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData名称(1):family

在本例中,将GDS格式的测序文件转换为VariantExperiment对象,并将所有可用的分析数据保存到分析槽,所有可用的特征注释节点rowRanges / rowData槽,并将所有可用的示例注释节点放入colData槽。中的每个参数的可用值makeVariantExperimentFromGDS ()函数可以使用showAvailable ()函数。

args (makeVariantExperimentFromGDS)
## function (file, ftnode, smpnode, assayNames = NULL, rowDataColumns = NULL, ## colDataColumns = NULL, rowDataOnDisk = TRUE, colDataOnDisk = TRUE, ## infoColumns = NULL) ## NULL
showAvailable(文件)
##长度为4的字符列表## [["assayNames"]]基因型/数据阶段/数据标注/格式/DP/data ## [["rowDataColumns"]]等位基因标注/id标注/qual标注/filter ## [["colDataColumns"]] family ## [["infoColumns"]] AC AN DP HM2 HM3 OR GP BN

4.2槽访问器

化验数据已在GDSArray格式,并且可以由化验()/分析()函数。请注意当它转换成VariantExperiment对象,检测数据将被检查和排列,使前2个维度始终分别与特征(变体/snp)和样本相匹配,无论这些维度是如何与原始的GDSArray相匹配。

化验(ve)
长度为3个名称的列表(3):基因型/数据阶段/数据注释/格式/DP/数据
分析(ve、1)
## <1348 x 90 x 2>数组类DelayedArray和类型“integer”:##,,1 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ... ... ... ...##[1347,] 0 0 0 0 0。0 0 0 0 ## [1348,] 3 3 0 33 3 3 3 ## ##,,2 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ... ... ... ... ## [1347,] 0 0 0 0 . 0 0 0 0 ## [1348,] 3 3 1 3 . 3 3 3 3
GDSArray(文件,“基因型/数据”)##原始的GDSArray从GDS文件前排列
## <2 x 90 x 1348>数组类GDSArray和类型“integer”:##,,1 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ##,,2 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ##…## ##,,1347 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 0 0 0 0。0 0 0 0 ##[2,] 0 0 0 0 0。 0 0 0 0 ## ## ,,1348 ## [,1] [,2] [,3] [,4] ... [,87] [,88] [,89] [,90] ## [1,] 3 3 0 3 . 3 3 3 3 ## [2,] 3 3 1 3 . 3 3 3 3

在这个例子中,是原始的GDSArray对象来自基因型数据2 × 90 × 1348.但它被打乱了1348 × 90 × 2当构造成VariantExperiment对象。

rowData ()VariantExperiment是否默认保存在DelayedDataFrame格式。我们可以用rowRanges ()/rowData ()检索与特征相关的注释文件,包含/不包含基因组范围格式。

rowRanges (ve)
##具有1348个范围和13个元数据列的GRanges对象:## seqnames ranges strand |注释。id注释。qal ##    |   ## 11 1105366 * | rs111751804 NaN ## 2 1 1105411 * | rs114390380 NaN ## 3 1 1110294 * | rs1320571 NaN ## ... ... ... ... . ... ...## 1346 22 43691009 * | rs8135982 NaN ## 1347 22 43691073 * | rs116581756 NaN ## 1348 22 48958933 * | rs5771206 NaN ##注释。filter REF ALT信息。交流信息。AN ##      ## 1传递T C 4 114 ## 2传递G A 1 106 ## 3传递G A 6 154 ## ... ... ... ... ... ...传递C T 11 142 ## 1347传递G A 1 152 ## 1348传递G 1 6 ##信息。DP信息。款HM2信息。HM3信息。或信息。医生信息。BN ##       ## 1 3251 0 0 1:1115503 132 ## 2 2676 0 0 1:1115548 132 ## 3 7610 11 1:1120431 88 ## # ... ... ... ... ... ... ...## 1346 823 0 0 22:45312345 116 ## 1347 1257 0 0 22:45312409 132 ## 1348 48 0 0 22:50616806 114 ## ------- ## seqinfo:来自未知基因组的22个序列;没有seqlengths
rowData (ve)
## DelayedDataFrame有1348行和13列注释。id注释。质量作注释。filter REF ##     ## 1 rs111751804 NaN PASS t# # 2 rs114390380 NaN PASS G ## 3 rs1320571 NaN PASS G ## ... ... ... ... ...## 1346 rs8135982南通C ## 1347 rs116581756南通G ## 1348 rs5771206南通A ## ALT信息。交流信息。一个信息。DP信息。款HM2信息。HM3 ##       ## 1 C 4 114 3251 0 0 ## 2 A 1 106 2676 0 0 ## 3 A 6 154 7610 11 ## ... ... ... ... ... ... ...## 1346 T 11 142 823 0 0 ## 1347 A 1 152 1257 0 0 ## 1348 G 1 6 48 0 0 ##信息。或信息。医生信息。BN ##    ## 1 1:1115503 132 ## 2 1:1115548 132 ## 3 1:1120431 88 ## ... ... ... ...## 1346 22:45312345 116 ## 1347 22:45312409 132 ## 1348 22:50616806 114

与示例相关的注释默认为inDelayedDataFrame格式,并且可以由colData ()

colData (ve)
## DelayedDataFrame与90行和1列##家族##  ## NA06984 1328 ## NA06985 ## NA06986 13291 ## # ... ...## na12890 1463 ## na12891 ## na12892

gdsfile ()检索与?相关的GDS文件路径VariantExperiment对象。

gdsfile (ve)
## [1] "/home/biocbuild/bbs-3.16-bioc/R/library/SeqArray/extdata/CEU_Exon.gds"

其他getter函数,比如元数据()将返回保存在VariantExperiment对象。

元数据(ve)
# #列表()

5强制方法

上定义的函数和方法的优点SummarizedExperiment,其中VariantExperiment扩展中定义了强制方法VCF而且GDSVariantExperiment

5.1VCFVariantExperiment

的强制功能makeVariantExperimentFromVCF可以转换VCF文件直接导入VariantExperiment对象。为了达到最佳的存储效率,分析数据保存在DelayedArray格式,标注数据保存为DelayedDataFrame格式(没有普通选项DataFrame),可由rowData ()用于与特性相关的注释和colData ()(仅当sample.info参数被指定)。

vcf <- SeqArray::seqExampleFileName("vcf") ve <- makeVariantExperimentFromVCF(vcf, out。Dir = tempfile()
##类:VariantExperiment ## dim: 1348 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(1348): 1 2…1347 1348 ## rowData名称(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData name (0):

在内部,VCF文件已转换为磁盘上的文件GDS文件,可以通过以下方法检索:

gdsfile (ve)
## [1] "/tmp/RtmpTpK4mN/file307ba44322bb21/se.gds"

化验数据已在DelayedArray格式:

分析(ve、1)
## <1348 x 90 x 2>数组类DelayedArray和类型“integer”:##,,1 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ... ... ... ...##[1347,] 0 0 0 0 0。0 0 0 0 ## [1348,] 3 3 0 33 3 3 3 ## ##,,2 ##[,1][,2][,3][,4]…[,87][,88][,89][,90] ##[1,] 3 3 0 3。0 0 0 0 ##[2,] 3 3 0 3。0 0 0 0 ## ... ... ... ... ## [1347,] 0 0 0 0 . 0 0 0 0 ## [1348,] 3 3 1 3 . 3 3 3 3

与特征相关的注释已加入DelayedDataFrame格式:

rowData (ve)
## DelayedDataFrame有1348行和13列注释。id注释。质量作注释。filter REF ##     ## 1 rs111751804 NaN PASS t# # 2 rs114390380 NaN PASS G ## 3 rs1320571 NaN PASS G ## ... ... ... ... ...## 1346 rs8135982南通C ## 1347 rs116581756南通G ## 1348 rs5771206南通A ## ALT信息。交流信息。一个信息。DP信息。款HM2信息。HM3 ##       ## 1 C 4 114 3251 0 0 ## 2 A 1 106 2676 0 0 ## 3 A 6 154 7610 11 ## ... ... ... ... ... ... ...## 1346 T 11 142 823 0 0 ## 1347 A 1 152 1257 0 0 ## 1348 G 1 6 48 0 0 ##信息。或信息。医生信息。BN ##    ## 1 1:1115503 132 ## 2 1:1115548 132 ## 3 1:1120431 88 ## ... ... ... ...## 1346 22:45312345 116 ## 1347 22:45312409 132 ## 1348 22:50616806 114

用户也可以有机会将样本相关的注释信息直接保存到VariantExperiment对象的文件路径sample.info参数,然后检索bycolData ()

sampleInfo <- system。file("extdata", "Example_sampleInfo.txt", package="VariantExperiment") vevcf <- makevariantexperimental fromvcf (vcf, sample.info = sampleInfo)
## (function (node, name, val = NULL, storage = storage.mode(val),: ##缺失字符将被转换为“”
colData (vevcf)
## DelayedDataFrame与90行和1列##家族##  ## NA06984 1328 ## NA06985 ## NA06986 13291 ## # ... ...## na12890 1463 ## na12891 ## na12892

参数可以指定为只从vcf文件中获取特定的信息列或格式列。

vevcf1 <- makeVariantExperimentFromVCF(vcf,信息。import=c("OR", "GP")) rowData(vevcf1)
## DelayedDataFrame与1348行和7列##注释。id注释。质量作注释。filter REF ##     ## 1 rs111751804 NaN PASS t# # 2 rs114390380 NaN PASS G ## 3 rs1320571 NaN PASS G ## ... ... ... ... ...## 1346 rs8135982南通C ## 1347 rs116581756南通G ## 1348 rs5771206南通A ## ALT信息。或信息。GP ##    ## 1 C 1:1115503 ## 2 A 1:1115548 ## 3 A 1:1120431 ## ... ... ... ...a 22:45312409 g 22:50616806

在上面的例子中,只有2个信息条目(“OR”和“GP”)被读入VariantExperiment对象。

开始而且参数可用于指定要读取的起始位置和变量的数量Variantexperiment对象。

vevcf2 <- makeVariantExperimentFromVCF(vcf, start=101, count=1000
##类:VariantExperiment ## dim: 1000 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(1000): 101 102…1099 1100 ## rowData names(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData name (0):

对于上面的示例,只有1000个变量被读入VariantExperiment对象,从101的位置开始。

5.2GDSVariantExperiment

的强制功能makeVariantExperimentFromGDS强制GDS文件到VariantExperiment对象,并将分析数据保存为DelayedArray,以及rowData () / colData ()DelayedDataFrame默认情况下(选项为普通DataFrame对象)。

gds <- SeqArray::seqExampleFileName("gds") ve <- makeVariantExperimentFromGDS(gds) ve
##类:VariantExperiment ## dim: 1348 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(1348): 1 2…1347 1348 ## rowData名称(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData名称(1):family

参数可以指定为仅接受特征和示例的某些注释列。的所有可用数据项makeVariantExperimentFromGDS方法可以检索参数showAvailable ()函数使用GDS文件名作为输入。

showAvailable (gds)
##长度为4的字符列表## [["assayNames"]]基因型/数据阶段/数据标注/格式/DP/data ## [["rowDataColumns"]]等位基因标注/id标注/qual标注/filter ## [["colDataColumns"]] family ## [["infoColumns"]] AC AN DP HM2 HM3 OR GP BN

注意infoColumns从GDS文件将保存为列内rowData (),以“info.”为前缀。rowDataOnDisk / colDataOnDisk可以设置为以普通方式保存所有注释数据DataFrame格式。

ve3 <- makeVariantExperimentFromGDS(gds, rowDataColumns = c("allele", "annotation/id"), infoColumns = c("AC", "AN", "DP"), rowDataOnDisk = TRUE, colDataOnDisk = FALSE) rowData(ve3) ## DelayedDataFrame对象
## DelayedDataFrame与1348行和6列##注释。id REF ALT信息。交流信息。AN ##      ## 1 rs111751804 T C 4 114 ## 2 rs114390380 G A 1 106 ## 3 rs1320571 G A 6 154 ## ... ... ... ... ... ...## 1346 rs8135982 C T 11 142 ## 1347 rs116581756 G A 1 152 ## 1348 rs5771206 A G 16 ##信息。DP # # < GDSArray > # # 3251 # 7610 # 2676 # # 3  ## ... ...## 1346 823 ## 1347 1257 ## 1348
colData(ve3) ##数据帧对象
##数据帧与90行和1列##家族## <字符> ## NA06984 1328 ## NA06985 ## NA06986 13291 ## ... ...## na12890 1463 ## na12891 ## na12892

5.3特定GDS类型的定制

的GDS格式SEQ_ARRAY(定义在SeqArray作为SeqVarGDSClass类),SNP_ARRAY(定义在SNPRelate作为SNPGDSFileClass类),我们在读入时对某些节点进行了一些自定义传输VariantExperiment对象,以方便用户。

等位基因节点SEQ_ARRAYGDS文件转换成2列rowData ()asn裁判而且ALT

veseq <- makeVariantExperimentFromGDS(file, rowDataColumns = c("allele"), infoColumns = character(0)) rowData(veseq)
## DelayedDataFrame with 1348 row and 2 columns ## REF ALT ##   ## 1 T C ## 2 G A ## 3 G A ## ... ... ...## 1347 g g

snp.allele节点SNP_ARRAYGDS文件转换成2列rowData ()作为snp.allele1而且snp.allele2

snpfile <- SNPRelate::snpgdsExampleFileName() vesnp <- makeVariantExperimentFromGDS(snpfile, rowDataColumns = c("snp.allele")) rowData(vesnp)
## DelayedDataFrame有9088行和2列allele1 snp。等位基因2##   ## 1 G T ## 2 C T ## 3 A G ## ... ... ... ## 9086 A G ## 9087 C T ## 9088 A C

6构造子集的方法

VariantExperiment支持使用基本的子集操作[[,和基于范围的子集操作使用subsetByOverlap

6.1二维构造子集

ve (1:10, 1:5)
##类:VariantExperiment ## dim: 10 5 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(10): 1 2…9 10 ## rowData names(13):注释。id注释。战……信息。医生信息。BN ## colnames(5): NA06984 NA06985 NA06986 NA06989 NA06994 ## colData names(1):家族

6.2构造子集

可直接对子集进行操作colData ()列,便于样品提取。请注意这一colData / rowData(默认情况下)在DelayedDataFrame格式,每个列保存为GDSArray.所以在做子集的时候,我们需要使用as.logical ()转换一维空间GDSArray变成普通向量。

colData (ve)
## DelayedDataFrame与90行和1列##家族##  ## NA06984 1328 ## NA06985 ## NA06986 13291 ## # ... ...## na12890 1463 ## na12891 ## na12892
(,。Logical (ve$family == "1328")]
##类:VariantExperiment ## dim: 1348 2 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(1348): 1 2…1347 1348 ## rowData名称(13):注释。id注释。战……信息。医生信息。bn# # colnames(2): NA06984 NA06989 ## colData names(1): family

构造子集的rowData ()列。

rowData (ve)
## DelayedDataFrame有1348行和13列注释。id注释。质量作注释。filter REF ##     ## 1 rs111751804 NaN PASS t# # 2 rs114390380 NaN PASS G ## 3 rs1320571 NaN PASS G ## ... ... ... ... ...## 1346 rs8135982南通C ## 1347 rs116581756南通G ## 1348 rs5771206南通A ## ALT信息。交流信息。一个信息。DP信息。款HM2信息。HM3 ##       ## 1 C 4 114 3251 0 0 ## 2 A 1 106 2676 0 0 ## 3 A 6 154 7610 11 ## ... ... ... ... ... ... ...## 1346 T 11 142 823 0 0 ## 1347 A 1 152 1257 0 0 ## 1348 G 1 6 48 0 0 ##信息。或信息。医生信息。BN ##    ## 1 1:1115503 132 ## 2 1:1115548 132 ## 3 1:1120431 88 ## ... ... ... ...## 1346 22:45312345 116 ## 1347 22:45312409 132 ## 1348 22:50616806 114
[as.logical(rowData(ve)$REF == "T"),]
##类:VariantExperiment ## dim: 214 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(214): 14…1320 1328 ## rowData名称(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData名称(1):family

6.3基于范围的操作

VariantExperiment对象支持所有的findOverlaps ()方法和相关函数。这包括subsetByOverlaps (),这使得子集aVariantExperiment对象。

ve1 <- subsetByOverlaps(ve, GRanges("22:1-48958933")
##类:VariantExperiment ## dim: 23 90 ##元数据(0):## assays(3):基因型/数据阶段/数据注释/格式/DP/数据## rownames(23): 1326 1327…1347 1348 ## rowData名称(13):注释。id注释。战……信息。医生信息。BN ## colnames(90): NA06984…NA12891 NA12892 ## colData名称(1):family

在这个例子中,1348个变量中只有23个被保留农庄构造子集。

7保存/加载VariantExperiment对象

注意,之后的子设置由Ranged-based操作,并且您对用于下游分析的数据感到满意,则需要保存该数据VariantExperiment对象在进行统计分析之前同步与数据子集(内存中表示)关联的GDS文件(磁盘上)。否则,将返回错误。

0 ##保存VariantExperiment对象

使用函数saveVariantExperiment同步磁盘上和内存中的表示。该函数将处理过的数据写入ve.gds,并保存R对象(它惰性地表示后端数据集)为ve.rds在指定的目录下。它最终返回一个newVariantExperiment对象转换为当前R会话,该会话由新保存的数据生成。

a <- tempfile() ve2 <- saveVariantExperiment(ve1, dir=a, replace=TRUE, chunk_size = 30)

7.1负载VariantExperiment对象

你也可以使用loadVariantExperiment通过只提供文件目录,将同步数据加载到R会话中。它读取VariantExperiment对象保存为ve.rds,作为后端的惰性表示ve.gds指定目录下的文件。

- loadVariantExperiment(dir=a) gdsfile(ve3)
## [1] "/tmp/RtmpTpK4mN/file307ba46228e3d7/ve.gds"
所有人。平等(ve2 ve3)
##[1]真

8会话信息

sessionInfo ()
## R版本4.2.0 RC (2022-04-21 r82226) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.16-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.16-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils datasets methods ##[8]基础## ##其他附加包:[7] Biobase_2.57.0 GenomicRanges_1.49.0 ## [9] GenomeInfoDb_1.33.0 IRanges_2.31.0 ## [11] MatrixGenerics_1.9.0 matrixStats_0.62.0 ## [13] S4Vectors_0.35.0 BiocGenerics_0.43.0 ## [15] BiocStyle_2.25.0 ## ##通过命名空间加载(并且没有附加):## [1] bslib_0.3.1 compiler_1.30.17 ## [4] jquerylib_0.1.4 XVector_0.37.0 bitops_1.0-7 ## [7] tools_4.2.0 zlibbioc_1.43.0 digest_0.6.29 ## [10] jsonlite_1.8.0 evaluate_0.15 lattice_0.20-45 ## [13] rlang_1.0.2 SeqArray_1.37.0 cli_3.3.0 ## [19] fastmap_1.1.0 GenomeInfoDbData_1.2.8 string_1 .4.0 ## [22] knitr_1.38 Biostrings_2.65.0 sass_0.4.1 ## [28] bookdown_0.26 magrittr_2.0.3 htmltools_0.5.2## [31] SNPRelate_1.31.0 DelayedDataFrame_1.13.0 stringi_1.7.6 ## [34] RCurl_1.98-1.6 crayon_1.5.1