DEV Community

Cover image for EnzyOrchestra v0.1.0: validación cross-generador para diseño de enzimas de novo
Fenix
Fenix

Posted on

EnzyOrchestra v0.1.0: validación cross-generador para diseño de enzimas de novo

EnzyOrchestra v0.1.0: validación cross-generador para diseño de enzimas de novo

Un arnés OSS de validación in-silico que envuelve múltiples generadores de enzimas y aplica métricas catalíticas específicas, sin depender del método ni del laboratorio.

El problema

El diseño generativo de enzimas (RFdiffusion, ProteinMPNN, Boltz-1) ya funciona. Lo que falta no es generar estructuras, sino validarlas de forma comparable entre métodos distintos.

Hoy la validación vive fragmentada en scripts ad-hoc por paper. Cada grupo evalúa sus diseños con sus propias métricas, sus propios umbrales y sus propios generadores. Eso impide comparar manzanas con manzanas cuando querés saber qué generador rinde mejor para un theozyme dado.

El gap lo verifiqué en GitHub el 2026-07-12: 0 herramientas OSS independientes del método/lab que envuelvan múltiples generadores con métricas catalíticas específicas. El propio harness de benchmark de RFdiffusion2 está acoplado al modelo — sweep_hyperparam.py:234 hace import rf_diffusion — y no incluye métricas catalíticas. Cubre su generador, no el gap cross-generador.

La solución

EnzyOrchestra es la capa de validación que es independiente del método: orquesta varios generadores (RFdiffusion2, ProHiFlo, AgentPLM) y varios oracles, aplica métricas específicas de enzima y emite un reporte comparativo.

Diseño clave: los generadores se orquestan, no se importan. Se invocan por subprocess o se consumen como PDBs pre-generados (riesgo R1). El arnés nunca importa un generador como librería, así se mantiene independiente del método — pero vos aportás los binarios/el cómputo de cada generador.

Cómo funciona

El flujo es run (generá + validá + reportá) o report (renderizá desde un set de resultados):

# Dry-run con fixtures (sin GPU):
enzybench run --config enzybench_demo_config.json --dry-run --out report.html

# Render de un reporte desde un set de resultados (Markdown a stdout, sin GPU):
enzybench report --input enzybench_demo_config.json --format markdown
Enter fullscreen mode Exit fullscreen mode

Métricas catalíticas que aplica:

  • pLDDT — confianza estructural del plegado.
  • ΔΔG — cambio de energía de plegado (heurística OSS por defecto).
  • Solubilidad — predicción de expresión.
  • CAI (Codon Adaptation Index) — optimización de códon para expresión heteróloga.

El reporte es una tabla comparativa (Markdown revisable sin GPU, o HTML) con las columnas generador | pLDDT | ddg | solubilidad | cai.

Resultados y verificación

EnzyOrchestra v0.1.0 es MVP funcional, verificado por ejecución real:

  • Cobertura de código con gate >= 80% desde el primer commit (pytest --cov-fail-under=80).
  • 0 vulnerabilidades abiertas en SonarCloud (5 originales -- SHA pin, path traversal S8707, lockfile -- cerradas con evidencia por API).
  • Modo dry-run / CI sin GPU: corre end-to-end con fixtures PDB, sin binario externo.

Limitaciones (transparencia)

No inflo el alcance. Tres cosas que EnzyOrchestra no es:

  1. Validación biológica. Los valores ΔΔG y pLDDT de los fixtures del dry-run son sintéticos -- números asignados a mano para tests deterministas de regresión, no calculados ni validados contra ningún caso biológico publicado. Prueban que el pipeline corre; no que las métricas sean catalíticamente correctas.
  2. Oracles de producción. ddg es una heurística OSS placeholder. El ΔΔG real requiere PROSS, FoldX (adaptador opcional, propietario) o un predictor ML de dG entrenado -- ninguno bundleado.
  3. Un generador. EnzyOrchestra valida; no diseña. Vos aportás RFdiffusion2 / ProHiFlo / AgentPLM y su GPU.

Pruébalo

git clone https://github.com/amurlaniakea/EnzyOrchestra.git
cd EnzyOrchestra
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest          # E1 + tests unitarios, sin GPU
Enter fullscreen mode Exit fullscreen mode

Stack

Componente Detalle
Lenguaje Python >= 3.10
Dependencias core pydantic >= 2.0 (solo eso)
Validadores OSS: pLDDT, ΔΔG, solubilidad, CAI -- FoldX opcional
CI / calidad pytest + coverage >=80%, SonarCloud 0 vulns
Licencia AGPL-3.0-or-later

Links


Licencia: AGPL-3.0-or-later. Copyright (C) 2026 Pedro Sordo Martínez -- amurlaniakea@gmail.com.

Top comments (0)