2022-TCGA数据库重大更新后RNASeq的STAR-Counts数据的下载与整理

34c5446b2f209ab0761462e87bf0cd1a.gif

TCGA | GEO | 文献阅读 | 数据库 理论知识

R语言 | Bioconductor | 服务器与Linux

cba8bbe4cbb3381171fbcde5cadf51fa.png


最近有粉丝留言,TCGA数据库发生更新,下载的数据和之前的不一样。比如转录组,之前是HTSeq流程的数据,现在是STAR-Counts的数据。具体的数据信息参考:
https://docs.gdc.cancer.gov/Data/Release_Notes/Data_Release_Notes/#data-release-320

6a2a605d0f935816b5a460409a7fdf5b.png

下载后的数据,打开是这样的。都放在了一个文件中。

ee1c954f113094283b169577ebab5fd1.png

这里分享一下怎么提取数据。

数据的下载和之前的教程一样【14-TCGA数据库下载整理】。只不过这里选择的是STAR-Counts了。加入购物车后下载下面的文件。

2a8606c40f572fcf74162e88e61add51.png

我先写2个函数,一个是处理读入json文件的函数,该文件包括文件信息和样本barcode的关系。

processingJsonFiles <- function(jsonFile){
  library(rjson)
  metadata_json_File <- fromJSON(file=jsonFile)
  json_File_Info <- data.frame(filesName = c(),TCGA_Barcode = c())
  for(i in 1:length(metadata_json_File)){
    TCGA_Barcode <- metadata_json_File[[i]][["associated_entities"]][[1]][["entity_submitter_id"]]
    file_name <- metadata_json_File[[i]][["file_name"]]
    json_File_Info <- rbind(json_File_Info,data.frame(filesName = file_name,TCGA_Barcode = TCGA_Barcode))
  }
  
  rownames(json_File_Info) <- json_File_Info[,1]
  json_File_Info <-json_File_Info[-1]
  return(json_File_Info)
}

jsonFile是下载的json文件的完整路径。

下面的函数是提取数据的函数。

getTCGA_RNAseq_data = function(filepath,jsonFileInfo,data_type){
  datamatrix = data.frame()
  for(wd in filepath){
    #每一个循环读取一个文件
    tempPath <- unlist(strsplit(wd,"/"))
    filename <- tempPath[length(unlist(strsplit(wd,"/")))]
    message(paste0("微信公众号:MedBioInfoCloud提示:正在读入文件:\n",filename))
    oneSampExp <- read.table(wd,comment.char = "#",header = T,sep = "\t")
    oneSampExp = oneSampExp[-c(1:4),]
    
    # 根据jsonFileInfo文件中文件名称与barcode对应关系,命名列名
    
    if(wd == filepath[1]){
      oneSampExp = oneSampExp[,c("gene_id","gene_name","gene_type",data_type)]
      colnames(oneSampExp) <- c("gene_id","gene_name","gene_type",jsonFileInfo[filename,"TCGA_Barcode"])
      datamatrix = oneSampExp
    }else{
      oneSampExp = oneSampExp[,c("gene_id",data_type)]
      colnames(oneSampExp) <- c("gene_id",jsonFileInfo[filename,"TCGA_Barcode"])
      datamatrix = merge(datamatrix,oneSampExp,by = "gene_id")
    }
  }
  return(datamatrix)
}

filepath 是下载的数据路径。通过dir等类似的函数获取的路径向量。比如,我们下载的数据是一个压缩包,解压后,将文件名重新命名为data。

filepath = dir(path = "./data",
               pattern = "counts.tsv$",
               full.names = T,
               recursive = T)

0f3cc163f92724d08afd018192e928af.png

jsonFileInfo是processingJsonFiles函数获取的结果。

data_type是下面中的一种。

  • "unstranded";

  • "stranded_first";

  • "stranded_second";

  • "tpm_unstranded";

  • "fpkm_unstranded";

  • "fpkm_uq_unstranded"

对应文件中的信息

8644fe6e720cdc1d7de08ad008d6e73f.png

下面就可以获取数据了,想要什么就获取什么。一般就是TPM和FPKM。

jsonFileInfo <- processingJsonFiles(jsonFile = "metadata.cart.2022-04-05.json ")
filepath = dir(path = "./data",
               pattern = "counts.tsv$",
               full.names = T,
               recursive = T)
dat = getTCGA_RNAseq_data(filepath =filepath,
                          jsonFileInfo = jsonFileInfo,
                          data_type = "fpkm_unstranded")
head(dat)[,1:5]

83463dfa820ade02637bdd7c6e9ebc1c.png

原来TCGA数据库的下载,使用TCGAbiolinks包是否还可以处理数据,我还没有试,但下载数据应该是没有问题的。

dbe3f022ebedcf612b1f8a3f3b02cceb.png


对于之前版本的数据。我之前文章【数据库数据 | TCGA数据库33种癌症的 transcriptome profiling (RNA-Seq) 数据】有已经处理好的数据,大家可以下载。

最后,有用的给个赞赏!

经    典    栏    目

ffe5bbb57c6879e94fd60e2053a75899.png79cfdc28659d858d864a1b86aa114db3.png
5fa50036f5c8bc6b9b16b5380e7a53f7.pngbdca5961b9c358efb97b52255e7d5b19.png
125862da012eabffd5a90b9dae1b89d2.pnge082c26a037bb3be52585dc044b66c76.png
4f3c499ac516f7233ca4f8fa030c67eb.pngef993b3192e6a6d9657841f09f19579c.png
e38e6ca1cfd491543db1160a2e1b7c07.pngcd02387d1dfc2100dc0f331f3367abb0.png
f2220d830008905a93298cc04f17272d.pnga6f10c77b25be9e4124291eff7e52b77.png
27f38c9a19340e7b95075d5c0e72d08c.png
  • 16
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值