rnaseq_将lncRNA和mRNA进行相关性分析

r语言cor.test函数算出r值和p值

 将lncRNA和mRNA进行相关性分析,并把r值和p值写入文件中

setwd("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation")

library(magrittr)
library(pheatmap)
library(corrplot)
library(Hmisc)
library(psych)
library(tidyverse)

##导入数据并转换格式
lncRNA <- read.csv("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\lncRNA_VST.csv",header=T,row.names=1)
mRNA <- read.csv("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\mRNA_VST.csv" ,header=T,row.names=1)
lnc_mfuzz <- read.csv("C:\\Users\\DI\\Desktop\\mfuzz\\lnc_mfuzz.csv",header=T,row.names=1)
lncRNA <- lncRNA[rownames(lnc_mfuzz),]
lncRNA <- lncRNA %>% t() %>% as.matrix()
mRNA <- mRNA %>% t() %>% as.matrix()


##相关性分析
tmp <- with(expand.grid(seq(ncol(lncRNA)), seq(ncol(mRNA))),
            mapply(function(i, j) cor.test(lncRNA[, i], mRNA[, j]),
                   Var1, Var2))

r <- matrix(unlist(tmp['estimate', ]), nrow=ncol(lncRNA),
                dimnames=list(colnames(lncRNA), colnames(mRNA)))

p <- matrix(unlist(tmp['p.value', ]), nrow=ncol(lncRNA),
       dimnames=list(colnames(lncRNA), colnames(mRNA)))

#write.csv(r,file = "r.csv")
#write.csv(p,file = "p.csv")

做出来的r值和p值长这样

接下来将其转换成长矩阵并合并成一个csv文件,以便于下一步Cytoscape绘制相关性网络图

setwd("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\cellage_output")
library(tidyverse)
library(reshape2)
library(igraph)
library(psych)


cor.r <- read.csv("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\cellage_output\\r.csv",header = TRUE,row.names = 1, check.names=FALSE)
cor.p <- read.csv("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\cellage_output\\p.csv",header = TRUE,row.names = 1, check.names=FALSE)
type = read.csv("C:\\Users\\DI\\Desktop\\PRJNA516151_lnc\\correlation\\cellage_output\\type.csv",header = TRUE, check.names=FALSE) 


### 确定相关性关系 保留p<=0.05且abs(r)>=0.6的变量间相关关系
cor.r[abs(cor.r) > 0.6 | cor.p < 0.05] = 0

cor.r = as.matrix(cor.r)

g = melt(cor.r)
g <- as.matrix(g)
####

#g = graph_from_adjacency_matrix(cor.r,mode = "max",weighted = TRUE,diag = FALSE)
#### 将数据转换为long format进行过滤,后面绘制网络图需要节点和链接数据,在这一步可以完成格式整理
cor.r <- as.data.frame(cor.r)


cor.r$node1 = rownames(cor.r) 
cor.p$node1 = rownames(cor.p)

cor.r <- as.data.frame(cor.r)

r = cor.r %>% 
  gather(key = "node2", value = "r", -node1) %>%
  data.frame()

p = cor.p %>% 
  gather(key = "node2", value = "p", -node1) %>%
  data.frame()
head(r)
head(p)
cor.r.p <- cbind(r,p[3])
#write.csv(cor.r.p, file = 'cor_r_p.csv')

导出的csv文件就可以直接使用Cytoscape软件进行后续分析

 新建一列flag,将大于0的为正号,r小于0为负号

 Cytoscape绘制出相关性网络图

 mcode聚类出八个cluster

 导出基因进行后续分析

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值