R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)_第1頁
R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)_第2頁
R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

第R語言rhdf5讀寫hdf5并展示文件組織結(jié)構(gòu)和索引數(shù)據(jù)h5只是一種簡單的數(shù)據(jù)組織格式【層級數(shù)據(jù)存儲格式(HierarchicalDataFormat:HDF)】,該格式被設計用以存儲和組織大量數(shù)據(jù)。

在一些單細胞文獻中,作者通常會將分析的數(shù)據(jù)上傳到GEO數(shù)據(jù)庫保存為.h5格式文件,而不是我們常見的工程文件(rds文件,表格數(shù)據(jù)等),所以為了解析利用這些數(shù)據(jù)需要對hdf5格式的組織結(jié)構(gòu)有一定的了解。

(注:在Seurat包中有現(xiàn)成的函數(shù)Seurat::Read10X_h5()可以用來提取表達矩陣,但似乎此外無法從h5文件中提取更多的信息)。

GEO數(shù)據(jù)庫

在R語言中對HDF5進行操作的軟件包為rhdf5。

install.packages("BiocManager");BiocManager::install("rhdf5");library(rhdf5)

打開.h5文件和展示內(nèi)容的組織結(jié)構(gòu)

h5_file=H5Fopen("new.h5")

####如下所示,new.h5文件內(nèi)創(chuàng)建了一個組(group1_mat)

#組內(nèi)又創(chuàng)建了df和matrix兩個層級用以保存矩陣和數(shù)據(jù)框

h5dump(h5_file,load=FALSE)

$group1_mat

$group1_mat$df

groupnameotypedclassdim

1/dfH5I_DATASETCOMPOUND5

$group1_mat$matrix

groupnameotypedclassdim

1/matrixH5I_DATASETFLOAT3x2

數(shù)據(jù)索引通過$符進行

h5_file$group1_mat$df

C_1C_2C_3name

13569xx

22860yy

38492gg

41616ll

57425mm

關閉hdf5文件

H5Fclose(h5_file)#關閉當前打開的hdf5文件

h5closeAll()#關閉所有打開的hdf5文件

構(gòu)建自己的hdf5文件

###準備數(shù)據(jù)

mdat-matrix(c(0,2,3,11,12,13),nrow=2,ncol=3,byrow=TRUE,dimnames=list(c("row1","row2"),c("C.1","C.2","C.3")))

df-data.frame(C_1=c(3,2,8,1,7),C_2=c(5,8,4,6,4),C_3=round(runif(n=5),2)*100,name=c("xx","yy","gg",'ll','mm'))

mdat.spar-Matrix::Matrix(mdat,sparse=TRUE)

my_array-array(seq(0.1,2.0,by=0.1),dim=c(5,2,2))

my_list-list(my_array[,,1],my_array[,,2])

my_string-"Thisisonehdfstructurefile"

###構(gòu)建.h5文件

h5createFile("new.h5")

#Savingmatrixinformation.

h5createGroup("new.h5","group1_mat")

h5write(mdat,"new.h5","group1_mat/matrix")

h5write(df,"new.h5","group1_mat/df")

#Savingsparse_matrixinformation.

mdat.spar-as(mdat,"dgCMatrix")

h5createGroup("new.h5","group2_sparseMTX")

h5write(mdat.spar@x,"new.h5","group2_sparseMTX/data")

h5write(dim(mdat.spar),"new.h5","group2_sparseMTX/shape")

h5write(mdat.spar@i,"new.h5","group2_sparseMTX/indices")#alreadyzero-indexed.

h5write(mdat.spar@p,"new.h5","group2_sparseMTX/indptr")

#Savingarrayandlistdata

h5createGroup("new.h5","group3_aL")

h5write(my_list,"new.h5","group3_aL/list")

h5write(my_array,"new.h5","group3_aL/array")

#Savingstringdata

h5createGroup("new.h5","group4_string")

h5write(my_string,"new.h5","group4_string/string")

h5closeAll()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論