很多文章对于TCGA中的一些癌症都是联合分析的,比如TCGA-COAD和TCGA-READ,首先是它们的疾病特点和治疗方式存在很多相似之处,同时这样做也可以增大样本量。
如果你是使用 TCGAbiolinks
包下载的数据,那么它们的合并超级简单,直接 cbind()
即可!
加载数据和R包
数据都是之前下载好的,可以参考之前的推文:
我们直接加载TCGA-COAD和TCGA-READ的数据。
load(file = "./TCGA-mRNA/TCGA-COAD_mRNA.Rdata")
coad data
load(file = "./TCGA-mRNA/TCGA-READ_mRNA.Rdata")
read data
合并数据
现在 coad
和 read
都是 SummarizedExperiment
对象,并且具有相同的行和行名:
coad
read
对于这样的数据我们直接合并即可,我认为这是目前合并两个癌种最方便的方法了!
colrectal cbind(coad,read)
colrectal
得到的结果也是一个 SummarizedExperiment
对象。并且这个对象中各种信息也是保存好的,想用什么直接提取即可,非常方便。
但是这样合并可能涉及批次效应的问题,大家在实际使用时可根据自己的情况选择要不要去除批次效应!
提取信息
比如提取样本的临床信息,非常简单,甚至不需要重新下载:
clin as.data.frame(colData(colrectal))
clin[1:10,1:10]
dim(clin)
colnames(clin)[10:30]
现在一共有698行,107列临床信息, 你想要的生存时间、生存状态、样本类型、分期等信息都在里面,都不需要自己手动划分,想要什么直接取子集就好了。
比如大家最喜欢的生存信息:
clin_subset clin[,c("days_to_last_follow_up","vital_status")]
head(clin_subset)
合并miRNA
也是一样的操作。
rm(list = ls())
load(file = "./TCGA-mirna/TCGA-COAD_miRNA.Rdata")
coad data
load(file = "./TCGA-mirna/TCGA-READ_miRNA.Rdata")
read data
可以看到两个表达矩阵的第一列(miRNA的名字),完全一样:
identical(coad$miRNA_ID,read$miRNA_ID)
所以我们直接合并即可:
但是miRNA的表达矩阵现在还有点问题,它包含3种信息:count/rpm/cross-mapped,而我们只需要count,所以还是要处理一下。
dim(colrectal_mi)
colrec_mi colrectal_mi[,c(1,seq(2,1891,by=3))]
dim(colrec_mi)
colnames(colrec_mi)[-1] substr(colnames(colrec_mi)[-1],12,39)
colrec_mi[1:5,1:5]
简单!
合并CNV
rm(list = ls())
load("G:/tcga/TCGA-CNV/TCGA-COAD_CNV.Rdata")
coad data
load("G:/tcga/TCGA-CNV/TCGA-READ_CNV.Rdata")
read data
colrec_cnv rbind(coad,read)
head(colrec_cnv)
这个文件稍加整理就可以拿去给gistic用了。
合并SNP
rm(list = ls())
load("G:/tcga/TCGA-SNP/TCGA-READ_SNP.Rdata")
read data
load("G:/tcga/TCGA-SNP/TCGA-COAD_SNP.Rdata")
coad data
colrec_snp rbind(coad,read)
这样以后再分析就可以用合并后的数据了!
Original: https://blog.csdn.net/Ayue0616/article/details/127824228
Author: 医学和生信笔记
Title: 新版TCGA不同癌种数据合并
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/660159/
转载文章受原作者版权保护。转载请注明原作者出处!