TCGA_临床数据下载_全面数据

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34491.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用cBioPortal查看TCGA肿瘤数据

欢迎关注”生信修炼手册”! cBioPortal整合了来自TCGA,CCLE以及几个独立的大型肿瘤研究项目的数据&#xff0c;构建了一个易于使用的网站&#xff0c;不需要有深厚的计算机功底&#xff0c;也可以通过该网站查询&#xff0c;分析&#xff0c;可视化肿瘤的相关结果。 针对该网站…

TCGA临床数据整理

TCGA临床数据的整理是一个基本的操作 我们选择临床数据在Data category 中选择clinical 最重要的在Data format 中一定要选择XML的]格式 选择自己研究的TCGA肿瘤类型&#xff0c;添加到cart里面下载数据 点击download 下载 cart的内容 保存你们自己喜欢的位置。下面一步是个…

TCGA数据库与肿瘤数据分析(参考后整理)

1.INTRODUCTION&#xff08;介绍&#xff09; 1.数据来源 GDC Legacy ArchiveGDC Harmonized database 2.barcode 2.Install.packages(包安装) 3.数据下载 我们以胆管癌数据为例进行展示 下载表达数据 #数据查询&#xff08;就像你在页面网站上点来点去&#xff09; query…

原画师为什么多数不到30就不做了?

相信有很多热爱美术得人都有一个成为原画师的梦想 进入自己喜欢的项目~跟大神在一起~不断发挥自己的想象力和创意~做出真正属于自己的游戏 每天都在干自己喜欢的事情 打机画画打机画画打机画画…… 但是,当自己的爱好成为了工作,真的有那么快乐吗? 真正受欢迎的游戏…

首批因AI失业的人出现-某游戏公司裁掉半数原画师

如今各种AI爆火&#xff0c;不可避免的的会与某些功能撞车职业发生冲突&#xff0c;每一次生产力的变革&#xff0c;在带来技术进步与更高效率的同时&#xff0c;也都无可避免的会带来一波失业浪潮&#xff0c;当下的人工智能浪潮自然也不例外。 现在&#xff0c;第一批因为AI…

Home Assistant 家庭智能中心

简介 Home Assistant 是一个基于Python 3开发的开源家庭自动化平台。可以跟踪和控制家庭中的所有设备&#xff0c;并实现自动化控制。 可以完美的运行在Raspberry Pi。 1.简单介绍&#xff0c;优势: 1完全本地化&#xff0c;不受服务器限制 2.支持设备广&#xff0c;全面打…

头像更改

开发工具与关键技术&#xff1a;VS2015&#xff0c;ASP.NET MVC撰写时间&#xff1a;2019年5月7日我们平时登录账号都会有头像&#xff0c;账号&#xff0c;密码这些&#xff0c;而账号和密码是最基本的东西&#xff0c;这里就说一下更改账户号&#xff0c;密码&#xff0c;头像…

PowerShell实现双屏连接模式切换、输入法切换、软件进程开启及关闭(Quicker和uTools)ps1脚本实现

背景 最近写了个PowerShell的ps1脚本&#xff0c;方便我实现电脑打游戏&#xff08;主要是战地2042&#xff09;和工作学习打代码模式的切换。 功能 实现两个模式的切换。 模式一&#xff1a;游戏模式 双屏连接方式&#xff1a;仅第二屏幕 输入法&#xff1a;英文(en-US) 软件Q…

【GPT4】微软 GPT-4 测试报告(3)GPT4 的编程能力

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 微软 GPT-4 测试报告&#xff08;1&#xff09;总体介绍 微软 GPT-4 测试报告&#xff08;2&#xff09;多模态与跨学科能力 微软 GPT-4 测试报告&#xff08;3&#xff09;GPT4 的编程能力 【GPT4】微软 GPT-…

OpenAI的API key获取方法

在本篇文章中&#xff0c;我们将介绍如何获得OpenAI的API Secret Key。 输入账号 输入密码 右上角点击“Personal”,下拉中选择View API keys 左侧页面中&#xff0c;找到API Keys 点击 Create new secret key 生成成功&#xff0c;复制保存

【转】 Vitalik:去中心化的意涵

