TCGA的28篇教程-整理GDC下载的xml格式的临床资料

临床资料因为一直在更新,很多朋友可能需要去下载最新版的,所以不得不使用GDC官网下载的方式。

GDC给出了一系列的用户友好的选择框,你只需要根据条条框框来选择就可以下载到自己想要的数据,而不需要去几百个文件夹里面漫无目的的查找了。 https://gdc-portal.nci.nih.gov/legacy-archive/search/f 根据自定义搜索过滤条件拿到了 mainfest 文件就可以使用下面代码下载:

# https://gdc.cancer.gov/access-data/gdc-data-transfer-tool
mkdir -p ~/biosoft/gdc_client
cd ~/biosoft/gdc_client/
wget https://gdc.cancer.gov/system/files/authenticated%20user/0/gdc-client_v1.3.0_OSX_x64.zip 
wget https://gdc.cancer.gov/system/files/authenticated%20user/0/gdc-client_v1.3.0_Ubuntu14.04_x64.zip
unzip gdc-client_v1.3.0_OSX_x64.zip

/gdc-client --help
./gdc-client download --help 
mkdir clinical
./gdc-client download -m ~/Documents/Nutstore/github/TCGA-KIRC-miRNA-example/GDC/gdc_manifest.2018-08-05-clinical.txt -d clinical
#  Successfully downloaded: 522
mkdir miRNAseq
./gdc-client download -m ~/Documents/Nutstore/github/TCGA-KIRC-miRNA-example/GDC/gdc_manifest.2018-08-05-LUAD-miRNA-seq.txt -d miRNAseq
#  Successfully downloaded: 567
或者直接从微云下载:链接:https://share.weiyun.com/5XsyuzH 密码:68pm7e 

但是有个很严重的问题是该下载方式会对每一个病人给出一个xml格式文件记录着临床信息。

简单给一个代码:

# 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')

得到的生存资料如下所示:

是不是很简单呀,赶快去试试看吧!

而且有了这样的生存资料,根据我前面的讲解,很容易就可以做出性别或者年龄是否影响生存哦!!!

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BestSDK

不知道这21 款插件,别说你用过Eclipse

Darkest Dark 如果你也是那种讨厌白色背景的人,那么肯定不会问我为什么黑屏更好,也不会觉得使用“darkest”修改“dark”是多余的。我相信你一旦...

493100
来自专栏Kirito的技术分享

给初中级JAVA准备的面试题

笔者作为一个今年刚毕业的初级JAVA,根据群里水友的讨论,也结合自己刚毕业时的一些面经,加上近期一点点在公司面试别人的经验,总结了如下的常见面试问题,适用于初级...

60580
来自专栏PHP在线

给PHP开发者的九条建议

本文只是个人从实际开发经验中总结的一些东西,并不是什么名言警句,写出来有两个目的:一是时刻提醒自己要按照这些知识点来写自己代码,二是为了分享,说不定对你有用呢?...

14330
来自专栏Golang语言社区

在 Go 语言中,如何正确的使用并发

Glyph Lefkowitz最近写了一篇启蒙文章,其中他详细的说明了一些关于开发高并发软件的挑战,如果你开发软件但是没有阅读这篇问题,那么我建议你阅读一篇。这...

20700
来自专栏IMWeb前端团队

使用Mocha测试node应用

[TOC] 前言 在使用node开发iconfont平台时,由于没有产品与设计的主导,我遇到了协同开发的一大难题——合并代码。开发过程中每次合并代码时基本上都有...

222100
来自专栏老码农专栏

一场版本升级引发的性能血案的追凶过程

13950
来自专栏Java技术栈

Java 面试就业指导,100 % 提高面试成功率!

想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?

18030
来自专栏涤生的博客

天池中间件大赛Golang版Service Mesh思路分享

这次天池中间件性能大赛初赛和复赛的成绩都正好是第五名,出乎意料的是作为Golang是这次比赛的“稀缺物种”,这次在前十名中我也是侥幸存活在C大佬和Java大佬的...

19140
来自专栏程序人生

再谈 API 的撰写 - 契约

现代社会是个契约社会,生活中大大小小的事情都在和契约打交道。去奥莱买件衣服,一纸小票,便是你跟商家的契约:你花钱买到了产品,产品的问题商家会承诺处理(退换货)。...

38980
来自专栏Golang语言社区

【Go 语言社区】在 Go 语言中,如何正确的使用并发

Glyph Lefkowitz最近写了一篇启蒙文章,其中他详细的说明了一些关于开发高并发软件的挑战,如果你开发软件但是没有阅读这篇问题,那么我建议你阅读一篇。这...

36690

扫码关注云+社区

领取腾讯云代金券