TCGA数据处理_来自南四环

 首先在TCGA中下载三个文件,

#《开讲啦 冠璋》网课分享代码,使用方法请关注B站 “南四环西路”,谢谢。
#TCGA官网https://portal.gdc.cancer.gov/下载数据,文件夹里准备解压后的Counts文件夹和metadata.json
setwd("C:\\Users\\Administrator\\Desktop\\TCGA_GBM")  #数据路径


library("jsonlite")#加载此包,用于读取json文件
json <- jsonlite::fromJSON("metadata.cart.2023-06-08.json")   #metadata文件名其中记载着sample_id
#jsonlite::fromJSON  参数需要提供json文件名
View(json)


sample_id <- sapply(json$associated_entities,function(x){x[1,1]})  
#sapply函数指对于每一个元素都使用相同的函数,function(x){x[1,1]},就是这样的一个函数,
#其中function(x),x,指此元素,,{x[1,1]},取出此元素的第一行第一列的值,并返回,,之后组成向量,负值给sample_id
file_sample <- data.frame(sample_id,file_name=json$file_name)  
#创建一个名为file_sample的数据框,采用data.frame函数,分为两列,列名为sample_id,和file_name


count_file <- list.files('gdc_download_20230608_115344.975784',pattern = '*.tsv',recursive = TRUE)  #Counts文件夹名
#采用list.files函数,列出文件夹名下,目录或者子目录下的,后缀名为tsv的所有文件的路径名+文件名,并且赋值给count_file,
#其中的recursive参数用于确定是否也在子文件下寻找
count_file_name <- strsplit(count_file,split='/')
#采用strsplit函数将count_file的名字分开,分割符采用/    并且返回的是一个list文件
count_file_name <- sapply(count_file_name,function(x){x[2]})
#sapply函数,对count_file_name操作,选择[2]   返回一个字符串
#下面的修改基因数
matrix = data.frame(matrix(nrow=60660,ncol=))

#下面的修改样本例数
for (i in 1:175){
  path = paste0('gdc_download_20230608_115344.975784//',count_file[i])   #Counts文件夹名
  #用paste0函数确定路径,首先是标的文件夹,之后count_file[i]可以得到每一个子文件夹的名称,将两者链接在一起
  data<- read.delim(path,fill = TRUE,header = FALSE,row.names = 1)
  #read.delim用去在路径下读取文件,一般读取以 tab 分隔、逗号分隔等方式分隔的文本数据并将其转换为数据框格式
  colnames(data)<-data[2,]
  #第二行的字符,转换成行名
  data <-data[-c(1:6),]
  #删除前六行无用信息
  data <- data[3]   #数据类型,选择其中之一 3:unstranded;4:stranded_first;5:stranded_second;6:tpm_unstranded;7:fpkm_unstranded;8:fpkm_uq_unstranded
  colnames(data) <- file_sample$sample_id[which(file_sample$file_name==count_file_name[i])]#使用一个选择的意思,在列一个数据框中找到对应的名称
  matrix <- cbind(matrix,data)
}

write.csv(matrix,'GBM Counts_matrix.csv',row.names = TRUE)
#《开讲啦 冠璋》网课分享代码,使用方法请关注B站 “南四环西路”,谢谢。
#TCGA官网https://portal.gdc.cancer.gov/下载数据,文件夹里准备解压后的Counts文件夹和metadata.json
setwd("C:/Users/IORI/Desktop/GBM")  #数据路径

library("rjson")
json <- jsonlite::fromJSON("metadata.cart.2022-07-05.json")   #metadata文件名
View(json)

sample_id <- sapply(json$associated_entities,function(x){x[,1]})
file_sample <- data.frame(sample_id,file_name=json$file_name)  

count_file <- list.files('TCGA-GBM gdc_download_20220705_030758.799531',pattern = '*.tsv',recursive = TRUE)  #Counts文件夹名
count_file_name <- strsplit(count_file,split='/')
count_file_name <- sapply(count_file_name,function(x){x[2]})

#下面的修改基因数
matrix = data.frame(matrix(nrow=60660,ncol=0))
                    
#下面的修改样本例数
for (i in 1:174){
  path = paste0('TCGA-GBM gdc_download_20220705_030758.799531//',count_file[i])   #Counts文件夹名
  data<- read.delim(path,fill = TRUE,header = FALSE,row.names = 1)
  colnames(data)<-data[2,]
  data <-data[-c(1:6),]
  data <- data[3]   #数据类型,选择其中之一 3:unstranded;4:stranded_first;5:stranded_second;6:tpm_unstranded;7:fpkm_unstranded;8:fpkm_uq_unstranded
  colnames(data) <- file_sample$sample_id[which(file_sample$file_name==count_file_name[i])]
  matrix <- cbind(matrix,data)
}

write.csv(matrix,'GBM Counts_matrix.csv',row.names = TRUE)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值