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

使用DropletUtils读取10x数据时BiocParallel报错:未找到barcode文件

DropletUtils read10xCounts 无法找到barcode文件的解决方法

使用R的SingleCellExperiment和DropletUtils搭建单细胞分析流程时,运行read10xCounts持续报错,已尝试解压barcode文件、修改目录权限,问题仍存在。

运行代码

seq_data_martin <- "/home/.../GSE134809_RAW"

samples <- list.files(path = seq_data_martin, pattern = "*matrix.mtx.gz")
samples <- gsub("_matrix.mtx.gz$", "", samples)

sce <- DropletUtils::read10xCounts(
  samples = paste0("seq_data_martin/", samples, "_"),
  sample.names = samples,
  type = "prefix",
  BPPARAM = BiocParallel::MulticoreParam()
)

错误信息

Error: BiocParallel errors
  31 remote errors, element index: 1, 2, 3, 4, 5, 6, ...
  0 unevaluated and other errors
  first remote error:
Error in .check_for_compressed(barcode.loc, compressed): cannot find 'seq_data_martin/GSM3972009_69_barcodes.tsv' or its gzip-compressed form

目标目录文件确认

目标目录下的相关文件确实存在:

/GSE134809_RAW$ ll | head
total 592568
drwxrwxr-x  2 localadmin localadmin     4096 May 23 14:19 ./
drwxr-xr-x 39 localadmin localadmin     4096 May 23 14:16 ../
-rw-rw-r--  1 localadmin localadmin  1155350 May 23 14:19 GSM3972009_69_barcodes.tsv.gz
-rw-rw-r--  1 localadmin localadmin   264786 Jul 24  2019 GSM3972009_69_genes.tsv.gz
-rw-rw-r--  1 localadmin localadmin 12020368 Jul 24  2019 GSM3972009_69_matrix.mtx.gz
-rw-rw-r--  1 localadmin localadmin  1920076 Jul 24  2019 GSM3972010_68_barcodes.tsv.gz
-rw-rw-r--  1 localadmin localadmin   264786 Jul 24  2019 GSM3972010_68_genes.tsv.gz
-rw-rw-r--  1 localadmin localadmin 21788688 Jul 24  2019 GSM3972010_68_matrix.mtx.gz
-rw-rw-r--  1 localadmin localadmin  2280347 Jul 24  2019 GSM3972011_122_barcodes.tsv.gz

问题原因

代码中拼接路径时使用了相对路径"seq_data_martin/",但R的工作目录可能不在该目录的上级目录,导致程序无法定位文件。此外,并行计算(MulticoreParam)可能会引入工作目录不一致的问题,进一步加剧路径错误。

解决方法

  1. 使用绝对路径拼接
    替换路径拼接逻辑,基于已定义的绝对路径变量seq_data_martin生成完整前缀路径,确保程序不受工作目录影响:

    sce <- DropletUtils::read10xCounts(
      samples = paste0(seq_data_martin, "/", samples, "_"),
      sample.names = samples,
      type = "prefix",
      BPPARAM = BiocParallel::MulticoreParam()
    )
    
  2. 提前验证路径正确性
    在运行read10xCounts前,先打印生成的路径,确认是否与实际文件路径匹配:

    sample_paths <- paste0(seq_data_martin, "/", samples, "_")
    print(sample_paths)
    

    检查输出的路径是否能对应到实际的barcode、genes、matrix文件前缀。

  3. 暂时关闭并行计算
    并行计算可能引入路径上下文问题,先尝试单线程运行,排除并行导致的错误:

    sce <- DropletUtils::read10xCounts(
      samples = paste0(seq_data_martin, "/", samples, "_"),
      sample.names = samples,
      type = "prefix"
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:12:24