TCGA 数据下载 —— TCGAbiolinks 临床数据下载

TCGA 数据下载 —— TCGAbiolinks 临床数据下载

获取临床信息

TCGAbiolinks 还提供了一些用于查询、下载和解析临床数据的函数,GDC 数据库中的包含多种不同的临床信息,主要包括:

  • indexed clinical: 使用 XML 文件创建的精炼临床数据
  • XML: 原始临床数据
  • BCR Biotab: 解析 XML 文件之后的 tsv 文件

indexed 信息和 XML 原始数据之间的区别主要有两个:

  • XML 包含的信息更多,如放疗、药物信息、预后信息、样本信息等,而 indexed 只是 XML 的一个子集
  • indexed 数据包含更新后的预后信息,也就是说,如果在前一次随访中患者还活着,而后一次随访发现患者已经死去了,则会更新患者的状态为死亡,而 XML 文件会重新添加一个条目,用于记录该次随访的信息

还可以获取其他临床信息,如

  • 组织切片图像
  • 病理报告

BCR Biotab

Clinical

我们获取乳腺癌 BCR Biotab 文件格式的临床信息

query <- GDCquery(
  project = "TCGA-BRCA",
  data.category = "Clinical",
  data.type = "Clinical Supplement",
  data.format = "BCR Biotab"
)
GDCdownload(query)
clinical.BCRtab.all <- GDCprepare(query)

查看具体包含的临床信息,有药物、随访、化疗等信息

names(clinical.BCRtab.all)
# [1] "clinical_omf_v4.0_brca"           "clinical_follow_up_v1.5_brca"    
# [3] "clinical_follow_up_v4.0_nte_brca" "clinical_patient_brca"           
# [5] "clinical_nte_brca"                "clinical_follow_up_v4.0_brca"    
# [7] "clinical_follow_up_v2.1_brca"     "clinical_radiation_brca"         
# [9] "clinical_drug_brca"

查看患者信息

patient_info <- clinical.BCRtab.all$clinical_patient_brca
dim(patient_info)
# [1] 1099  112
patient_info[1:3, 1:6]
# # A tibble: 3 × 6
#   bcr_patient_uuid                     bcr_patient_barcode form_completion_date prospective_collection 
#   <chr>                                <chr>               <chr>                <chr>                  
# 1 bcr_patient_uuid                     bcr_patient_barcode form_completion_date tissue_prospective_col…
# 2 CDE_ID:                              CDE_ID:2003301      CDE_ID:              CDE_ID:3088492         
# 3 6E7D5EC6-A469-467C-B748-237353C23416 TCGA-3C-AAAU        2014-1-13            NO                     
# # ℹ 2 more variables: retrospective_collection <chr>, birth_days_to <chr>

如果我们想获取乳腺癌患者的 er 状态,那么可以

library(tidyverse)

patient_info %>%
    dplyr::select(starts_with("er")) %>%
    head(3)
# # A tibble: 3 × 6
#   er_status_by_ihc    er_status_ihc_Percen…¹ er_positivity_scale_…² er_ihc_score er_positivity_scale_…³
#   <chr>               <chr>                  <chr>                  <chr>        <chr>                 
# 1 breast_carcinoma_e… er_level_cell_percent… breast_carcinoma_immu… immunohisto… positive_finding_estr…
# 2 CDE_ID:2957359      CDE_ID:3128341         CDE_ID:3203081         CDE_ID:2230… CDE_ID:3086851        
# 3 Positive            50-59%                 [Not Available]        [Not Availa… [Not Available]       
# # ℹ abbreviated names: ¹​er_status_ihc_Percent_Positive, ²​er_positivity_scale_used,
# #   ³​er_positivity_scale_other
# # ℹ 1 more variable: er_positivity_method <chr>
Biospecimen

获取采样信息

query.biospecimen <- GDCquery(
  project = "TCGA-BRCA",
  data.category = "Biospecimen",
  data.type = "Biospecimen Supplement",
  data.format = "BCR Biotab"
)
GDCdownload(query.biospecimen)
biospecimen.BCRtab.all <- GDCprepare(query.biospecimen)

