INTRODUCTION {#SEC1}
============

MicroRNAs (miRNAs) are ∼22 nucleotides non-coding RNAs with potent post-transcriptional regulatory functions ([@B1]). Over the last decade, significant progress has been made in miRNA discovery, target identification and functional annotation. We now understand that miRNAs can affect most of the normal biological processes such as development, metabolism and immunity. Their deregulations have been reported in a wide array of complex diseases such as cardiovascular diseases, type 2 diabetes, neurological disorders and multiple types of cancers ([@B2]). More recently, it has been shown that miRNAs may play important roles in host--parasite interactions ([@B3]), host-gut microbiota interactions ([@B4]) as well as in transgenerational epigenetic inheritance ([@B5]).

Identifying miRNA targets is the first and foremost task toward understanding miRNA functions. Computational predictions have been very useful but suffer from high false positive rates ([@B6]). Recently, a variety of high-throughput experimental approaches have been developed to permit large-scale functional studies of miRNAs. For instance, microarrays and RNA-seq are increasingly employed to measure the silencing effects of miRNAs at the gene expression level; Quantitative-mass-spectrometry-based approaches such as stable-isotope labeling by amino acids in cell culture (SILAC) are often applied to measure changes at the protein level ([@B7],[@B8]). More recently, technologies have been developed to enable direct measurement of miRNA--target interactions in a high-throughput manner using different variants of cross-linking immunoprecipitation (CLIP) technologies such as HITS-CLIP, PAR-CLIP and CLASH ([@B9]--[@B11]). These approaches have drastically increased both the quality and quantity of the data on miRNA targets and their functional annotations.

To manage the growing datasets, many online databases have been developed such as TarBase ([@B12]), miRTarBase ([@B13]), starBase ([@B14]) and miRecords ([@B15]). Meanwhile, a variety of biomedically-oriented miRNA studies have generated a large amount of information that links miRNAs to drug effects, diseases, epigenetic modifications and other molecules with corresponding databases such as Pharmaco-miR ([@B16]), SM2miR ([@B17]), miR2Disease ([@B18]), PhenomiR ([@B19]), EpimiR ([@B20]). Together, these resources have provided rich information to help understand the targets and potential functions for any given miRNAs of interest. However, researchers need to navigate multiple websites to search for the relevant information, and then merge the results for further analysis. The process is laborious, cumbersome and time consuming. To address this issue, Ru *et al*. recently developed a powerful R package multiMiR ([@B21]) to allow researchers to programmatically access multiple databases and then perform the downstream computing and analysis within the powerful R environment. However, researchers have to learn R in order to use these functions. Powerful and user-friendly tools are needed to allow users to easily link miRNAs to their targets and functional associations.

Even when the targets for a specific miRNA have been identified, it is not straightforward to understand its functions. This is because each miRNA has the potential to target hundreds of different genes, and therefore can potentially affect many biological processes. To address this issue, researchers usually look to the functions or pathways on which they converge. A common approach is to use enrichment analysis methods to test whether a given functional unit (as defined by a set of genes involved in the same biological process) is more frequently observed than would be anticipated by random chance. For instance, hypergeometric tests are widely used to compare the genes of interest against all those genes annotated by Gene Ontology (GO) or KEGG pathways to help identify the enriched functions. However, these enrichment methods have been developed under the assumption that genes are selected uniformly at random from a finite population (i.e. the 'gene universe') - this may not be true for those target genes selected based on the query miRNAs. To address this issue, Bleazard *et al*. recently employed a large-scale empirical sampling approach to obtain the null distribution of miRNA target genes using randomly selected miRNAs of the same size. By comparing the empirical *P* values with those obtained from the hypergeometric tests, they found strong bias present in the latter case ([@B22]). However, this approach is currently not available in most miRNA functional analysis tools.

Compared to the protein-coding genes, most miRNA knockouts only have very subtle and modest phenotypic effects ([@B23]). One reasonable explanation is that multiple miRNAs regulate their target genes cooperatively through synergistic/combinatorial relationships. Therefore, it is more biologically meaningful to test the collective functions of the target genes for a list of miRNAs showing coordinated changes. To understand such complex 'multiple-to-multiple' relations between miRNAs and target genes, one natural way is to use a network-based visualization method. This approach, coupled with suitable enrichment analysis support, will deliver a highly informative presentation to enable important insights into the miRNA regulatory mechanisms. It is straightforward to identify major players from a network perspective, for instance, by looking for those genes that are targeted by multiple miRNAs or by identifying those miRNAs that simultaneously regulate multiple genes of interest. However, such analysis and visualization support is not available in current miRNA tools. Researchers have to manually construct their own networks and visualize them using desktop tools such as Cytoscape ([@B24]).

To address the above bioinformatics gaps and analytical challenges, we have developed miRNet, a user-friendly, high-performance, visual analytics tools to assist researchers in understanding miRNAs, their targets and functions through a network-based approach. The key features of miRNet include: A comprehensive collection of miRNA functional annotations based on integration of data from 11 miRNA databases on miRNA interactions with genes, small molecules, long noncoding RNAs (lncRNAs), epigenetic modifiers and disease associations.An intuitive interface to allow users to start with various queries of interest.Support for differential expression analysis for common datasets generated from miRNA functional studies including qRT-PCR, microarray or RNA-seq.Various built-in functions to help network creation, refinement and customization.A powerful, high-performance and fully-featured network visualization system based on standard web technology, seamlessly integrated with enrichment analysis support.

miRNet also contains a comprehensive list of FAQs (frequently asked questions) and multiple screenshot tutorials to help researchers navigate different analysis tasks. Collectively, these features comprise a comprehensive tool suite to enable statistical analysis and functional interpretation of data generated from miRNet studies. miRNet is freely available at <http://www.mirnet.ca>.

PROGRAM DESCRIPTION AND METHODS {#SEC2}
===============================

There are three major steps involved in using miRNet - (i) data upload and processing, (ii) network creation and refinement, and (iii) network visualization and analysis. Figure [1](#F1){ref-type="fig"} shows the overall flowchart of miRNet. Based on users' specific data input, a variety of options and procedures will be provided to help users complete their tasks. We advise users to start with the tutorials and try our example data first to get familiar with the basic features and main steps.

![miRNet flow chart. There are three major components in miRNet - the data input processing module, the network creation module, and the network visual analytics module. In each module, a variety of functions have been implemented to help users perform a range of different tasks.](gkw288fig1){#F1}

miRNA-target data collection {#SEC2-1}
----------------------------

miRNet currently supports five different types of miRNA targets (gene, small molecule, disease, lncRNA and epigenetic modifier) for network creation and analysis. All miRNA entries are annotated according to the latest miRBase (release 21) ([@B25]). For backward compatibility, we also manually added support for miRNA IDs from the older versions of miRBase (release 15 and later). The miRNA-target interaction data were downloaded from 11 well-annotated databases including miRTarBase ([@B13]), TarBase ([@B12]), miRecords ([@B15]), SM2miR ([@B17]), Pharmaco-miR ([@B16]), miR2Disease ([@B18]), PhenomiR ([@B19]), StarBase ([@B14]), EpimiR ([@B20]), miRDB ([@B26]) and miRanda ([@B27]). We then merged the datasets on the same targets for each species, removed the duplicate entries, updated the literature references and stored them into a SQLite (v3) database for fast retrieval. The miRanda database is only used to obtain the predicted miRNA targets for *S. mansoni*, as there are currently no experimentally validated miRNA targets available for this organism. miRNet currently supports eight species (*H. sapiens, M. musculus, R. norvegicus, B. taurus, D. melanogaster, C. elegans, D. rerio* and *S. mansoni*). The 'Resources' page provides a detailed table on the data statistics, together with the links to allow users to download the individual datasets.

Data upload and processing {#SEC2-2}
--------------------------

### Overview of the data inputs {#SEC2-2-1}

To facilitate user navigation and understanding of the overall workflow, we have implemented an interactive flowchart to allow users to choose an analysis path based on their input. This flexible interface allows users to map from miRNAs to their targets (forward mapping), or from the targets to the associated miRNAs (reverse mapping). The input can be uploaded in three different ways - by entering a list of IDs (miRNAs, genes, lncRNAs), by selecting from a list of available database entries (disease names, small molecules and epigenetic modifiers) or by uploading a data table (qRT-PCR, microarray or RNA-seq) from miRNA/mRNA expression studies. In the last case, users should upload a tab delimited txt file (.txt). The sample names must be in the first row beginning with '\#NAME' and the group labels row beginning with '\#CLASS'. Users can go to the corresponding FAQs and tutorials, or to download our test examples for more details.

### Data processing and analysis {#SEC2-2-2}

For the expression datasets, miRNet will annotate the data by converting different feature IDs to a common ID after the datasets have been uploaded. When multiple probes are mapped to the same gene/miRNA, the results will be presented as an average of combined probes. miRNet currently supports three types of common gene IDs (Ensembl gene ID, Entrez ID and official gene symbol), 45 probe-set IDs for microarray platforms and two types of miRNA IDs (miRBase ID and Accession number). We notice that the annotations of miRNA in miRBase have changed significantly over the past decade and many IDs are not valid any more. To address this issue, miRNet currently supports miRNA IDs from the last seven releases (release 15 to 21). For statistical data analysis, miRNet offers multiple well-established normalization methods coupled with the corresponding differential expression analysis methods using limma ([@B28]), edgeR ([@B29]) and HTqPCR ([@B30]) for data from microarray, RNA-seq and qPCR, respectively. Users can easily choose different parameters to perform the analysis through a consistent and user-friendly interface.

Network creation and customization {#SEC2-3}
----------------------------------

### miRNA--target interaction table creation and refinement {#SEC2-3-1}

The processed data from user input will be searched against the target database. The result will be presented as an interaction table with each row corresponding to a single miRNA and its target. Whenever available, the table provides hyperlinks to the corresponding databases for miRNAs and targets, together with reference to the corresponding PubMed literature. Users can directly delete each row by clicking the 'Delete' button in the last column. Or they can perform batch edit by clicking 'Data Filter' button to bring up the Data Filter Dialog. Within the dialog, users can specify which miRNAs, targets or interactions to be removed, or to keep only those high-quality interactions that are supported by the experimental evidence from a particular platform. For predicted interactions (*S. mansoni* only), users can specify a minimum cut-off value based on the probability score from the mirSVR algorithm ([@B27]).

### Building and filtering the interaction networks {#SEC2-3-2}

The resulting miRNA-target interactions are used to generate the default networks. As not all nodes will be connected, the approach sometimes returns more than one network, typically one large 'continent' with several smaller 'islands'. A summary table is shown on top indicating the statistics for nodes and edges to give users an overview of the size and complexity of the resulting networks. The bottom panel contains a list of networks being created. These networks can be visualized in the visualization system during the next step (Figure [2](#F2){ref-type="fig"}). For practical reasons, we advise users to control the number of nodes below 2000, since larger networks will cause a 'hairball' effect, which hardly generates an interpretive outcome. To help users with the task, miRNet provides three built-in network tools to allow users to filter nodes based on their topological measures (degree, betweenness and shortest path) to keep those major hubs and main connection patterns. Each filter can be applied on miRNAs, the targets or both to help control the network size without losing important information. The Network Tools can work together with the Data Filter in the previous step to allow users to have fine controls over the resulting network to be visualized.

![A screenshot of the miRNet network visual analytics system. The view is divided into four main areas with the toolbar on the top, the node table on the left, the functional annotation table on the right and the network visualization at the center. Users can easily highlight and manually arrange different groups of nodes based on either their connectivity patterns or their functional annotations. It is straightforward to identify those miRNAs targeting multiple genes of interest, or those genes that are targeted by multiple miRNAs under investigation.](gkw288fig2){#F2}

Network visualization and functional analysis {#SEC2-4}
---------------------------------------------

The network visualization system was developed based on the HTML5 canvas and JavaScript, which have become the standard features in all modern web browsers. The implementation also supports the latest high-resolution retina displays by automatically adjusting the pixels of rendered graphics based on the detected screen resolutions. A screenshot of the network visualization interface is shown in Figure [2](#F2){ref-type="fig"}. The system is composed of four main components - the toolbar on the top, the node table on the left, the central network visualization area and the right panel containing functional analysis panel and other advanced features.

### Configuring the general visualization feature {#SEC2-4-1}

The top toolbar contains the common functions to adjust the general features of the default network, to specify mouse operation range or to download the results. The 'Background' option allows users to switch between black (the default) and white background; the 'View' option allows users to change the foreground color scheme; the 'Layout' option allow users to perform automatic network layout using several popular algorithms. The 'Scope' option affects the range of mouse operations during highlighting and drag-and-drop. The default is the 'Single node' mode, where clicking on a node will only highlight the node itself; if the user drags the node, only the current node will be affected. In the 'Node-neighbors' mode, both the node and the other nodes directly connecting to it will be affected. The highlighted nodes are those being selected by the users (indicated by different colors and bigger sizes), while the 'current highlights' refer to those nodes highlighted in the last operation (indicated by extra yellow boundaries). Finally, the 'Download' option allows users to save the current network in popular PNG or SVG format, or to downloaded the network file in GraphML format to be visualized in other tools.

### Searching and visualizing individual nodes {#SEC2-4-2}

The Node Explorer on the left panel shows the miRNAs and their targets together with corresponding degree and betweenness measures. The corresponding expression values, if available, will be shown in the last column. Users can search for a particular node using the keywords or directly click on a row for any node of interest. The network view will automatically zoom to the corresponding node. Users can select multiple miRNAs and then choose to highlight the 'All' (the default) or only the 'Shared' gene targets. These highlighted genes can be subject to functional enrichment analysis. Users can also click a column header to sort the node table accordingly. The panel at the bottom left shows more detailed information of the node(s) being currently selected or highlighted on the network.

### Visually exploring the network {#SEC2-4-3}

Using a mouse with a scroll wheel, users can intuitively visualize and manipulate the network displayed on the center. For instance, users can hover the mouse over any node to show its ID, click a node to show its details on the bottom-left corner, or scroll wheel to zoom in and out the network (the labels of nodes will show up or disappear according to the zoom level). The vertical toolbar on the left shows the common functions to manipulate the network. The top is the color picker to allow users to specify a highlight color for the next selection. By default, users can only select-and-drag a single node. Users can click the dashed square icon to activate the free-style batch selection mode - when the mouse icon turns into a cross hair, users can select and drag a cluster of nodes. The last icon can be used to extract a subnetwork from the currently highlighted nodes.

### Performing functional enrichment analysis {#SEC2-4-4}

Network visualization and functional enrichment analysis is a powerful combination to deliver important biological insight. miRNet supports functional annotations based on GO, KEGG or Reactome pathway databases. For miRNA input, two enrichment algorithms have been implemented - the conventional hypergeometric tests and the empirical sampling-based approach as described by Bealzard *et al*. ([@B22]). Due to the computationally intensive nature and the limitation of the public server, each submission will trigger 1000 repeated samplings of the target gene functional profiles, using 1000 sets of random query miRNAs of the same size. An empirical *P* value \< 0.001 will be reported if no results from the random sampling are better than the original miRNA query. Users can improve the accuracy of the evaluations by re-submitting the analysis task, and the system will combine all the empirical sampling results under the same parameters to give better statistical estimations. Clicking a row of the result table, the nodes involved in the corresponding function will be highlighted within the network. In addition, miRNet also allows enrichment analysis only on the highlighted nodes (i.e. from free-style batch selections). In this case, hypergeometric tests will be performed to reveal the general functional profiles of those selected genes, as the empirical sampling is designed for all the target genes. Similarly, when the input is genes (i.e. reverse mapping), only the hypergeometric tests are permitted as these genes are not selected based on miRNAs.

### Other advanced features {#SEC2-4-5}

The panel on the bottom-right contains three tabs---*View Options, Path Finder* and *Batch Highlight*. The *View Options* tab provides options to adjust the display styles of the network. Users can modify the node size, change the edge shape and width and modify the highlight effects. The *Path Finder* tab allows users to search and locate the shortest paths between any two nodes. The *Batch Highlight* tab allows users to highlight an arbitrary list of nodes by entering their IDs. These options can be used in combination with the options from top toolbar to achieve a better visualization experience.

Implementation and session management {#SEC2-5}
-------------------------------------

The backend statistical analysis of miRNet was implemented using the R programming language (<http://www.r-project.org/>). The whole framework was developed based on the JavaServer Faces 2.2 technology using the PrimeFaces component library (<http://www.primefaces.org/>). The performance of the framework has been thoroughly tested and validated by several successful web applications ([@B31]--[@B35]). The network visualization was developed based on the *sigma.js* (<http://sigmajs.org/>) JavaScript library. When a user starts the analysis, a temporary account will be created with an associated home folder to store the uploaded data and analysis results. All the analysis results will be returned in real-time. The most time-consuming analysis is the empirical sampling, which can take up to 2 min depending on the available server resources at the moment. Upon completing their analysis session, users should download all their results. The server will regularly scan and remove any user files older than 48 h. The system is deployed on the Google Cloud Platform with 30G RAM and 8-core CPUs. The performance of network visualization is dependent on the user\'s browser. miRNet has been tested with major modern browsers such as Google Chrome (5+), Mozilla Firefox (3+) and Microsoft Internet Explorer (10+). For a better experience, we recommend users to access miRNet using the latest Chrome or Firefox from a computer with at least 4G RAM and 1280 × 800 screen resolution.

COMPARISON WITH OTHER TOOLS {#SEC3}
===========================

During the past few years, several excellent web-based applications have been developed to support miRNA functional analysis based on their targets, such as DIANA-miRPath ([@B36]), starBase-miRFunction ([@B37]), miRTar ([@B38]) and miRSystem ([@B39]). Their features in comparison with miRNet are listed in Table [1](#tbl1){ref-type="table"}. Based on the comparison, it is clear that miRNet offers a unique set of features with regard to statistical data analysis, network visualization support and functional interactions with diseases, small molecules, lncRNAs, *etc*.

###### Comparison with other web-based applications (except multimiR) for miRNA target identification and functional analysis

  Servers                         miRNet   miRPath   miRTar   miRFunction   miRSystem   multimiR
  ------------------------------- -------- --------- -------- ------------- ----------- ----------
  **Species \#**                  8        7         4        2             2           2
  **Target genes**                                                                      
  Experimental                    +++      ++        \-       \+            \+          ++
  Predicted                       \+       +++       +++      +++           +++         +++
  **Other interactions**                                                                
  Disease                         ++       \-        \-       \-            \-          \+
  Small molecule                  ++       \-        \-       \-            \-          \+
  lncRNA                          \+       \-        \-       \+            \-          \-
  Epigenetic modifier             \+       \-        \-       \-            \-          \-
  **Input multiple items**                                                              
  miRNAs                          \+       \+        \+       \-            \+          \+
  Targets                         \+       \-        \+       \-            \+          \+
  **Statistical data analysis**                                                         
  qPCR                            \+       \-        \-       \-            \-          \-
  Microarray                      \+       \-        \-       \-            \-          \-
  RNA-seq                         \+       \-        \-       \-            \-          \-
  **Enrichment analysis**                                                               
  Hypergeometric tests            \+       \+        \+       \+            \+          \-
  Empirical sampling              \+       \+        \-       \-            \-          \-
  **Network visualization**       +++      \-        \-       \-            **-**       \-

**URL links:**

miRPath: <http://www.microrna.gr/miRPathv3>

miRTar: <http://mirtar.mbc.nctu.edu.tw/>

miRFunction: <http://starbase.sysu.edu.cn/>

miRSystem: <http://mirsystem.cgm.ntu.edu.tw/>

multimiR: <http://multimir.ucdenver.edu/>

The '+' and '−' are used to indicate if features are present or not. More '+' indicate better support.

LIMITATIONS AND FUTURE DIRECTIONS {#SEC4}
=================================

miRNet was initially designed to support miRNA target and functional analysis for human, mouse, *C. elegans* and *S. mansoni*. Over time, we gradually included more species (now eight in total) based on the needs of our collaborators and the local miRNA research community. However, one challenge associated with non-model organisms is the lack of experimentally validated targets. Therefore, one future direction for those non-model organisms is to include computational predicted miRNA-target interactions data and allow users to filter based on the algorithms and the probability scores, as has been done for *S. mansoni*. The other direction is to improve the network features, such as to connect the miRNA-target network with metabolic pathways or protein-protein interaction networks.

CONCLUSION {#SEC5}
==========

Studies on miRNA have experienced three stages - miRNA discovery, target identification and elucidation of their regulatory mechanisms under different conditions. Over the past decade, tremendous progress has been made in the first two stages, with a plethora of high-quality data available in different databases on miRNAs targets and functional annotations. How to integrate these resources to better understand their regulatory mechanisms is a major focus in current miRNA research. To help deal with this challenge, we developed miRNet, an easy-to-use web application integrating comprehensive miRNA target information with a variety of tools to allow users to intuitively create, customize and explore the miRNA-target interaction networks in a high-performance visualization system. Through this integrative approach, users can easily identify key miRNA targets to gain a better understanding of the collective roles of multiple miRNAs that act together to fine-tune their gene targets.

FUNDING {#SEC6}
=======

YF and JX were supported by the McGill Startup Fund and the Natural Sciences and Engineering Research Council of Canada (NSERC, 243185); KS and SK were supported by the Canadian Institute for Health Research (CIHR); SKA and PR were supported by NSERC (169998-2012). Funding for open access charge: NSERC (243185).

*Conflict of interest statement*. None declared.
