其实经常分析TCGA数据库时会发现,
clinical.tsv中基本没什么可用信息,大部分数据都是缺失的,那么,如何获取比较全面的临床数据,有哪些常用方法和数据库,一块来看看吧~
官网地址: https://portal.gdc.cancer.gov/
0. 对比两种结果的信息密度
在正式分析之前,可以先整体感受一下二者的信息量差距
因为数据比较多,因此我把表格缩小了来看,如clinical.tsv所示,中间比较空白的地方记录的都是“-”,即缺失值,clinical.tsv中虽然term比较多,但除了少部分预后信息之外,记录的临床信息非常的少,不利于后续进一步分析

image
再看看使用本期R脚本分析的结果,结果非常丰富,记录也十分详细,基本没有缺失值

image
1. 下载临床数据
总共分为以下4步:
-
Cases选择感兴趣的数据集 -
File中选择clinical - 加入购物车
-
下载购物车中的文件 image
2. 提取临床信息
文末提供整个
Rproject文件夹
-
把上一步下载的压缩文件解压到
./TCGA_clinical/file位置image 运行
./TCGA_clinical中的code.R,什么都不需要修改! 输出的TCGA_cli.xls即为结果
library(XML)
library(dplyr)
file_char<-list.files(pattern = ".xml",full.names = T,recursive = T)
tem <- xmlParse(file_char[i])%>%xmlToDataFrame()
output_df <- matrix(nrow = length(file_char),
ncol = ncol(tem),
dimnames = list(NULL,
colnames(tem)))
rm(tem)
for (i in 1:length(file_char)) {
cli_data <- xmlParse(file_char[i])
cli_frame <- xmlToDataFrame(cli_data)
cli_frame[1,c(!is.na(cli_frame[2,]))]<-cli_frame[2,c(!is.na(cli_frame[2,]))]
output_df[i,]<-as.character(cli_frame[1,])
}
write.table(output_df,file = "TCGA_cli.xls",sep = "\t",row.names = F,col.names = T)
整个Rproject私信提供
感谢观看,如果有用还请点赞,收藏,转发!