查看所包含的所有信息种类

names(biospecimen.BCRtab.all)
# [1] "biospecimen_analyte_brca"           "ssf_tumor_samples_brca"            
# [3] "biospecimen_slide_brca"             "biospecimen_portion_brca"          
# [5] "biospecimen_sample_brca"            "biospecimen_diagnostic_slides_brca"
# [7] "ssf_normal_controls_brca"           "biospecimen_aliquot_brca"          
# [9] "biospecimen_protocol_brca"          "biospecimen_shipment_portion_brca"

Indexed

临床 indexed 数据,使用 GDCquery_clinic 函数来获取

clinical <- GDCquery_clinic(project = "TCGA-BRCA", type = "clinical")
dim(clinical)
# [1] 1098   70
clinical[1:3, 1:5]
#     project submitter_id synchronous_malignancy ajcc_pathologic_stage days_to_diagnosis
# 1 TCGA-BRCA TCGA-A2-A04N                     No              Stage IA                 0
# 2 TCGA-BRCA TCGA-EW-A1OW                     No             Stage IIA                 0
# 3 TCGA-BRCA TCGA-AC-A2FO                     No             Stage IIB                 0

获取其他项目的临床信息

clinical <- GDCquery_clinic(project = "TARGET-RT", type = "clinical")
dim(clinical)
# [1] 69   38
clinical[1:6, 14:17]
#    project     submitter_id                        disease_type                      primary_site
# 1 TARGET-RT TARGET-52-PASZYE Complex Mixed and Stromal Neoplasms                            Kidney
# 2 TARGET-RT TARGET-52-PATAFT Complex Mixed and Stromal Neoplasms Liver and intrahepatic bile ducts
# 3 TARGET-RT TARGET-52-PATBLF Complex Mixed and Stromal Neoplasms                               Lip
#     submitter_id.1
# 1 TARGET-52-PASZYE
# 2 TARGET-52-PATAFT
# 3 TARGET-52-PATBLF

XML

处理 XML 格式的临床数据分为两步:

  1. 使用 GDCqueryGDCDownload 来查询和下载 BiospecimenClinical XML 文件
  2. 使用 GDCprepare_clinic 来解析文件

注意:患者与临床信息是一对多的关系,即一个患者可能会接受多次化疗,因此,只能对单个表进行解析,使用 clinical.info 参数来选择对应的表

query <- GDCquery(
    project = "TCGA-BRCA",
    data.category = "Clinical",
    data.format = "bcr xml",
    barcode = c("TCGA-3C-AAAU", "TCGA-4H-AAAK")
)
GDCdownload(query)

解析患者表

clinical <- GDCprepare_clinic(query, clinical.info = "patient")
clinical[,1:4]
#   bcr_patient_barcode additional_studies tumor_tissue_site tumor_tissue_site_other
# 1        TCGA-3C-AAAU                 NA            Breast                      NA
# 2        TCGA-4H-AAAK                 NA            Breast                      NA

获取用药信息

clinical.drug <- GDCprepare_clinic(query, clinical.info = "drug")
clinical.drug[,1:4]
#   bcr_patient_barcode tx_on_clinical_trial regimen_number    bcr_drug_barcode
# 1        TCGA-3C-AAAU                  YES             NA TCGA-3C-AAAU-D60350
# 2        TCGA-4H-AAAK                   NO             NA TCGA-4H-AAAK-D68065
# 3        TCGA-4H-AAAK                   NO             NA TCGA-4H-AAAK-D68067
# 4        TCGA-4H-AAAK                   NO             NA TCGA-4H-AAAK-D68072

由于这两个患者没有放疗信息,返回了 NULL

clinical.radiation <- GDCprepare_clinic(query, clinical.info = "radiation")
clinical.radiation
# NULL

其他数据

组织切片图像(SVS 格式)
query.harmonized <- GDCquery(
  project = "TCGA-OV",
  data.category = "Biospecimen",
  data.type = 'Slide Image'
)

