踩坑实录一:GEO单细胞样本读取和增加样本metadata信息

目录

单细胞样本读取

将病人的meta信息导入


单细胞样本读取

文件夹下所有的样本必须为gz格式

比如这里面那些非gz格式的样本是不能用Read10X的函数去读取的

实际上只需要有以下三个文件即可

读取代码

# 数据储存本地 "E:/GEO/scRNAseq/HNSCC/GSE164690/data"
data_path <- "E:/GEO/scRNAseq/HNSCC/GSE164690/data"
files <- list.files(data_path,full.names = T)
files

system.time({
  sceList = lapply(files,function(patient){ 
    # patient=files[[1]] 
    print(patient)
    ct <- Read10X(patient)
    sce=CreateSeuratObject(counts =  ct ,
                           project =  str_split_fixed(patient,"_",n=2)[,2],
                           min.cells = 3, #Include features detected in at least this many cells.
                           min.features = 200 #	Include cells where at least this many features are detected.
    )
    return(sce)
  }) #返回一个List
})#记录一下运行时间

names(sceList)  
samples = str_split_fixed(files,"_",n=2)[,2]
names(sceList) = samples

sce.all=merge(x=sceList[[1]],
              y=sceList[ -1 ],add.cell.ids = samples)

head(sce.all@meta.data, 10)
table(sce.all@meta.data$orig.ident) 

 

将病人的meta信息导入

# 增加病人的和来源的分组 
phe=str_split(rownames(sce.all@meta.data),'_',simplify = T)
head(phe) 
sce.all@meta.data$patients=phe[,1] 
sce.all@meta.data$cell.orig=phe[,2] 

table(sce.all@meta.data$patients)
table(sce.all@meta.data$cell.orig)

简单给病人分组后,meta信息如下

 希望把临床信息导入meta信息中

 其实按照病人的代号merge即可 不要想得太复杂!!!

# 增加病人的meta信息
patient_info <- read.csv("E:/GEO/scRNAseq/HNSCC/GSE164690/Patients_info_use.csv")
head(patient_info$Patients)

data <- sce.all@meta.data
colnames(patient_info)
# [1] "Patients"      "Gender"        "Age_group"     "Smoking"       "Alcohol"      
# [6] "Disease_site"  "T_Stage"       "N_Stage"       "M_Stage"       "HPV"          
# [11] "Inflam_status"
data <- rownames_to_column(data,var = "barcodes")

metadata <- merge(data,
      patient_info,
      by.x='patients',
      by.y='Patients',
      all=T)
metadata <- column_to_rownames(metadata,var = "barcodes")
sce.all <- AddMetaData(sce.all,metadata)
colnames(sce.all@meta.data)

 基础几天不学 不熟练浪费大量时间!!!!!!一开始用循环去写的,实在离谱

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

18kkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值