SummarizedExperiment類
該類常被用來儲存表達矩陣向楼,比如TCGAbiolinks下載的TCGA表達矩陣。
該類數(shù)據(jù)將原始信息(metadata)和表達矩陣(assays)聯(lián)合到了一起谐区,可同步對他們取子集湖蜕。
其實和bioconductor中的ExpreesionSet很接近,只是行信息比較靈活宋列,允許使用GRanges或DataFrame對象昭抒。
1、基本結構
如下圖所示,每個對象可以存儲多個表達矩陣(assays)灭返,行一般是基因或引物盗迟,列一般是樣本編號。每個表達矩陣都有兩個關聯(lián)的表(Row data, Column data)婆殿,分別通過基因名和樣本名與表達矩陣相關聯(lián)诈乒,存儲著基因以及樣本的相關信息。此外婆芦,還有單獨的一個文件(meta data)描述整個實驗的相關信息怕磨。
2、操作匯總
代碼僅展示了格式
test<-SummarizedExperiment(assays= list(counts), rowData= DataFrame(),
colData= DataFrame(Treatment= rep(c("flame","non_flame"),3)))
# 創(chuàng)建一個對象消约,有無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[,]可以像數(shù)據(jù)框一樣取子集
test[,test$Treatment=="flame"] # 可用這種形式根據(jù)列信息對表達矩陣取子集,同樣可以用在行信息取子集
RangedSummarizedExperiment類
該類是SummarizeddExperiment的子類或粮,繼承了其所有的方法导饲。
主要區(qū)別在于:該類的行是基因范圍,其關聯(lián)表是GRanges類或GRangesList類氯材。
rowRangs() # 取得行信息
rang<-GRanges(seqnames="1", ranges=100000:1100000)
subsetByOverlaps(test,rang)
#使用Granges類的方法取chromosom 1的100000:1100000的行