内容

1简介

MultiDataSet是一个新类,用于管理具有相同样本的不同组学数据集。开发时的主要目的MultiDataSet是为了简化多个生物数据集的集成。

MultiDataSet是基于Bioconductor的框架,它可以与S4类派生自eSet或从SummarizedExperiment.的每个集合中提取以下数据MultiDataSet

应该考虑到表型数据是为每一组独立存储的。这允许在不同的集合中存储具有相同名称但不同值的变量(例如技术变量)。另一个事实是,特征数据以数据的形式存储AnnotatedDataFrame而且GenomicRanges.这种设计允许快速执行子集使用GenomicRanges同时保留存储没有基因组坐标的集合(例如代谢或暴露数据)的可能性。

在本文档中,将介绍集合的添加和子集。高级特性,例如创建新函数以添加集合或使用开发集成函数MultiDataSet在其他文件中都有涉及。

在下面的代码中,加载了本教程中需要的库:

library(MultiDataSet) library(brgedata) library(GenomicRanges)

1.1创建一个新的MultiDataSet

MultiDataSet在使用构造函数添加任何对象之前,应该先创建对象:

multi <- createMultiDataSet() multi
MultiDataSet类的对象assayData: 0元素##。featureData: ##。rowRanges: ##。phenoData:

这个函数的名字方法中包含的集合的名称MultiDataSet.现在,对象是空的,所以没有名称:

名称(多)
# #空
长度(名字(多))
## [1] 0

2添加组

集合可以添加到MultiDataSet使用两类函数:一般函数和特定函数。通用函数eSetSummarizedExperiment而特定的函数会添加更多特定的对象(例如。ExpressionSet).

2.1通用函数

一般函数直接与MultiDataSet改变它的内容。它们只检查输入的集合是否为eSet或者一个SummarizedExperiment.由于它们的灵活性,开发人员认为可以使用它们来创建特定的功能。2021欧洲杯体育投注开户

MultiDataSet包含两个通用函数:add_eset而且add_rse.它们的工作原理相似,但它们适应于eSet而且SummarizedExperiment.因此,它们的共同特性将只在添加eSet一节中介绍。

2.1.1添加eSet

add_eset是添加eset派生类的通用函数。这个函数有三个重要的参数。对象MultiDataSet将在哪里添加集合,eSet这将被添加和dataset.type新集合的类型。下面几行将通过添加ExpressionSetbrgedata

brge_gexp数据(“brge_gexp”)
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 67528个特征,100个样本##元素名称:exprs ## protocolData: none ##表型数据## sampleNames: x0001 x0002…x0139(100总共)## varLabels:年龄性别## varMetadata: labelDescription ## featureData ## featurename: TC01000001.hg.1TC01000002.hg。1……# # TCUn_gl000247000001.hg.1(67528 total) ## fvarLabels: transcript_cluster_id probeset_id…注释(11 total) ## fvarMetadata: labelDescription ##实验数据:使用'实验数据(对象)' ##注释:
Multi2 <- add_eset(multi, brge_gexp, dataset。Type = "expression")
## add_eset(multi, brge_gexp, dataset. set)中的警告Type = "expression"):No id column ## found in pData. The id will be equal to the sampleNames
multi2
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)
MultiDataSet类的对象assayData: 0元素##。featureData: ##。rowRanges: ##。phenoData:

multi2的输出显示已添加的集合的名称,以及每个集合的特征和样本的数量,以及它是否具有rowRanges。应该注意到add_eset不修改MultiDataSet通过了对象论点。因此,multi仍然是空的。属性中添加集合的所有函数都有此属性MultiDataSet

默认情况下,传入集的名称等于dataset.type。如果我们想添加另一个相同类型的集合,可以使用实参dataset.name求微分。作为示例,我们将添加相同的内容ExpressionSet前一个例子的,但有另一个名字:

Multi2 <- add_eset(Multi2, brge_gexp, dataset. xml)Type = "expression", dataset.name = "new")
## add_eset(multi2, brge_gexp, dataset. xml)中的警告type = "expression", dataset.name ## = "new"): pData中没有id列。id将等于samplnames
multi2
MultiDataSet类的对象assayData: 2元素##。表达式:67528个特征,100个样本##。表达式+new: 67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。表达式+new: 67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表达式+new: YES ##。 phenoData: ## . expression: 100 samples, 3 cols (age, ..., sex) ## . expression+new: 100 samples, 3 cols (age, ..., sex)

