`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.
I’ve been experimenting with MLflow’s Prompt Engineering UI, which lets you do no-code prompt tuning across multiple LLMs. While it officially supports models like OpenAI out of the box, I wanted to try it with Japanese open-source models from the LLM-jp project.
This repo shows how to serve these models locally using MLflow’s pyfunc model interface, expose them via the MLflow AI Gateway, and compare prompt performance through the UI.
It includes a working setup with:
- Hugging Face LLM-jp models (e.g. llm-jp-3-3.7b-instruct)
- MLflow Model Serving
- MLflow Gateway
- Prompt Engineering UI
- Streamlit UI for experiment tracking
`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.