Voici une liste des fonctionnalités de base de MDF:
Recherche de structures chimiques: Les recherches de structure chimique peuvent être combinées avec des recherches de propriétés
Les recherches de structure chimique sont paginées et mises en cache
Prise en charge des composés multi-composants (mélanges)
3 entités interrogeables sur la structure chimique: ChimicalCompound, Containable et ChemicalCompoundContainer
Importation et exportation de fichiers SD pour les 3 entités ci-dessus
Accès à la base de données transactionnelle
Sécurité optionnelle (autorisation)
Avec la conception et la fonctionnalité de MDF, il est possible de construire de nombreux types de systèmes différents tels que des systèmes d’enregistrement, des systèmes d’inventaire ou simplement une simple base de données composée. Bien que vous puissiez également créer votre propre ELN, il existe également l’ELN Indigo gratuit. Cet ELN a été créé par GGA Software Services et est utilisé chez Pfizer.
Contrairement à MolDB5R et à MyMolDB, MDF n’est pas une application Web autonome entièrement fonctionnelle avec recherche de structure chimique. Comme son nom l’indique, c’est un framework pour simplifier la création d’une telle application. MDF peut également être utilisé pour créer des applications de bureau locales ou client-serveur. MDF s’adresse aux développeurs de logiciels et n’est pas destiné à être utilisé par les scientifiques eux-mêmes. Cependant, les caractéristiques du MDF sont très robustes. La recherche de structure chimique se fait dans la base de données et non dans le code de l’application. Par conséquent, vous pouvez rechercher par structure chimique et d’autres propriétés en même temps, les résultats peuvent être triés par plusieurs propriétés et peuvent être paginés (clauses SQL OFFSET et LIMIT). Notez que si vous effectuez la recherche de structure chimique dans le code de l’application, toute requête nécessitera au moins deux accès à la base de données, à savoir la recherche de structure et ensuite le filtrage par d’autres propriétés, le tri et / ou la limitation. Les deux doivent se produire dans la même transaction. Il n’a pas été déterminé si MolDB5R et MyMolDB le font réellement dans la même transaction.
Dans le MDF, les composés chimiques peuvent être associés à un contenant, qui dans les systèmes d’enregistrement serait un lot ou dans un système d’inventaire beaucoup. Un échantillon spécifique physiquement disponible dans une bouteille à code à barres peut alors être associé à un récipient. Ces conteneurs peuvent également être recherchés par structure chimique. C’est la base de la création d’un système d’inventaire. Les développeurs peuvent ajouter autant de propriétés supplémentaires qu’ils le souhaitent à chacune des entités et toutes sont consultables avec la structure chimique.
Tous les accès aux données dans MDF sont transactionnels pour éviter les incohérences de données. MDF peut être configuré pour utiliser un pool de connexions de base de données. Lors de l’interrogation d’un SGBDR, la création d’une connexion prend souvent plus de temps que la requête elle-même et, par conséquent, si vous avez déjà des connexions ouvertes, les temps de réponse peuvent être réduits.
Pour la recherche de similarité, MDF a exposé les algorithmes fournis par la cartouche de Bingo qui sont les métriques Tanimoto, Tversky et Euclidienne pour les sous-structures.
Le MDF est prêt à être utilisé avec la sécurité du ressort. La sécurité est facultative. MDF offre une sécurité au niveau de la méthode (autorisation). Il n’offre aucune fonctionnalité d’authentification.
Manipulation des mélanges
Le MDF prend en charge les composés chimiques à plusieurs composants. La recherche par sous-structure renverra tous les composés dont au moins un composant (structure chimique) correspond à la structure de la requête. Ceci est important car les produits de réaction qui peuvent être entrés dans un système d’enregistrement chimique sont presque toujours des mélanges à moins d’une purification approfondie.
Si une entrée dans un fichier SD importé se compose de plusieurs structures déconnectées, on suppose que cette entrée est un mélange et que chaque structure est stockée en tant que structure chimique distincte.
Normalisation de la structure
Par défaut, le MDF stocke les structures chimiques telles qu’elles sont soumises. Le MDF ne fait aucune normalisation / normalisation des structures chimiques. Il appartient au développeur utilisant le MDF de s’assurer que les structures chimiques sont correctement normalisées avant de les enregistrer dans la base de données. Il est actuellement suggéré que les développeurs implémentent une telle fonctionnalité en remplaçant la méthode preSave() de ChemicalCompoundServiceImpl. Cette méthode est appelée avant qu’un composé chimique ne soit créé ou mis à jour. Dans cette méthode, le composé chimique et toutes les structures chimiques qui le composent peuvent être manipulés librement à volonté. Notez que chaque composé enregistré sera traité par cette méthode.
Sels, solvates et solutions
MDF la version actuelle 1.0.1 n’a pas de traitement spécial pour les sels, solvates ou solutions. MDF stockera des composants séparés dans un fichier de structure chimique en tant que structure chimique distincte. Par conséquent, enregistrer un sel comme 1 = CC = CC = C1. sera représenté comme un mélange des deux ions sans aucun pourcentage fixé. Une recherche de structure exacte pour l’un ou l’autre ion renverrait ce sel. Si le sel a une charge supérieure à 1 et que plusieurs ions lui sont associés comme 1 = CC = C = C1.. le sel sera stocké sous forme de mélange de 1 = CC = C = C1 et sans aucun pourcentage fixé. Si la structure chimique est un seul ion, elle sera stockée et consultable comme toute autre structure chimique. Si ce comportement ne convient pas dans un cas spécifique, les développeurs peuvent implémenter la fonctionnalité de gestion du sel et du solvate dans la méthode preSave().
Certains systèmes commerciaux semblent également n’avoir aucun moyen de gérer les solutions. Il est recommandé de créer le composé comme s’il était pur et d’ajouter les informations sur la solution sous forme de champs séparés au niveau du composé.
Exemple d’application web
Une application web simple utilisant MDF a été créée. L’application Web utilise Spring MVC. L’application n’utilise pas l’intégration de sécurité et n’utilise pas les entités Containable et ChemicalCompoundContainer. Il n’utilise que des produits chimiquesentité composée. L’application est une base de données de composés pour les composés multi-composants. Il a une page pour importer les structures chimiques dans un fichier SD dans la base de données des composés. La base de données peut être recherchée par sous-structure et propriétés. Il utilise JSME pour dessiner les structures chimiques (Figure 3). La page des résultats de recherche affiche les résultats de recherche sous forme de tableau et de pagination. Lorsqu’une recherche de sous-structure est effectuée, la sous-structure sera mise en surbrillance dans les résultats de la recherche (figure 4). Les résultats d’une recherche peuvent être exportés sous forme de fichier SD. Les résultats de la recherche contiennent un lien vers une vue composée unique. Les propriétés du composé peuvent être éditées et des compositions peuvent être ajoutées, éditées et supprimées (Figures 5, 6). Lors de l’édition d’un composé ou d’une composition, l’application traite les modifications simultanées de manière transparente et une boîte de dialogue de résolution des conflits s’affiche sur laquelle l’utilisateur peut sélectionner les valeurs à utiliser pour chaque propriété, puis enregistrer cette nouvelle version.