生信

【包】SummarizedExperiment

2021-07-31  本文已影响0人  JamesMori

SummarizedExperiment类

该类常被用来储存表达矩阵,比如TCGAbiolinks下载的TCGA表达矩阵。
该类数据将原始信息(metadata)和表达矩阵(assays)联合到了一起,可同步对他们取子集。
其实和bioconductor中的ExpreesionSet很接近,只是行信息比较灵活,允许使用GRanges或DataFrame对象。

1、基本结构

如下图所示,每个对象可以存储多个表达矩阵(assays),行一般是基因或引物,列一般是样本编号。每个表达矩阵都有两个关联的表(Row data, Column data),分别通过基因名和样本名与表达矩阵相关联,存储着基因以及样本的相关信息。此外,还有单独的一个文件(meta data)描述整个实验的相关信息。


SummarizedExperiment

2、操作汇总

代码仅展示了格式

test<-SummarizedExperiment(assays= list(counts), rowData= DataFrame(), 
colData= DataFrame(Treatment= rep(c("flame","non_flame"),3)))
# 创建一个对象,有无rowData都行
assays(test) # 取出表达矩阵,取出的是元素为列表的列表
assay(test,1) # 取出的是列表
#assays(test)[[1]][1:5,1:5] == assay(test)[1:5,1:5]==assay(test,1)[1:5,1:5]
assays(test)$counts # 取出特定表达矩阵
rowData(test) # 取出行信息
colData(test) # 取出列信息
metadata(test) # 取出实验信息
test[,]可以像数据框一样取子集
test[,test$Treatment=="flame"] # 可用这种形式根据列信息对表达矩阵取子集,同样可以用在行信息取子集

RangedSummarizedExperiment类

该类是SummarizeddExperiment的子类,继承了其所有的方法。
主要区别在于:该类的行是基因范围,其关联表是GRanges类或GRangesList类。

rowRangs() # 取得行信息
rang<-GRanges(seqnames="1", ranges=100000:1100000)
subsetByOverlaps(test,rang)
#使用Granges类的方法取chromosom 1的100000:1100000的行
上一篇下一篇

猜你喜欢

热点阅读