IDMIR User Guide

Xilong Zhao, Jiashuo Wu, Junwei Han

2023-11-09

Introduce

This vignette illustrates how to easily use the IDMIR package. Here, we present a network-based computational approach, IDMIR, identify dysregulated miRNAs by integrating gene transcriptomic data and a miRNA interaction network. Furthermore, the package can perform cox regression analysis to verify miRNA’s prognostic efficacy. There are also some functions used to visualize the results of survival analysis.

This network-based method consists of two major parts:


Example 1 : Calculate the GDEscore.

The function GetGDEscore is used to calculate the gene differential expression score (GDEscore). This function requires users to input the gene expression matrix and the sample label (“1” represents the disease sample. “0” represents the normal sample.). These sample data are stored in this package.

The commands are as follows:

# Obtain the example data
GEP<-GetData_Mirna("GEP")
label<-GetData_Mirna("label")
# Calculate the zscore
GDEscore<-GetGDEscore(GEP,label)
head(GDEscore)
##         GDEscore
## CFH     15.74888
## KLHL13  23.12946
## CYP26B1 13.81447
## CFLAR   17.97727
## HSPB6   26.25801
## PDK4    23.36144

Example 2 : Identify candidate miRNAs by random-walk algorithm.

The function IdentifyMiRNA is used to get a ranked list of strong and weak associations of miRNA with disease. According to our method, in this function, the user needs to enter the GDEscore which is the result of the GetGDEscore function. The nperm is the number of perturbations, and the damping is the restart probability of random walk. The commands are as follows:

# load depend package
require(igraph)
# Calculate the centrality score of miRNAs
MiRNAScore<-IdentifyMiRNA(de_kich,nperm = 10,damping = 0.9)
###view the result
MiRNAScore[1:5,-2]
##               MiRNA Number   Score P-value   FDR
## 255   hsa-miR-21-5p     49 0.00195   0.000 0.000
## 505  hsa-miR-369-5p     14 0.00118   0.000 0.000
## 294  hsa-miR-26a-5p      4 0.00180   0.000 0.000
## 65  hsa-miR-1238-3p    140 0.00099   0.001 0.001
## 30   hsa-miR-10b-5p      5 0.00016   0.002 0.002

Example 3 : Build a multivariate Cox regression model using the targets of a single miRNA.

The function SingleMiRNA_CRModel is used to build a multivariate Cox model. According to our method, in this function, the user needs to enter the miRNA of interest. The ExpData is a gene expression profile of interest. The MiRNA is the miRNA ID, and the SurvivalData is survival data. The cutoff.point is a number used to divide high-risk and low-risk groups by risk score (default is median). The commands are as follows:

# load depend package
require(survival)
## Loading required package: survival
## Warning: package 'survival' was built under R version 4.2.3
###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
# Build a multivariate cox model
SingleMiRNA_CRData<-SingleMiRNA_CRModel(GEP,"hsa-miR-21-5p",cutoff.point=NULL,survival)
###view the result
data.frame(SingleMiRNA_CRData[[1]])[1:5,]
##                  status time TGFBR3 TIMP3 ACTA2 HIPK3 RECK NFIB TGFBR2 CFL2
## TCGA.3C.AAAU.01A      0 4047   -0.7   2.5  -0.6  -0.2 -0.9 -0.8   -0.7 -0.4
## TCGA.3C.AALI.01A      0 4005   -0.7  -0.3  -0.2  -1.2 -0.4 -0.2   -0.5 -0.5
## TCGA.3C.AALJ.01A      0 1474   -0.6   0.6  -0.3  -1.1 -0.7 -0.6   -0.4 -0.3
## TCGA.3C.AALK.01A      0 1448   -0.5   0.9   0.5  -0.7  0.3 -0.2   -0.2 -0.4
## TCGA.4H.AAAK.01A      0  348   -0.6   1.7   0.1  -0.7  1.7 -0.2   -0.1 -0.4
##                        score group
## TCGA.3C.AAAU.01A -0.70282866   low
## TCGA.3C.AALI.01A -0.12534517   low
## TCGA.3C.AALJ.01A -0.29593916   low
## TCGA.3C.AALK.01A -0.13408981   low
## TCGA.4H.AAAK.01A  0.04991242  high
###view the result
data.frame(SingleMiRNA_CRData[[2]])[1:5,]
##               HR    HR.95L   HR.95H         beta    P.value
## TGFBR3 0.9898017 0.8218065 1.192139 -0.010250697 0.91398271
## TIMP3  0.8422946 0.6946581 1.021309 -0.171625436 0.08089412
## ACTA2  1.0060618 0.8649299 1.170223  0.006043537 0.93753659
## HIPK3  0.9954106 0.8358977 1.185363 -0.004599944 0.95882996
## RECK   1.2506863 1.0449974 1.496861  0.223692413 0.01468395

Example 4 : Build a multivariate Cox regression model by integrating the models constructed separately based on different miRNA targets.

The function MutiMiRNA_CRModel is used to build a multivariate Cox model. According to our method, in this function, the user needs to enter the miRNAs of interest. The ExpData is a gene expression profile of interest, The MiRNAs is the miRNA ID, and the SurvivalData is survival data. The cutoff.point is a number used to divide high-risk and low-risk groups by risk score (default is median). The commands are as follows:

