Revigo is a successful web based service that summarizes long, unintelligible lists of GO terms by finding a representative subset of the terms using a simple clustering algorithm that relies on semantic similarity measures. You can visualize this non-redundant GO term set in multiple ways to assist in interpretation: Multidimensional Scaling (MDS) and graph based visualizations accurately render the subdivisions and the semantic relationships in the data, while treemaps and tag clouds are also offered as alternative views. As of March 2022. we are happy to introduce 3D scatter plot, which gives more insight into relationships between GO terms. Learn more about Revigo in our paper.
You can use one of the following web servers to search for GO terms that are overrepresented in your list of genes:
After that, return here with the list of GO terms and p-values (or enrichments).
Here are the links to two example gene sets, one from agriGO (click "Example") and another one from DAVID (click "Demolist_1").
If the species you work on is not available in the list you can select (genetically speaking) its closest relative. For example, for the chimpanzee, pig or other genetic relative, you can select human. The same applies to the plant family. For other cases the default value of the whole UniProt database is sufficient. You can request a new species to be added. Just send us a message via Contact form.
The list of currently supported species:NCBI taxon ID | Species name |
0 | Whole UniProt database (default) |
3702 | Arabidopsis thaliana |
224308 | Bacillus subtilis subsp. subtilis str. 168 |
9913 | Bos taurus |
6239 | Caenorhabditis elegans |
3055 | Chlamydomonas reinhardtii |
3827 | Cicer arietinum |
7955 | Danio rerio |
44689 | Dictyostelium discoideum |
7227 | Drosophila melanogaster |
83333 | Escherichia coli K-12 |
9031 | Gallus gallus |
9606 | Homo sapiens |
10090 | Mus musculus |
83332 | Mycobacterium tuberculosis H37Rv |
39947 | Oryza sativa Japonica Group |
36329 | Plasmodium falciparum 3D7 |
208964 | Pseudomonas aeruginosa PAO1 |
10116 | Rattus norvegicus |
13249 | Rhodnius prolixus |
559292 | Saccharomyces cerevisiae S288C |
946362 | Salpingoeca rosetta |
284812 | Schizosaccharomyces pombe 972h- |
4081 | Solanum lycopersicum |
1111708 | Synechocystis sp. PCC 6803 substr. Kazusa |
31033 | Takifugu rubripes |
8364 | Xenopus tropicalis |
4577 | Zea mays |
The column "Representative" tells which terms are classified as similar, and one term which is marked as "Representative" of that group which has a NULL (-1) reference (the term represents itself). In previous versions of Revigo the column "Representative" was filled with representative ID, but it was more accurate to mark it as NULL because that GO term doesn't have representative, it is the "Representative".
The new open source version is located at GitHub. You can use RevigoCore library in your offline programs (CS example, Python example), or you can run your own Revigo web service.
The old standalone version can be used to calculate your data offline. You can also use the source code in your code to process the data.
Please note that we offer absolutely no support for this old standalone version.
The integration with Revigo can be done with:
<html>
<head>
<title>Revigo integration page</title>
</head>
<body>
<form action="http://revigo.irb.hr/" method="post">
<textarea name="goList" cols="80" rows="10"></textarea><br />
<input name="cutoff" type="text" value="0.70" /><br />
<input name="valueType" type="text" value="pvalue"/><br />
<input name="speciesTaxon" type="text" value="0"/><br />
<input name="measure" type="text" value="SIMREL"/><br />
<input name="removeObsolete" type="text" value="true"/><br />
<input name="autoStart" type="text" value="false"/><br />
<input name="submitForm" type="submit" value="Submit"/>
</form>
</body>
</html>
The form can be posted with these fields:* The fields "inputGoList", "isPValue", "whatIsBetter" and "goSizes" are deprecated, but can be used for compatibility. Please don't use them in the future as it's not guaranteed to work with the new revisions of Revigo.
If you send a parameter value that is invalid or out of range the error message will be displayed. The field values are not case sensitive.
After you submit the job via this method depending on the autoStart variable the user will be presented with filled input page (false) or results page (true).
If you send a parameter value that is invalid or out of range you will get the error message. The field values are not case sensitive.
The advantage of this method is that cookies and java script are not needed, you don't have to query job status, and the server doesn't store your temporary results. The results will be available immediately after the job completes.
The output is in HTML format, it has "ErrorMessage" element in which you can find error description(s) (if any error occured) and table for each available namespace with the following names: "BiologicalProcess", "CellularComponent" and "MolecularFunction". The tables have following columns: "Term ID", "Name", "Frequency", "Value", "Uniqueness", "Dispensability", "Eliminated" and "Representative". The "Representative" value of -1 means the term has no representative, it represents itself.
The advantage of this method is that cookies and java script are not needed and you can get all of the results.
Important: The methods 'QueryJobStatus' and 'ExportJob' are deprecated in favor of 'QueryJob' method, the deprecated methods worked untill December 12 2022 when we made some changes to Revigo core and divided the Table, 2D Scatterplot and 3D Scatterplot data into separate entities: 'table', 'scatterplot' and 'scatterplot3d' methods. So, please, update your scripts accordingly.
As of February 4 2023 the Revigo has changed proprietary ASP.NET platform to an Open Source ASP.NET Core platform. Some programming languages and interfaces may not work properly with redirects. Every Url that ended with '.aspx' extension is now invoked without that extension. For example: '/StartJob.aspx' is now simply '/StartJob' without ending '.aspx'.
The process of submitting jobs is divided into three stages:
If you send a parameter value that is invalid or out of range the error will be returned. The field values are not case sensitive.
StartJob method returns JSON object in the following format: {"jobid": 0, "message": ""}QueryJob method returns the object in the format you specified, or an error message. If the error occured, parameters are invalid or no data is available for a given namespace.
The server will keep the results for 15 minutes since your last Job command.