-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrbioapi_mieaa.Rmd
176 lines (131 loc) · 6.97 KB
/
rbioapi_mieaa.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
---
title: "2.C: miEEA & rbioapi"
author: "Moosa Rezwani"
description: >
Connect to miEAA in R with rbioapi package.
date: "`r Sys.Date()`"
output:
rmarkdown::html_vignette:
toc: true
anchor_sections: true
number_sections: true
self_contained: true
dev: png
encoding: 'UTF-8'
vignette: >
%\VignetteIndexEntry{2.C: miEEA & rbioapi}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r message=FALSE, include=FALSE, results="hide", setup, echo=FALSE}
knitr::opts_chunk$set(
echo = TRUE,
eval = TRUE,
message = FALSE,
warning = FALSE,
collapse = TRUE,
tidy = FALSE,
cache = FALSE,
dev = "png",
comment = "#>"
)
library(rbioapi)
rba_options(timeout = 30, skip_error = TRUE)
```
# Introduction {#introduction}
The miRNA Enrichment Analysis and Annotation Tool ([miEAA](https://ccb-compute2.cs.uni-saarland.de/mieaa2 "https://ccb-compute2.cs.uni-saarland.de/mieaa2")) is a service provided by the [Chair for Clinical Bioinformatics at Saarland University](https://www.ccb.uni-saarland.de/). Basically, miEAA is a multi-species microRNA enrichment analysis tool. For more information, see their [website](https://ccb-compute2.cs.uni-saarland.de/mieaa2 "https://ccb-compute2.cs.uni-saarland.de/mieaa2") or [published paper](https://doi.org/10.1093/nar/gkaa309 "miEAA 2.0: integrating multi-species microRNA enrichment analysis and workflow management systems").
------------------------------------------------------------------------
# First, find **enrichment categories** {.heading2}
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](https://ccb-compute2.cs.uni-saarland.de/mieaa2/downloads/ "miEEA integrated data sets") of supported **enrichment categories.**
Thus, it is recommended to retrieve a list of possible enrichment categories that you may use:
```{r rba_mieaa_cats, eval=FALSE}
## 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")
```
------------------------------------------------------------------------
# Submit Enrichment analysis request to miEAA {#submit-enrichment-analysis-request-to-mieaa}
There are two approaches to do this, we will start with the simpler one.
## Approach 1: Using the Wrapper function {#approach-1-using-the-wrapper-function}
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`:
```{r rba_mieaa_enrich, message=TRUE}
## 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
)
## 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"
)
```
```{r mieaa_kegg_table, echo=FALSE}
if (is.data.frame(mieaa_kegg)) {
DT::datatable(
data = mieaa_kegg,
options = list(
scrollX = TRUE,
paging = TRUE,
fixedHeader = TRUE,
keys = TRUE,
pageLength = 10
)
)
} else {
print("Vignette building failed. It is probably because the web service was down during the building.")
}
```
## Approach 2: Going step-by-step {#approach-2-going-step-by-step}
As stated before, `rba_mieaa_enrich()` is a wrapper function, meaning that it executes the following sequence of functions:
```{r rba_meaa_submit/status/results, eval=FALSE}
## 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](rbioapi_do_enrich.html) ([link to the documentation site](https://rbioapi.moosa-r.com/articles/rbioapi_do_enrich.html)) for an in-depth review.
------------------------------------------------------------------------
# Convert miRNA accessions {#convert-mirna-accessions}
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()`.
------------------------------------------------------------------------
# How to Cite? {#citations}
To cite miEAA (Please see <https://ccb-compute2.cs.uni-saarland.de/mieaa2/>):
- Fabian Kern, Tobias Fehlmann, Jeffrey Solomon, Louisa Schwed, Nadja Grammes, Christina Backes, Kendall Van Keuren-Jensen, David Wesley Craig, Eckart Meese, Andreas Keller, miEAA 2.0: integrating multi-species microRNA enrichment analysis and workflow management systems, Nucleic Acids Research, Volume 48, Issue W1, 02 July 2020, Pages W521--W528, <https://doi.org/10.1093/nar/gkaa309>
To cite rbioapi:
- Moosa Rezwani, Ali Akbar Pourfathollah, Farshid Noorbakhsh, rbioapi: user-friendly R interface to biologic web services' API, Bioinformatics, Volume 38, Issue 10, 15 May 2022, Pages 2952--2953, <https://doi.org/10.1093/bioinformatics/btac172>
------------------------------------------------------------------------
# Links {#links}
- [This article in rbioapi documentation site](https://rbioapi.moosa-r.com/articles/rbioapi_mieaa.html "2.B: miEEA & rbioapi")
- [Functions references in rbioapi documentation site](https://rbioapi.moosa-r.com/reference/index.html#section-mieaa-rba-mieaa- "rbioapi reference")
- [rbioapi vignette index](rbioapi.html "rbioapi: User-Friendly R Interface to Biologic Web Services' API")
------------------------------------------------------------------------
# Session info {#session-info}
```{r sessionInfo, echo=FALSE}
sessionInfo()
```