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

如何从gz压缩包读取10X数据并正确创建Seurat对象

报错核心原因

Read10X() 函数不支持直接读取 .tar.gz 格式的压缩包,该函数的data.dir参数必须传入解压后存放10X测序标准输出文件的本地文件夹路径,要求目标路径下必须存在三个核心文件:表达矩阵文件matrix.mtx、基因名注释文件features.tsv(旧版为genes.tsv)、细胞条码文件barcodes.tsv。你之前用gzfile()读取压缩包再传入函数的写法不符合函数输入要求,自然会运行失败。

正确操作流程
  • 第一步:解压下载的压缩包
    你可以直接手动右键点击pbmc3k_filtered_gene_bc_matrices.tar.gz,选择解压到当前Downloads文件夹;也可以直接在R控制台运行解压命令,不需要手动操作:
    setwd("C:/Users/myname/Downloads")
    # 将压缩包解压到当前路径下的pbmc3k_data文件夹中
    untar("pbmc3k_filtered_gene_bc_matrices.tar.gz", exdir = "./pbmc3k_data")
    
    解压完成后,你会看到pbmc3k_data文件夹下的层级为filtered_gene_bc_matrices/hg19/,hg19子文件夹里就存放着Read10X需要的三个核心文件。
  • 第二步:传入正确路径读取数据
    把解压后存放三个核心文件的文件夹路径传入data.dir参数即可,不需要和教程写的路径完全一致,匹配你本地的实际路径就行:
    pbmc.data <- Read10X(data.dir = "./pbmc3k_data/filtered_gene_bc_matrices/hg19/")
    

校验小技巧:运行Read10X前,可以先执行list.files("./pbmc3k_data/filtered_gene_bc_matrices/hg19/"),如果返回结果里能看到三个核心10X文件,说明路径填写正确,后续读取不会报错。

避坑提示
  • gzfile()仅能读取单个.gz格式的压缩文件,无法处理包含多层目录结构的tar归档压缩包,不要用该函数处理.tar.gz格式的10X数据包
  • Windows系统编写文件路径时,不要直接用单斜杠\,要么替换为正斜杠/,要么用双反斜杠\\,避免触发转义字符报错
  • 不用刻意对齐教程里写的示例路径,只要找到你本地存放三个10X核心文件的文件夹,把对应路径填入参数即可正常读取

内容的提问来源于stack exchange,提问作者Mr. George

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:39:20