TCGAbiolinks (三)获取全面的临床数据  – 璃墨的小站

library(TCGAbiolinks)

一、基础数据下载

1 下载GDC文件

query <-GDCquery(project = "TCGA-PRAD", data.category = "Clinical", file.type = "xml")

2 组合数据

#选择要提取的数据分类,可选包括:"drug","follow_up","radiation","patient","stage_event","new_tumor_event","admin"
clinical.info <- c('admin', 'patient', 'stage_event', 'new_tumor_event') # 不获取'drug', 'follow_up', 'radiation'#定义函数
f_rm_colN <- function(df, regex){df[,!grepl(regex, colnames(df))]
}
f_rm_duplicated <- function(NameL, reverse=F){tmp <- data.frame(table(NameL))if(reverse){tmp <- tmp$NameL[tmp$Freq > 1]}else{tmp <- tmp$NameL[tmp$Freq == 1]}which(NameL %in% as.character(tmp))
}#组合clinical矩阵
clinical <- list()
for(info in clinical.info){clinical[[info]]  <- GDCprepare_clinic(query, clinical.info = info,directory = 'Data&Results/临床数据下载/GDCdata_full clinical data/')clinical[[info]] <- f_rm_colN(clinical[[info]], "project")
}
clinical$admin <- f_rm_colN(clinical$admin, "file_uuid")
for(info in clinical.info){clinical[[info]] <- unique(clinical[[info]])
}
f_merge  <- function(lc_mergedList, by, all=T){Reduce(function(...) merge(..., by=by, all=all), lc_mergedList)
}
clinical <- f_merge(clinical, by = 'bcr_patient_barcode', all = T)

二、更新数据补丁

cl_new <- GDCquery_clinic(project = 'TCGA-PRAD', type = 'clinical')
clinical <- merge(clinical, cl_new, by = 'bcr_patient_barcode', all = T, suffixes = c('.old', '.new')) #suffixes:指定除by外相同列名的后缀。如果某列有新数据,自动加上old和new两个后缀

View(clinical)

三、生存分析补丁

1 补充总生存期(overall survival,OS)的 status 和 time

clinical$os_status  <- with(clinical,ifelse(vital_status.new == 'Dead', 1, 0)) # 1表示因病死亡,0表示截尾数据
clinical$os_time <- with(clinical,ifelse(os_status == 1, days_to_death.new, days_to_last_follow_up))

如果出现了死亡,则取死亡时间;如果没有死亡,则取最后随访时间

sum(clinical$os_status)

[1] 9         得到死亡人数

2 补充无进展生存期(progression free survival,PFS)的status 和 time

PFS由 biochemical_recurrence 和 new_neoplasm_event 共同组成,优先取前者:

biochemical_recurrence 和 days_to_first_biochemical_recurrence 对应;

new_neoplasm_event 和 days_to_new_tumor_event_after_initial_treatment 对应。

1)查看数据

时间数据

table(is.na(clinical$days_to_new_tumor_event_after_initial_treatment)) #有NA
table(is.na(clinical$days_to_first_biochemical_recurrence)) #有NA

PFS状态数据

table(is.na(clinical$new_neoplasm_event_type)) #有NA。NA为缺失,''为无复发
table(is.na(clinical$biochemical_recurrence)) #无NA。''为缺失

2)将时间数据中的NA缺失值都换成 ' ',方便后续处理

clinical$days_to_new_tumor_event_after_initial_treatment = with(clinical,ifelse(is.na(days_to_new_tumor_event_after_initial_treatment),'',days_to_new_tumor_event_after_initial_treatment))
clinical$days_to_first_biochemical_recurrence = with(clinical,ifelse(is.na(days_to_first_biochemical_recurrence),'',days_to_first_biochemical_recurrence))

3)取出所有有PFS状态的数据,即排除所有确实PFS状态的数据

t_row = with(clinical, !(days_to_new_tumor_event_after_initial_treatment=='') | !(days_to_first_biochemical_recurrence=='') | !is.na(new_neoplasm_event_type) | !(biochemical_recurrence==''))clinical = clinical[t_row,]

时间数据不为 ' ' ;new_neoplasm_event_type不为NA ;biochemical_recurrence不为 ' '。均可视为有生存信息,所以对三者取交集

4)取发生PFS的时间,PFS状态,补上缺失值的观察时间

clinical$dcf_time = with(clinical,ifelse(!days_to_new_tumor_event_after_initial_treatment=='',days_to_new_tumor_event_after_initial_treatment,''))
clinical_filt$dcf_time = with(clinical,ifelse(!days_to_first_biochemical_recurrence=='',days_to_first_biochemical_recurrence,dcf_time))clinical$dcf_status = ifelse(!clinical$dcf_time=='',1,0) #1表示有dcf事件,0表示无肿瘤事件clinical$dcf_time = with(clinical ifelse(dcf_time=='',os_time,dcf_time))write.csv(clinical, file = 'clinical_with_os_dcf.csv')

先赋days_to_new_tumor_event_after_initial_treatment,再days_to_first_biochemical_recurrence

