本教程介紹了在GEO數(shù)據(jù)庫中下載單細(xì)胞數(shù)據(jù)集的方法枫夺,并進(jìn)一步處理為scanpy可讀取的格式熄诡。
第一步:GEO數(shù)據(jù)庫下載單細(xì)胞數(shù)據(jù)
需要下載的文件為Supplementary file的三個(gè)文件厘线,點(diǎn)擊Download的http即開始下載奄毡,建議復(fù)制下載鏈接在迅雷或者Free Download Manager里下載鸦做,速度會(huì)快很多励烦。
-
查看數(shù)據(jù)格式
(1)GSE125970_cell_info.txt
該文件以Tab分隔符分隔了3列細(xì)胞的Meta信息坛掠,第一列為自定義的barcodes名(UniqueCell_ID),第二列為樣本ID(Sample_ID)治筒,第三列為這篇文章對(duì)每個(gè)細(xì)胞進(jìn)行細(xì)胞類型注釋的注釋結(jié)果(CellType)屉栓。
(2)GSE125970_raw_UMIcounts.txt
該文件是一個(gè)以Seruat格式保存的gene-barcodes原始表達(dá)矩陣。使用Python的Pandas讀取矩陣(這里使用jupyter notebook進(jìn)行編程):
raw_UMIcounts = pd.read_table("./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.txt", header=0, index_col=0)
raw_UMIcounts.head(10)
接下來友多,使用Pandas的轉(zhuǎn)置,將行列轉(zhuǎn)置堤框,以符合Scanpy的讀取格式域滥,并保存為CSV格式文件纵柿。第三個(gè)文件是標(biāo)準(zhǔn)化和尺度歸一化后的表達(dá)譜數(shù)據(jù),我們暫時(shí)用不到启绰。至此昂儒,本教程第一步的數(shù)據(jù)下載已經(jīng)完成。
raw_UMIcounts = pd.DataFrame(raw_UMIcounts.values.T, index=raw_UMIcounts.columns, columns=raw_UMIcounts.index)
raw_UMIcounts.to_csv("./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.csv")
第二步:scanpy讀取數(shù)據(jù)渊跋,并保存為h5ad文件備用
scanpy讀取單細(xì)胞測(cè)序數(shù)據(jù)的方式有很多種,主要是讀取.mtx文件撤缴,讀取h5ad文件刹枉,以上兩種方法在官方文檔的教程里已經(jīng)有了詳細(xì)的介紹,本教程不再贅述屈呕,僅介紹讀取.csv文件的方法微宝。
- 使用scanpy.read_csv讀取csv文件
filename = "./other_dataset/GSE125970/GSE125970_raw_UMIcounts.txt/GSE125970_raw_UMIcounts.csv"
GSE125970_adata = sc.read_csv(filename, first_column_names=True)
GSE125970_adata
Outputs: AnnData object with n_obs × n_vars = 14537 × 19525
- 儲(chǔ)存為h5ad文件(h5ad文件讀取時(shí)比其他方式快很多,而且總的占用內(nèi)存少)
GSE125970_adata.write('./other_dataset/GSE125970/GSE125970_raw_adata.h5ad')
- 重新讀取h5ad文件
GSE125970_adata = sc.read('./other_dataset/GSE125970/GSE125970_raw_adata.h5ad')
本教程結(jié)束虎眨。