Evorca: Fast and Minimal PlmDCA in Jax

1 ss-13 1 9/15/2025, 10:26:22 AM github.com ↗

Comments (1)

ss-13 · 1h ago
## evorca: fast and minimal plmDCA in JAX **

`evorca` is a lightweight, JAX-based implementation of plmDCA (pseudo-likelihood maximization DCA) to infer contact maps and statistical coupling matrices from multiple sequence alignments.

- *Minimal & Extensible:* Clear, compact Potts-model pipeline designed to be readable and easy to modify. - *Efficient & Hardware-aware:* JAX + Optax enable CPU/GPU execution (GPU requires a matching JAX build); sparse I/O is intended to help with larger alignments. - *Practical Interface:* Simple command-line interface and a NumPy-first Python API for downstream analysis and visualization.

## Key Differentiators **

Established plmDCA tools (e.g., EVcouplings, pydca, CCMpred) are mature and widely used, but depending on environment they may involve broader dependencies or different GPU options. `evorca` focuses on a smaller, modern Python/JAX stack and a concise code path—aiming to make the core plmDCA steps straightforward to read, adapt, and integrate into existing workflows.