如何通过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
相关产品推荐
相关产品推荐