“去中心化”或许是区块链被提到过的最高频的一个词了&#xff0c;但这个词的定义也是最不清楚的。 想想这件事其实挺不可思议的。区块链消耗了计算机大量宝贵的哈希算力&#xff0c;正是为了保证网络的去中心化&#xff0c;但当人们彼此在争论某个代币或者某个区块链网络究竟…

什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?

图1 三类网络拓扑结构 所谓“中心化”和“去中心化”&#xff0c;最早是用来刻画网络拓扑结构的术语。1964年&#xff0c;美国兰德公司发布了一份关于分布式通信的报告&#xff0c;提出了三种网络结构&#xff08;如图1&#xff09;。其中&#xff0c;&#xff08;a&#xff09…

ICML征稿禁止使用大型语言模型,LeCun转发:中小型模型可以用吗?

编&#xff5c;昕朋 David源&#xff5c;新智元 AI顶会ICML征稿日在即&#xff0c;关于道德准则的新政策却引来网友不满&#xff01;规则要求作者不能使用大型语言模型&#xff0c;网友评论区刷屏询问&#xff1a;为什么&#xff1f; 昨天&#xff0c;国际机器学习会议&#xf…

科研训练成果

一、前期准备&#xff1a; 1.主要文献阅读 网址作用Readpaper文献管理工具【支持在线翻译等】arXiv事先上传论文&#xff0c;保护成果arXiv Xplorer基于Chatgpt的文献搜索,拓宽研究思路中国知网文献管理工具 arXiv发音同“archive” 二、实验中&#xff1a; 1.基础服务器知识…

Google、Intel、腾讯等大厂相继入局,RISC-V 终将彻改半导体行业!

【CSDN 编者按】开源的 RISC-V 架构&#xff0c;正成为不少大厂发力的新方向。近期&#xff0c;Google 在 RISC-V 峰会上表示&#xff0c;想要让 RISC-V 成为 Android 的 T1 级支持架构&#xff0c;让其地位与 ARM 处理器处于同一水平&#xff1b;去年&#xff0c;Intel 宣布投…

中国第一个 Apache 顶级开源项目的突围之路!

【CSDN 编者按】近些年开源大热&#xff0c;开源创业之风随之四起。作为近两年特别火的商业方向&#xff0c;开源创业者如何才能在一片红海中乘风破浪&#xff0c;在行业中占据一席之地&#xff1f;第一个由中国人主导贡献到 ASF 的顶级开源项目 Apache Kylin 做出了有效探索&a…

如何让AI为你所用?——ChatGPT的实际应用及训练技巧

ChatGPT&#xff1a;90%以上人都用不好的AI神器&#xff0c;通过本文让你超过90%的使用者 自从2022年11月30日ChatGPT横空出世&#xff0c;它已经在国内大火了两个多月。但是&#xff0c;无需为此感到焦虑&#xff0c;因为人类永远比AI更加强大。与大多数博主炒作的不同&#…

iOS摸鱼周报 第五十期

本期概要 话题&#xff1a;WWDC 22 Call to Code面试模块&#xff1a;事件响应与传递优秀博客&#xff1a;复习 iOS 的 rebase 和 bind学习资料&#xff1a;闲话 Swift 协程开发工具&#xff1a;AppleParty 是三七互娱旗下37手游 iOS 团队研发&#xff0c;实现快速操作 App Sto…

用chatGPT来NEW个对象让“码农”的节日不再仅仅只有1024(赶鸭子上架式的成长、无效不得不立的flag)

用chatGPT来NEW个对象让“码农”的节日不再仅仅只有1024 前言一、大部分的成长都是赶鸭子上架二、节日是为了告诉自己不孤单三、做不到也要立下的flag四、New个对象吧1.php定义一个科技工作者形象2.python定义一个科技工作者形象3.javascript定义一个科技工作者形象 总结 前言 …

Redis集群模式下使用config set 命令所有节点都会生效吗?

Redis集群模式下使用config set 命令所有节点都会生效吗? 问题: Redis集群模式下使用config set 命令所有节点都会生效吗? 实践检验真理: 前置准备 Redis版本:5.0.5版本 Redis集群模式:三主三从 操作步骤: 分别连接7001节点与7002节点,准备在7001节点使用”config get”…