No hay una sola, sino varias formas de describir una molécula mediante una cadena SMILES. Depende de los desarrolladores de los programas (y bases de datos) definir cuál se utiliza y declararlo en la documentación. Por lo tanto, lee el manual; si no lo mencionan explícitamente, pregúntales.
Una de las mejores aproximaciones tomadas es, por ejemplo, la de OpenBabel; te ofrece escribir, por ejemplo, ya sea una cadena SMILES canónica, universal o en forma inchificada.
Si las cadenas SMILES con las que trabajas tienen su origen en múltiples fuentes que siguen más de un dialecto, puedes solicitar, por ejemplo, a OpenBabel, consolidar la representación que posteriormente utilices. Por lo tanto
obabel -:"C1=CN=CC=C1C(=O)NN" -ocan
resulta en la cadena SMILES canónica NNC(=O)c1ccncc1
. En caso de tener un archivo con muchas SMILES, considera una conversión como
obabel -ismi input.txt -ocan -O output_canonical.smi
Noel M O'Boyle escribió un artículo sobre los métodos para identificar una representación canónica de SMILES (orgánicos) que también proporciona información al respecto.
Hacia una representación de SMILES universal - Un método estándar para generar SMILES canónicas basado en el InChI en J. Cheminf. 2012; doi 10.1186/1758-2946-4-22.
Un comentario sugiere usar InChI y sus formas hash, claves InChI, como reemplazo de SMILES. Su difusión en bases de datos (ejemplo NIST, o ejemplos recopilados por Warr) puede ser tentadora y verificar la identidad de las entradas basadas en la clave InChI puede ser atractivo en términos de rendimiento y resistencia a colisiones una vez que se tienen en mano (por ejemplo, Goodman et al.).
Sin embargo, distinguir compuestos diferentes que son tautómeros entre sí actualmente no es posible usando el InChI/clave InChI estándar. Toma, por ejemplo, la 2-hidroxipiridina y su tautómero, 2-piridona. Dependiendo de la polaridad del solvente, una forma puede ser favorecida sobre la otra; y aunque ambas estructuras difieren, y son descritas por dos SMILES canónicas diferentes, el InChI y clave InChI estándar son iguales para ambas:
debido a
«diferentes tautómeros tienen la misma capa de conectividad/hidrógeno»
ver 4.7. Especificaciones del InChI estándar, preguntas frecuentes técnicas del InChI trust's FAQ técnico por 2012-05-12
Lo que se puede hacer, por ejemplo, usando los binarios de referencia de InChI trust's (versión 1.06/diciembre 2020, repositorio), es invocar la inclusión de una capa H fija que conduce a InChI
InChI=1/C5H5NO/c7-5-3-1-2-4-6-5/h1-4H,(H,6,7)/f/h7H
InChI=1/C5H5NO/c7-5-3-1-2-4-6-5/h1-4H,(H,6,7)/f/h6H
y
InChIKey=UBQKCCHYAOITMY-QDQILVOLNA-N
InChIKey=UBQKCCHYAOITMY-BRMMOCHJNA-N
Hasta ahora, la inclusión de una capa H fija en InChI conduce a una descripción no estándar (por lo tanto, no hay un 1S
inicial). Igualmente, ten en cuenta que solo el segundo bloque de hash se ve afectado para producir una clave InChI diferente.
Por lo tanto, en resumen dependiendo de lo que busques, usa InChI/clave InChI con cautela.
Referencias:
Goodman, J. M.; Platnev, I.; Thiessen, P.; Bolton, E.; Heller, S. R. InChI versión 1.06: ahora más del 99.99% confiable en J. Cheminform. 13, 2021, 40; doi 10.1186/s13321-021-00517-z, acceso libre.
Warr, W. A. Muchos InChIs y algunos logros en J. Comput. Aided Mol. Des. 29, 2015, 681–694; doi 10.1007/s10822-015-9854-3.