Hay muchos químicos de motores de búsqueda (por ejemplo, la búsqueda de estructura de ChemSpider) que permiten a los usuarios dibujar y búsqueda de una molécula. ¿Cómo funciona? ¿Es la comparación de imágenes utilizadas? ¿Me podría dar un algoritmo o seudo código?
Respuestas
¿Demasiados anuncios?Generalmente, la estructura de la búsqueda se realiza utilizando un modelo de gráfico. Por ejemplo, tomemos el ciclohexano. En la pantalla este es un hexágono - pero esto se convierte en el servidor a un simple átomo/bond graph modelo de seis átomos de carbono en un anillo.
Este gráfico puede entonces ser comparados con los de todas las moléculas en la base de datos a través de diversos medios. Por ejemplo, el subgrafo isomorfismo o las huellas digitales o incluso SONRISAS de comparación de cadenas.
Hasta donde yo sé, ChemSpider permite una variedad de registros - con/sin hidrógenos, la búsqueda de la subestructura, elemento de huellas dactilares, y así sucesivamente. Cada uno de estos es una cuestión de por sí, así que no estoy seguro de lo útil un algoritmo que cubre todos ellos sería.
La utilización de la imagen de búsqueda no funciona muy bien ya que el mismo compuesto puede ser dibujado en un montón de diferentes y maneras correctas. Sin embargo, es posible convertir dibuja estructuras o incluso en 3D de estructuras en el texto, por ejemplo, con SONRISAS o InChI. Aquellos que luego puede ser utilizada para el estándar, basada en el texto de la base de datos de búsqueda.
Mi pensamiento es que tal vez ChemSpider dispone de un algoritmo que toma la imagen y la convierte a una cadena de SONRISAS. Es muy probable que tengan que hacerlo con el fin de evitar problemas en cómo la estructura se dibuja como @DSVA señaló.
Si es un problema de un conformacional diferencia en una molécula grande (donde podría estar en el orden de miles de millones de pequeñas diferencias conformacionales), sería casi imposible encontrar un partido perfecto en la base de datos. Sin embargo, considerando sólo la conectividad de los átomos (como una cadena de SONRISAS de lograr), su software podría encontrar una coincidencia casi de manera instantánea.