最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

小云帶你做單基因相關(guān)miRNA的分析繪圖

2023-09-11 16:20 作者:爾云間  | 我要投稿

基因-微小RNA(miRNA)的相關(guān)性分析,可以探索基因和miRNA之間的潛在相互作用和調(diào)控關(guān)系。意義在于幫助研究人員分析基因和miRNA之間的關(guān)系,并找到與目標(biāo)基因相關(guān)的miRNA,以及它們之間的調(diào)控機(jī)制。這對于深入理解基因調(diào)控網(wǎng)絡(luò)、發(fā)現(xiàn)潛在的生物標(biāo)志物研究疾病的發(fā)生機(jī)制等方面都具有重要意義。

代碼中選擇了一個(gè)目標(biāo)基因(gene)并對其與miRNA的表達(dá)量進(jìn)行相關(guān)性分析。通過計(jì)算相關(guān)系數(shù)和p值,可以確定與目標(biāo)基因表達(dá)量顯著相關(guān)的miRNA。下面是原始下載的基因表達(dá)量數(shù)據(jù)和mirna的原始數(shù)據(jù)。

#if (!requireNamespace("BiocManager", quietly = TRUE))

#???install.packages("BiocManager")

#BiocManager::install("limma")

?

#install.packages("ggpubr")

#install.packages("ggExtra")

# 首先,檢查是否已經(jīng)安裝了名為

"BiocManager"的包,如果沒有則進(jìn)行安裝。 接下來,安#裝"limma"、"ggpubr"和"ggExtra"包。 #引用包 library(limma) library(reshape2) library(ggpubr) library(ggExtra) ? corFilter=0.2??????????????????#相關(guān)系數(shù)過濾標(biāo)準(zhǔn) pvalueFilter=0.001?????????????#pvalue過濾標(biāo)準(zhǔn) gene="VCAN"????????????????????#示例展示的基因名稱

expFile="diffGeneExp.txt"??????#基因表達(dá)文件

miExpFile="miRNAmatrix.txt"????#miRNA表達(dá)文件

mirnaFile="miRNA.txt"??????????#miRNA列表文件,之前rownames提取出的行名

#初始化了一些變量,包括相關(guān)系數(shù)過濾閾值(corFilter)、p值過濾閾值(pvalueFilter)、 #目標(biāo)基因名稱(gene)、基因表達(dá)文件名(expFile)、miRNA表達(dá)文件名(miExpFile)、#miRNA列表文件名(mirnaFile) ? #讀取基因表達(dá)文件,提取目標(biāo)基因的表達(dá)量 rt=read.table(expFile, header=T, sep="\t", check.names=F) rt=as.matrix(rt) rownames(rt)=rt[,1] exp=rt[,2:ncol(rt)] dimnames=list(rownames(exp),colnames(exp)) data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames) data=avereps(data) data=data[gene,,drop=F] #從指定的文件(expFile)中讀取基因表達(dá)數(shù)據(jù)。基因名稱作為行名,提取目標(biāo)基因的表達(dá) #量數(shù)據(jù)。將表達(dá)量數(shù)據(jù)轉(zhuǎn)換為矩陣形式,存儲在變量"data"中 #刪掉正常樣品 group=sapply(strsplit(colnames(data),"\\-"), "[", 4) group=sapply(strsplit(group,""), "[", 1) group=gsub("2", "1", group) conData=data[,group==1,drop=F] treatData=data[,group==0,drop=F] logFC=mean(treatData)-mean(conData) geneExp=data[,group==0,drop=F] #???從基因表達(dá)數(shù)據(jù)中分離出正常樣本和腫瘤樣本。計(jì)算腫瘤樣本和正常樣本的平均表達(dá) #量之差(logFC)。將腫瘤組的基因表達(dá)數(shù)據(jù)存儲在變量"geneExp"中。 #讀取miRNA表達(dá)數(shù)據(jù) rt1=read.table(miExpFile, header=T, sep="\t", check.names=F) rt1=as.matrix(rt1) rownames(rt1)=rt1[,1] exp1=rt1[,2:ncol(rt1)] dimnames1=list(rownames(exp1),colnames(exp1)) miRNA=matrix(as.numeric(as.matrix(exp1)), nrow=nrow(exp1), dimnames=dimnames1) miRNA=avereps(miRNA) miRNA=miRNA[rowMeans(miRNA)>0,] #從指定的文件(miExpFile)中讀取miRNA表達(dá)數(shù)據(jù)。將miRNA名稱作為行名,提取miRNA #的表達(dá)量數(shù)據(jù)。將表達(dá)量數(shù)據(jù)轉(zhuǎn)換為矩陣形式,存儲在變量"miRNA"中 #提取目標(biāo)miRNA表達(dá)量 miList=read.table(mirnaFile, header=F, sep="\t", check.names=F) sameMirna=intersect(row.names(miRNA), as.vector(miList[,1])) miRNA=miRNA[sameMirna,] miRNA=log2(miRNA+1) ? #正常和腫瘤樣品數(shù)目 group=sapply(strsplit(colnames(miRNA),"\\-"), "[", 4) group=sapply(strsplit(group,""), "[", 1) group=gsub("2", "1", group) miRNAtumor=miRNA[,group==0] conNum=length(group[group==1])??????#正常組樣品數(shù)目 treatNum=length(group[group==0])????#腫瘤組樣品數(shù)目 sampleType=c(rep("Normal",conNum), rep("Tumor",treatNum)) colnames(miRNAtumor)=gsub("(.*?)\\-(.*?)\\-(.*?)\\-(.*?)\\-.*","\\1\\-\\2\\-\\3-\\4",colnames(miRNAtumor)) ? #樣品取交集 sameSample=intersect(colnames(miRNAtumor), colnames(geneExp)) miRNAtumor=miRNAtumor[,sameSample,drop=F] geneExp=geneExp[,sameSample,drop=F] y=as.numeric(geneExp[gene,]) #???從miRNA和基因表達(dá)數(shù)據(jù)中獲取樣本的類型(正常/腫瘤)信息。獲取樣本的類型和 #樣本數(shù)目。確定miRNA和基因表達(dá)數(shù)據(jù)中樣本的交集,即在兩個(gè)數(shù)據(jù)中都存在的樣本。 #相關(guān)性檢驗(yàn) outTab=data.frame() for(i in row.names(miRNAtumor)){ if(sd(miRNAtumor[i,])>0.01){ #miRNA差異分析 miLogFC=mean(miRNA[i,((conNum+1):ncol(miRNA))])-mean(miRNA[i,1:conNum]) test=wilcox.test(miRNA[i,] ~ sampleType) diffPvalue=test$p.value #相關(guān)性分析 x=as.numeric(miRNAtumor[i,]) corT=cor.test(x, y, method="spearma") cor=corT$estimate pvalue=corT$p.value outTab=rbind(outTab,cbind(Gene=gene, miRNA=i, cor, pvalue, logFC=miLogFC, diffPval=diffPvalue)) #對滿足相關(guān)性過濾條件的miRNA進(jìn)行可視化 if((cor< -corFilter) & (pvalue