# load depend package
require(survival)
###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
MiRNAs<-c("hsa-miR-21-5p","hsa-miR-26a-5p","hsa-miR-369-5p","hsa-miR-1238-3p","hsa-miR-10b-5p")
# Build a multivariate cox model
MutiMiRNA_CRData<-MutiMiRNA_CRModel(GEP,MiRNAs,cutoff.point=NULL,survival)
###view the result
data.frame(MutiMiRNA_CRData[[1]])[1:5,]
##                  status time hsa.miR.21.5p hsa.miR.26a.5p hsa.miR.369.5p
## TCGA.3C.AAAU.01A      0 4047   -0.70282866    -0.12291216     -0.1552759
## TCGA.3C.AALI.01A      0 4005   -0.12534517    -0.08779440     -0.1552759
## TCGA.3C.AALJ.01A      0 1474   -0.29593916    -0.07023552     -0.1330936
## TCGA.3C.AALK.01A      0 1448   -0.13408981    -0.03511776     -0.1109113
## TCGA.4H.AAAK.01A      0  348    0.04991242    -0.01755888     -0.1330936
##                  hsa.miR.1238.3p hsa.miR.10b.5p      score group
## TCGA.3C.AAAU.01A     0.141563149    -0.08886492 -0.2791553   low
## TCGA.3C.AALI.01A    -0.141549442    -0.07109194 -0.1218944   low
## TCGA.3C.AALJ.01A     0.002988404    -0.08886492 -0.1340748   low
## TCGA.3C.AALK.01A    -0.222947388    -0.05331895 -0.2123948   low
## TCGA.4H.AAAK.01A    -0.251633884    -0.07109194 -0.1077162   low
###view the result
data.frame(MutiMiRNA_CRData[[2]])[1:5,]
##                        HR    HR.95L   HR.95H        beta      P.value
## hsa.miR.21.5p   1.9206555 1.1699532 3.153047  0.65266652 0.0098633164
## hsa.miR.26a.5p  0.9126143 0.3668481 2.270326 -0.09144195 0.8440989401
## hsa.miR.369.5p  0.6594771 0.2967931 1.465364 -0.41630808 0.3067975175
## hsa.miR.1238.3p 2.1555406 1.4509625 3.202257  0.76804155 0.0001428791
## hsa.miR.10b.5p  1.0584837 0.5469643 2.048375  0.05683745 0.8660063402

Visualize 1: Plot the Kaplan-Meier curve.

The function plotSurvival is used to plot the Kaplan-Meier. The user needs to enter the result of the SingleMiRNA_CRModel function or the MutiMiRNA_CRModel function. The commands are as follows:

# load depend package
require(survminer)
## Warning: package 'survminer' was built under R version 4.2.2
## Warning: package 'ggplot2' was built under R version 4.2.3
## Warning: package 'ggpubr' was built under R version 4.2.3
require(survival)

###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
# plot the Kaplan-Meier curve
SingleMiRNA_CRData<-SingleMiRNA_CRModel(GEP,"hsa-miR-21-5p",cutoff.point=NULL,survival)
PlotSurvival(SingleMiRNA_CRData)


Visualize 2: Plot the heatmap of miRNA targets expression.

The function PlotHeatmap can plot the heatmap of miRNA target expression. The user needs to enter the result of the SingleMiRNA_CRModel function or the MutiMiRNA_CRModel. The commands are as follows:

# load depend package
require(pheatmap)
require(survival)
###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
# plot the heatmap of miRNA targets expression
SingleMiRNA_CRData<-SingleMiRNA_CRModel(GEP,"hsa-miR-21-5p",cutoff.point=NULL,survival)
PlotHeatmap(SingleMiRNA_CRData)


Visualize 3: Plot the forest diagram.

The function PlotForest can visualize the result of Cox regression analysis through forest plot. The user needs to enter the result of the SingleMiRNA_CRModel function or the MutiMiRNA_CRModel. The commands are as follows:

# load depend package
require(forestplot)
## Warning: package 'forestplot' was built under R version 4.2.3
## Warning: package 'checkmate' was built under R version 4.2.3
require(survival)
###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
# plot the forest diagram
SingleMiRNA_CRData<-SingleMiRNA_CRModel(GEP,"hsa-miR-21-5p",cutoff.point=NULL,survival)
PlotForest(SingleMiRNA_CRData)


Visualize 4: Plot the Scatter diagram.

The function PlotScatter can visualize the clinical information of samples through scatter diagram. The user needs to enter the result of the SingleMiRNA_CRModel function or the MutiMiRNA_CRModel. The commands are as follows:

# load depend package
require(egg)
## Warning: package 'egg' was built under R version 4.2.3
require(survival)
require(ggplot2)
###Get the survival and gene expression data
GEP<-GetData_Mirna("GEP")
survival<-GetData_Mirna("survival")
# plot the scatter diagram
SingleMiRNA_CRData<-SingleMiRNA_CRModel(GEP,"hsa-miR-21-5p",cutoff.point=NULL,survival)
PlotScatter(SingleMiRNA_CRData)