获取样本信息

getResults(query.harmonized)[1:6,1:4]
#                         id data_format         cases access
# 1 1c610d80-8b2f-40dc-986b-605771f66e99         SVS TCGA-57-1586   open
# 2 d13aa745-0794-4374-98fd-7c67cd35e3c4         SVS TCGA-25-1878   open
# 3 adfc7bae-6299-4949-b9c7-377a09558898         SVS TCGA-25-1878   open
# 4 f65e450e-4883-439a-93a1-e4d506c8c73a         SVS TCGA-36-2543   open
# 5 3488aeb5-1a84-49a2-ba0e-c3f44610f861         SVS TCGA-36-2534   open
# 6 8573e04c-2614-4478-9dc6-5e3d2b5fda90         SVS TCGA-36-2534   open
诊断切片(SVS 格式)
query.harmonized <- GDCquery(
  project = "TCGA-COAD",
  data.category = "Biospecimen",
  data.type = "Slide Image",
  experimental.strategy = "Diagnostic Slide",
  barcode = c("TCGA-RU-A8FL", "TCGA-AA-3972")
) 

获取样本信息

getResults(query.harmonized)[,1:4]
#                                       id data_format        cases access
# 130 b339b9d1-af19-46e3-94cf-eb21c391da0e         SVS TCGA-AA-3972   open

过滤函数

还有一些函数用过筛选临床样本,例如

  • TCGAquery_SampleTypes

bar <- c("TCGA-G9-6378-02A-11R-1789-07", "TCGA-CH-5767-04A-11R-1789-07",  
         "TCGA-G9-6332-60A-11R-1789-07", "TCGA-G9-6336-01A-11R-1789-07",
         "TCGA-G9-6336-11A-11R-1789-07", "TCGA-G9-7336-11A-11R-1789-07",
         "TCGA-G9-7336-04A-11R-1789-07", "TCGA-G9-7336-14A-11R-1789-07",
         "TCGA-G9-7036-04A-11R-1789-07", "TCGA-G9-7036-02A-11R-1789-07",
         "TCGA-G9-7036-11A-11R-1789-07", "TCGA-G9-7036-03A-11R-1789-07",
         "TCGA-G9-7036-10A-11R-1789-07", "TCGA-BH-A1ES-10A-11R-1789-07",
         "TCGA-BH-A1F0-10A-11R-1789-07", "TCGA-BH-A0BZ-02A-11R-1789-07",
         "TCGA-B6-A0WY-04A-11R-1789-07", "TCGA-BH-A1FG-04A-11R-1789-08",
         "TCGA-D8-A1JS-04A-11R-2089-08", "TCGA-AN-A0FN-11A-11R-8789-08",
         "TCGA-AR-A2LQ-12A-11R-8799-08", "TCGA-AR-A2LH-03A-11R-1789-07",
         "TCGA-BH-A1F8-04A-11R-5789-07", "TCGA-AR-A24T-04A-55R-1789-07",
         "TCGA-AO-A0J5-05A-11R-1789-07", "TCGA-BH-A0B4-11A-12R-1789-07",
         "TCGA-B6-A1KN-60A-13R-1789-07", "TCGA-AO-A0J5-01A-11R-1789-07",
         "TCGA-AO-A0J5-01A-11R-1789-07", "TCGA-G9-6336-11A-11R-1789-07",
         "TCGA-G9-6380-11A-11R-1789-07", "TCGA-G9-6380-01A-11R-1789-07",
         "TCGA-G9-6340-01A-11R-1789-07", "TCGA-G9-6340-11A-11R-1789-07")

