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

Coretex宏基因组测序工作流运行失败:样本ID列识别异常

Coretex宏基因组工作流任务失败:样本ID列识别问题

运行Coretex宏基因组测序任务(使用标准.fastq.gz格式数据)时反复失败,报错信息:

Failed to determine which column contains sampleIDs/names..

系统列出可用列名后手动选择其中一列,任务仍失败。以下是上传元数据的R代码:

loadMetadata <- function(metadataSample) {
metadata_csv_path <- builtins$str(
    metadataSample$joinPath("metadata.csv")
)

if (file.exists(metadata_csv_path)) {
    # Default SampleSheet.csv format
    metadata <- read.table(
        metadata_csv_path,
        sep = ",",
        header = TRUE,
        check.names = TRUE
    )
} else {
    # Format accepted by qiime2
    metadata_tsv_path <- builtins$str(
        metadataSample$joinPath("metadata.tsv")
    )

    if (!file.exists(metadata_tsv_path)) {
        stop("Metadata file not found")
    }

    metadata <- read.table(
        metadata_tsv_path,
        sep = "\t",
        header = TRUE,
        check.names = TRUE
    )

    # qiime has 1 extra row after header which contains types
    metadata <- metadata[-1,]
}

# Remove leading and trailing whitespace
colnames(metadata) <- lapply(colnames(metadata), trimws)

stringColumns <- names(metadata)[vapply(metadata, is.character, logical(1))]
metadata[, stringColumns] <- lapply(metadata[, stringColumns], trimws)

sampleIdColumn <- getSampleIdColumnName(metadata)
print(paste("Matched metadata sample ID/name column to", sampleIdColumn))

print("Renaming metadata sample ID/name column to \"sampleId\"")
names(metadata)[names(metadata) == sampleIdColumn] <- "sampleId"

print("Metadata")
print(colnames(metadata))
print(head(metadata))

print(metadata$sampleId)

# assign the names of samples (01Sat1...) to metadata rows instead of 1,2,3...
row.names(metadata) <- metadata$sampleId
metadata$sampleId <- as.factor(metadata$sampleId)

return(metadata)
}

排查与解决建议

  • 检查getSampleIdColumnName函数逻辑:该函数是自动匹配样本ID列的核心,若其匹配规则(如关键词、格式校验)与你的元数据不匹配,会导致自动识别失败,后续手动选择也可能因代码重命名逻辑冲突而失效。
  • 验证样本ID一致性:确保元数据选中列的内容与.fastq.gz文件名中的样本ID完全一致(含大小写、前缀后缀、空格等),Coretex要求两者严格匹配才能关联数据。
  • 确认元数据处理结果:运行代码时查看打印的head(metadata)和metadata$sampleId输出,检查样本ID列无空值、格式统一,且列名已正确重命名为sampleId。
  • 手动指定样本ID列:跳过自动匹配逻辑,直接指定已知列名,例如将sampleIdColumn <- getSampleIdColumnName(metadata)替换为sampleIdColumn <- "你的样本ID列名"。
  • 检查元文件格式:确保metadata.csv/tsv无格式错误(如分隔符不一致、表头缺失、空行等),代码虽处理了Qiime2格式的额外行,但其他格式问题仍可能导致读取异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:00:16