Entering edit mode
3 days ago
Shosuke
▴
10
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.
GitHub: https://github.com/suzuki-2001/evorca