This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tool: GO3, a Rust-powered Python library for Gene Ontology semantic similarity

Hello all! We just published GO3, a new open-source library for doing semantic similarity analysis in the Gene Ontology:

The idea behind GO3 was pretty simple: we wanted GO semantic similarity workflows to be faster and less painful in Python.

A lot of existing tools are great, but in practice we often found ourselves writing glue code for things like comparing sets of GO terms, comparing genes, building all-vs-all distance matrices, or going from similarity scores to embeddings/plots. GO3 tries to put all of that into one Python package, with a Rust backend doing the heavy lifting.

Some of the main things it supports:

  • 8 term-level similarity methods, including IC-based, topological, and hybrid approaches

  • 5 groupwise strategies for comparing term sets / gene annotations

  • direct gene-level and gene-set similarity, not just GO-term pairs

  • batch operations and all-vs-all distance matrices

  • t-SNE / UMAP helpers built on top of GO-based distance matrices

  • parallel execution through Rust/Rayon

  • simple setup with pip install go3

The main novelty is that GO3 is not just “another implementation of Resnik/Lin/etc.” It is meant to cover the whole workflow from GO terms -> genes/gene sets -> distance matrices -> embeddings/visualization, while staying usable from Python.

In our benchmarks, GO3 was substantially faster than the other Python/R tools we tested, especially for initialization and gene-level similarity workloads.

Would love to hear feedback from people who work with GO annotations, enrichment results, disease-gene prioritization, functional clustering, or similar workflows. Also very happy to hear what features would make this more useful in real analyses.

Thanks!

bioinformatics rust python semantic go

0 answers

No answers yet.

Log in to answer this question.