其实经常分析TCGA数据库时会发现,
clinical.tsv
中基本没什么可用信息,大部分数据都是缺失的,那么,如何获取比较全面的临床数据,有哪些常用方法和数据库,一块来看看吧~
官网地址: https://portal.gdc.cancer.gov/
0. 对比两种结果的信息密度
在正式分析之前,可以先整体感受一下二者的信息量差距
因为数据比较多,因此我把表格缩小了来看,如clinical.tsv
所示,中间比较空白的地方记录的都是“-”,即缺失值,clinical.tsv
中虽然term
比较多,但除了少部分预后信息之外,记录的临床信息非常的少,不利于后续进一步分析
再看看使用本期R脚本分析的结果,结果非常丰富,记录也十分详细,基本没有缺失值
image1. 下载临床数据
总共分为以下4步:
-
Cases
选择感兴趣的数据集 -
File
中选择clinical
- 加入购物车
- 下载购物车中的文件 image
2. 提取临床信息
文末提供整个
Rproject
文件夹
-
把上一步下载的压缩文件解压到
image./TCGA_clinical/file
位置 -
运行
./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私信提供
感谢观看,如果有用还请点赞,收藏,转发!
网友评论