options(width = 999) knitr::opts_chunk$set(echo = TRUE, warning = FALSE, message = FALSE, cache = FALSE, tidy = FALSE, size = "small")
knitr::opts_chunk$set(collapse = TRUE)
miRNetR is an R package, synchronized with the popular miRNet web server, designed for microRNA (miRNA) centric network analytics and systems-level interpretation. This R package contains the numerous R functions and libraries underlying the web server necessary to perform miRNA data processing and analysis. This package provides support to map from miRNAs to targets (forward mapping), targets to the associated miRNAs (reverse mapping), as well as to generate network files and perform functional enrichment analysis.
Following installation and loading of miRNetR, users will be able to reproduce web server results from their local computers using the corresponding R command history downloaded from miRNet, thereby achieving maximum flexibility and reproducibility.
Step 1. Install package dependencies
To use miRNetR , first install all package dependencies. Ensure that you are able to download packages from bioconductor. To install package dependencies, use the pacman R package (for those with >R 3.5.1). Note that some of these packages may require additional library dependencies that need to be installed prior to their own successful installation.
install.packages("pacman") library(pacman) pacman::p_load(RSQLite, Cairo, fastmatch, igraph, RJSONIO, foreach, doParallel, preprocessCore, limma, edgeR, HTqPCR, genefilter, prettydoc)
Step 2. Install the package
miRNetR is freely available from GitHub. The package documentation, including the vignettes for each module and user manual is available within the downloaded R package file. If all package dependencies were installed, you will be able to install the miRNetR. Due to issues with Latex, some users may find that they are only able to install miRNetR without any documentation (i.e. vignettes).
Install the package directly from github using the devtools package. Open R and enter:
# Step 1: Install devtools install.packages("devtools") library(devtools) # Step 2: Install miRNetR WITHOUT documentation devtools::install_github("xia-lab/miRNetR", build = TRUE, build_opts = c("--no-resave-data", "--no-manual", "--no-build-vignettes"), force = TRUE) # Step 2: Install miRNetR WITH documentation devtools::install_github("xia-lab/miRNetR", build = TRUE, build_opts = c("--no-resave-data", "--no-manual"), build_vignettes = TRUE, force = TRUE)
1) The first function that you will use in every module is the Init.Data
function, which constructs the dataSet object that stores user's data for further processing and analysis.
2) The miRNetR package directly creates data files/tables/analysis/networks outputs in your current working directory.
3) Every command must be run in sequence, please do not skip any commands as this will result in errors downstream.
4) Each main function in miRNetR is documented. Use the ?Function format to open its documentation. For instance, use ?miRNetR::PerformMirGeneMapping
to find out more about this function.
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "mirlist") #> "miRNetR init done!" #### Step 2. Set up the user input data (one entry per line as in the web server) SetupMirListData(mirs = "hsa-mir-101-3p hsa-mir-133b hsa-mir-147a hsa-mir-3140-3p hsa-mir-361-5p hsa-mir-510-5p", orgType = "hsa", idType = "mir_id", tissue = "Kidney") #> "A total of 6 unique items were entered."
You can also provide a list of vectors as input in SetupMirListData()
:
mirs = c("hsa-mir-101-3p", "hsa-mir-133b", "hsa-mir-147a", "hsa-mir-3140-3p", "hsa-mir-361-5p", "hsa-mir-510-5p")
SetupMirListData(mirs, orgType = "hsa", idType = "mir_id", tissue = "Kidney")
#### Step 3. Set up targets nms.vec = c("gene") SetCurrentDataMulti() #> "Targets were entered!" #### Step 4. Perform miRNAs to target genes mapping, #### results are downloaded in your working directory ("mirnet_mir_target.csv" and "mir_tissue.csv") QueryMultiListMir() #> "Downloading mir2gene.sqlite from https://www.xialab.ca/rest/sqlite/mir2gene.sqlite" #> "A total of unqiue 1059 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-mir-101-3p MIMAT0000099 ACVR2B 93 Sequencing 20371350 Kidney #> 2 hsa-mir-101-3p MIMAT0000099 AP1G1 164 PAR-CLIP//Sequencing 20371350|23592263 Kidney #> 3 hsa-mir-101-3p MIMAT0000099 AMD1 262 HITS-CLIP 23313552 Kidney
#### Step 5. Generate miRNA-gene network files CreateMirNets(net.type = "mir2gene") #> "Network files are generated!" #### Step 6. Prepare network files, #### results are downloaded in your working directory ("node_table_mirnet_0.csv", "mirnet_0.json" and "mirnet.graphml") PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
#### Step 7. Perform miRNA family enrichment analysis, #### results are downloaded in your working directory ("network_enrichment_mirfamily_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "mirfamily", file.nm = "network_enrichment_mirfamily_1", IDs = "hsa-mir-101-3p; hsa-mir-147a; hsa-mir-361-5p; hsa-mir-133b; hsa-mir-510-5p; hsa-mir-3140-3p", algo = "hyp" ) resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> 1 mir-3140 3 0.00753 1 0.00751 FALSE #> 2 mir-361 3 0.00753 1 0.00751 FALSE #> 3 mir-147 4 0.01000 1 0.01000 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "mirlist") #> "miRNet init done!" #### Step 2. Set up the user input data SetupMirListData(mirs = "hsa-mir-16-5p hsa-mir-424-5p hsa-mir-29c-3p hsa-mir-29b-3p hsa-mir-29a-3p hsa-mir-148b-3p hsa-mir-152-3p hsa-mir-148a-3p hsa-mir-335-5p", orgType = "hsa", idType = "mir_id", tissue = "na") #> "A total of 9 unique items were entered." #### Step 3. Set up targets nms.vec = c("gene", "lncrna") SetCurrentDataMulti() #> "Targets were entered!" #### Step 4. Perform miRNAs to multiple targets mapping, results are downloaded in your working directory QueryMultiListMir() head(dataSet$mir2gene, n = 2L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-mir-16-5p MIMAT0000069 ABCB7 22 CLASH 23622248 Unspecified #> 2 hsa-mir-16-5p MIMAT0000069 ABCF1 23 Proteomics 18668040 Unspecified head(dataSet$mir2lnc, n = 2L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-mir-148a-3p MIMAT0000243 SNHG3 8420 CLIP-Seq 24297251 Unspecified #> 2 hsa-mir-148a-3p MIMAT0000243 CYP1B1-AS1 285154 CLIP-Seq 24297251 Unspecified
#### Step 5. Generate network files CreateMirNets(net.type = "multilist") #> "Network files are generated!" #### Step 6. Prepare network files, #### results are downloaded in your working directory ("node_table_mirnet_0.csv", "mirnet_0.json" and "mirnet.graphml") PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
#### Step 7. Perform miRNA function enrichment analysis, #### results are downloaded in your working directory ("network_enrichment_func_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "func", file.nm = "network_enrichment_func_1", IDs = "hsa-mir-16-5p; hsa-mir-424-5p; hsa-mir-29c-3p; hsa-mir-29b-3p; hsa-mir-29a-3p; hsa-mir-148b-3p; hsa-mir-152-3p; hsa-mir-148a-3p; hsa-mir-335-5p", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> 1 Cell Adhesion 24 0.228 3 0.00109 FALSE #> 2 Neuron Apoptosis 45 0.428 3 0.00692 FALSE #> 3 Nephrotoxicity 51 0.485 3 0.00986 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "gene") #> "miRNetR init done!" #### Step 2. Set up the user input data SetupIndListData("ACAT1 DDX3X MEGF9 FMR1 HAPLN1 IL12A OLR1 RNF6 SOD3 ELOVL4 MRAP2", "hsa", "gene", "symbol", "na", "na") #> "A total of 11 unique items were entered." #### Step 3. Indicate target type nms.vec = c("gene") SetCurrentDataMulti() #> "Targets were entered!" #### Step 4. Perform target gene to miRNA mapping, #### results are downloaded in your working directory ("mirnet_mir_target.csv") QueryMultiList() #> "Downloading mir2gene.sqlite from https://www.xialab.ca/rest/sqlite/mir2gene.sqlite" #> "A total of unqiue 292 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-mir-15a-5p MIMAT0000068 DDX3X 1654 PAR-CLIP 24398324|23446348|21572407|20371350 Unspecified #> 2 hsa-mir-16-5p MIMAT0000069 DDX3X 1654 PAR-CLIP//Proteomics 18668040|24398324|23446348|21572407|20371350 Unspecified #> 3 hsa-mir-19a-3p MIMAT0000073 DDX3X 1654 PAR-CLIP 23446348|21572407|20371350 Unspecified
#### Step 5. Generate miRNA-gene network files CreateMirNets(net.type = "gene2mir") #> "Network files are generated!" #### Step 6. Prepare network files, #### results are downloaded in your working directory ("node_table_mirnet_0.csv", "mirnet_0.json" and "mirnet.graphml") PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
#### Step 7. Perform enrichment analysis, #### results are downloaded in your working directory ("network_enrichment_kegg_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "kegg", file.nm = "network_enrichment_kegg_1", IDs = "DDX3X; ELOVL4; ACAT1; HAPLN1; MEGF9; FMR1; IL12A; OLR1; RNF6; SOD3; MRAP2", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> Synthesis and degradation of ketone bodies 9 0.0115 1 0.0115 FALSE #> Terpenoid backbone biosynthesis 20 0.0256 1 0.0254 FALSE #> Propanoate metabolism 22 0.0282 1 0.0279 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "multilist") #> "miRNet init done!" #### Step 2a. Set up the user input data (gene) SetupIndListData("ACAT1 DDX3X MEGF9 FMR1 HAPLN1 IL12A OLR1 RNF6 SOD3 ELOVL4 MRAP2", "hsa", "gene", "symbol", "na", "null") #> "A total of 11 unique items were entered." #### Step 2b. Set up the user input data (lncRNA) SetupIndListData("MEG8 XIST HCG18 TUG1 NEAT1 H19 HCG18 MALAT1 EMX2OS SNHG7 SNHG1 KCNQ1OT1", "hsa", "lncrna", "symbol", "na", "null") #> "A total of 12 unique items were entered." #### Step 3. Indicate target type nms.vec = c("gene", "lncrna") SetCurrentDataMulti() #> "Targets were entered!" #### Step 4. Perform multiple targets (gene and lncRNA) to miRNA mapping, #### results are downloaded in your working directory ("mirnet_mir_target.csv") QueryMultiList() head(dataSet$gene2mir, n = 2L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-mir-15a-5p MIMAT0000068 DDX3X 1654 PAR-CLIP 24398324|23446348|21572407|20371350 Unspecified #> 2 hsa-mir-16-5p MIMAT0000069 DDX3X 1654 PAR-CLIP//Proteomics 18668040|24398324|23446348|21572407|20371350 Unspecified head(dataSet$lnc2mir, n = 2L) #> ID Accession Target TargetID Experiment Literature Tissue #> 1 hsa-let-7a-5p MIMAT0000062 HCG18 414777 CLIP-Seq 24297251 Unspecified #> 2 hsa-let-7a-5p MIMAT0000062 KCNQ1OT1 10984 CLIP-Seq 24297251 Unspecified
#### Step 5. Generate lncRNA-miRNA-gene network files CreateMirNets(net.type = "multilist") #> "Network files are generated!" #### Step 6. Prepare network files, #### results are downloaded in your working directory ("node_table_mirnet_0.csv", "mirnet_0.json" and "mirnet.graphml") PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
#### Step 7. Perform enrichment analysis, #### results are downloaded in your working directory ("network_enrichment_kegg_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "kegg", file.nm = "network_enrichment_kegg_1", IDs = "DDX3X; ELOVL4; ACAT1; HAPLN1; MEGF9; FMR1; IL12A; OLR1; RNF6; SOD3; MRAP2; HCG18; KCNQ1OT1; NEAT1; MEG8; XIST; MALAT1; SNHG1; H19; SNHG7; TUG1; EMX2OS", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> Synthesis and degradation of ketone bodies 9 0.0115 1 0.0115 FALSE #> Terpenoid backbone biosynthesis 20 0.0256 1 0.0254 FALSE #> Propanoate metabolism 22 0.0282 1 0.0279 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "qpcr") #### Use example data example.path <- paste("https://www.mirnet.ca/resources/data/test/qpcr_data.txt") destfile <- "qpcr_data.txt" download.file(example.path, destfile) #### Step 2. Read example data ReadTabExpressData("qpcr_data.txt") #> "a total of 6 samples and 384 features were found. ; removed 8 features with constant values" #### Step 3. Annotation PerformDataAnnot("mmu", "mir_id", "na", "mean") #> "Annotation was performed successfully!"
miRNetR supports five types of normalization method, including quantile normalization, rank-invariant normalization, acale-invariant normalization, geometric average and delta Ct normalization.
Quantile normalization
will make the distribution of control values more or less identical across samples.
Rank-invariant normalization
computes all rank-invariant sets of features between pairwise comparisons of each sample against a reference, such as a pseudo-mean. The rank-invariant features are used as a reference for generating a smoothing curve, which is then applied to the entire sample.
Geometric average
calculates the average control value for each sample, and scales all control values according to the ratio of these mean Ct values across samples.
deltaCt normalization
calculates the standard deltaCt values, i.e. subtracts the mean of the chosen controls from all other values in the feature set. You must specify endogenous controls!
#### Step 4. Normalization ######## Option 1. Quantile normalization PerformQpcrDataNormalization("quantile") #> "Normalization was performed successfully!" ######## Option 2. Rank-invariant normalization PerformQpcrDataNormalization("norm.rank") ######## Option 3. Scale-invariant normalization PerformQpcrDataNormalization("scale.rank") ######## Option 4. Geometric average PerformQpcrDataNormalization("geometric.mean") ######## Option 5. Delta Ct normalization PerformQpcrDataNormalization("deltaCt") ######## Option 6. No normalization PerformQpcrDataNormalization("none")
miRNetR supports three types of statistical method, including limma, standard t-test and Mann-Whitney test.
#### Step 5. Specify comparison of interest and statistical method ######## Option 1. Limma PerformHTqPCR("Ctrl vs. GrpA", "limma") #> "Differential Analysis was performed successfully!" ######## Option 2. Standard t-test PerformHTqPCR("Ctrl vs. GrpA", "ttest") ######## Option 3. Mann-Whitney test PerformHTqPCR("Ctrl vs. GrpA", "mannwhitney")
Set adjusted p-value (p.lvl), fold change (fc.lvl) and direction
#### Step 6. Feature selection ######## Option 1. Both direction GetSigGenes(p.lvl = 0.2, fc.lvl = 0.0, direction = "both") #> " A total of 13 significant genes were identified!" ######## Option 2. Up-regulated only GetSigGenes(p.lvl = 0.2, fc.lvl = 0.0, direction = "up") ######## Option 3. Down-regulated only GetSigGenes(p.lvl = 0.2, fc.lvl = 0.0, direction = "down")
#### Step 7. Set up the user input data in the dataSet object SetupMirExpressData(); #> "Setup complete!" #### Step 8. Perform miRNAs to target genes mapping, results are downloaded in your working directory PerformMirGeneMapping(); #> "A total of unqiue 2949 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> ID Accession Gene Entrez Experiment Literature Tissue #> mirnet-mmu-000027 mmu-mir-329-3p MIMAT0000567 Klra2 16633 HITS-CLIP 23597149 Unspecified #> mirnet-mmu-000034 mmu-mir-329-3p MIMAT0000567 Klra2 16633 HITS-CLIP 21258322 Unspecified #> mirnet-mmu-000036 mmu-mir-329-3p MIMAT0000567 Klra2 16633 HITS-CLIP 25083871 Unspecified
#### Step 9. Generate miRNA-gene network files CreateMirNets("mir2gene"); #> "Network files are generated!" #### Step 10. Prepare network files, results are downloaded in your working directory PrepareMirNet("mirnet1", "mirnet_0.json") #> "Network files are downloaded!"
#### Step 11. Perform miRNA family enrichment analysis, results are downloaded in your working directory ("network_enrichment_mirfamily_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "mirfamily", file.nm = "network_enrichment_mirfamily_1", IDs = "mmu-mir-329-3p; mmu-mir-539-3p; mmu-mir-3087-3p; mmu-mir-466i-5p; mmu-mir-129-2-3p; mmu-mir-466c-3p; mmu-mir-669m-3p; mmu-mir-466e-3p; mmu-mir-325-3p; mmu-mir-3099-3p; mmu-mir-1952; mmu-mir-505-3p; mmu-mir-451a", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> 1 mir-505 3 0.0227 1 0.0225 FALSE #> 2 mir-3099 3 0.0227 1 0.0225 FALSE #> 3 mir-325 3 0.0227 1 0.0225 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "rnaseq") #> "miRNet init done!" #### Use example data example.path <- paste("https://www.mirnet.ca/resources/data/test/bmdm_data.txt") destfile <- "bmdm_data.txt" download.file(example.path, destfile) #### Step 2. Read example data ReadTabExpressData("bmdm_data.txt") #> "a total of 8 samples and 12599 features were found. ; removed 77 features with constant values" #### Step 3. Annotation PerformDataAnnot("mmu", "emblgene", "na", "sum") #> "Annotation was performed successfully!"
miRNetR supports four types of normalization method, including trimmed mean of M-values (TMM), log2 transformation only, quantile normalization only, log2 followed by quantile normalization. In addition, you can choose either tagwise or common dispersion. The expression values should be compared at log2 scales.
#### Step 4. Normalization ######## Option 1. Trimmed mean of M-values (TMM) and tagwise dispersion PerformCountDataNormalization("tmm", "tagwise") #> "Normalization was performed successfully!" ######## Option 2. Log2 transformation and common dispersion PerformCountDataNormalization("log", "common") ######## Option 3. Quantile normalization and common dispersion PerformCountDataNormalization("quant", "common") ######## Option 4. Log2 followed by quantile normalization and common dispersion PerformCountDataNormalization("combine", "common") ######## Option 5. No normalization and no dispersion PerformCountDataNormalization("none", "none")
EdgeR uses negative binomial model is to estimate the dispersion parameter for each tag, a measure of the degree of inter-library variation for that tag. Estimating the common dispersion gives an idea of overall variability across the genome for this dataset. Estimating the tagwise dispersions estimates a distinct, individual dispersion for each gene.
#### Step 5. Specify statistical method and comparison of interest ######## edgeR (RNAseq) PerformEdgeR("Control vs. Infected") #> "Differential Analysis was performed successfully!"
Set adjusted p-value (p.lvl), fold change (fc.lvl) and direction
#### Step 6. Feature selection ######## Option 1. Both direction GetSigGenes(p.lvl = 0.01, fc.lvl = 2.5, direction = "both") #> " A total of 1407 significant genes were identified!" ######## Option 2. Up-regulated only GetSigGenes(p.lvl = 0.01, fc.lvl = 2.5, direction = "up") ######## Option 3. Down-regulated only GetSigGenes(p.lvl = 0.01, fc.lvl = 2.5, direction = "down")
#### Step 7. Set up the user input data in the dataSet object SetupMirExpressData(); #> "Setup complete!" #### Step 8. Perform target genes to miRNAs mapping, results are downloaded in your working directory PerformMirGeneMapping(); #> "A total of unqiue 5130 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> ID Accession Gene Entrez Experiment Literature Tissue #> mirnet-mmu-000021 mmu-mir-692 MIMAT0003471 Mmp14 17387 HITS-CLIP 23597149 Unspecified #> mirnet-mmu-000022 mmu-mir-466f-3p MIMAT0004882 Klra2 16633 HITS-CLIP 25083871 Unspecified #> mirnet-mmu-000023 mmu-mir-466m-3p MIMAT0014883 Klra2 16633 HITS-CLIP 23597149 Unspecified
#### Step 9. Generate miRNA-gene network files CreateMirNets("gene2mir"); #> "Network files are generated!" #### Step 10. Prepare network files, results are downloaded in your working directory PrepareMirNet("mirnet1", "mirnet_0.json") #> "Network files are downloaded!"
#### Step 11. Perform miRNA family enrichment analysis, results are downloaded in your working directory ("network_enrichment_mirfamily_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "mirfamily", file.nm = "network_enrichment_mirfamily_1", IDs = "mmu-mir-329-3p; mmu-mir-539-3p; mmu-mir-3087-3p; mmu-mir-466i-5p; mmu-mir-129-2-3p; mmu-mir-466c-3p; mmu-mir-669m-3p; mmu-mir-466e-3p; mmu-mir-325-3p; mmu-mir-3099-3p; mmu-mir-1952; mmu-mir-505-3p; mmu-mir-451a", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> 1 mir-3099 3 0.0185 1 0.0184 FALSE #> 2 mir-325 3 0.0185 1 0.0184 FALSE #> 3 mir-466 46 0.2840 2 0.0305 FALSE
library(miRNetR) #### Step 1. Initiate the dataSet object Init.Data("mir", "array") #> "miRNet init done!" #### Use example data example.path <- paste("https://www.mirnet.ca/resources/data/test/estrogen_data.txt") destfile <- "estrogen_data.txt" download.file(example.path, destfile) #### Step 2. Read user input ReadTabExpressData("estrogen_data.txt") #> "a total of 8 samples and 12625 features were found. " #### Step 3. Annotation PerformDataAnnot("hsa", "hgu95av2", "na", "mean") #> "Annotation was performed successfully!"
miRNetR supports four types of normalization method, including trimmed mean of M-values (TMM), log2 transformation only, quantile normalization only, log2 followed by quantile normalization. In addition, you can choose either tagwise or common dispersion. The expression values should be compared at log2 scales. Quantile normalization is optional and is recommended for microarray data.
#### Step 4. Normalization ######## Option 1. Trimmed mean of M-values (TMM) PerformArrayDataNormalization("tmm") #> "No log normalization was performed." #> "Normalization was performed successfully!" ######## Option 2. Log2 transformation PerformArrayDataNormalization("log") ######## Option 3. Quantile normalization PerformArrayDataNormalization("quant") ######## Option 4. Log2 followed by quantile normalization PerformArrayDataNormalization("combine") ######## Option 5. No normalization PerformArrayDataNormalization("none")
#### Step 5. Specify statistical method and comparison of interest ######## Limma (microarray) PerformLimma("absent vs. present"); #> "Differential Analysis was performed successfully!"
Set adjusted p-value (p.lvl), fold change (fc.lvl) and direction
#### Step 6. Feature selection ######## Option 1. Both direction GetSigGenes(p.lvl = 0.01, fc.lvl = 1.0, direction = "both") #> " A total of 75 significant genes were identified!" ######## Option 2. Up-regulated only GetSigGenes(p.lvl = 0.01, fc.lvl = 1.0, direction = "up") ######## Option 3. Down-regulated only GetSigGenes(p.lvl = 0.01, fc.lvl = 1.0, direction = "down")
#### Step 7. Set up the user input data in the dataSet object SetupMirExpressData() #> "Setup complete!" #### Step 8. #### Step 8. Perform target genes to miRNAs mapping, results are downloaded in your working directory PerformMirGeneMapping() #> "A total of unqiue 2906 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> ID Accession Gene Entrez Experiment Literature Tissue #> mirnet-hsa-21 hsa-let-7a-5p MIMAT0000062 CCND1 595 PAR-CLIP 23592263|26701625 Unspecified #> mirnet-hsa-40 hsa-let-7a-5p MIMAT0000062 CDKN1A 1026 PAR-CLIP//Western blot 19818775|21572407 Unspecified #> mirnet-hsa-70 hsa-let-7a-5p MIMAT0000062 EZH2 2146 CLASH//Luciferase reporter assay//qRT-PCR//Western blot 23622248|22972404 Unspecified
#### Step 9. Generate miRNA-gene network files CreateMirNets("gene2mir"); #> "Network files are generated!" #### Step 10. Prepare network files, results are downloaded in your working directory PrepareMirNet("mirnet1", "mirnet_0.json") #> "Network files are downloaded!"
#### Step 11. Perform enrichment analysis, results are downloaded in your working directory ("network_enrichment_kegg_1.json" and "mirnet_enrichment.csv") PerformMirTargetEnrichAnalysis( adjust.type = "NA", fun.type = "kegg", file.nm = "network_enrichment_kegg_1", IDs = "CCND1; CDKN1A; EZH2; MTHFD1; RRM1; AURKB; CCNA2; FEN1; MCM4; MCM7; TYMS; BTG2; SLC9A3R1; CHAF1A; TUBA1B; XBP1; FANCI; SLC29A1; RAD51C; SLC7A5; DNAJC9; CTSD; L1CAM; PNP; TFPI; UNG; RND3; MCM5; PCNA; BTG1; GINS1; MYBL2; TMEM97; CDT1; FKBP4; FOXM1; NASP; GREB1; POLA2; BAK1; RNASEH2A; CDC6; IGFBP4; LIG1; MCM3; PMP22; TK1; VTN; GGH; FHL2; TBC1D9; ID3; RAB31; MCM2; EBP; TANC2; BARD1; BLM; MCM6; RFC4; ENC1; TRIP13; GLA; JUNB; CSE1L; EFNA1; TFF1; CELSR2; EFHD1; CDC45", algo = "hyp" ) #> "Enrichment files are downloaded!" resTable <- read.csv("mirnet_enrichment.csv", header=T, as.is=T) head(resTable, n = 3L) #> Pathway Total Expected Hits Pval stringsAsFactor #> 1 Cell cycle 124 0.980 12 7.41e-11 FALSE #> 2 Pyrimidine metabolism 101 0.799 5 1.07e-03 FALSE #> 3 Fanconi anemia pathway 39 0.308 3 3.42e-03 FALSE
miRNet will automatically search 453 xeno-miRNAs detected in six host organisms based on 15 studies. In addition, there are 1,249 predicted xeno-miRNAs with high potential to be transferred to human circulation according to a study by Shu et al.
You can enter xeno-miRNAs to see if they target any host genes; Or enter host genes to see if they are targeted by any xeno-miRNAs.
#### Step 1. Initiate the dataSet object Init.Data("xeno.mir", "xenomir-search") #> "miRNet init done!" #### Step 2. Set up the user input data SetupMirListData(mirs = "sja-miR-125b sja-miR-2162-3p sja-miR-2b-5p sja-miR-61 sja-miR-10-5p", orgType = "hsa", idType = "exo_mirna", tissue = "") #> "A total of 5 unique items were entered." #### Step 3. Perform xeno-miRNAs to target genes mapping, results are downloaded in your working directory ## You can choose to include ("true") or exclude ("false") predicted xeno-miRNAs in PerformXenoMirGeneMapping() PerformXenoMirGeneMapping("false") # "A total of unqiue 5231 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> Source Xeno.species miRNA Accession Gene Entrez Literature Expression miRanda TarPmiR #> 1 ELV S. japonicum (blood fluke) sja-miR-2b-5p MIMAT0016247 CFH 3075 27172881 4215 141 0.846 #> 2 ELV S. japonicum (blood fluke) sja-miR-10-5p MIMAT0016253 NFYA 4800 27172881 347581 147 1.000 #> 3 ELV S. japonicum (blood fluke) sja-miR-125b MIMAT0010179 NIPAL3 57185 27172881 260493 158 0.981
#### Step 4. Generate xeno-miRNA gene network files CreateMirNets(net.type = "mir2gene") #> "Network files are generated!" #### Step 5. Prepare network files, results are downloaded in your working directory PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
#### Step 1. Initiate the dataSet object Init.Data("xeno.mir", "xenomir-search") #> "miRNet init done!" #### Step 2. Set up the user input data SetupMirListData(mirs = "B4galt2 Acox3 Emp2 Gtpbp2 Duox1", orgType = "mmu", idType = "symbol", tissue = "") #> "A total of 5 unique items were entered." #### Step 3. Perform xeno-miRNAs to target genes mapping, results are downloaded in your working directory ## You can choose to include ("true") or exclude ("false") predicted xeno-miRNAs in PerformXenoMirGeneMapping() PerformXenoMirGeneMapping("false") #> "A total of unqiue 118 pairs of miRNA-gene targets were identified!" head(dataSet$mir.res, n = 3L) #> Source Xeno.species miRNA Accession Gene Entrez Literature Expression miRanda TarPmiR #> 1 immuneorgan B. taurus (cow) bta-miR-6120-3p MIMAT0024591 Emp2 13731 GSM539865 1 145 0.769 #> 2 embryo C. elegans cel-miR-229-5p MIMAT0000284 Gtpbp2 56055 GSM307157 2 168 0.923 #> 3 embryo_stem_cell C. elegans cel-miR-229-5p MIMAT0000284 Gtpbp2 56055 GSM307156 2 168 0.923
#### Step 4. Generate xeno-miRNA gene network files CreateMirNets(net.type = "mir2gene") #> "Network files are generated!" #### Step 5. Prepare network files, results are downloaded in your working directory PrepareMirNet(mir.nm = "mirnet1", file.nm = "mirnet_0.json") #> "Network files are downloaded!"
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.