表达矩阵任意两个基因相关性分析 批量相关性分析 tcga geo 矩阵中相关性强的基因对 基因相关性
创始人
2024-04-01 16:59:51
0

使用场景

  • 1.已经确定研究的基因,但是想探索他潜在的功能,可以通过跟这个基因表达最相关的基因来反推他的功能,这种方法在英语中称为guilt of association,协同犯罪

  • 2.我们的注释方法依赖于TCGA大样本,既然他可以注释基因,那么任何跟肿瘤相关的基因都可以被注释,包括长链非编码RNA

下面操作开始:

1.加载已经整理好的癌症数据

 
  1. load(file = "exprSet_arrange.Rdata")

  2. exprSet[1:3,1:3]

这个数据依然是行是样本,列是基因。 

2.批量相关性分析

将第一行目的基因跟其他行的编码基因批量做相关性分析,得到相关性系数以及p值 需要大概30s左右的时间。

 
  1. y <- as.numeric(exprSet[,"PDCD1"])colnames <- colnames(exprSet)cor_data_df <- data.frame(colnames)for (i in 1:length(colnames)){test <- cor.test(as.numeric(exprSet[,i]),y,type="spearman")cor_data_df[i,2] <- test$estimatecor_data_df[i,3] <- test$p.value}names(cor_data_df) <- c("symbol","correlation","pvalue")

查看这个数据结构

 
  1. head(cor_data_df)

3.筛选最相关的基因

筛选p值小于0.05,按照相关性系数绝对值选前500个的基因, 数量可以自己定

 
  1. library(dplyr)

  2. library(tidyr)

  3. cor_data_sig <- cor_data_df %>%

  4.  filter(pvalue < 0.05) %>%

  5.  arrange(desc(abs(correlation)))%>%

  6.  dplyr::slice(1:500)

4.随机选取正的和负的分别作图验证

用到的方法在以前的图有毒系列里面 图有毒系列之二

正相关的选取IL2RG

 
  1. library(ggstatsplot)

  2. ggscatterstats(data = exprSet,

  3.               y = PDCD1,

  4.               x = IL2RG,

  5.               centrality.para = "mean",                              

  6.               margins = "both",                                        

  7.               xfill = "#CC79A7",

  8.               yfill = "#009E73",

  9.               marginal.type = "histogram",

  10.               title = "Relationship between PDCD1 and IL2RG")

负相关的选取MARK1

 
  1. library(ggstatsplot)

  2. ggscatterstats(data = exprSet,

  3.               y = PDCD1,

  4.               x = MARK1,

  5.               centrality.para = "mean",                              

  6.               margins = "both",                                        

  7.               xfill = "#CC79A7",

  8.               yfill = "#009E73",

  9.               marginal.type = "histogram",

  10.               title = "Relationship between PDCD1 and IL2RG")

我们还可以用cowplot拼图

 
  1. library(cowplot)p1 <- ggscatterstats(data = exprSet,y = PDCD1,x = IL2RG,centrality.para = "mean",                              margins = "both",                                        xfill = "#CC79A7",yfill = "#009E73",marginal.type = "histogram",title = "Relationship between PDCD1 and IL2RG")p2 <- ggscatterstats(data = exprSet,y = PDCD1,x = MARK1,centrality.para = "mean",                              margins = "both",                                        xfill = "#CC79A7",yfill = "#009E73",marginal.type = "histogram",title = "Relationship between PDCD1 and IL2RG")plot_grid(p1,p2,nrow = 1,labels = LETTERS[1:2])

5.下面进行聚类分析

既然确定了相关性是正确的,那么我们用我们筛选的基因进行富集分析就可以反推这个基因的功能

 
  1. library(clusterProfiler)

  2. #获得基因列表

  3. library(stringr)

  4. gene <- str_trim(cor_data_sig$symbol,'both')

  5. #基因名称转换,返回的是数据框

  6. gene = bitr(gene, fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Hs.eg.db")

  7. go <- enrichGO(gene = gene$ENTREZID, OrgDb = "org.Hs.eg.db", ont="all")

这里因为是计算的所有GO分析的三个分类,所以可以合并作图

这是条形图

 
  1. barplot(go, split="ONTOLOGY")+ facet_grid(ONTOLOGY~., scale="free")

 这是气泡图

 
  1. dotplot(go, split="ONTOLOGY")+ facet_grid(ONTOLOGY~., scale="free")

这时候,我们能推断PDCD1这个基因主要参与T细胞激活,细胞因子受体活性调剂等功能,大致跟她本身的功能是一致的。 

这种方法,即使是非编码基因也可以注释出来,想到长链非编码基因的数量,真是钱途无量。

 

欢迎关注 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...