This is the main REVIGO Core library that implements the whole clustering algorithm.
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 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
- dotnet build --configuration Release --os win-x64 RevigoCore.csproj (For Linux use --os linux. See list of OS RIDs for --os option)
- Copy generated binary files (under RevigoCore/bin/net6.0/) to your project 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
Researchers analyzing annotations of gene products are often faced with long lists of GO terms that are either close in the GO hierarchy (sibling terms) or are related by inheritance (child and parent terms). These redundant lists are difficult to interpret, but are likely to contain clusters of semantically similar GO terms.
To mitigate the problem of large and redundant lists, we aim to find a single representative GO term for each of these clusters. REVIGO performs a simple clustering procedure which is in concept similar to the hierarchical (agglomerative) clustering methods such as the neighbor joining approach.
A flowchart of the simplified algorithm to reduce redundancy.