De nombre IUPAC a SMILES: cómo funciona la conversión
Convertir un nombre IUPAC sistemático en una cadena SMILES es un problema de análisis sintáctico con una única respuesta correcta. Aquí tienes cómo lo hace OPSIN y cómo verificar el resultado.
¿Qué es una conversión de nombre IUPAC a SMILES?
Una conversión de nombre IUPAC a SMILES traduce un nombre químico sistemático (por ejemplo, ácido 2-acetoxibenzoico) a una cadena SMILES (CC(=O)Oc1ccccc1C(=O)O), una codificación de texto compacta de los átomos y enlaces de la molécula. Como ambos formatos describen una estructura exacta, la conversión tiene una única respuesta correcta: es un problema de análisis sintáctico, no un problema de predicción.
Qué codifica SMILES
SMILES (Simplified Molecular Input Line Entry System) escribe una molécula como una línea de texto: los átomos como símbolos de elemento, los enlaces como caracteres, los anillos como dígitos emparejados y las ramificaciones entre paréntesis. c1ccccc1 es el benceno; las letras minúsculas marcan los átomos aromáticos. Su compacidad es la razón por la que las bases de datos, los modelos de aprendizaje automático y las API de química hablan todos SMILES.
Cómo analiza un nombre OPSIN
- Tokeniza: Divide el nombre en morfemas reconocidos: prefijos, hidruro padre, sufijos y localizadores.
- Analiza la gramática: Aplica las reglas de nomenclatura IUPAC como una gramática formal para ensamblar un árbol sintáctico de sustituyentes y la cadena principal.
- Construye la estructura: Convierte el árbol sintáctico en un grafo de átomos y enlaces, colocando los sustituyentes en sus posiciones numeradas.
- Emite SMILES: Serializa el grafo a una cadena SMILES (o InChI) canónica.
OPSIN (Open Parser for Systematic IUPAC Nomenclature) realiza esto de forma determinista: el mismo nombre siempre produce la misma estructura.
Cómo verificar que la conversión es correcta
La comprobación fiable es un viaje de ida y vuelta: toma la salida SMILES, genera a partir de ella un nombre o un identificador canónico y confirma que coincide con la entrada. El Critic Gate de Cheemly hace exactamente esto: analiza el SMILES con RDKit y ejecuta un viaje de ida y vuelta de nombre a estructura con OPSIN, de modo que un nombre mal traducido se detecta antes de que la respuesta llegue hasta ti. Los LLM genéricos se saltan este paso, y por eso devuelven con seguridad SMILES que no coinciden con el compuesto nombrado.
Errores frecuentes
- Nombres ambiguos o no estándar: Los nombres triviales o anticuados pueden no analizarse; usa el nombre IUPAC actual.
- Estereoquímica: Los descriptores
E/ZyR/Sdeben sobrevivir a la conversión; verifica que la quiralidad se conserva en la salida. - Sales y mezclas: Los nombres de varios componentes se asocian a SMILES separados por puntos (
[Na+].[Cl-]); confirma que todos los componentes están presentes.
Preguntas frecuentes
- ¿Es determinista convertir un nombre IUPAC a SMILES?
- Sí. Un nombre IUPAC sistemático correcto describe exactamente una estructura, por lo que un analizador adecuado como OPSIN siempre devuelve el mismo SMILES. Es una tarea de análisis sintáctico con una única respuesta correcta, a diferencia de una conjetura probabilística de un LLM.
- ¿Qué herramienta convierte nombres IUPAC a SMILES?
- OPSIN, un analizador de código abierto, es la herramienta estándar para convertir nombres IUPAC sistemáticos a SMILES o InChI. Cheemly envuelve OPSIN y verifica la salida con RDKit antes de devolverla.
- ¿Por qué los chatbots de IA se equivocan con los SMILES?
- Los LLM de propósito general generan SMILES de forma probabilística y se saltan la verificación, por lo que pueden devolver una cadena de aspecto válido que codifica la molécula equivocada. El análisis determinista junto con una comprobación de ida y vuelta elimina esta clase de errores.