單細胞測序下游原始文件主要以三種形式在GEO存儲
GEO獲取的三種常見保存形式
針對三種不同的存儲形式分別對應(yīng)不同的seurat對象創(chuàng)建方式
1.以標(biāo)準(zhǔn)的barcodes.tsv碴巾、genes.tsv霎迫、matrix.mtx三個上游的cellranger輸出文件存儲
##直接對存儲文件夾讀取seurat包會自動識別三個文件并進行構(gòu)建
library(dplyr)
library(Seurat)
library(patchwork)
pbmc.data <- Read10X(data.dir = "pbm3k/") ##由于使用了Rproject肩刃,只填寫了相對路徑
##注意:上一步僅僅是將文件數(shù)據(jù)讀取至R并為構(gòu)建成seurat對象
head(pbmc.data) #是以稀松矩陣存儲,稀松矩陣占用內(nèi)存小桑阶,對于大數(shù)據(jù)集建議使用稀松矩陣霜运,各單細胞R包大部分都支持以稀松矩陣為輸入
#seurat對象創(chuàng)建
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
pbmc
2.以單個RDS/Rdata文件存儲
##這個實際上就是原作者已經(jīng)將三個上游的cellranger輸出文件Read10X讀進了R,并保存了變量
#直接讀進來構(gòu)建seurat就行
rm(list = ls())
sce=readRDS("rds_rdata/sce.rds") #此處獲取的為RDS刻蟹,所以用readRDS逗旁,注意readRDS要傳遞給變量
##如果獲取的為.Rdata
rm(list = ls())
load(file = "rds_rdata/sce.rdata") #rdata是保存了變量名的,讀進來直接生成變量
#創(chuàng)建seurat
pbmc <- CreateSeuratObject(counts = sce2, project = "sce2", min.cells = 3, min.features = 200)
pbmc
3.以每個樣品的UMI矩陣txt存儲
rm(list = ls())
path="拆分txt/"
# setwd("..")
library(Seurat)
library(data.table)
samples=list.files(path)
samples
dir <- file.path(path,samples)
names(dir) <- samples
options(scipen = 200)
#合并方法2
scRNAlist <- list()
#批量讀取txt創(chuàng)建seurat對象存儲到list
for(i in 1:length(dir)){
print(i)
counts=fread(dir[i],sep="\t",header=T,check.names=F,quote = F)
counts=as.data.frame(counts)
rownames(counts)=counts[,1]
counts=counts[,-1]
scRNAlist[[i]] <- CreateSeuratObject(counts = counts,project = "seurat", min.cells=3, min.features=200, names.delim = "_")
}
scRNA2 <- merge(scRNAlist[[1]], scRNAlist[2:length(scRNAlist)])#list整合,注意修改數(shù)量
dim(scRNA2) #查看基因數(shù)和細胞總數(shù)
table(scRNA2@meta.data$orig.ident) #查看每個樣本的細胞數(shù)
變量的保存
saveRDS(sce2,"sce.rds") #.rds在存儲和讀取時會對變量進行壓縮/解壓舆瘪,速度慢片效,占用硬盤空間小,但不會保存變量名稱英古,讀取時要賦值
sce=readRDS("rds_rdata/sce.rds")
save(sce2,file = "sce.rdata") #.rdata直接將帶變量名稱的對象保存至硬盤淀衣,速度快,占硬盤空間大召调,但讀取時無需賦值
load(file = "rds_rdata/sce.rdata")
問題交流:
Email:xuran@hrbmu.edu.cn