go3: A Fast and Lightweight Library for Semantic Similarity of GO Terms and Genes
Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Motivation
Calculation of semantic similarity of Gene Ontology (GO) term subsets is a fundamental task in functional genomics, comparative studies, and biomedical data integration. Existing tools, primarily in Python or R, often face severe limitations in performance when scaling to large annotation datasets.
Results
We present go3, the first high-performance, Python-compatible library written in Rust that supports multiple semantic similarity metrics for GO terms and genes. go3 supports both pairwise and batch computations, optimized using Rust’s parallelism and memory safety. Compared to GOATOOLS, the state of the art, it achieves up to 5x speedup and 25x lower memory footprint when loading the GO ontology and gene annotations, and up to x 10 3 speedup when calculating semantic similarities between genes, while preserving output compatibility.
Availability and implementation
go3 is implemented in Rust and available through Python 3. It is accessible in GitHub: ( https://github.com/Mellandd/GO3 ).
Contact
joseluis.mellinaa@um.es