R语言之生信(11)五分钟学会用R语言构建ceRNA网络

2019-05-07 11:02:51 浏览数 (3)

======================================

背景:

microRNA作为一种重要的调控因子,是长短约22nt的短链RNA,能够通过抑制目的基因的翻译或降解目的基因,从而反向调节目的基因的表达。而实际调控过程中不仅仅是简单的microRNA-mRNA的沉默机制,还有更为复杂的调控网络,一些非编码的RNA同样存在与microRNA的结合位点,在细胞中起到miRNA海绵(miRNA sponge)的作用,进而解除miRNA对其靶基因的抑制作用,升高靶基因的表达水平,也因此构建了庞大的ceRNA网络(ceRNETs),这一作用机制被称为竞争性内源RNA(ceRNA)机制。

材料

(1)mRNA表达矩阵(2)miRNA表达矩阵(3)lncRNA表达矩阵,他们的格式如下所示:

我们想要的结果大致如下: (1)寻找miRNA-mRNA调节关系对 (2)寻找miRNA-lncRNA调节关系对 (3)合并miRNA-mRNA、miRNA-lncRNA调节关系对,构建ceRNA网络

  • R语言运行的调控关系对如下所示: 根据相关分析,找到符合我们统计学要求(p < 0.05同时 correlation值小于-0.4)的关系对

第一步

读取数据集(将mRNA,miRNA和lncRNA表达矩阵读取进来)

代码语言:javascript复制
library(reshape2)
library(dplyr)
library(tidyr)
rm(list=ls())
setwd('D:\train\data')

mRNA <- read.csv('mRNA.csv',sep = ',',header = T,row.names = 1)
miRNA <- read.csv('miRNA.csv',sep = ',',header = T,row.names = 1)
lncRNA <- read.csv('lncRNA.csv',sep = ',',header = T,row.names = 1)

第二步

去除单独的样本(因为有的样本可能做了mRNA测序,却没做miRNA测序。因此我们需要筛选出来那些同时做了mRNA,miRNA,lncRNA测序的样本)

代码语言:javascript复制
a <- colnames(mRNA)
b <- colnames(miRNA)
c <- colnames(lncRNA)

sample <- intersect(a,intersect(b,c))

mRNA <- mRNA[,which(colnames(mRNA) %in% sample )]
miRNA <- miRNA[,which(colnames(miRNA) %in% sample )]
lncRNA <- lncRNA[,which(colnames(lncRNA) %in% sample )]
mRNA <-  as.data.frame(t(mRNA))
miRNA <-  as.data.frame(t(miRNA))
lncRNA <-  as.data.frame(t(lncRNA))

mRNA <- mRNA[order(rownames(mRNA)),]
miRNA <- miRNA[order(rownames(miRNA)),]
lncRNA <- lncRNA[order(rownames(lncRNA)),]

第三步

寻找任一(miRNA)与任一(mRNA)相关性分析结果(主要关注两个统计学指标:P值和cor值)

0 人点赞