TCGA_临床数据下载_全面数据相关推荐

  1. tcga数据下载_好东西丨零基础入门TCGA

    GCBI学院-零基础入门TCGA_腾讯视频​v.qq.com 课程大纲: TCGA简介 1.带你熟悉新版TCGA界面 2.TCGA包含哪些数据,哪些是公开可用的?作为新手,下载什么水平的数据最易上手 ...

  2. 全球气象数据下载总结-CRU数据,ERA数据NCEP-2数据

    一.CRU数据下载 CRU数据官网 官网链接 CRU数据下载链接 我下载的是CRU TS v.4.03的数据,该数据覆盖全球陆地范围,各参数每月得一个平均值. 点击Local Copy进入数据下载界面 ...

  3. tcga数据下载_从GDC下载最新的TCGA临床数据

    本文从GDC直接获取TCGA数据,不同于cbioportal.Xeon等TCGA下载工具,GDC数据是实时更新的最原始的数据. 下载数据 GDC的综合数据下载页面为https://portal.gdc ...

  4. tcga数据下载_手把手教你用R下载TCGA数据:CGDSR包

    各位科研芝士的朋友,大家好,今天我们继续分享关于TCGA数据下载的专题,之前,给大家推出了网页版cBioportal工具,进行数据下载,在上期中我们看到UCSC-XENA对应的R包UCSCXenaTo ...

  5. tcga数据下载_给你tcga数据库过万病人的原始测序数据你可以做什么

    最近有两年前的学生过来寻求合作,让我想想给我tcga数据库过万病人的原始测序数据,我可以做什么方法学的创新.我想把这个问题抛给粉丝: 假设给你tcga数据库过万病人的原始测序数据你可以做什么??? 大 ...

  6. tcga数据下载_手把手帮你分析这些TCGA甲基化内容

    TCGA数据库有大量开放的甲基化数据,对我们科研非常有利,但是怎么挖掘呢?是不是去参加培训班就可以了?答案肯定不是的.有很多人去参加了培训班,然后学会了分析.但是搞了两三个月,还是没有结果.导致结果出 ...

  7. tcga数据下载_肿瘤研究不能不知道的TCGA数据库挖掘工具大全,TCGA再也不愁

    TCGA数据库的挖掘工具层出不穷,从数据下载到数据挖掘,这里小编给大家整理一份官网的数据挖掘工具大全: 1. http://www.cancerimagingarchive.net/ The Canc ...

  8. tcga数据下载_零代码下载TCGA数据库第一期

    TCGA数据库目前是科研中最常用的数据库之一,其中储存着多种疾病的各组学的数据,借助该数据库,帮助了很多研究生们发表了自己的文章,达到了毕业条件.但是,如果你是刚入门的新手,不用担心,跟着我们的系列推 ...

  9. astrm30米分辨率高程数据下载_如何下载道路沿线1000米范围内的高程?

    在水经注万能地图下载器中,除了提供按当前屏幕范围下载.框选矩形范围下载.多边形下载.导入范围下载和按行政区划范围下载外,还可以按道路沿线一定距离范围内下载谷歌地球高程.这里以G318林拉公路为例,说明 ...

最新文章

  1. TensorRT 3:更快的TensorFlow推理和Volta支持
  2. python并发与并行_python多进程,多线程分别是并行还是并发
  3. 写存储过程与调用存储过程
  4. C/C++ OpenCV图像的阈值操作
  5. ​无需聚类,杭电学者提出基于软化相似度学习的无监督行人再识别
  6. python无法使用decode,Python处理文件名或路径名中无法decode代码问题
  7. Android笔记之权限库AndPermission
  8. FireReport 层次坐标 使用问题A1[A1:-1]=A1
  9. 解决 could not initialize proxy [com.xxx.xxx.xxx.entity.xxxInfo#1] - no Session
  10. VUE 身份证号验证
  11. 卡巴斯基变相提供一年免费服务
  12. java fly bird小游戏_JavaScript实现Fly Bird小游戏
  13. php能不能用super,supersu怎么用
  14. (Java实现) 细胞
  15. 基于观测器的T-S模糊系统故障分析simulink仿真
  16. 直接最小二乘法拟合椭圆
  17. 基于SPO语义三元组的疾病知识发现
  18. XPS问题收集及解答
  19. GTP(学习笔记1)
  20. 卡拉OK字幕效果制作

热门文章

  1. 最新交易猫 转转 闲鱼 源码独立后台
  2. matlab学位论文绘图美化工具_推荐几个超级好用的工具,让你在论文中画出漂亮的插图...
  3. BW顾问进阶:BW/4 HANA 信息源的使用
  4. 虚拟机安装kali 时的默认密码(官网vmx 文件源)
  5. php 获取qq头像,php通过QQ号获取用户QQ昵称、QQ头像、QQ邮箱等信息!
  6. 微信小程序---- 获取手机号(微信最新更新)
  7. 【Python】图片处理
  8. 代理ip究竟有什么作用?
  9. 从客户端到服务器端,适配微信iOS OpenSDK中的Universal Links
  10. 用 Splashtop Wired XDisplay HD 让 ipad做电脑扩展屏幕