Saltar al contenido
Julián E. Ordoñez
← Software

Cheminator

Librería C++ de nomenclatura química inorgánica en español, que explica su razonamiento paso a paso y corre en el navegador vía WebAssembly.

Estado
activo
Año
2026
Tecnologías
C++20 · CMake · WebAssembly · Emscripten

Cheminator nombra compuestos químicos inorgánicos a partir de su fórmula, en los sistemas Stock y tradicional. Cubre las siete categorías: óxidos, peróxidos, anhídridos, ácidos hidrácidos, ácidos oxácidos, bases y sales oxisal.

Qué lo diferencia

La mayoría de herramientas devuelven una respuesta. Cheminator devuelve el razonamiento: detecta automáticamente a qué categoría pertenece el compuesto y explica cómo llegó al nombre, paso por paso.

Fe2O3 → óxido

  1. Se identifica el metal (Fe, subíndice 2) y el oxígeno (subíndice 3).
  2. Hierro (Fe) tiene 2 valencias conocidas para óxidos.
  3. La proporción 2:3 corresponde a la valencia 3.
  4. Hierro tiene más de una valencia → se indica con número romano (III).

  óxido de Hierro (III)

Eso lo vuelve útil para enseñar, no solo para consultar.

Por qué C++

El proyecto nació en 2017 como un programa de consola y se reescribió como librería embebible. La elección del lenguaje está justificada por cuatro capacidades concretas, no por preferencia:

Hueco que llena

Una revisión del ecosistema encontró que no existe ninguna librería de nomenclatura inorgánica en español. OPSIN, el estándar de facto, es Java, solo va de nombre a estructura y no cubre química inorgánica avanzada. RDKit, Open Babel e Indigo tienen núcleo C++ pero no generan nombres.

Estado

Motor completo para las siete categorías, con pruebas automatizadas e integración continua en tres frentes: compilación nativa, compilación solo de la librería con un consumidor en C, y compilación a WebAssembly.

En el roadmap: formulación inversa (nombre → fórmula) y compuestos de coordinación, donde un modelo de grafo sí se justifica y donde OPSIN declara no llegar.