TCGA数据挖掘(全网最详细)


前言

本文主要用于介绍TCGA初始数据的处理,数据融合,基因ID转换,数据融合以及数据的可视化!


一、数据处理

options(stringsAsFactors = F) # 将下面的文件不转化为因子
setwd('G:\\R\\TCGA')
dir.create("SampleFiles")
filepath <- dir(path = "./gdc_DL_20220311_105839.325315",full.names = TRUE)
for (wd in filepath) {
   
  files <- dir(path = wd,pattern = "gz$") # 查看满足条件
  fromfilepath <- paste(wd,"\\",files,sep="") # 拼接函数
  tofilepath <- paste(".\\SampleFiles\\",files,sep="")
  file.copy(fromfilepath,tofilepath)
}#将文件复制到SampleFiles中

# 解压所有文件并删除原文件
setwd("./SampleFiles")
countfields <- dir(path = ".\\",pattern = "gz$")#查看满足条件的文件
library(R.utils)#解压函数
sapply(countfields, gunzip)#将zip文件全部解压

#处理json文件
library(rjson)
metadata_json_File <- fromJSON(file = "../metadata.cart.2022-03-11.json")#“..”表示返回上一级目录
json_File_Info3 <- data.frame(filename=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_Info3 <- rbind(json_File_Info3,data.frame(filesName=file_name,TCGA_Barcode=TCGA_Barcode))
}#得到文件名与条形码对应的表格

rownames(json_File_Info3) <- json_File_Info3[,1]#将文件名变为行名
write.csv(json_File_Info3,file="../json_File_Info.csv")#写入数据,本地文件,用Excel就可以打开

二、数据融合

代码如下(示例):

filesName_To_TCGA_BarcodeFile <- json_File_Info3[-1]#删除掉filesName列
countsFileNames <- dir(pattern = "counts$")#读入所文件,获取counts矩阵

allSampleRawcounts <- data.frame()#定义一个储存数据的数据框
for (txtFile in countsFileNames) {
   
  # 每一个循环读取一个文件
  SampleCounts <- read.table(txtFile,header = FALSE)
  rownames(SampleCounts) <- SampleCounts[,1]
  SampleCounts <- SampleCounts[-1]
  #根据filesName_To_TCGA_BarcodeFile文件中文件的名称与barcode对应关系,命名列名
  colnames(SampleCounts) <- filesName_To_TCGA_BarcodeFile[paste(txtFile,".gz",sep=""),]
  if(dim(allSampleRawcounts)[1]==0){
   
    allSampleRawcounts <- SampleCounts
  }
  else{
   
    allSampleRawcounts <- cbind(allSampleRawcounts,SampleCounts)
  }
}
write.csv(allSampleRawcounts,file = "../allSampleRawcounts.csv")#备份文件
ensembl_id <- substr(rownames(allSampleRawcounts),1,15)#去掉版本号
rownames(allSampleRawcounts) <- ensembl_id
#RawCounts.cs文件与allSampleRawcounts文件的区别在与行名的ensenbl去掉了版本号
write.csv(allSampleRawcounts,file = "../R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

莘薪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值