当大量样品被分析时,有必要在不加载所有数据的情况下随机访问特定的CpG甲基化。芝麻提供了这样的接口文件集
对象,它本质上是一个基于索引文件的数值矩阵。
一个函数可以生成文件集
是通过openSesameToFile
函数。在这种情况下,函数没有具体的输出。结果是在给定的路径上生成一个文件。可以在文件集
通过引用文件的路径。
以下openSesameToFile
调用做三件事-生成一个名为mybetas
.-生成一个名为mybetas_idx.rds
-返回一个文件集
对象,该对象用作两个文件的接口。
在mybetas为2个HM27样本分配空间。
将2个HM27样本映射到mybeta。
##成功处理2个idat(0个失败)
打印到控制台时,显示样品数和探针数。
文件集27578个探针和2个样本。
可以获得样品和探针信息$
操作符。
## [1] " 4207113116_a " " 4207113116_b "
##[1]“cg24054653”“cg07665060”“cg22501393”“cg18895155”“cg01333131”##[6]“cg20557202”
可以通过探针名称和样本名称查询特定的CpG。注意,对fset的每个查询都是磁盘读取。因此,它可能比内存中的处理慢。这里我们只检索两个探测的beta值cg00006414而且cg00007981在样本中4207113116 _b.
## cg00006414 0.1410441 ## cg00007981 0.0253735
在前面的示例中,我们直接对idat进行预处理文件集
.我们也可以阅读既存状态文件集
使用文件路径UsingreadFileSet
函数。
## 420713116_cg00000292 0.896829
文件集
大小总是固定的。不能动态地展开或收缩文件集。我们可以通过一个样本一个样本地填充空间来编写一个fileSet。这是通过首先分配给定样本数量和探针id的空间来实现的(如果平台是HM27, HM450或EPIC,则可选)。
在mybetas2为2个HM450样本分配空间。
然后我们可以用mapFileSet
.这里我用一个随机生成的beta值来说明。
hypothetical_betas < -setNames(runif(fset2$n), fset2$探针)mapFileSet(fset2“sample2”hypothetical_betas)
485577探针和2个样本的文件集。
映射值应该等于生成的beta值。我们抽查。
## sample2 ## cg00000108 TRUE