對miRNA表達(dá)數(shù)據(jù)中的每個(gè)miRNA進(jìn)行循環(huán)遍歷:

????如果該miRNA的表達(dá)量的標(biāo)準(zhǔn)差大于0.01:

????????計(jì)算miRNA在腫瘤組和正常組之間的平均表達(dá)量差異(miLogFC)。

????????進(jìn)行miRNA表達(dá)量與目標(biāo)基因表達(dá)量之間的相關(guān)性分析,使用的是Spearman相關(guān)系數(shù)和對應(yīng)的p值。

????????將相關(guān)性結(jié)果存儲在數(shù)據(jù)框"outTab"中。

????????對滿足相關(guān)性過濾條件的miRNA進(jìn)行可視化,包括繪制相關(guān)性散點(diǎn)圖和差異的箱線圖,并將結(jié)果保存為PDF文件。

#輸出相關(guān)性結(jié)果 outTab=outTab[order(as.numeric(as.vector(outTab[,"cor"]))),] write.table(file="net.network.txt",outTab,sep="\t",quote=F,row.names=F) ? #輸出相關(guān)性節(jié)點(diǎn)屬性 miNode=data.frame(Node=unique(as.vector(outTab[,"miRNA"])), Type="miRNA") geneNode=data.frame(Node=unique(as.vector(outTab[,"Gene"])), Type="Gene") nodeOut=rbind(miNode, geneNode) write.table(nodeOut, file="net.node.txt", sep="\t", quote=F, row.names=F) ? #輸出相關(guān)性顯著的結(jié)果 outTab=outTab[((as.numeric(as.vector(outTab[,"cor"]))<-corFilter)&(as.numeric(as.vector(outTab[,"pvalue"])) < pvalueFilter)),] write.table(file="cor.sig.txt",outTab,sep="\t",quote=F,row.names=F) ? #輸出相關(guān)性顯著miRNA的表達(dá)量 corMirna=unique(as.vector(outTab[,"miRNA"])) corMirnaExp=miRNA[corMirna,,drop=F] corMirnaExp=rbind(ID=colnames(corMirnaExp), corMirnaExp) write.table(corMirnaExp, file="cor.MirnaExp.txt", sep="\t", quote=F, col.names=F) ??? 通過基因和miRNA之間的相關(guān)性分析,可以找到基因和miRNA之間的調(diào)控關(guān)系。通過分析它們之間的相關(guān)性,可以識別出與目標(biāo)基因表達(dá)密切相關(guān)的miRNA。這有助于理解基因調(diào)控網(wǎng)絡(luò)中的調(diào)節(jié)模式和機(jī)制。發(fā)現(xiàn)潛在的miRNA調(diào)控靶點(diǎn):相關(guān)性分析可以幫助確定miRNA的潛在靶點(diǎn)基因。如果一個(gè)miRNA與某個(gè)基因呈現(xiàn)顯著的相關(guān)性,那么該基因很可能是該miRNA的調(diào)控靶點(diǎn)。 下面我們來看看結(jié)果輸出文件列表和結(jié)果圖示范。

好了小云今天的講解就到這里了,下期再見~

小云帶你做單基因相關(guān)miRNA的分析繪圖的評論 (共 條)

分享到微博請遵守國家法律
武川县| 白水县| 德阳市| 广平县| 论坛| 嘉兴市| 衡阳县| 乐亭县| 乌兰浩特市| 永济市| 永吉县| 清流县| 元朗区| 张家口市| 大城县| 上思县| 苏尼特右旗| 环江| 上栗县| 肃北| 花莲市| 来安县| 凯里市| 祁东县| 衡山县| 南京市| 乐都县| 阳西县| 武邑县| 安平县| 哈巴河县| 盐源县| 游戏| 福安市| 都江堰市| 山阳县| 韩城市| 新昌县| 庆城县| 夏邑县| 隆安县|