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

如何通过GDC/TCGA数据从file_id或case_uuid获取项目ID并补充信息

解决步骤:为data.frame添加project_id及关联生物样本文件列

首先需要确认你的data.frame中包含可用于匹配的唯一样本标识(如TCGA样本条码或submitter ID),以下是针对不同包的可行方案:

一、用TCGAutils快速提取project_id并匹配样本文件

1. 从样本条码解析project_id

假设你的数据框有列sample_id(完整TCGA条码,如TCGA-BR-A10Q-01A-11R-A131-07):

library(TCGAutils)
# 提取project_id(如TCGA-BRCA)
your_df$project_id <- TCGAbarcode(your_df$sample_id, level = "project")

如果样本ID是简化版(仅前12位,如TCGA-BR-A10Q),可直接用该ID作为匹配键,或截取后解析。

2. 获取关联的生物样本文件

用sampleFiles根据样本ID查询对应文件,再合并到原数据框:

# 获取样本对应的文件信息
sample_file_info <- sampleFiles(your_df$sample_id)
# 合并(若一个样本对应多文件,整理为逗号分隔的字符串)
library(dplyr)
sample_file_summary <- sample_file_info %>%
  group_by(sample) %>%
  summarise(associated_files = paste(filename, collapse = ", "))

your_df <- your_df %>%
  left_join(sample_file_summary, by = c("sample_id" = "sample"))

二、用TCGAbiolinks关联生物样本元数据

如果之前使用TCGAbiolinks未成功,可能是未指定正确的生物样本数据分类:

library(TCGAbiolinks)
# 查询生物样本补充数据(可指定具体项目缩小范围)
biospec_query <- GDCquery(
  data.category = "Biospecimen",
  data.type = "Biospecimen Supplement",
  project = getGDCprojects()$project_id  # 或指定如c("TCGA-BRCA", "TCGA-COAD")
)
GDCdownload(biospec_query)
biospec_meta <- GDCprepare(biospec_query)

# 合并到原数据框(匹配键根据你的数据调整为submitter_id或sample_id)
your_df <- your_df %>%
  left_join(
    biospec_meta[, c("submitter_id", "project_id", "file_name")],
    by = c("sample_id" = "submitter_id")
  )

三、用GenomicDataCommons查询匹配

若上述方法无效,尝试用GenomicDataCommons的API接口:

library(GenomicDataCommons)
# 需认证时执行 authenticate()
# 查询样本对应的项目和文件信息
file_query <- files() %>%
  filter(samples.submitter_id %in% your_df$sample_id) %>%
  select(c("cases.project.project_id", "samples.submitter_id", "file_name")) %>%
  results_all()

# 转换为数据框并合并
file_df <- as.data.frame(file_query)
your_df <- your_df %>%
  left_join(
    file_df,
    by = c("sample_id" = "samples.submitter_id")
  )

关键排查点

  • 确认样本ID格式:确保你的sample_id与工具返回的ID格式完全一致(区分大小写、是否包含后缀)。
  • 更新包版本:旧版本可能存在匹配bug,执行update.packages(c("TCGAutils", "TCGAbiolinks", "GenomicDataCommons"))更新。
  • 处理多文件匹配:若一个样本对应多个文件,用group_by+summarise将文件名合并为单个字符串,避免数据框行数膨胀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:55:03