exNet (expression Network) is an interactive tool for exploring co-expression networks.

    Basic Usage

    exNet visualizes co-expression between genes in the active gene list. Co-expression is visualized by drawing a co-expression network where genes are displayed as nodes and co-expression between genes is indicated by connecting nodes with an edge (i.e. if two genes have a line connecting them, they are co-expressed above the selected threshold). Genes are co-expressed if their profiles are correlated above a set co-expression threshold, and both the correlation measure and the co-expression threshold can be changed by the user. There are options to expand the network to include all co-expressed neighbours of genes currently represented in the network, or to remove genes (e.g. unconnected nodes). There are also options to color genes either individually or using pre-defined groups such as clusters or Gene Ontology categories. It is also possible to change the node shapes. Users can select a subset of genes within the network (selected by either mouse-dragging over the desired genes or by SHIFT-select and clicking on multiple nodes) and the  tool will then display (below the network) the expression profiles of the subset as a line plot or a heatmap. For pairs of genes, the tool can visualize their co-expression as a scatterplot.

    Example workflow:

    1. Add a gene or genes to the currently active gene list.
    2. Go to the exNet tool and display the network.
    3. Select a gene or genes and right click, choose expand (to add co-expression neighbors).
    4. After expansion, add new genes (yellow) to your gene list by selecting them and clicking the ‘Add’ button in the “GeneList actions:” section of the controls below the network.
    5. You can then use the updated gene list in other PlantGenIE tools, e.g. Enrichment, exImage, exPlot or ComPlEx.


    exNet display panel

    The various elements of the exNet interface are shown Figure 1 and will be explained in detail. To view a network, exNet requires an active list of genes selected using the gene list tool. The network display shows an editable co-expression network of the current gene selection and allows various operations. Some of these operations are available by selecting genes and right clicking on the selection to access the selection menu. The actual network being displayed is controlled from the display settings panel. Various plots can be interactively displayed as the user selects network elements, and can be opened in their own specialized tools.


    Figure 1. ExNet

    Display settings

    This panel allows users to choose different co-expression measures (correlation measures). Co-expression can be displayed as either CLR values or as ordinary Pearson correlations (Pear). The CLR values are based on Mutual Information (MI); a pair-wise measure of mutual dependence. The Context Likelihood of Relatedness (CLR) approach transforms each MI value into a z-score indicating how much higher (in standard deviations) that MI value is than the average MI value in the network neighborhood. Hence the CLR value indicate the significance of the co-expression between two genes. The threshold boxes control the network size. For example, a lower threshold for display will result in more links between the selected genes (nodes) in the network panel. A lower threshold for expansion will include more co-expressed genes to be shown when selected genes are expanded (Figure 3a). You can also change the shapes of the nodes and you can use separate shapes for the genes annotated as transcription factors.

    display settings

    Figure 2. Display settings panel

    Co-expression values between all pairs of genes across all samples are precomputed and stored in the database. However, it is sometimes necessary to compute co-expression for custom selections of samples (selected using the sample list selector in the menu, note that sample selection is currently not available for all datasets). If the checkbox for sub-network is on, a custom co-expression network of the type specified in the correlation drop-box will be computed on the fly, using the active sample list. By specifying the minimum co-expression level in the attached ‘thresh’ box you can filter the number of links. CLR cannot be computed for custom sample selections so for this option the network will show MI correlations.

    Co-expression network actions

    Checking the gene profiles box will show gene expression profiles inside the network nodes for the active sample list. Note, however, that these gene profiles may not always look similar (even for highly co-expressed genes) because the default co-expression network is computed across all samples while the profile is shown for the selected subset of samples. To draw a network for the selected samples, use the sub-network functionality.

    network display

    Figure 3. Network display panel: a) Selection menu. b) Selection method.

    The selection menu (Figure 3a) appears by right-clicking a node selection and allows expanding the network and selecting pathway nodes.

    Expanding the network. A node selection can be expanded to include all co-expressed genes at a predefined co-expression threshold (specified by changing the expansion threshold in the display settings panel). The network display panel cannot display networks of unlimited size (it is designed to display a few hundred elements (nodes + links), this is due to restrictions on the user’s web client memory). If the network exceeds a certain number of elements, a warning will be displayed and the user will have to raise the expansion threshold before trying again.

    Pathway nodes. After selecting genes in two or more regions of the displayed network, the Select ptw nodes – option selects the genes in the shortest paths between these initial selections. The initially selected subnetworks can for example be two Gene Ontology categories and the pathway genes are the genes connecting them.

    pathway nodes

    Figure 4. Pathway nodes. In this example the shortest paths are computed between two genes and pathway genes are selected.

    Gene list and export panel

    GeneList actions. The gene list and export panel can be used to change the gene list based on network selections. Selected genes can be added/removed from the active gene list (marked with red in the [master menu]), replace the active list or saved into a new list (input the name of the new list and select Save all or Save selected).

    edit export

    Figure 5. Gene list and export panel.

    Export options. The Genes button exports the gene names in the network as a text file. The ‘SVG’ button exports the current network as a publication-quality figure. The ‘Graphml’ button exports the network in the graphml format so that it can be further edited in graph editing programs such as Cytoscape and yEd.

    Plotting panel

    Three types of plots can be generated for the current network selection: expression profiles (‘geneprofile’), scatter-plots and heatmaps. These plots can also be saved (selecting the corresponding button will open the image in a new tab). These plots will automatically refresh as the user changes the gene selection.

    Gene profile. This button plots the expression profile of the selected genes for the active sample list. The [‘ExPlot’ tool] can be opened for a more detailed analysis of the expression profiles.

    plot profile

    Figure 6. Profile plot.

    Gene scatter plot. This button produces a scatterplot of the expression values of two genes for the current selection of samples. Clicking a link in the network will also produce a scatter plot, but for all samples used to build the network. The scatter plot tool is limited to two genes.

    scatter plot

    Figure 7. Scatter plot.

    Heatmap. The heatmap tool displays a heatmap for the active sample list and the selected genes. A link is also provided for downloading the corresponding expression table. This plot also has a dedicated tool called ‘exHeatmap’, with additional settings and options to generate publication-quality figures.


    Figure 8. Heatmap.

    The Color panel

    The color panel can be used to color named genes in the network or to color genes from the same GO categories. The ‘GO enrichment’ tool can be used to test the statistical enrichment of GO categories in a selection.

    “This textbox allows the user to select a number of categories for colouring the genes, including GO terms, chip_Seq annotations and gene ids. There are some limitation for this tool, the maximum number of single genes to be coloured is 500 and the maximum number of different annotation categories are eight. There are also a limitations in the colouring when the same gene id exists in two or more categories, in this case the colour will be coloured and then overwritten in in the order 1. GO term (first to last) 2. chipSeq chip (first to last) 3. Gene id. First to last means the order in which they were written in the textbox. In the case when colouring several terms from the same gene ontology tree for example it is recommended write the terms in order from parent to child.”

    GO list


    Figure 9. Color menu.

    The textbox allows the user to type/paste nodes that should be colored, including GO terms, ChIP-Seq annotations and gene IDs. This is limited to 500 single genes and 8 categories. Note that if a single gene exists in two or more categories, the color will be overwritten in this order: 1. GO term (in the order they were written) 2. ChIP-Seq (in the order they were written) 3. Gene ID.

    “When the colour genes button is clicked, genes belonging to selected categories will be coloured in the network panel. The term colour will be listed in the plots and color display.”


    Figure 10. Color display.


    There are currently two co-expression networks in our database for PopGenIE (All affymetrix or Asp201 Expression Atlas) and one each for AtGenIE and ConGenIE.


    exNet uses Cytoscape Web (Flash) as the core for the network layout and visualization; the web page is coded in HTML, JavaScript and PHP. For structuring and printing the network information, a python script is used. The data is stored in a MySQL database and PHP mysql and Python MySQLdb packages are used to access the data.

    Was this page helpful?