A continuación se muestra una lista de las funciones principales de MDF:
Búsqueda de estructura química: Las búsquedas de estructura química completas, secundarias, INTELIGENTES, Similares, de fórmula
se pueden combinar con búsquedas de propiedades
Las búsquedas de estructura química se paginan y almacenan en caché
Soporte para compuestos de varios componentes (mezclas)
3 entidades de búsqueda de estructura química: Importación y Exportación de archivos SD para las 3 entidades anteriores
Acceso transaccional a bases de datos
Seguridad opcional (autorización)
Con el diseño y la funcionalidad de MDF es posible construir muchos tipos diferentes de sistemas, como sistemas de registro, sistemas de inventario o simplemente una base de datos compuesta simple. Si bien también puedes crear tu propio ELN, también existe el ELN Índigo gratuito. Este ELN fue creado por GGA Software Services y se utiliza en Pfizer .
A diferencia de MolDB5R y MyMolDB, MDF no es una aplicación web independiente totalmente funcional con búsqueda de estructura química. Como su nombre indica, es un marco para simplificar la creación de dicha aplicación. MDF también se puede utilizar para crear aplicaciones de escritorio locales o cliente-servidor. El MDF está dirigido a desarrolladores de software y no está destinado a ser utilizado por los propios científicos. Sin embargo, las características de MDF son muy robustas. La búsqueda de estructuras químicas se realiza en la base de datos y no en el código de aplicación. Por lo tanto, puede buscar por estructura química y otras propiedades al mismo tiempo, los resultados se pueden ordenar por múltiples propiedades y se pueden paginar (cláusulas de desplazamiento y límite SQL). Tenga en cuenta que si realiza la búsqueda de estructura química en el código de aplicación, cualquier consulta requerirá al menos dos viajes a la base de datos, a saber, la búsqueda de estructura y, posteriormente, el filtrado por otras propiedades, la clasificación y/o la limitación. Ambos deben ocurrir en la misma transacción. No se determinó si MolDB5R y MyMolDB realmente hacen esto en la misma transacción.
En MDF, los compuestos químicos pueden asociarse con un contenedor, que en los sistemas de registro sería un lote o en un sistema de inventario un lote. Una muestra específica físicamente disponible en una botella con código de barras se puede asociar a un recipiente. Estos contenedores también se pueden buscar por estructura química. Esta es la base para crear un sistema de inventario. Los desarrolladores pueden agregar tantas propiedades adicionales como deseen a cada una de las entidades y todas ellas se pueden buscar junto con la estructura química.
Todo el acceso a datos en MDF es transaccional para evitar inconsistencias de datos. MDF se puede configurar para usar un grupo de conexiones de base de datos. Al consultar un RDBMS, la creación de una conexión a menudo toma más tiempo que la consulta en sí y, por lo tanto, si ya tiene conexiones abiertas, los tiempos de respuesta se pueden reducir.
Para la búsqueda de similitud, MDF expuso los algoritmos proporcionados por el cartucho de Bingo, que son las métricas de Tanimoto, Tversky y Euclidiana para subestructuras.
MDF está listo para ser utilizado con seguridad de resorte. La seguridad es opcional. MDF ofrece seguridad a nivel de método (autorización). No ofrece ninguna función de autenticación.
Manejo de mezclas
El MDF admite compuestos químicos multicomponentes. La búsqueda por subestructura devolverá todos los compuestos que tengan al menos un componente (estructura química) que coincida con la estructura de consulta. Esto es importante porque los productos de reacción que se pueden introducir en un sistema de registro químico son casi siempre mezclas a menos que se realice una purificación extensa.
Si una entrada en un archivo SD importado consta de varias estructuras desconectadas, se asume que esta entrada es una mezcla y cada estructura se almacena como una estructura química separada.
Normalización de la estructura
De forma predeterminada, el MDF almacena las estructuras químicas a medida que se envían. El MDF no hace ninguna estandarización/normalización de estructuras químicas. Depende del desarrollador que utiliza MDF asegurarse de que las estructuras químicas se normalicen correctamente antes de guardarlas en la base de datos. Actualmente se sugiere que los desarrolladores implementen tal característica anulando el método preSave () de ChemicalCompoundServiceImpl. Este método se llama antes de que se cree o actualice cualquier compuesto químico. Dentro de este método, el compuesto químico y todas las estructuras químicas en las que se compone pueden manipularse libremente según se desee. Tenga en cuenta que cada compuesto que se guarda se procesará con este método.
Sales, solvatos y soluciones
MDF versión actual 1.0.1 no tiene manipulación especial para sales, solvatos o soluciones. MDF almacenará componentes separados en un archivo de estructura química como una estructura química separada. Por lo tanto, ahorrando una sal como 1 = CC = CC = C1. se representará como una mezcla de los dos iones sin ningún porcentaje establecido. Una búsqueda exacta de la estructura de cualquiera de los iones devolvería esta sal. Si la sal tiene una carga mayor que 1 y múltiples iones asociados a ella como 1 = CC = C = C1.. la sal se almacenará como una mezcla de 1 = CC = C = C1 y sin ningún porcentaje establecido. Si la estructura química es de un solo ion, se almacenará y se podrá buscar como cualquier otra estructura química. Si este comportamiento no es adecuado en un caso específico, los desarrolladores pueden implementar la funcionalidad de manejo de sal y solvato en el método preSave ().
Algunos sistemas comerciales también parecen no tener forma de manejar soluciones. Se recomienda crear el compuesto como si fuera puro y agregar la información de la solución como campos separados en el nivel del compuesto.
Ejemplo de aplicación web
Se creó una aplicación web sencilla que utiliza MDF. La aplicación web hace uso de Spring MVC. La aplicación no hace uso de la integración de seguridad y no utiliza las entidades Containable y ChemicalCompoundContainer. Solo utiliza la entidad de composición química. La aplicación es una base de datos de compuestos para compuestos multicomponentes. Tiene una página para importar las estructuras químicas en un archivo SD en la base de datos compuesta. La base de datos se puede buscar por subestructura y propiedades. Utiliza JSME para dibujar las estructuras químicas (Figura 3). La página de resultados de búsqueda muestra los resultados de búsqueda de forma tabular y paginada. Cuando se realiza una búsqueda de subestructura, la subestructura se resaltará en los resultados de la búsqueda (Figura 4). Los resultados de una búsqueda se pueden exportar como un archivo SD. Los resultados de búsqueda contienen un enlace a una vista compuesta única. Las propiedades del compuesto se pueden editar y las composiciones se pueden agregar, editar y eliminar (Figuras 5, 6). Al editar un compuesto o una composición, la aplicación se ocupa de las modificaciones simultáneas de forma transparente y se muestra un diálogo de resolución de conflictos en el que el usuario puede seleccionar qué valores usar para cada propiedad y luego guardar esa nueva versión.