S <- TCGAquery_SampleTypes(bar,"TP")
S2 <- TCGAquery_SampleTypes(bar,"NB")
# 返回 TP 或 NB 类型的样本
SS <- TCGAquery_SampleTypes(bar,c("TP","NB"))
S
# [1] "TCGA-G9-6336-01A-11R-1789-07" "TCGA-AO-A0J5-01A-11R-1789-07" "TCGA-G9-6380-01A-11R-1789-07"
# [4] "TCGA-G9-6340-01A-11R-1789-07"
S2
# [1] "TCGA-G9-7036-10A-11R-1789-07" "TCGA-BH-A1ES-10A-11R-1789-07" "TCGA-BH-A1F0-10A-11R-1789-07"
SS
# [1] "TCGA-G9-6336-01A-11R-1789-07" "TCGA-AO-A0J5-01A-11R-1789-07" "TCGA-G9-6380-01A-11R-1789-07"
# [4] "TCGA-G9-6340-01A-11R-1789-07" "TCGA-G9-7036-10A-11R-1789-07" "TCGA-BH-A1ES-10A-11R-1789-07"
# [7] "TCGA-BH-A1F0-10A-11R-1789-07"
  • TCGAquery_MatchedCoupledSampleTypes
SSS <- TCGAquery_MatchedCoupledSampleTypes(bar,c("NT","TP"))
# 返回同时包含 NT 和 TP 样本的患者 barcode
SSS
# [1] "TCGA-G9-6336-11A-11R-1789-07" "TCGA-G9-6380-11A-11R-1789-07" "TCGA-G9-6340-11A-11R-1789-07"
# [4] "TCGA-G9-6336-01A-11R-1789-07" "TCGA-G9-6380-01A-11R-1789-07" "TCGA-G9-6340-01A-11R-1789-07"

下载所有临床数据

使用下面的代码可以获取所有 TCGA 项目的临床数据

library(data.table)
library(dplyr)
library(regexPipes)

# 获取所有索引信息
clinical <- TCGAbiolinks:::getGDCprojects()$project_id %>% 
    regexPipes::grep("TCGA", value = TRUE) %>% 
    sort %>% 
    plyr::alply(1, GDCquery_clinic, .progress = "text") %>% 
    rbindlist(fill = TRUE)
readr::write_csv(clinical, file = "~/Downloads/all_clin_indexed.csv")

# 解析 XML 文件并信息获取对应的信息
getclinical <- function(proj) {
  message(proj)
  result <- NULL
  attempt <- 1
  max_attempts <- 5  # 设置最大尝试次数

  while(attempt <= max_attempts) {
    result <- tryCatch({
      query <- GDCquery(project = proj, data.category = "Clinical", data.format = "bcr xml")
      GDCdownload(query)
      clinical <- GDCprepare_clinic(query, clinical.info = "patient")
      
      clinical_data <- list(clinical)
      for(i in c("admin", "radiation", "follow_up", "drug", "new_tumor_event")){
        message(i)
        aux <- GDCprepare_clinic(query, clinical.info = i)
        if(is.null(aux) || nrow(aux) == 0) next
        
        # 处理重复的列名
        replicated <- which(grep("bcr_patient_barcode", colnames(aux), value = TRUE, invert = TRUE) %in% colnames(clinical))
        colnames(aux)[replicated] <- paste0(colnames(aux)[replicated], ".", i)
        
        if(!is.null(aux)) clinical <- merge(clinical, aux, by = "bcr_patient_barcode", all = TRUE)
      }
      
      # 保存临床数据到csv文件
      readr::write_csv(clinical, path = paste0("~/Downloads/", proj, "_clinical_from_XML.csv"))
      return(clinical)
    }, error = function(e) {
      message(paste0("Error clinical: ", proj, " Attempt: ", attempt))
      attempt <<- attempt + 1  # 增加尝试次数
      NULL
    })

    # 如果成功获取数据,则跳出循环
    if (!is.null(result)) break
  }

  # 如果多次尝试后仍然失败,返回NULL并发出警告
  if (is.null(result)) {
    warning(paste0("Failed to get clinical data for project: ", proj, " after ", max_attempts, " attempts."))
  }

  return(result)
}
# 患者信息
clinical <- TCGAbiolinks:::getGDCprojects()$project_id %>% 
    regexPipes::grep("TCGA", value = T) %>%
    sort %>% 
    plyr::alply(1, getclinical, .progress = "text") %>%  
    rbindlist(fill = TRUE) %>% 
    setDF %>% 
    subset(!duplicated(clinical))

