You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中转换scRNA-seq txt矩阵为Seurat可用格式并生成barcode文件

GSE141445的txt矩阵适配Seurat操作方法

你加载报错的核心原因很简单:Seurat::Read10X() 是专门读取10x标准输出的三个拆分文件(稀疏表达矩阵、基因列表、细胞barcode列表)的,而GSE141445提供的txt是已经整合好的整表:行对应基因,列对应单个细胞,列名本身就是你要找的barcode,不需要额外找资源下载,之前报错是用错了读取逻辑。


方法1:直接读取构造Seurat对象(最省事,不用生成中间文件)

不用硬凑10x的三个文件格式,直接读入整表拆分行名列名就能创建Seurat对象,新手优先选这个方法:

# 先安装未部署的依赖包
# install.packages("Seurat")
# install.packages("data.table")
library(Seurat)
library(data.table) # 读大文件比内置read.table快10倍以上,不容易卡顿

# 把路径替换为你本地存储的txt文件路径
mat <- fread("GSE141445_scRNA_expression.txt", data.table = FALSE)
# 把第一列的基因名设为矩阵行名,删除原基因名列
rownames(mat) <- mat[,1]
mat <- mat[, -1]
# 转为稀疏矩阵,可减少70%以上的内存占用
mat <- as.sparse(mat)

# 此时矩阵列名就是所有细胞的barcode,直接创建对象即可
seu_obj <- CreateSeuratObject(
  counts = mat, 
  project = "GSE141445",
  min.cells = 3, # 过滤在少于3个细胞中表达的基因
  min.features = 200 # 过滤检测到基因数少于200的低质量细胞
)

跑完这步直接就能衔接下游质控、标准化、降维聚类的标准流程,不会再报缺失barcode的错误。


方法2:生成标准10x格式文件(含独立barcode文件)

如果你后续需要用Read10X()函数读取,就按下面代码拆成三个标准10x文件,存储在同一个文件夹下即可:

library(data.table)
library(Matrix)
# 读入矩阵的步骤和方法1一致
mat <- fread("你的本地txt文件路径", data.table = FALSE)
rownames(mat) <- mat[,1]
mat <- mat[, -1]
mat <- as.sparse(mat)

# 提前创建存储10x格式文件的文件夹
dir.create("./GSE141445_10x_format/")

# 1. 生成barcode文件:直接提取矩阵列名写入即可
write.table(
  colnames(mat),
  file = "./GSE141445_10x_format/barcodes.tsv",
  sep = "\t", row.names = FALSE, col.names = FALSE, quote = FALSE
)

# 2. 生成基因信息文件:包含两列,第一列为基因ID,第二列为基因名,该数据集行名为基因名时两列填相同内容即可
genes_df <- data.frame(gene_id = rownames(mat), gene_name = rownames(mat))
write.table(
  genes_df,
  file = "./GSE141445_10x_format/genes.tsv",
  sep = "\t", row.names = FALSE, col.names = FALSE, quote = FALSE
)

# 3. 生成稀疏矩阵文件
writeMM(mat, file = "./GSE141445_10x_format/matrix.mtx")

三个文件生成完成后,直接运行Read10X("./GSE141445_10x_format/")就能正常读取,不会再提示缺少barcode文件。


避坑提示

  • 不要用内置read.table()读取几个G大小的表达矩阵,速度极慢还容易触发内存溢出,data.table::fread()是更优选择
  • 读入完成后先运行head(mat[,1:5])查看前5行前5列确认结构,只要第一列为基因名、其余列为细胞表达值就符合预期
  • 转稀疏矩阵的步骤不要省略,大矩阵可减少数G的内存占用

内容的提问来源于stack exchange,提问作者mouseheartattack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 06:54:43