前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2022-TCGA数据库重大更新后RNASeq的STAR-Counts数据的下载与整理

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

作者头像
DoubleHelix
发布2022-04-18 15:10:43
2.8K0
发布2022-04-18 15:10:43
举报
文章被收录于专栏:生物信息云生物信息云
最近有粉丝留言,TCGA数据库发生更新,下载的数据和之前的不一样。比如转录组,之前是HTSeq流程的数据,现在是STAR-Counts的数据。具体的数据信息参考: https://docs.gdc.cancer.gov/Data/Release_Notes/Data_Release_Notes/#data-release-320

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

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

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

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

代码语言:javascript
复制
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文件的完整路径。

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

代码语言:javascript
复制
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。

代码语言:javascript
复制
filepath = dir(path = "./data",
               pattern = "counts.tsv$",
               full.names = T,
               recursive = T)

jsonFileInfo是processingJsonFiles函数获取的结果。

data_type是下面中的一种。

  • "unstranded";
  • "stranded_first";
  • "stranded_second";
  • "tpm_unstranded";
  • "fpkm_unstranded";
  • "fpkm_uq_unstranded"

对于文件中的信息

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

代码语言:javascript
复制
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]

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MedBioInfoCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档