免费JIZZ大全

TCGA數據庫重大更新-數據如何下載?

TCGA數據庫重大更新-數據如何下載?


attachments-2022-04-VBchhVKE626a6235a5944.png

最近有粉絲留言,TCGA數據庫發生更新,下載數據時報錯。詳細的更新信息參考TCGA官網說明:

https://docs.gdc.cancer.gov/Data/Release_Notes/Data_Release_Notes/#data-release-320

這里提示幾點重要更新:

例如:轉錄組之前HTSeq流程的數據,現在是STAR-Counts的數據。

attachments-2022-04-h4wz0DPS626a624a4fd04.png

受到影響的主要是表達數據,這里大家可以更新一下TCGA下載的代碼,即可下載最新的數據,詳細代碼及說明如下:

#安裝最新的 TCGAbiolinks R 包
BiocManager::install("BioinformaticsFMRP/TCGAbiolinks")

#一個方法,可以將ensembl ID 轉換成 gene name
ensemblToName<-function(expr,gene.info){
  expr=as.data.frame(expr)
  #順序保持一致
  gene.info<-as.data.frame(gene.info)
  row.names(gene.info)<-gene.info$gene_id
  gene.info<-gene.info[rownames(expr),]
  sample.id=colnames(expr)
  #添加gene name列  相同基因隨機選取
  gene_name_rmdup=!duplicated(gene.info$gene_name)
 
  expr.res=expr[gene_name_rmdup,]
  gene.info=gene.info[gene_name_rmdup,]
  rownames(expr.res)<-gene.info$gene_name
  expr.res
}

#加載需要的包,這里需要兩個R包
package_list <- c("SummarizedExperiment","TCGAbiolinks")

for(p in package_list){
  if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){
    if (!requireNamespace("BiocManager", quietly = TRUE))
      install.packages("BiocManager")
    BiocManager::install(p)
    suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))
  }
}

#查詢TCGA數據,這里以TCGA-CHOL為例,樣本少好下載
query <- GDCquery(project = "TCGA-CHOL",
                  data.category = "Transcriptome Profiling",
                  data.type = "Gene Expression Quantification",   #  有些樣本只有 "Isoform Expression Quantification"
                  workflow.type = "STAR - Counts", 
                  #sample.type = sample_type,
                  legacy = FALSE)

files <- getResults(query,cols=c("cases"))
cat("Total files to download:", length(files))
# TP 樣本數量   腫瘤樣本
dataSmTP <- TCGAquery_SampleTypes(barcode = files, typesample = "TP")
cat("Total TP samples to down:", length(dataSmTP))
# NT 樣本數量   正常組織樣本
dataSmNT <- TCGAquery_SampleTypes(barcode = files,typesample = "NT")
cat("Total NT samples to down:", length(dataSmNT))
#下載數據
GDCdownload(query = query,directory = "TCGA-CHOL",files.per.chunk=10, method='api')
# 保存整理下載數據結果
gene.data <- GDCprepare(query = query,directory =  "TCGA-CHOL" )
#獲得樣本數據信息
sample.info.list=colData(gene.data)@listData
sample.info=as.data.frame(sample.info.list[1:10])
#獲得基因信息數據
 gene.info=as.data.frame(rowRanges(gene.data))

# 獲得表達數據 ,注意這里表達數據有6種,可以根據i參數指定:
# unstranded stranded_first stranded_second tpm_unstrand fpkm_unstrand fpkm_uq_unstrand
data_expr <- assay(gene.data,i = "unstranded")
#修改ensembl ID 為基因name 
data_expr<-ensemblToName(data_expr,gene.info)
#數據寫出
write.table(data.frame(ID=rownames(data_expr),data_expr,check.names = F), file = 'gene_expression_Counts.tsv', sep="\t",row.names =F, quote = F)
write.table(data.frame(ID=rownames(gene.info),gene.info,check.names = F), file = 'gene.info.tsv', sep="\t",row.names =F, quote = F)
write.table(data.frame(ID=rownames(sample.info),sample.info,check.names = F), file = 'sample.info.tsv', sep="\t",row.names =F, quote = F)

生信博士提供全自動數據下載腳本:

命令行運行:

為保證代碼正常運行成功,確保安裝最新的R包 TCGAbiolinks,安裝方法:

if (!requireNamespace("BiocManager", quietly = TRUE))    
install.packages("BiocManager")

BiocManager::install("BioinformaticsFMRP/TCGAbiolinksGUI.data") BiocManager::install("BioinformaticsFMRP/TCGAbiolinks")

或者用我們組學大講堂提供的最新 docker鏡像,里面已經更新了最新的TCGAbiolinks包:

?omicsclass/r-server:lastest

用命令行代碼《tcga_gene_exp_download.r》自動下載表達數據,運行命令如下:

Rscript tcga_gene_exp_download.r -p TCGA-CHOL

結果展示:
運行完上面的命令行,即可自動下載臨床數據和表達數據,并自動整理成表格,方便后續分析:


attachments-2022-04-SSlRibxC626a625fd7740.png


如何使用命令行的方法分析數據

掃描下方二維碼學習命令行分析數據,以及獲得TCGA數據下載最新代碼:

??

attachments-2022-04-FqkNdvLh626a62d5814e9.png

  • 發表于 2022-04-28 17:48
  • 閱讀 ( 2106 )
  • 分類:TCGA

1 條評論

請先 登錄 后評論
omicsgene
omicsgene

生物信息

559 篇文章

作家榜 ?

  1. omicsgene 559 文章
  2. 安生水 256 文章
  3. Daitoue 167 文章
  4. 生物女學霸 120 文章
  5. 紅橙子 78 文章
  6. CORNERSTONE 72 文章
  7. 生信老頑童 50 文章
  8. landy 37 文章