di Seguito è un elenco delle funzionalità di base di MDF:
la struttura Chimica di ricerca: Full, Sub, SMARTS, Similarity, Formula
Le ricerche di strutture chimiche possono essere combinate con ricerche di proprietà
Le ricerche di strutture chimiche sono impaginate e memorizzate nella cache
Supporto per composti multicomponenti (miscele)
3 entità ricercabili di strutture chimiche: ChemicalCompound, Contenibile e ChemicalCompoundContainer
l’Importazione e l’Esportazione di SD-File per il al di sopra dei 3 enti
Transazionale di accesso al database
di sicurezza Opzionale (autorizzazione)
Con il design e la funzionalità del MDF è possibile costruire diversi tipi di sistema, come ad esempio sistemi di registrazione, sistemi di inventario o di un semplice composto di database. Mentre si potrebbe anche creare il proprio ELN, esiste anche il libero Indigo ELN. Questo ELN è stato creato da GGA Software Services ed è utilizzato da Pfizer .
A differenza di MolDB5R e MyMolDB , MDF non è un’applicazione web standalone completamente funzionale con ricerca di strutture chimiche. Come suggerisce il nome, è un framework per semplificare la creazione di tale applicazione. MDF può anche essere utilizzato per creare applicazioni desktop locali o client-server. MDF è destinato agli sviluppatori di software e non destinato all’uso da parte degli scienziati stessi. Tuttavia le caratteristiche MDF sono molto robuste. La ricerca della struttura chimica viene eseguita nel database e non nel codice dell’applicazione. Quindi è possibile cercare per struttura chimica e altre proprietà allo stesso tempo, i risultati possono essere ordinati per più proprietà e possono essere impaginati (OFFSET SQL e clausole LIMITE). Si noti che se si esegue la ricerca della struttura chimica nel codice dell’applicazione, qualsiasi query richiederà almeno due viaggi nel database, ovvero la ricerca della struttura e successivamente il filtraggio per altre proprietà, l’ordinamento e/o la limitazione. Entrambi devono accadere nella stessa transazione. Non è stato determinato se MolDB5R e MyMolDB lo facciano effettivamente nella stessa transazione.
In MDF i composti chimici possono essere associati a un contenibile, che nei sistemi di registrazione sarebbe un lotto o in un sistema di inventario molto. Un campione specifico fisicamente disponibile in una bottiglia con codice a barre può quindi essere associato a un contenitore. Questi contenitori possono anche essere ricercati dalla struttura chimica. Questa è la base per la creazione di un sistema di inventario. Gli sviluppatori possono aggiungere tutte le proprietà aggiuntive che vogliono a ciascuna delle entità e tutte sono ricercabili insieme alla struttura chimica.
Tutto l’accesso ai dati in MDF è transazionale per evitare incongruenze di dati. MDF può essere configurato per utilizzare un pool di connessioni al database. Quando si esegue l’interrogazione di un RDBMS, la creazione di una connessione richiede spesso più tempo della query stessa e, quindi, se si dispone già di connessioni aperte, i tempi di risposta possono essere ridotti.
Per la ricerca di similarità MDF esposto gli algoritmi forniti dalla cartuccia Bingo che sono Tanimoto, Tversky e metrica euclidea per sottostrutture.
MDF è pronto per essere utilizzato con molla di sicurezza. La sicurezza è facoltativa. MDF offre sicurezza a livello di metodo (autorizzazione). Non offre alcuna funzionalità di autenticazione.
Gestione della miscela
MDF supporta composti chimici multicomponenti. La ricerca per sottostruttura restituirà tutti i composti che hanno almeno un componente (struttura chimica) corrispondente alla struttura della query. Questo è importante perché i prodotti di reazione che possono essere inseriti in un sistema di registrazione chimica sono quasi sempre miscele a meno che non venga eseguita un’ampia purificazione.
Se una voce in un file SD importato è costituita da più strutture disconnesse, si presume che questa voce sia una miscela e ogni struttura sia memorizzata come una struttura chimica separata.
Normalizzazione della struttura
Per impostazione predefinita MDF memorizza le strutture chimiche man mano che vengono inviate. MDF non fa alcuna standardizzazione / normalizzazione delle strutture chimiche. Spetta allo sviluppatore che utilizza MDF assicurarsi che le strutture chimiche siano correttamente normalizzate prima di salvarle nel database. Attualmente si suggerisce agli sviluppatori di implementare tale funzionalità sovrascrivendo il metodo preSave () di ChemicalCompoundServiceImpl. Questo metodo viene chiamato prima che qualsiasi composto chimico venga creato o aggiornato. All’interno di questo metodo il composto chimico e tutte le strutture chimiche di cui è costituito possono essere liberamente manipolati a piacere. Si noti che ogni composto salvato verrà elaborato con questo metodo.
Sali, solvati e soluzioni
La versione attuale di MDF 1.0.1 non ha alcuna manipolazione speciale per sali, solvati o soluzioni. MDF memorizzerà componenti separati in un file di struttura chimica come struttura chimica separata. Quindi salvare un sale come 1 = CC = CC = C1. sarà rappresentato come una miscela dei due ioni senza alcuna percentuale impostata. Una ricerca di struttura esatta per uno ion restituirebbe questo sale. Se il sale ha una carica maggiore di 1 e più ioni associati ad esso come 1 = CC = C = C1.. il sale sarà conservato come una miscela di 1 = CC = C = C1 e senza alcuna percentuale impostata. Se la struttura chimica è un singolo ion sarà memorizzato e ricercabile come qualsiasi altra struttura chimica. Se questo comportamento non è adatto in un caso specifico, gli sviluppatori possono implementare funzionalità di gestione salt e solvate nel metodo preSave ().
Alcuni sistemi commerciali sembrano anche non avere modo di gestire soluzioni. Si consiglia di creare il composto come se fosse puro e aggiungere le informazioni sulla soluzione come campi separati a livello di composto.
Esempio di applicazione web
È stata creata una semplice applicazione web che utilizza MDF. L’applicazione web fa uso di Spring MVC. L’applicazione non utilizza l’integrazione di sicurezza e non utilizza le entità Containable e ChemicalCompoundContainer. Utilizza solo entità ChemicalCompound. L’applicazione è un database composto per composti multi-componente. Ha una pagina per importare le strutture chimiche in un file SD nel database composto. Il database può essere cercato per sottostruttura e proprietà. Utilizza JSME per disegnare le strutture chimiche (Figura 3). La pagina dei risultati della ricerca visualizza i risultati della ricerca in modo tabellare e paginato. Quando viene eseguita una ricerca sottostruttura, la sottostruttura verrà evidenziata nei risultati della ricerca (Figura 4). I risultati di una ricerca possono essere esportati come file SD. I risultati della ricerca contengono un collegamento a una singola vista composta. Le proprietà del composto possono essere modificate e le composizioni possono essere aggiunte, modificate e cancellate (Figure 5, 6). Quando si modifica un composto o una composizione, l’applicazione gestisce le modifiche simultanee in modo trasparente e viene visualizzata la finestra di risoluzione dei conflitti in cui l’utente può selezionare i valori da utilizzare per ciascuna proprietà e quindi salvare la nuova versione.