henhaobio
Sign in

BioinformaticsBioinformaticsPeer-reviewed journal article

Tomtom-lite: Accelerating Tomtom enables large-scale and real-time motif similarity scoring

Jacob Matthew SchreiberiD

PDFDOIPreprintCode

Abstract

SummaryPairwise sequence similarity is a core operation in genomic analysis, yet most attention has been given to sequences made up of discrete characters. With the growing prevalence of machine learning, calculating similarities for sequences of continuous representations, e.g. frequency-based position-weight matrices (PWMs), attribution-based contribution-weight matrices, and even learned embeddings, is taking on newfound importance. Tomtom has previously been proposed as an algorithm for identifying pairs of PWMs whose similarity is statistically significant, but the implementation remains inefficient for both real-time and large-scale analysis. Accordingly, we have re-implemented Tomtom as a numba-accelerated Python function that is natively multi-threaded, avoids cache misses, more efficiently caches intermediate values, and uses approximations at compute bottlenecks. Here, we provide a detailed description of the original Tomtom method (see Supplementary Note 1) and present results demonstrating that our re-implementation can achieve over a thousand-fold speedup compared with the original tool on reasonable tasks (see Supplementary Note 2). Availability and ImplementationOur implementation of Tomtom is freely available as a Python package at https://github.com/jmschrei/memesuite-lite, which can be downloaded via pip install memelite.

Citations
11
FWCI
3.29
Field percentile
top 6%

Reproducibility ledger

Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.

Sign in to file a reproducibility report.

Similarity Map
SelectedSame fieldCross-field
THISQuang '18Sudo '18Andreu '26Miyamoto '23Rossi '21Roberson '18
58% semantic matchBioinformatics
Daniel X. Quang, Yuanfang Guan, Stephen C.J. Parker·Bioinformatics·May 9, 2018· 13 citations