readr::write_csv(clinical, path = "~/Downloads/all_clin_XML.csv")

我觉得还是直接从一些数据库中(如 UCSC Xena),下载整理好的临床数据即可。

选择 phenotype 中的临床数据

或者从 TCGA 泛癌分析 提供的页面中,下载临床数据或其他数据

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: tcgabiolinks是一个R包,可以用来下载TCGA(The Cancer Genome Atlas)项目的临床数据。使用该包,可以方便地获取TCGA项目中的患者临床信息,如年龄、性别、病理诊断、治疗方案等。这些信息对于研究肿瘤的发病机制、预后、治疗等方面都有很大的帮助。 ### 回答2: TCGA BioLinks是一种非常实用的工具,可以帮助研究人员访问TCGA临床数据,以及其他数据源,并且包含了诸如RNA序列、miRNA序列、表观遗传学、基因组学、蛋白质组学等多种类型的数据,并且进行了整合。该工具可以轻松地访问临床数据,使得研究人员能够研究许多不同的癌症类型,从而更好地了解这些癌症的基本属性和疾病进展情况。 TCGA BioLinks提供了一些简单而有效的下载功能,以帮助用户获得源数据和元数据,并合并它们以供后续分析。此外,这个工具还提供了一些高级搜索功能,可以根据研究人员的需求,精确地定位他们想要的数据,并根据不同的生物学特征对它们进行过滤和排序,以便进行进一步的研究。 为了下载临床数据,研究人员需要登录TCGA BioLinks的网站,并选择“数据下载”选项。在这里,用户可以选择他们感兴趣的数据集,并选择下载数据,同时也可以定制下载的选项。例如,用户可以选择下载某个癌症类型的RNA序列数据,或者下载所有癌症类型的外显子组数据,并且还可以通过基因名称或某个特定的生物学特征进行过滤。 总的来说,TCGA BioLinks是一个非常强大且易于使用的工具,可以帮助研究人员快速访问TCGA临床数据,并且提供高级搜索功能,允许定制下载选项,以便进行下游分析。它为研究人员提供了一种新的且简便的方法来分析临床数据,并提供了必要的元数据和工具,帮助研究人员更好地理解癌症的生物学特征和疾病进程。 ### 回答3: tcgabiolinks是一个R语言包,可以用于从TCGA(癌症基因组图谱)数据库下载临床数据TCGA项目旨在为全球研究人员提供高质量的癌症分子数据,以便进行更深入的生物信息学研究和数据分析。 首先,您需要在R语言环境下安装tcgabiolinks包。可以使用以下命令安装: ``` R install.packages("tcgabiolinks") ``` 一旦安装了这个包,您就可以使用以下命令从TCGA数据库下载临床数据: ``` R clinical_data <- GDCquery_clinic(project = "TCGA-BRCA", save = TRUE) ``` 上述命令将下载TCGA-BRCA项目的临床数据,然后将其保存在名为clinical_data的变量中。TCGA-BRCA项目指的是乳腺癌研究,您可以替换为您感兴趣的项目名称。 下载临床数据包括许多有用的信息,例如患者的生存期、治疗方式、癌症等级、转录组数据等等。您可以使用以下命令查看这些信息: ``` R head(clinical_data) ``` 此命令将显示clinical_data变量的前几行,其中包含了下载临床数据。 如果您想下载其他类型的TCGA数据,例如转录组数据,可以使用GDCquery函数并提供所需的参数。例如,以下命令将从TCGA数据库下载BRCA项目的全部RNA-Seq数据: ``` R GDCquery(project = "TCGA-BRCA", data.category = "Transcriptome Profiling", data.type = "Gene Expression Quantification", workflow.type = "HTSeq - FPKM", save = TRUE) ``` tcgabiolinks包使得从TCGA数据库下载临床数据变得非常容易。在R语言环境中进行生物信息学研究和数据分析时,该包是非常有用的工具之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

名本无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值