This is the main REVIGO web service that implements the web interface and visualizations.
Since a lot of changes had to be made for .NET Core API. Official release with binaries is planned for mid March 2023
To compile and run the web service you need the compiled RevigoCore library, a set of precompiled databases: Gene Ontology and Species annotations, or build your own databases with RevigoGenerateDatabases command line utility.
The following JavaScript libraries are also needed: JQuery, JQuery-UI (with Accordion, Button, Tabs, Dialog, Datepicker, Selectmenu and Tooltip widgets), D3, X3Dom, LCSwitch and Cytoscape.
For the Statistics functionality you also need the MySqlConnector 2.1 library (Under project -> Buld -> Compilation Symbols the 'WEB_STATISTICS' constant needs to be defined).
The web server can be run as a command line utility, worker service or windows service by specifying 'WINDOWS_SERVICE' or 'WORKER_SERVICE' constant.
To compile from command line:
- Optional: Install Visual Studio Code or Visual Studio for Windows (You can also compile from Visual Studio for Windows)
- Install .NET core 6.0 from Microsoft (Install .NET for Windows, Install .NET for Linux)
- git clone https://github.com/rajko-horvat/RevigoCore
- git clone https://github.com/rajko-horvat/RevigoWeb
- Configure 'DefineConstants' section in RevigoWeb.csproj file (available constants: 'WEB_STATISTICS', 'WINDOWS_SERVICE', 'WORKER_SERVICE' or without any constant)
- Configure 'appsettings.json' file (rename from 'appsettings.example.json' or 'appsettings.Development.example.json'), specifically 'AppSettings' and 'AppPaths' section.
- dotnet build --configuration Release --os win-x64 RevigoWeb.csproj (For Linux use --os linux. See list of OS RIDs for --os option)
- Copy entire wwwroot directory to the binary directory (for example: cp -r wwwroot ./bin/net6.0/linux-x64/)
- Run generated binary file (under RevigoWeb/bin/net6.0/) and enjoy.
Outcomes of high-throughput biological experiments are typically interpreted by statistical testing for enriched gene functional categories defined by the Gene Ontology (GO). The resulting lists of GO terms may be large and highly redundant, and thus difficult to interpret.
REVIGO is a successful project to summarize long, unintelligible lists of Gene Ontology terms by finding a representative subset of the terms using a simple clustering algorithm that relies on semantic similarity measures.
For any further information about REVIGO project please see published paper and Frequently Asked Questions page