- Introduce
- Example 1 : Calculate the GDEscore.
- Example 2 : Identify candidate miRNAs by random-walk algorithm.
- Example 3 : Build a multivariate Cox regression model using the targets of a single miRNA.
- Example 4 : Build a multivariate Cox regression model by integrating the models constructed separately based on different miRNA targets.
- Visualize 1: Plot the Kaplan-Meier curve.
- Visualize 2: Plot the heatmap of miRNA targets expression.
- Visualize 3: Plot the forest diagram.
- Visualize 4: Plot the Scatter diagram.

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:

1.Calculating the GDEscore. We conducted a statistical comparison of gene expression values between case and control groups (e.g. disease and normal). In this case, we use Student’s t-test method to compute the gene differentially expressed level for each gene between disease and normal samples, and convert the t-test p-value of each gene to z-score. The z-score is defined as GDEscore, and a larger GDEscore indicates the gene regulated by disease to a greater extent.

2.Constructing network and performing randomization. In our method, we fist constructed a miRNA-GO bipartite network. The molecular function gene sets were downloaded from C5 Gene sets derived from the GO Molecular Function ontology in the Molecular Signatures Database (MSigDB). We then defined an edge between a miRNA and a GO term if they have at least a common gene, and give the weight of this edge that calculate by the Jaccard index and GDEscore. Next, we proposed to construct a miRNA-miRNA interaction network. The information from the miRNA-GO bipartite graph was used to evaluate the extent of interaction between two miRNAs as the edge’s weight. We consider that the extent of interaction between two miRNAs will be stronger when there are more GO terms they target in common and the more related they are to these GO terms. Then, we used the eigenvector centrality measure to calculate how central each miRNA is in this miRNA-miRNA interaction network. Finally, the statistical significance of these centrality scores is assessed using a bootstrap-based randomization method. Statistically significant miRNAs will serve as potential dysregulated miRNAs.

This package provides the

`GetData_Mirna`

function to return example data set and environment variables, such as the gene expression profile and so on.

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
```

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
```

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:

`## 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
```

```
## 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
```

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
```

```
## 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
```

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:

`## 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)
```

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)
```

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:

`## 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)
```

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:

`## 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)
```