Your browser is old and dusty. Try Google Chrome!




Citing Synergy

If you use Synergy for publication, please cite:

Mähler, N., Cheregi, O., Funk, C., Netotea, S., & Hvidsten, T. R. (2014). Synergy: A Web Resource for Exploring Gene Regulation in Synechocystis sp. PCC6803. PLoS ONE, 9(11):e113496


Synergy is highly dependent on JavaScript. Without it, you basically can't use the tool. Sorry about that. If you would like to use this tool, please enable JavaScript.

Furthermore, some of the tools on this site uses features from the HTML5 specification. This means that some older browsers won't display things as intended. Synergy uses the JavaScript library Modernizr to detect what features your browser supports. If support for an essential feature cannot be detected, the site will inform you to update your browser.

Incompatible browser warning

Message shown if your browser is not supported.

Recommended browsers are:


Synergy uses cookies to keep track of your selected genes and settings on the site. No personal information is stored. The site will not work properly if cookies are not allowed. By using the site, you agree to allow cookies.

Typical workflows

Synergy is a flexible application, and there are multiple ways of starting an analysis. Here we will briefly explain a couple of common user scenarios.

Differentially expressed genes

Gene list upload

Uploading a gene list on the gene search page.

If you have a list of differentially expressed genes from some experimental setup, one easy way of getting started is simply to upload the genes using the Gene search tool. All genes will then be added to the Gene basket and you can continue from there. For example, you could look at the Co-expression Network of those genes, and also perform motif or GO enrichment on that set of genes to see if the genes have any regulatory motif in common or if they belong to the same functional category.

Regulatory motifs

If you have a regulatory motif identified in Synechocystis (or any other species), you can search for similar motifs in Synechocystis using the Motif search tools. From these results, you will find motif matches, and for each motif you will find the genes to which these motifs are associated.

TOMTOM example results
Example of results output from TOMTOM.
Below you'll find a video for case study 1 of our paper where this approach is demonstrated.

Functional category

If you are interested in a certain functional category of genes, or a Gene Ontology term, you can use this information to find genes in Synergy. From the Gene lists on the Gene search page you can search for a Gene Ontology term to find the genes associated with it. Simply click the "Load" button next to the term you are interested in to add that gene set to the Gene basket.

In some cases, the functional categorization can be a bit blurry. For this, you can use the gene search table on the Gene search page. Just search for the term you are interested in, e.g. "photosystem", and all genes that are annotated as photosystem in any way will show up. To add the genes to the gene basket, simply click the checkbox for each gene. If you want to add all genes to the basket, click the "Select all" button.

For an example on how an analysis based on functional categories, take a look at the video for Case study 2 from our publication.

Gene lists
Precompiled gene lists available on the gene search page.

Below, you'll find a video for case study 2 from our paper that describes this approach.

Propose functions for genes with unkown function

Many of the genes in Synechocystis are annotated with an hypothetical or unknown function. In Synergy we can infer function for these genes using co-expressed genes with known function.

In the video below, you'll find an example of how to study the function of the ORF ssl3364 (cp12) by using co-expression and genes with known function.

Transcription factor neighborhoods

With the help of co-expression, we can analyze the co-expression neighborhoods of transcription factors. In our paper, we have shown that co-expressed neighbors of transcription factors have more motifs in common than expected by chance. In Synergy we can also match these motifs against external databases to see whether it has a known regulatory role in other species.

The video below demonstrates how this can be done using the ORF sll0998 which has a known regulatory function.

Motif search

On the motif search page you can check whether your favorit motif is present in Synergy. You can perform the search using a IUPAC motif, a position specific probability matrix (PSPM), or the name of a Synergy motif.

The IUPAC motifs can contain any of the IUPAC one-letter ambiguity codes for nucleic acids. It also supports square brackets for setting up simple regular expressions.

The PSPMs should have 4 columns and n rows. Each column corresponds to each of the four nucleotides A, C, G, T, in that order. Each row corresponds to the position in the motif.


In the gene basket all genes that you have previously selected are stored. You can manage your basket and export it as a tab delimited text file, which is compatible with the upload function in the search page. Perhaps more interesting are the the enrichment tools and the gene expression plot.


On the network page you can explore co-expression patterns among your genes of interest. The network is visualized using nodes (genes) and edges (co-expression) usin the JavaScript library Cytoscape.js. The width of an edge is correlated with the co-expression of the gene pair.

When visiting the network view, the application will find all co-expression links among the genes in your gene basket. The genes that are currently in your gene basket have a green background in the network view. To explore more interactions than you have in your basket, you can expand the network. Do this by right-clicking a node and select "Expand". This will search for new nodes that are co-expressed with the current node using the "Expansion threshold" as a cutoff. The genes and edges that are found will be added to the network, and they will initially be gray. This means they are not part of the gene basket yet. To add them to the basket, either right click each gene and select "Toggle basket" or select all of the genes and click "Add to basket" in the menu.