如果dataset.name,则结果名称为" dataset.type+dataset.name "。使用这种策略,我们可以拥有相同类型的不同数据集,并且仍然可以检索与相同类型的数据相对应的数据集。

为了确保不同数据集之间的样本一致性,我们在所有数据集上使用一个公共的样本标识符。示例标识符应该通过添加名为id在表型数据中(phenoData)。如果它还不存在,则默认情况下使用给定集的示例名称创建它。

因为我们的ExpressionSet不包含此列,则会引发警告。要解决这个问题,我们可以手动添加一个id到我们的数据集:

Brge_gexp2 <- brge_gexp Brge_gexp2 $id <- 1:100 multi2 <- add_eset(multi, Brge_gexp2, dataset. xml)Type = "expression") multi2
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)

还有三个额外的论点:警告覆盖而且农庄警告可用于启用或禁用警告。覆盖当希望添加具有当前使用名称的集合时使用。如果为TRUE,则该集合被替换。如果为FALSE,什么都不会改变:

brge_gexp <- brge_gexp[, 1:10] multi2 <- add_eset(multi, brge_gexp, dataset. dataset.)type = "expression", warnings = FALSE
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)
Multi2 <- add_eset(Multi2, brge_gexp2, dataset。type = "expression", warnings = FALSE, overwrite = FALSE)
## add_eset(multi2, brge_gexp2, dataset. add_eset)中的错误。type = "expression", warnings = FALSE,:该槽位已经有对象。设置overwrite = TRUE覆盖前一个集合。
multi2
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)
Multi2 <- add_eset(Multi2, brge_gexp2, dataset。type = "expression", warnings = FALSE, override = TRUE
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,10个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:10个样品,3 cols(年龄,…、性别)

最后,农庄参数用于add aGenomicRanges使用注释。缺省情况下,GenomicRanges将从集合中生成fData.有了这个参数,我们可以直接提供aGenomicRanges或者,如果数据集的注释不能转换为aGenomicRanges(例如蛋白质组数据),我们可以将此参数设置为NA:

Multi2 <- add_eset(multi, brge_gexp, dataset。type = "expression", warnings = FALSE, GRanges = NA) multi2
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:NO ##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)

现在,我们可以看到,对于表达式,rowRanges是NO。所涉问题将在过滤的GenomicRanges部分。

2.1.2添加SummarizedExperiment

SummarizedExperimentS是使用add_rse.它的参数和行为与add_eset.唯一的区别是有农庄参数(注释数据已经以GenomicRanges).为了举例说明它的用法,我们将添加一个GenomicRatioSet包含甲基化数据brgedata包:

data("brge_methy") brge_methy2 <- brge_methy[1:100,] ###对原始集合进行子集以加速
##加载所需的包:minfi
##加载所需包:摘要实验
##加载所需包:MatrixGenerics
##加载所需的包:matrixStats
## ##附加包:'matrixStats'
以下对象从'package:MultiDataSet'中屏蔽:## ## rowRanges
以下对象从'package:Biobase'中屏蔽:## ## anyMissing, rowMedians
## ##附加包:'MatrixGenerics'
下面的对象从package:matrixStats中屏蔽:## ## colAlls, colAnyNAs, colanyans, colAvgsPerRowSet, colCollapse, ## colCounts, colCummaxs, colCummins, colCumprods, colMadDiffs, colIQRs, colLogSumExps, colMadDiffs, ## colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats, ## colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds, ## colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads, ## colWeightedMeans, colWeightedMedians, colweighteddsds, ## colweighttedvars, rowAlls, rowAnyNAs, rowAnys, colIQRs, colLogSumExps, colMadDiffs,rowAvgsPerColSet, ## rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods, ## rowcumsum, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps, ## rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins, ## rowOrderStats, rowProds, rowQuantiles, rowwranges, rowwranks, ## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars, ## rowWeightedMads, rowWeightedMeans, rowWeightedMedians, ## rowweighteddsds, rowWeightedVars
以下对象从'package:Biobase'中屏蔽:## ## rowMedians
##加载所需的包:生物strings
##加载所需的包:XVector
## ##附加包:“Biostrings”
下面的对象从'package:base'屏蔽:## ## strsplit
##加载所需的包:bumphunter
##加载所需的包:foreach
加载所需的包:迭代器
##加载所需的包:并行
##加载所需的包:locfit
## locfit 1.5-9.5 2022-03-01
##设置选项('download.file.method.GEOquery'='auto')
##设置选项('GEOquery.inmemory.gpl'=FALSE)
multi <- createMultiDataSet() multi2 <- add_rse(multi, brge_methy, dataset。type = "methylation", warnings = FALSE)
## add_rse(multi, brge_methy, dataset. xml)中的警告。type = "methylation", warnings = ## FALSE): colData中没有id列。id将等于samplnames
multi2
MultiDataSet类的对象assayData: 1元素##。甲基化:392277个特征,20个样品。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。rowRanges: ##。甲基化:YES ##。表型数据:##。甲基化:20个样品,10 cols(年龄,…神经膜)

2.2特定功能

特定的函数被设计用来添加特定的数据集MultiDataSet.它们调用通用函数来添加数据,并且通常执行一些检查(例如:检查集合的类或检查fData的列)。因此,只有具有某些特征的集合才能被引入MultiDataSet并且不需要对数据结构进行后续检查。用户应该始终使用特定的函数来确保正确地添加集合MultiDataSet

MultiDataSet我们介绍了四个具体的功能:add_genexpadd_rnaseqadd_methy而且add_snps.所有这些函数都有两个参数:对象MultiDataSet传入集合的第二个参数。第二个参数的名称取决于特定的函数(例如:gexpSet foradd_genexp, snpSet foradd_snps……)。尽管我们只会举例子add_genexp而且add_snps,其他特定函数共享相同的行为和特性。

add_genexp增加了一个ExpressionSet到槽“表达式”。我们将使用ExpressionSetbrgedata为例:

multi <- createMultiDataSet() multi2 <- add_genexp(multi, brge_gexp)
## add_eset(对象,gexpSet,数据集。type = "expression", GRanges = ## range,: pData中没有id列。id将等于samplnames
brge_gexp
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 67528个特征,100个样本##元素名称:exprs ## protocolData: none ##表型数据## sampleNames: x0001 x0002…x0139(100总共)## varLabels:年龄性别## varMetadata: labelDescription ## featureData ## featurename: TC01000001.hg.1TC01000002.hg。1……# # TCUn_gl000247000001.hg.1(67528 total) ## fvarLabels: transcript_cluster_id probeset_id…注释(11 total) ## fvarMetadata: labelDescription ##实验数据:使用'实验数据(对象)' ##注释:

考虑到add_genexp调用add_eset的论点add_eset也可以用butdataset.type而且农庄.我们再加一个ExpressionSet到另一个槽使用dataset.name

Multi2 <- add_genexp(Multi2, brge_gexp, dataset.name = "2")
## add_eset(对象,gexpSet,数据集。type = "expression", GRanges = ## range,: pData中没有id列。id将等于samplnames
multi2
MultiDataSet类的对象assayData: 2元素##。表达式:67528个特征,100个样本##。表达式+2:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。表达式+2:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表达式+2:YES ##。 phenoData: ## . expression: 100 samples, 3 cols (age, ..., sex) ## . expression+2: 100 samples, 3 cols (age, ..., sex)

3.构造子集

构造子集的MultiDataSetS可以通过样本,表格或使用GenomicRanges.为了说明这些操作,我们将使用ExpressionSetGenomicRatioSetbrgedata.首先,我们将这些集合添加到aMultiDataSet.的ExpressionSet将被添加到另一个槽,但设置GRanges = NA:

在添加对象multi <- add_methy(multi, brge_methy)之前删除没有位置的探测
## add_rse(object, methySet, dataset. zip)中的警告type = "methylation"): colData中没有id列##。id将等于samplnames
Multi <- add_genexp(Multi, brge_gexp)
## add_eset(对象,gexpSet,数据集。type = "expression", GRanges = ## range,: pData中没有id列。id将等于samplnames
多<- add_eset(多,brge_gexp,数据集。type = "test", GRanges = NA)
## add_eset(multi, brge_gexp, dataset. set)中的警告type = "test", GRanges = NA):No ## id column found in pData. The id will be equal to the sampleNames
MultiDataSet类的对象assayData: 3元素##。甲基化:392277个特征,20个样品。表达式:67528个特征,100个样本##。测试:67528个特征,100个样本##。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex) ## . test: 100 samples, 3 cols (age, ..., sex)

表达数据包含100个样本,67528个特征;甲基化数据包含115个样本,476946个cpg。

3.1样品

可以通过两种不同的方式进行样本细分。第一个选项是引入一个样本id向量。MultiDataSet有操作员重载和样本是第一个元素:

sample <- sampleNames(brge_gexp)[76:100] multi[samples,]
MultiDataSet类的对象assayData: 3元素##。甲基化:392277个特征,2个样品##表达式:67528个特征,25个样本##。测试:67528个特征,25个样本##。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 2 samples, 10 cols (age, ..., Neu) ## . expression: 25 samples, 3 cols (age, ..., sex) ## . test: 25 samples, 3 cols (age, ..., sex)

样本的子集返回,对于每个集合,所有样本都存在于过滤向量中。在我们的例子中,我们选择了最后25个样本ExpressionSet.在GenomicRatioSet,这些样本中只有9个存在。

我们也可以只选择那些在所有数据集中都有函数的样本commonSamples.此方法返回一个newMultiDataSet但仅限于常见的样本:

commonSamples(多)
MultiDataSet类的对象assayData: 3元素##。甲基化:392277个特征,20个样品。表达式:67528个特征,20个样本##。测试:67528个特征,20个样本##。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 20 samples, 3 cols (age, ..., sex) ## . test: 20 samples, 3 cols (age, ..., sex)
长度(相交(sampleNames (brge_gexp) sampleNames (brge_methy)))
## [1] 20

由此产生的MultiDataSet包含84个用于表达和甲基化的样本,与原始集合样本名称的交集相同。

3.2

我们可以选择a的数据集MultiDataSet使用他们的名字。他们应该放在第二的位置

多(,“表达式”)
MultiDataSet类的对象assayData: 1元素##。表达式:67528个特征,100个样本##。featureData: ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:100个样品,3 cols(年龄,…、性别)
Multi [, c(“甲基化”,“测试”)]
MultiDataSet类的对象assayData: 2元素##。甲基化:392277个特征,20个样品。测试:67528个特征,100个样本##。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。甲基化:YES ##。测试:NO ##。 phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . test: 100 samples, 3 cols (age, ..., sex)

如果我们想检索原始对象,我们可以设置drop = TRUE或使用[[接线员:

多[["表达"]]
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 67528个特征,100个样本##元素名称:exprs ## protocolData: none ##表型数据## sampleNames: x0001 x0002…x0139(100总共)## varLabels:年龄性别id ## varMetadata: labelDescription ## featureData ## featurename: TC01000001.hg.1TC01000002.hg。1……# # TCUn_gl000247000001.hg.1(67528 total) ## fvarLabels: transcript_cluster_id probeset_id…注释(11 total) ## fvarMetadata: labelDescription ##实验数据:使用'实验数据(对象)' ##注释:
multi[, "expression", drop = TRUE]
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 67528个特征,100个样本##元素名称:exprs ## protocolData: none ##表型数据## sampleNames: x0001 x0002…x0139(100总共)## varLabels:年龄性别id ## varMetadata: labelDescription ## featureData ## featurename: TC01000001.hg.1TC01000002.hg。1……# # TCUn_gl000247000001.hg.1(67528 total) ## fvarLabels: transcript_cluster_id probeset_id…注释(11 total) ## fvarMetadata: labelDescription ##实验数据:使用'实验数据(对象)' ##注释:

3.3GenomicRanges

最后,MultiDataSet可通过GenomicRanges.在这种情况下,只有那些在范围内的特征将被返回,而那些不在范围内的数据集GenomicRanges数据将被丢弃。的第三个位置

range <- GRanges("chr17:1-100000") multi[,, range]
MultiDataSet类的对象assayData: 2元素##。甲基化:36个特征,20个样品。表达式:6个特征,100个样本##。featureData: ##。甲基化:36 rows, 19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:6 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。甲基化:YES ##。表达:是##。 phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex)

由于过滤的结果GenomicRanges,没有rowrange的set " test "已被丢弃。如果GenomicRanges包含多个范围,选择任何范围内的特征:

range2 <- GRanges(c("chr17:1-100000", "chr17:1000000-2000000")) multi[,, range2]
MultiDataSet类的对象assayData: 2元素##。甲基化:685个特征,20个样品##表达式:51个特征,100个样本##。featureData: ##。甲基化:685行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:51 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。甲基化:YES ##。表达:是##。 phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex)

3.4多个构造子集

这三个操作可以组合起来应用三个过滤器。在这种情况下,首先选择集合,然后是样本,最后是特征:

多[样本,“表达式”,范围]
MultiDataSet类的对象assayData: 1元素##。表达式:6个特征,25个样本##。featureData: ##。表达式:6 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。表达:是##。表型数据:##。表达式:25个样品,3 cols(年龄,…、性别)
multi[samples, "methylation", range, drop = TRUE]
##类:genome ratioset ## dim: 36 2 ##元数据(0):## assays(1): Beta ## rownames(36): cg09002677 cg21726327…cg17224754 cg11788856 ## rowData names(14): Forward_Sequence SourceSeq…## Regulatory_Feature_Group DHS ## colnames(2): x0077 x0079 ## colData names(10):年龄性别…Neu id ##注释##数组:illuminahumanmethylation450k# #注释:ilmn12。hg19 ##预处理##方法:NA ## minfi版本:NA ## Manifest版本:NA

3.5先进的构造子集

基函数R子集可用于执行高级子集。此函数可用于筛选特征列每个数据集的特征数据。例如,我们可以使用这个函数来选择与基因相关的所有特征:

子集(multi, genes == "SLC35E2")
##在.local(x,…)中警告:以下集合无法通过特性## id: expression, test过滤
MultiDataSet类的对象assayData: 3元素##。甲基化:1个特征,20个样品##表达式:67528个特征,100个样本##。测试:67528个特征,100个样本##。featureData: ##。甲基化:1 rows, 19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex) ## . test: 100 samples, 3 cols (age, ..., sex)

这一行返回一个MultiDataSet与SLC35E2基因相关的特征。表达式使用基因因为它是包含的数据集的公共列.此函数接受返回逻辑表达式的任何表达式。因此,我们也可以使用%, %运算符或包含多个表达式:

子集(multi,基因%in% c(“SLC35E2”,“IPO13”,“TRPV1”)))
##在.local(x,…)中警告:以下集合无法通过特性## id: expression, test过滤
MultiDataSet类的对象assayData: 3元素##。甲基化:19个特征,20个样品。表达式:67528个特征,100个样本##。测试:67528个特征,100个样本##。featureData: ##。甲基化:19 rows, 19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex) ## . test: 100 samples, 3 cols (age, ..., sex)
子集(multi, genes == "EEF1A1" | genes == "LPP")
##在.local(x,…)中警告:以下集合无法通过特性## id: expression, test过滤
MultiDataSet类的对象assayData: 3元素##。甲基化:37个特征,20个样品。表达式:67528个特征,100个样本##。测试:67528个特征,100个样本##。featureData: ##。甲基化:37行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 20 samples, 10 cols (age, ..., Neu) ## . expression: 100 samples, 3 cols (age, ..., sex) ## . test: 100 samples, 3 cols (age, ..., sex)

类似的方法可以用于具有共同表型的选择样本。在这种情况下,我们应该传递第三个参数中的表达式,并且该列也必须出现在数据集的表型数据中:

子集(multi,, sex == "Female")
MultiDataSet类的对象assayData: 3元素##。甲基化:392277个特征,11个样品。表达式:67528个特征,48个样本##。测试:67528个特征,48个样本##。featureData: ##。甲基化:392277行,19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 11 samples, 10 cols (age, ..., Neu) ## . expression: 48 samples, 3 cols (age, ..., sex) ## . test: 48 samples, 3 cols (age, ..., sex)

有了这行代码,我们可以选择所有参与研究的女性。这两个子集可以同时应用:

子集(multi,基因== "SLC35E2",性别== "Female")
##在.local(x,…)中警告:以下集合无法通过特性## id: expression, test过滤
MultiDataSet类的对象assayData: 3元素##。甲基化:1个特征,11个样品##表达式:67528个特征,48个样本##。测试:67528个特征,48个样本##。featureData: ##。甲基化:1 rows, 19 cols (seqnames,…, Regulatory_Feature_Group) ##。表达式:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。测试:67528 rows, 11 cols (transcript_cluster_id,…, gene_assignment) ##。rowRanges: ##。 methylation: YES ## . expression: YES ## . test: NO ## . phenoData: ## . methylation: 11 samples, 10 cols (age, ..., Neu) ## . expression: 48 samples, 3 cols (age, ..., sex) ## . test: 48 samples, 3 cols (age, ..., sex)