Posted on

为什么要分割GTEx数据

GTEx数据库(https://gtexportal.org/home/datasets)中有人体各个器官和组织的转录组。之前的有关ACE2教程,都是用这个数据库中的数据完成的。当然数据是开放下载的,Xena研究机构提供了标准化以后的数据(下载链接是https://toil.xenahubs.net/download/gtex_RSEM_gene_tpm.gz, https://toil.xenahubs.net/download/GTEX_phenotype.gz )这个数据下载解压以后有大小有3G+,一般笔记本是无法打开的,用内存大一点的服务器读入也需要一段时间。

教程里使用的是肺组织的数据,那么这个数据是如何分割的呢?

代码

setwd("G:\\GTEx/split")

GTEx_phenotype <- read.delim(file="G:\\GTEx/GTEX_phenotype.gz",header=T,as.is = T,row.names = 1)
GTEx_Tpm<-read.delim(file="G:\\GTEx/gtex_RSEM_gene_tpm.gz",header=T,as.is = T,row.names = 1)
GTEx_phenotype_split<-split(GTEx_phenotype,GTEx_phenotype$X_primary_site)
GTEx_Tpm_split<-list()
colnames(GTEx_Tpm)<-stringr::str_replace_all(colnames(GTEx_Tpm),"[.]", "-")
GTEx_Tpm_split<-lapply(GTEx_phenotype_split,
                     function(x){
                                 xxxx<-GTEx_Tpm[,colnames(GTEx_Tpm)[colnames(GTEx_Tpm) %in% rownames(x)]]
                                write.csv(xxxx,file=paste(x[2,1],".csv",sep=""))})

就得到了上面这些文件

当然用同样的方法,我们还可以分割泛癌转录组数据

fastSave::load.pigz(file="tcga_gtex_tpm.RData")
TCGAsample_split<-split(XenaSampleClin,XenaSampleClin$Tumor)
TCGA_TpmOS_split<-list()
TCGA_TpmOS_split<-lapply(TCGAsample_split,
function(x){
xxxx<-TCGAxenaExpOS[rownames(x),]
write.csv(xxxx,file=paste(names(x),".csv",sep=""))})

对了,这个泛癌数据是是带有生存时间与生存时间的数据。

素材:

代码不难,用split+lapply就实现了

2 Replies to “R语言分割GTEx/TCGA-PanCancer数据并批量保存”

  1. 我分割出来的文件,第一行是1,2,3,4,5.。。。。。,不是基因名,请问如何改成第一列输出基因名

发表评论

邮箱地址不会被公开。 必填项已用*标注