打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
不明白为什么同一个癌症不同病人的表型信息列不一致
userphoto

2022.10.17 广东

关注

七八年前我写过一个tcga数据库的临床信息整理的r代码,因为那个时候使用GDC官方认可的tcga数据库下载工具其实会给每个病人都下载一个独立的文件夹里面的都有一个独立的xml文件存储里面的病人的表型信息,如下所示:

独立的xml文件

那么就需要合并这些全部的病人的全部的xml文件啦,当初写的r代码如下所示:

# Load the packages required to read XML files.
library("XML")
library("methods")
dir='/Users/jmzeng/biosoft/gdc_client/miRNAseq/'
all_fiels=list.files(path = dir ,pattern='*.xml$',recursive=T)
cl = lapply(all_fiels
            , function(x){
              #x=all_fiels[1]
              result <- xmlParse(file = file.path(dir,x)) 
              rootnode <- xmlRoot(result)  
              xmldataframe <- xmlToDataFrame( rootnode[2] ) 
              return(t(xmldataframe))
            })
# 但是很多人在下面的代码会报错
cl_df <- t(do.call(cbind,cl))
save(cl_df,file = 'GDC_TCGA_LUAD_clinical_df.Rdata')
# 所以让对方把cl这个变量save后发邮件给我
save(cl,file ="cl.Rdata")

那个时候我测试这个代码的时候针对的癌症它里面的几百个病人的临床信息列是一致的,所以代码非常简略,虽然很多人确实看不懂  cl_df <- t(do.call(cbind,cl)) 代码,所以大家如果把这个代码移植到其它癌症, 就会遇到一个很尴尬的事情,有一些癌症里面的不同病人的临床信息列居然不一致。

恰好最后有粉丝最近在跟着我们的教程:小熊的2022新版TCGA教程 ,在临床信息整理环节就遇到了困难并且留言,我让他把他遇到的困难发邮件给我了,就是把cl这个变量save后发邮件给我。然后我检查了一下这个 cl 变量,确实比较奇怪,虽然我也不明白为什么同一个癌症不同病人的表型信息列不一致,但是这个其实就是数据分析里面的数据清洗步骤而已。简单的看了看,绝大部分病人都是68列信息:

> table(do.call(rbind,lapply(cl, dim))[,2])

 68  69  70  71  72  73 
359  25  11  11   4   2 

所以,就需要把前面的不同病人的临床信息列进行一个简单的筛选即可;

load(file ="cl.Rdata")
table(do.call(rbind,lapply(cl, dim))[,2])
tmp = table(unlist(lapply(cl, colnames))) 
ids = names(tmp[tmp==length(cl)])
cl = lapply(cl, function(x){x[,colnames(x) %in% ids] })
clinical = do.call(rbind,cl)
clinical[1:3,1:3]

就得到了一个标准的68列的临床信息矩阵啦。

68列的临床信息矩阵

每个癌症的临床信息肯定是不一样的, 但是我确实不明白为什么同一个癌症里面的不同病人临床信息也不一样?

写在文末

我在《生信技能树》,《生信菜鸟团》,《单细胞天地》的大量推文教程里面共享的代码都是复制粘贴即可使用的, 有任何疑问欢迎留言讨论,也可以发邮件给我,详细描述你遇到的困难的前因后果给我,我的邮箱地址是 jmzeng1314@163.com

如果你确实觉得我的教程对你的科研课题有帮助,让你茅塞顿开,或者说你的课题大量使用我的技能,烦请日后在发表自己的成果的时候,加上一个简短的致谢,如下所示:

We thank Dr.Jianming Zeng(University of Macau), and all the members of his bioinformatics team, biotrainee, for generously sharing their experience and codes.

十年后我环游世界各地的高校以及科研院所(当然包括中国大陆)的时候,如果有这样的情谊,我会优先见你。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
TCGA批量差异分析并可视化
谈谈TCGA 肿瘤临床数据:我提取的数据为何不完整?
TCGA学习01:数据下载与整理
对付癌症病人发热的临床验方组成:柴胡、银...
使用ABAP编程实现对微软Office Word文档的操作
癌症能早期发现吗
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服