单细胞测序分析(二)从不同文件构建seurat对象

33 阅读1分钟

单细胞测序数据千变万化?别慌!继上期软件安装&准备测序数据后,本期我们直击核心痛点——教你用Seurat轻松驾驭不同格式的原始数据。无论你是刚拿到10X Genomics的h5文件,还是手握表达矩阵,这篇保姆级教程都能让你5分钟完成数据导入!


从 h5 文件构建

数据地址:www.ncbi.nlm.nih.gov/geo/query/a…

library(Seurat)
scrna_data1 <- Read10X_h5(filename"data/GSM3489182/GSM3489182_Donor_01_filtered_gene_bc_matrices_h5.h5")

seob1 <- CreateSeuratObject(counts = scrna_data2, 
                            min.cells3, 
                            min.features200)

从表达矩阵构建

地址:www.ncbi.nlm.nih.gov/geo/query/a…

(适合TPM/FPKM等已处理数据)

scrna_data2 <- read.table(
  "data/GSM2829942/GSM2829942_HE6W_LA.TPM.txt",
  row.names1,
  header = T)

seob2 <- CreateSeuratObject(counts = scrna_data3, 
                            min.cells3, 
                            min.features200)

多样本构建 Seurat 对象

为每个样本构建一个 Seurat Object,存为 list。

library(tidyverse)
library(Seurat)
# 创建一个空列表
seob_list <- list()
samples <- c('ctrl', 'stim')

# 循环处理每个文件夹,读取并存储为 seurat 对象,并添加到 seob_list
for (sample in samples) {

# 读取数据
  scrna_data <- Read10X(
    data.dir = str_c("data/GSE96583/", sample))

# 创建 seurat 对象
  seob <- CreateSeuratObject(
    counts = scrna_data,
    min.cells5,  # 对基因过滤
    min.features200# 对细胞过滤

# metadata 添加一列
  seob[['samples']] <- sample

# 将 seurat 对象存入列表
  seob_list[[sample]] = seob
}

🚨 避坑指南 🚨

  1. h5文件读取报错?检查文件版本是否匹配Cell Ranger输出结构
  2. 基因名显示为ENSEMBL ID?添加gene.column=1参数获取基因符号
  3. 细胞数异常减少?调整min.cells/min.features过滤阈值

立即动手导入你的数据吧!遇到问题欢迎在评论区留言!