MultiDataSet 1.24.0
MultiDataSet
是一个新类,用于管理具有相同样本的不同组学数据集。开发时的主要目的MultiDataSet
是为了简化多个生物数据集的集成。
MultiDataSet
是基于Bioconductor的框架,它可以与S4类派生自eSet
或从SummarizedExperiment
.的每个集合中提取以下数据MultiDataSet
:
应该考虑到表型数据是为每一组独立存储的。这允许在不同的集合中存储具有相同名称但不同值的变量(例如技术变量)。另一个事实是,特征数据以数据的形式存储AnnotatedDataFrame
而且GenomicRanges
.这种设计允许快速执行子集使用GenomicRanges
同时保留存储没有基因组坐标的集合(例如代谢或暴露数据)的可能性。
在本文档中,将介绍集合的添加和子集。高级特性,例如创建新函数以添加集合或使用开发集成函数MultiDataSet
在其他文件中都有涉及。
在下面的代码中,加载了本教程中需要的库:
library(MultiDataSet) library(brgedata) library(GenomicRanges)
MultiDataSet
在使用构造函数添加任何对象之前,应该先创建对象:
multi <- createMultiDataSet() multi
MultiDataSet类的对象assayData: 0元素##。featureData: ##。rowRanges: ##。phenoData:
这个函数的名字
方法中包含的集合的名称MultiDataSet
.现在,对象是空的,所以没有名称:
名称(多)
# #空
长度(名字(多))
## [1] 0
集合可以添加到MultiDataSet
使用两类函数:一般函数和特定函数。通用函数eSet
或SummarizedExperiment
而特定的函数会添加更多特定的对象(例如。ExpressionSet
).
一般函数直接与MultiDataSet
改变它的内容。它们只检查输入的集合是否为eSet
或者一个SummarizedExperiment
.由于它们的灵活性,开发人员认为可以使用它们来创建特定的功能。2021欧洲杯体育投注开户
MultiDataSet
包含两个通用函数:add_eset
而且add_rse
.它们的工作原理相似,但它们适应于eSet
而且SummarizedExperiment
.因此,它们的共同特性将只在添加eSet一节中介绍。
add_eset
是添加eset派生类的通用函数。这个函数有三个重要的参数。对象
是MultiDataSet
将在哪里添加集合,集
是eSet
这将被添加和dataset.type
新集合的类型。下面几行将通过添加ExpressionSet
从brgedata:
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
部分。
SummarizedExperiment
S是使用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(年龄,…神经膜)
特定的函数被设计用来添加特定的数据集MultiDataSet
.它们调用通用函数来添加数据,并且通常执行一些检查(例如:检查集合的类或检查fData的列)。因此,只有具有某些特征的集合才能被引入MultiDataSet
并且不需要对数据结构进行后续检查。用户应该始终使用特定的函数来确保正确地添加集合MultiDataSet
.
在MultiDataSet
我们介绍了四个具体的功能:add_genexp
,add_rnaseq
,add_methy
而且add_snps
.所有这些函数都有两个参数:对象
与MultiDataSet
传入集合的第二个参数。第二个参数的名称取决于特定的函数(例如:gexpSet foradd_genexp
, snpSet foradd_snps
……)。尽管我们只会举例子add_genexp
而且add_snps
,其他特定函数共享相同的行为和特性。
add_genexp
增加了一个ExpressionSet
到槽“表达式”。我们将使用ExpressionSet
的brgedata为例:
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)
构造子集的MultiDataSet
S可以通过样本,表格或使用GenomicRanges
.为了说明这些操作,我们将使用ExpressionSet
和GenomicRatioSet
的brgedata.首先,我们将这些集合添加到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。
可以通过两种不同的方式进行样本细分。第一个选项是引入一个样本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个用于表达和甲基化的样本,与原始集合样本名称的交集相同。
我们可以选择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 ##实验数据:使用'实验数据(对象)' ##注释:
最后,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)
这三个操作可以组合起来应用三个过滤器。在这种情况下,首先选择集合,然后是样本,最后是特征:
多[样本,“表达式”,范围]
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
基函数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)