The miRNA Enrichment Analysis and Annotation Tool (miEAA) is a service provided by the Chair for Clinical Bioinformatics at Saarland University. Basically, miEAA is a multi-species microRNA enrichment analysis tool. For more information, see their website or published paper.
Before Performing enrichment analysis on a miRNA set, note that based on your input miRNA type (either all mature or precursor, not a mixture of both!) and the species, there will be different sets of supported enrichment categories.
Thus, it is recommended to retrieve a list of possible enrichment categories that you may use:
## A list of available enrichment categories for:
## mature human miRNA:
rba_mieaa_cats(mirna_type = "mature", species = 9606)
## precursor human miRNA
rba_mieaa_cats(mirna_type = "precursor", species = 9606)
## precursor zebrafish miRNA
rba_mieaa_cats(mirna_type = "mature", species = "Danio rerio")
There are two approaches to do this, we will start with the simpler one.
Just fill the arguments of rba_mieaa_enrich()
according
to the function’s manual; As you can see in the function’s arguments,
you have a lot of controls over your enrichment request, but you need to
provide test_set
, mirna_type
,
test_type
, and species
:
## 1 We create a variable with our miRNAs' mature IDs
mirs <- c(
"hsa-miR-20b-5p", "hsa-miR-144-5p", "hsa-miR-17-5p", "hsa-miR-20a-5p",
"hsa-miR-222-3p", "hsa-miR-106a-5p", "hsa-miR-93-5p", "hsa-miR-126-3p",
"hsa-miR-363-3p", "hsa-miR-302c-3p", "hsa-miR-374b-5p", "hsa-miR-18a-5p",
"hsa-miR-548d-3p", "hsa-miR-135a-3p", "hsa-miR-558", "hsa-miR-130b-5p",
"hsa-miR-148a-3p"
)
## 2a We can perform enrichment analysis on our miRNA set without limiting the analysis to any categories
mieaa_all <- rba_mieaa_enrich(
test_set = mirs,
mirna_type = "mature",
test_type = "ORA",
species = 9606
)
#> -- Step 1/3: Submitting Enrichment analysis request:
#> No categories were supplied, Requesting enrichment using all of the 32 available categories for species 'Homo sapiens'.
#> Submitting ORA enrichment request for 17 miRNA IDs of species Homo sapiens to miEAA servers.
#>
#> -- Step 2/3: Checking for Submitted enrichment analysis's status every 5 seconds.
#> Your submitted job ID is: 88084754-40ac-4b04-a8ba-95afb4f009c8
#> .....
#>
#> -- Step 3/3: Retrieving the results.
#> Retrieving results of submitted enrichment request with ID: 88084754-40ac-4b04-a8ba-95afb4f009c8
## 2b Or, We can limit the enrichment to certain datasets (enrichment categories)
mieaa_kegg <- rba_mieaa_enrich(
test_set = mirs,
mirna_type = "mature",
test_type = "ORA",
species = 9606,
categories = "KEGG_mature"
)
#> -- Step 1/3: Submitting Enrichment analysis request:
#> Submitting ORA enrichment request for 17 miRNA IDs of species Homo sapiens to miEAA servers.
#>
#> -- Step 2/3: Checking for Submitted enrichment analysis's status every 5 seconds.
#> Your submitted job ID is: 148dcfb8-dbb1-49cb-b968-efd88825880c
#> .
#>
#> -- Step 3/3: Retrieving the results.
#> Retrieving results of submitted enrichment request with ID: 148dcfb8-dbb1-49cb-b968-efd88825880c
As stated before, rba_mieaa_enrich()
is a wrapper
function, meaning that it executes the following sequence of
functions:
## 1 Submit enrichment request to miEAA
request <- rba_mieaa_enrich_submit(
test_set = mirs,
mirna_type = "mature",
test_type = "ORA",
species = 9606,
categories = c("miRWalk_Diseases_mature", "miRWalk_Organs_mature")
)
## 2 check for job's running status
rba_mieaa_enrich_status(job_id = request$job_id)
## 3 If the job has completed, retrieve the results
results <- rba_mieaa_enrich_results(job_id = request$job_id)
Please Note: Other services supported by rbioapi also provide Over-representation analysis tools. Please see the vignette article Do with rbioapi: Over-Representation (Enrichment) Analysis in R (link to the documentation site) for an in-depth review.
miEAA only recognizes miRBASE version 22 accessions. You can use
rba_mieaa_convert_version()
to convert miRNA accession
between different miRBASE versions. Also, as stated before, miEAA
differentiate between precursor and mature miRNA accessions, to convert
between these 2 accession types, use
rba_mieaa_convert_type()
.
To cite miEAA (Please see https://ccb-compute2.cs.uni-saarland.de/mieaa2/):
To cite rbioapi:
#> R version 4.4.3 (2025-02-28)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.2 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
#>
#> locale:
#> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
#> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
#> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
#> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
#> [9] LC_ADDRESS=C LC_TELEPHONE=C
#> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: Etc/UTC
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] rbioapi_0.8.2 rmarkdown_2.29
#>
#> loaded via a namespace (and not attached):
#> [1] httr_1.4.7 cli_3.6.4 knitr_1.49 rlang_1.1.5
#> [5] xfun_0.51 png_0.1-8 jsonlite_1.9.1 DT_0.33
#> [9] buildtools_1.0.0 htmltools_0.5.8.1 maketools_1.3.2 sys_3.4.3
#> [13] sass_0.4.9 grid_4.4.3 crosstalk_1.2.1 evaluate_1.0.3
#> [17] jquerylib_0.1.4 fastmap_1.2.0 yaml_2.3.10 lifecycle_1.0.4
#> [21] compiler_4.4.3 htmlwidgets_1.6.4 digest_0.6.37 R6_2.6.1
#> [25] curl_6.2.1 magrittr_2.0.3 bslib_0.9.0 tools_4.4.3
#> [29] cachem_1.1.0