TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图

花花写于2020-01-31

1.输入数据和R包

rm(list=ls())
library(ggpubr)
library(stringr)
load(file = "for_boxplot.Rdata")

这里面有三个数据:

expr和meta是miRNA的表达矩阵和临床信息,由GDC下载整理得到。

mut是突变信息,读取maf得到的数据框筛选了几列得到。

在生信星球公众号回复“box”即可获得。也可参照前面的笔记自己获得。(为什么是box呢,因为和箱线图用的同一个数据,我又懒得改了。)

expf = expr[,as.numeric(substr(colnames(expr),14,15)) < 10]
expf = expf[,!duplicated(str_sub(colnames(expf),1,12))]
x1=str_sub(colnames(expf),1,12)
x2=str_to_upper(meta$patient.bcr_patient_barcode)
meta = meta[x2 %in% x1 ,]
expm = expf[,x1 %in% unique(str_sub(mut$Tumor_Sample_Barcode,1,12))]

VHL_mut=substr(as.character(
  as.data.frame( mut[mut$Hugo_Symbol=='VHL','Tumor_Sample_Barcode'])[,1] ),
  1,12)

expf 是表达矩阵expr去掉正常样本后,仅保留肿瘤样本并去重。
expm 是有突变记录的肿瘤样本的表达矩阵。在上一节中有代码过程记录。

2.任意两个基因的相关性分析

2.1 简单绘图

使用ggpbur。

dat=data.frame(gene1=log2(expf['hsa-mir-10b',]+1),
               gene2=log2(expf['hsa-mir-143',]+1),
               stage=as.factor(meta$patient.stage_event.pathologic_stage))


sp1 <- ggscatter(dat, x = "gene1", y = "gene2",
                add = "reg.line",  # Add regressin line 
                add.params = list(color = "blue", fill = "lightgray"), # Customize reg. line
                conf.int = TRUE # Add confidence interval
) + stat_cor(method = "pearson", label.x = 15, label.y = 20)
sp1
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第1张图片

2.2 按照stage分组

不仅stage,任意在meta信息中能找到或生产的分组都可以。

sp2 <- ggscatter( dat, x = "gene1", y = "gene2",
                color = "stage", palette = "jco",
                add = "reg.line", conf.int = TRUE) +  stat_cor(aes(color = stage),label.x = 15 )
sp2
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第2张图片

2.3 按照是否突变来分组

理论上某个是否突变并不会改变某两个基因的相关性趋势,如果有这种特殊的突变,打乱了两个基因之间正常的相关关系,机制就有了。可以写循环试一下是否有这样的基因突变。

dat=data.frame(gene1=log2(expm['hsa-mir-10b',]+1),
               gene2=log2(expm['hsa-mir-143',]+1),
               mut= substr(colnames(expm),1,12) %in% VHL_mut)
sp3 <- ggscatter( dat, x = "gene1", y = "gene2",
                color = "mut", palette = "jco",
                add = "reg.line", conf.int = TRUE) +  stat_cor(aes(color = mut),label.x = 15 )
sp3
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第3张图片

3.强迫症闲的没事想给图分身

本以为会很麻烦,可以多浪费一点时间。打开了前年写的ggplot学习笔记,没想到异常简单。
https://www.jianshu.com/u/c93ac360691a(现在看看,写的什么玩意,不想承认是我写的了。)

sp2  + facet_wrap(~stage, scales = "free_x")
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第4张图片
sp3  + facet_wrap(~mut, scales = "free_x")
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第5张图片

4.闲的没事还喜欢玩拼图

自从有了patchwork,我拼图来就雄赳赳气昂昂了。

library(patchwork)
sp1 +sp2 +sp3
TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第6张图片

微信公众号生信星球同步更新我的文章,欢迎大家扫码关注!

TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图_第7张图片

我们有为生信初学者准备的学习小组, 点击查看◀️
想要参加我的线上线下课程,也可加好友咨询
如果需要提问,请先看 生信星球答疑公告

你可能感兴趣的:(TCGA-17.表达矩阵中任意两个基因的相关性分析和绘图)