【数据处理】如何分割GTEx/TCGA-PanCancer数据并批量保存呢?
2023-06-13 09:15:24 时间
为什么要分割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+,一般笔记本是无法打开的,用内存大一点的服务器读入也需要一段时间。这个也成为很多小伙伴使用这个数据库的痛点。看过下面这些画图教程的小伙伴应知道:
【画图】冠状病毒结合的宿主细胞受体ACE2在人组织中的表达情况
【画图】ACE2在TCGA肺癌数据的表达情况(请不要过度解读这个图的结果!)
【画图】与新冠状病毒结合的ACE2基因在人肺组织功能预测分析
【画图】与COVID-19/SARS-CoV-2/2019-nCoV病毒结合ACE2基因的表达在人肺组织中与那些基因表达相关?
【画图】与ACE2基因表达相关的那些事——如何批量展现相关性的细节?
教程里使用的是肺组织的数据,那么这个数据是如何分割的呢?
代码
load("./GTExdata.rda")
GTEx_phenotype_sub_split<-split(GTEx_phenotype_sub,GTEx_phenotype_sub$Tissue)
GTEx_Tpm_split<-list()
colnames(GTEx_Tpm)<-stringr::str_replace_all(colnames(GTEx_Tpm),"[.]", "-")
GTEx_Tpm_split<-lapply(GTEx_phenotype_sub_split,
function(x){
xxxx<-GTEx_Tpm[,colnames(GTEx_Tpm)[colnames(GTEx_Tpm) %in% rownames(x)]]
write.csv(xxxx,file=paste(names(x),".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就实现了,主要是那两个Rda文件太大传到网盘太费劲,大家可以自行到官网下载。
相关文章
- mysql批量清空表数据脚本「建议收藏」
- mysql如何批量添加数据_mysql如何批量insert数据
- C语言助教用于批量改作业的脚本
- 如何批量下载TCGA公开数据
- 三款文本批量查找替换工具
- 【亲测有效】Python+IDM多线程加速批量下载ERA5数据
- LinkedIn领英批量加好友技巧
- Redis 批量插入:提高数据存储效率(redis批量插入)
- 「Linux下快速批量创建文件夹」(linux批量创建文件夹)
- Linux 下大批量重命名的高效方法(批量重命名linux)
- Linux批量重命名:一键搞定(批量重命名linux)
- “快速实现Linux批量重命名”(批量重命名linux)
- 批量重命名Linux文件的方法(批量重命名linux)
- 批量更新oracle数据的技巧及实现方法(批量更新oracle)
- 如何使用 MySQL 进行批量数据替换?(mysql批量替换数据)
- 批量安装Linux系统:简单高效的管理方式(linux批量安装)
- Oracle快速导出数据:比以往更迅捷!(oracle批量导出数据)
- 一键改变Linux主机名:极速批量修改法(批量修改linux主机名)
- Oracle批量新增数据,大幅度提升工作效率(oracle 批量新增)
- 中的数据一键操作轻松批量删除Oracle数据(c 批量删除oracle)
- 数据EF Core与Oracle结合 批量插入数据实践(ef oracle插入)
- 数据如何利用批量操作轻松获取Redis数据(批量获取redis)
- MySQL如何批量修改一列数据(mysql 一列批量改)
- Redis利用远程机制实现批量数据删除(redis远程批量删除)
- jspHibernate批量更新和批量删除处理代码
- Android静默方式实现批量安装卸载应用程序的深入分析
- SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)