R语言---使用RTCGA包获取TCGA数据---笔记整理

原文链接:https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247486585&idx=1&sn=3035f6420904aad2c8161b362cdeb472&chksm=9b484cc2ac3fc5d479fc5bce3d68d4666b763652a21a55b281aad8c0c4df9b56b4d3b353cc4c&scene=21#wechat_redirect

1.RTCGA相关包的下载及使用?

(1)相关包的下载:(原文中的代码在我的电脑上执行的有些问题,故包的下载代码修改如下:)

if (!requireNamespace("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("RTCGA")
BiocManager::install("RTCGA.clinical")
BiocManager::install("RTCGA.rnaseq")
BiocManager::install("RTCGA.mRNA")
BiocManager::install("RTCGA.mutations")

(2)包的使用代码为:library(包的名称)

2.RTCGA包的工作流程?(图片是从原文中截取的)

3.指定任意基因从任意癌症里面获取芯片表达数据

library(RTCGA)
library(RTCGA.mRNA)
#收集TCGA数据集的表达式(表达量数据)(Gather Expressions for TCGA Datasets)
expr <- expressionsTCGA(BRCA.mRNA, OV.mRNA, LUSC.mRNA,extract.cols = c("GATA3", "PTEN", "XBP1","ESR1", "MUC1"))
#print(expr)
#统计表达式出现的次数
nb_samples <- table(expr$dataset)
print(nb_samples)

结果如下:

观察可得,上述结果标识太过复杂,为了更方便地展示结果,添加代码如下:

#简化一下标识,方便可视化展现
#gsub函数为字符串替换函数
expr$dataset <- gsub(pattern = ".mRNA", replacement = "",  expr$dataset)
#paste0函数为字符串连接函数
expr$bcr_patient_barcode <- paste0(expr$dataset, c(1:590, 1:561, 1:154))
print(expr)

结果如下:

4.绘制指定基因在不同癌症的表达量区别boxplot

library(ggplot2)
library(ggpubr)# load the packages need load ggplot2 packages first
# GATA3,为expr的一列值
ggboxplot(expr, x = "dataset", y = "GATA3",title = "GATA3", ylab = "Expression",color = "dataset", palette = "jco")
# PTEN,为expr的一列值
ggboxplot(expr, x = "dataset", y = "PTEN",title = "PTEN", ylab = "Expression",color = "dataset", palette = "jco")

图形如下:

加入P值(显著性差异)信息:

为了便于观察信息,可以加入其它的boxplot参数。

label.select.criteria <- list(criteria = "`y` > 3.9 & `x` %in% c('BRCA', 'OV')")
ggboxplot(expr, x = "dataset",y = c("GATA3", "PTEN", "XBP1"),combine = TRUE,color = "dataset", palette = "jco",ylab = "Expression", label = "bcr_patient_barcode",              # column containing point labelslabel.select = label.select.criteria,       # Select some labels to displayfont.label = list(size = 9, face = "italic"), # label fontrepel = TRUE                                # Avoid label text overplotting
)

效果如下:

有的情况下为了便于观察,可以进行翻转:

ggboxplot(expr, x = "dataset", y = "GATA3",title = "GATA3", ylab = "Expression",color = "dataset", palette = "jco",rotate = TRUE)

效果图如下:

5.指定任意基因从任意癌症里面获取测序表达数据

library(RTCGA)
library(RTCGA.rnaseq)
expr <- expressionsTCGA(BRCA.rnaseq, OV.rnaseq, LUSC.rnaseq,extract.cols = c("GATA3|2625", "PTEN|5728", "XBP1|7494","ESR1|2099", "MUC1|4582"))
print(expr)
#
nb_samples <- table(expr$dataset)
#绘图
library(ggpubr)
ggboxplot(expr, x = "dataset", y = "PTEN|5728",title = "ESR1|2099", ylab = "Expression",color = "dataset", palette = "jco")

效果图:

6.用全部的rnaseq的表达数据来做主成分分析

library(RTCGA)
library(RTCGA.rnaseq)#加载此包需先加载RTCGA包
library(dplyr)
expressionsTCGA(BRCA.rnaseq, OV.rnaseq, HNSC.rnaseq) %>%dplyr::rename(cohort = dataset) %>%  filter(substr(bcr_patient_barcode, 14, 15) == "01") -> BRCA.OV.HNSC.rnaseq.cancer
#主成分分析函数
pcaTCGA(BRCA.OV.HNSC.rnaseq.cancer, "cohort") -> pca_plot
plot(pca_plot)

效果图:

7.用5个基因在3个癌症的表达量做主成分分析

expr %>%  filter(substr(bcr_patient_barcode, 14, 15) == "01") -> rnaseq.5genes.3cancers
DT::datatable(rnaseq.5genes.3cancers)
#主成分分析
#pcaTCGA(rnaseq.5genes.3cancers, "dataset") -> pca_plot
#plot(pca_plot)

8.用突变数据做生存分析

library(RTCGA.mutations)
library(dplyr)
library(survminer)
mutationsTCGA(BRCA.mutations, OV.mutations) %>%filter(Hugo_Symbol == 'TP53') %>%filter(substr(bcr_patient_barcode, 14, 15) =="01") %>% # cancer tissuemutate(bcr_patient_barcode =substr(bcr_patient_barcode, 1, 12)) ->BRCA_OV.mutations
library(RTCGA.clinical)
survivalTCGA(BRCA.clinical,OV.clinical,extract.cols = "admin.disease_code"
) %>%dplyr::rename(disease = admin.disease_code) ->BRCA_OV.clinical
BRCA_OV.clinical %>%left_join(BRCA_OV.mutations,by = "bcr_patient_barcode") %>%mutate(TP53 =ifelse(!is.na(Variant_Classification), "Mut","WILDorNOINFO")) ->BRCA_OV.clinical_mutations
BRCA_OV.clinical_mutations %>%select(times, patient.vital_status, disease, TP53) -> BRCA_OV.2plot
kmTCGA(BRCA_OV.2plot,explanatory.names = c("TP53", "disease"),break.time.by = 400,xlim = c(0,2000),pval = TRUE) -> km_plot
print(km_plot)

效果图如下:

9.多个基因在多种癌症的表达量热图

library(RTCGA.rnaseq)
# perfrom plot
# library(dplyr) if did not load at start
expressionsTCGA(ACC.rnaseq,BLCA.rnaseq,BRCA.rnaseq,OV.rnaseq,extract.cols = c("MET|4233","ZNF500|26048","ZNF501|115560")
) %>%dplyr::rename(cohort = dataset,MET = `MET|4233`) %>%#cancer samplesfilter(substr(bcr_patient_barcode, 14, 15) =="01") %>%mutate(MET = cut(MET,round(quantile(MET, probs = seq(0,1,0.25)), -2),include.lowest = TRUE,dig.lab = 5)) -> ACC_BLCA_BRCA_OV.rnaseq
ACC_BLCA_BRCA_OV.rnaseq %>%select(-bcr_patient_barcode) %>%group_by(cohort, MET) %>%summarise_each(funs(median)) %>%mutate(ZNF500 = round(`ZNF500|26048`),ZNF501 = round(`ZNF501|115560`)) ->ACC_BLCA_BRCA_OV.rnaseq.mediansheatmapTCGA(ACC_BLCA_BRCA_OV.rnaseq.medians,"cohort", "MET", "ZNF500",title = "Heatmap of ZNF500 expression")

效果图:

10.知识点总结

(1)R语言中的table函数:主要有两个作用:

1°统计每个数据出现的次数。aq:

2°实现混淆矩阵。(ps:暂未理解)

(2)R语言中的gsub函数:R语言中的sub()函数和gsub()函数均为字符串替换函数,两者的区别在于sub()函数只会替换最初匹配到的字符串,且只匹配一次,而gsub()函数会替换掉所有匹配的字符串。gsub()函数的具体用法为gsub(“替换的目标字符串”,"被替换的字符串",父串)。

(3)R语言中的paste0函数:paste()函数和paste0()函数均为字符串连接函数。区别在于连接的两个字符串之间的符号是否为空。

(4)R语言的ggpubr包中的重要函数。

1°ggboxplot函数:该函数绘制的是箱型图。参数如下:

ggboxplot(data, x, y, combine = FALSE, merge = FALSE, color = "black",fill = "white", palette = NULL, title = NULL, xlab = NULL,ylab = NULL, facet.by = NULL, panel.labs = NULL,short.panel.labs = TRUE, linetype = "solid", size = NULL, width = 0.7,notch = FALSE, select = NULL, remove = NULL, order = NULL,add = "none", add.params = list(), error.plot = "pointrange",label = NULL, font.label = list(size = 11, color = "black"),label.select = NULL, repel = FALSE, label.rectangle = FALSE,ggtheme = theme_pubr(), ...)

2°ggpubr中的两个关键函数:compare_means():做统计分析;stat_compare_means():自行完成统计分析,并在图中加入显著性信息。

(5)R语言中的dplyr包:https://blog.csdn.net/wltom1985/article/details/54973811(该篇文章中的函数介绍的比较详细)

 

 

 

 

 

 

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

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

相关文章

R语言实操记录——获取包的三种渠道及安装包的三种方式

R语言 R语言实操记录——获取包的三种渠道及安装包的三种方式 文章目录 R语言一、获取包的三种渠道二、安装包的三种方式2.1、CRAN2.2、Bioconductor2.3、Github注意 一、获取包的三种渠道 渠道1 、CRAN&#xff1a;R语言的官网&#xff0c;里面包含有绝大多部分领域的大部分…

【R语言】2022年末特辑——ggsci包色版最详分享

目录 一、前言二、官方教程2.1 NPG2.2 AAAS2.3 NEJM2.4 Lancet2.5 JAMA2.6 JCO2.7 UCSCGB2.8 d32.9 locuszoom2.10 igv2.11 uchicago2.12 startrek2.13 tron2.14 futurama2.15 rickandmorty2.16 simpsons2.17 gsea2.18 material 三、讨论 一、前言 部分新手直接化用代码跑出来…

R语言txt文件自定义词云图

在R语言中获取txt文件文本&#xff0c;并进行词频统计&#xff0c;然后自定义词云图。 先获取txt文本 wordfreqs read.table("E:\\Python实训\\哔哩哔哩弹幕爬取\\dan_mu.txt",encoding "UTF-8")这是事先用python爬虫准备好的B站番剧&#xff08;排球少…

基于R语言分析自带数据集heart

本文将对R语言中自带的heart数据集进行分析。本文会包含所有代码&#xff0c;尽可能多的使用有关可视化的函数以及数据分析的模型。 一、研究概述 1.1 数据集简介 数据集来源&#xff1a;使用R语言 glmpalh 包中自带的数据heart.data 数据集内容&#xff1a;该数据集描述了45…

摸鱼的小贤在瞎搞R - R语言内置数据集的使用

系列文章目录 1-R语言的安装及使用&#xff08;还没写这个&#xff0c;太简单了不太想写&#xff09; 2-R语言内置数据集的使用 …… 文章都会尽量详细&#xff0c;话多请见谅&#xff08;我是话痨 文章目录 系列文章目录1. 查看包中有哪些数据集2. 查看某一特定数据集的基本信…

ChatGPT对高校人才培养模式的挑战与应对策略思考

酷吗&#xff1f;输入指令后直接就能生成一大串代码&#xff0c;即使不懂相关技术也能玩转编程&#xff0c;这就是ChatGPT赋予你的“新能力”&#xff0c;除了写代码&#xff0c;ChatGPT还能帮你执行各种五花八门的任务。 AI工具如ChatGPT在行业中的广泛应用对于行业的人才结…

如何使用SMS向客户传递服务信息?指南在这里!

关键词&#xff1a;SMS运营、实时聊天客服、聊天机器人 SMS作为一种客户服务策略正变得越来越流行。了解如何使用它&#xff0c;并在此获得一些有用的模板。 通过SMS发送客户服务信息是提升客户体验的一种强有力的方式&#xff0c;并使客户获得超出他们预期的快乐。它是最近许…

SMS Call---发送短信和打电话的方法

发送短信的方法 有两种方法可以实现发送短信&#xff0c;其一是使用intent-startActivity&#xff0c;URI数据格式为"smsto:num"&#xff0c;调用的action为Intent.ACTION_SENDTO&#xff1a; Uri uri Uri.parse("smsto:5554"); Intent it new Intent(I…

ChatGPT token访问和API访问的区别,哪个更适合企业级应用?

文章目录 先介绍一下ChatGPT token访问和API访问的区别ChatGPT token访问和API访问哪种更适合企业级应用&#xff1f;如何搭建一个本地可以使用的 ChatGPT 聊天页面&#xff1f;微信公众号上如何对接 ChatGPT 并支持聊天&#xff1f; 先介绍一下 ChatGPT是基于OpenAI的GPT-4模…

UI设计:模仿淘宝App首页

UI设计&#xff1a;模仿淘宝App首页

场景导购系列一:个性化服饰搭配在淘宝搜索的实践

背景 日常生活中存在着各种各样的场景&#xff0c;比如参加晚会、海边度假、跑步、登山、垂钓等等。场景可以认为是在一些维度上相似的元素所构成的情境画面&#xff0c;不同场景会有不同的氛围、组成元素。 一些场景偏实用性&#xff0c;比如跑步&#xff0c;会让人想起要穿上…

仿淘宝商品详情,下拉切换到图片详情,上拉切换到图文简介

1&#xff1a;仿淘宝商品详情&#xff0c;下拉切换到图片详情&#xff0c;上拉切换到图文简介。 2&#xff1a;导航栏滑动显示时显示&#xff0c;静止时透明 有需要代码的可以私我

曾GMV过亿的淘宝品牌FFAN(泛泛)宣布店铺歇业

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 成立于2008年&#xff0c;曾经淘宝排名前十、年销售过亿的女装店铺&#xff0c;FFAN(泛泛)宣布店铺歇业。据店主说&#xff0c;2020年就开始了亏损。 致FFAN女孩们: 感谢一路走来的有你们的关注和…

自定义ViewGroup实现仿淘宝的商品详情页

最近公司在新版本上有一个需要&#xff0c; 要在首页添加一个滑动效果&#xff0c; 具体就是仿照X宝的商品详情页&#xff0c; 拉到页面底部时有一个粘滞效果&#xff0c; 如下图 X东的商品详情页&#xff0c;如果用户继续向上拉的话就进入商品图文描述界面&#xff1a; 刚开始…

实战淘宝穿衣搭配

1. 说明 《淘宝穿衣搭配》比赛是2015年的一个天池算法比赛&#xff0c;现已开放为新人赛&#xff0c;仍可下载数据&#xff0c;上传结果及计算排名。具体地址是&#xff1a; https://tianchi.aliyun.com/getStart/information.htm?spm5176.100067.5678.2.78904065HrZLpP&…

【Android】仿淘宝商品详情页

话不多说---先上效果图&#xff1a; 图1 商品详情页 图2 加入购物车点击事件 需求分析&#xff1a; 图1中主要需要实现的效果&#xff1a; 1.轮播图 2.顶部导航栏的渐变 3.顶部导航栏随着滑动的位置选择对应的值以及点击滑动到对应位置 图2中主要需要实现的效果&#xff1…

仿淘宝— 商品图片切换

在线展示 html: <div id"box"><ul><li id"li01"><img src"./images/01.jpg" alt""></li><li id"li02"><img src"./images/02.jpg" alt""></li><l…

淘宝内容场下的人物理解系统

本文的人物理解特指对人的视觉特征的识别&#xff0c;即从视觉维度&#xff0c;获取视频或图片中人物的身份、性别、年龄、颜值、身材、服饰、人-物关系等各种信息。 背景介绍 随着网络通信技术的迅猛发展&#xff0c;主流的信息传播已经揉合了文本、图像、语音、视频等多种媒体…

实战3-淘宝用户行为分析及可视化

淘宝用户行为分析及可视化 目录 淘宝用户行为分析及可视化分析背景明确问题读取和理解数据数据预处理数据分析与可视化用户行为分析日PV和日UVPV与UV相关性可视化 时PV和时UV相关性可视化 不同行为类型用户PV分析操作行为分析操作行为情况操作行为可视化 用户消费行为分析日ARP…

怎样一同下载淘宝天猫的商品主图详情图细节图和属性图并保存

我们都知道一个商品链接里的图片素材&#xff0c;包含有主图、主图视频、详情图、属性图等等&#xff0c;那么我们能不能把一整个链接里的所有商品图一次都给导出来保存呢&#xff1f;答案是&#xff0c;当然是可以的&#xff0c;可我们该怎么正确的去操作呢&#xff1f;下面小…