Regulatory gene node

Regulatory gene

Selected node

Selected gene

Node not in gene basket

Gene not in gene basket


Left-click nodes to select them. By holding the shift key, multiple genes can be selected. By clicking and dragging on the background, multiple genes can be selected. A gene is selected if it has a red outline. By clicking and waiting for one second, the network view can be panned.

Right clicking a node brings up the node context menu.


Network view explained
  1. Network type: choose either the complete or the subset co-expression networks.
  2. Correlation threshold: Only draw edges with a co-expression above this threshold.
  3. Expansion threshold: When expanding a neighborhood, only draw edges with a co-expression above this threshold.
  4. Layout expansion: When expanding a neighborhood, redo the layout of the network. If not, just put the expanded nodes in a circle around the original node.
  5. Node labels: Choose what should be used as node labels.
  6. Redraw: Redraw the network. Only nodes in your gene basket will be drawn.
  7. Selection tools:
    • Select all: Select all genes in the network.
    • Select none: Deselect all genes in the network.
    • Invert selection: Select all deselected genes and vice versa.
    • Grow selection: Select the neighbors of the current selection.
    • Delete selection: Remove the genes from the network. Note: Does not remove the genes from the gene basket.
  8. Basket tools:
    • Add to basket: Add the gene(s) to your gene basket (make the node(s) green).
    • Delete from basket: Remove the gene(s) from your gene basket (make the node(s) gray).
  9. Export tools
    • Export GML: Export the network in Graph Modelling Language (GML) format for import in other software.
    • Export PNG: Export an image of the network as PNG.
    • Export PDF: Export an image of the network as PDF.
  10. Search: Search for a gene in the network. Useful when you are interested in a certain gene in the network, but can't find it. If the gene exists, it is selected.
  11. Pan and zoom: Pan and zoom the network. Not available on touch devices.
  12. Node context menu: Right click a node to show the menu.
    • Expand: Search for new neighbors of the current gene using the threshold in 3.
    • Delete: Remove the gene from the network. Note: Does not remove the gene from the gene basket.
    • Toggle basket: If the gene is in your gene basket, remove it from the basket (make it gray) or vice versa (make it green).

Enrichment tools

The enrichment tools are available in the gene basket and in the network view. With the enrichment tools, GO and motif enrichment can be calculated.

GO enrichment

GO enrichment requires just two parameters; a set of genes and an FDR threshold. The definition of the set of genes depends on the context. In the network view, select genes in the network by clicking and dragging. In the gene basket, check the checkboxes of the genes that you want to use.

The "GO category filter" does not affect the calculation of the results. This is just a filtering after the results have been calculated.

The "Stats" column in the resulting table shows the numbers behind the calculation on the form a/b:c/d. a is the number of genes in your selection that are annotated to the current term, b is the number of genes in your selection annotated to the current top category (biological process, molecular function or cellular process). c is the number of genes annotated to the current GO term, but are not part of your selection. Finally, d is the number of genes not annotated to the current GO term and not part of your selection.

The default settings used for GO enrichment are:

  • FDR threshold: <0.05

Motif enrichment

The motif enrichment takes three parameters; an FDR threshold, a FIMO q-value threshold and whether or not to use central motifs. The FDR threshold is the false discovery rate of the enrichment results, the FIMO q-value threshold is a threshold that decides how significant a motif must be to be considered in the enrichment calculation. By using central motifs, a subset of motifs is used for the enrichment. This subset was determined by creating a motif network where each edge represented the degree of similarity between a pair of motifs. The network was clustered, and the most central motif in each cluster was considered representative of that cluster, and thus classified as a central motif.

Similarly to the GO enrichment table, the motif enrichment table has a "Stats" column. In this column the numbers behind the calculation are shown on the form a/b:c/d. a is the number of genes in your selection that has the motif in their promoters (at the given threshold), b is the number of genes in your selection, c is the number of genes not in your selection with the motif and d is the number of genes that does not have the motif and is not a part of your selection.

The default settings used for motif enrichment are:

  • FDR threshold: <0.05
  • FIMO q-value threshold: <0.15
  • Central motifs: yes

Gene expression plot

In the network view, the gene basket and on the gene pages, an expression plot can be generated. On the gene pages it gets generated automatically, but for the network view and the gene basket, it can be generated from a selection of genes. By hovering with the cursor over the different series, more information on the experiments will be shown. You can also zoom in plots by clicking and dragging. To reset the zoom level, just click the "Reset zoom" button. The plots can be exported as PNG or PDF.

Since it will be very difficult to see annotations and labels when plotting many genes, labels and annotations will be disabled if you are plotting more than 30 genes. Because of memory limitations, the maximum number of genes that can be plotted is limited to 300.

Error reporting

If you find something that doesn't work as it should, you can check if this is something we are already aware of, or report a new issue through our issue tracker on Github.