`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.
ss-13•1h ago
`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.