Poniżej znajduje się lista podstawowych funkcjonalności MDF:
wyszukiwanie struktury chemicznej:
wyszukiwanie struktury chemicznej może być połączone z wyszukiwaniem właściwości
wyszukiwanie struktury chemicznej jest pagedowane i buforowane
Wsparcie dla związków wieloskładnikowych (mieszanin)
3 obiekty do wyszukiwania struktury chemicznej: ChemicalCompound, Containable i ChemicalCompoundContainer
Import i eksport plików SD dla powyższych 3 podmiotów
dostęp do transakcyjnych baz danych
opcjonalne bezpieczeństwo (autoryzacja)
dzięki projektowi i funkcjonalności MDF można zbudować wiele różnych typów systemów, takich jak systemy rejestracji, systemy inwentaryzacji lub po prostu prosta złożona baza danych. Chociaż możesz również stworzyć swój własny ELN, istnieje również darmowy Indigo ELN. Ten ELN został stworzony przez GGA Software Services i jest używany w Pfizer .
w przeciwieństwie do MolDB5R i MyMolDB , MDF nie jest w pełni funkcjonalną samodzielną aplikacją internetową z wyszukiwaniem struktury chemicznej. Jak sama nazwa wskazuje jest to framework, aby uprościć tworzenie takiej aplikacji. MDF może być również używany do tworzenia lokalnych lub klient-serwer aplikacji desktopowych. MDF jest skierowany do twórców oprogramowania i nie jest przeznaczony do użytku przez samych naukowców. Jednak funkcje MDF są bardzo wytrzymałe. Wyszukiwanie struktury chemicznej odbywa się w bazie danych, a nie w kodzie aplikacji. W związku z tym można wyszukiwać według struktury chemicznej i innych właściwości w tym samym czasie, wyniki mogą być sortowane według wielu właściwości i mogą być paged (SQL OFFSET i klauzule LIMIT). Zauważ, że jeśli wykonasz wyszukiwanie struktury chemicznej w kodzie aplikacji, każde zapytanie będzie wymagało co najmniej dwóch przejazdów do bazy danych, a mianowicie wyszukiwania struktury, a następnie filtrowania według innych właściwości, sortowania i / lub ograniczania. Oba muszą się zdarzyć w tej samej transakcji. Nie ustalono, czy MolDB5R i MyMolDB rzeczywiście robią to w tej samej transakcji.
w MDF związki chemiczne mogą być związane z zawartością, która w systemach rejestracji byłaby partia lub w systemie inwentaryzacji dużo. Konkretna fizycznie dostępna Próbka w butelce z kodem kreskowym może być następnie powiązana z pojemnikiem. Pojemniki te można również przeszukiwać według struktury chemicznej. Jest to podstawa do stworzenia systemu inwentaryzacji. Programiści mogą dodać dowolną liczbę dodatkowych właściwości do każdej z jednostek, a wszystkie z nich można przeszukiwać wraz ze strukturą chemiczną.
cały dostęp do danych w MDF jest transakcyjny, aby zapobiec niespójności danych. MDF może być skonfigurowany do korzystania z puli połączeń z bazą danych. Podczas odpytywania RDBMS tworzenie połączenia często zajmuje więcej czasu niż samo zapytanie, a zatem, jeśli masz już otwarte połączenia, Czas odpowiedzi może zostać skrócony.
do wyszukiwania podobieństw MDF ujawnił algorytmy dostarczone przez wkład Bingo, które są Tanimoto, Tversky i Euklidesowe metryki dla podstruktur.
MDF jest gotowy do użycia z zabezpieczeniem sprężynowym. Bezpieczeństwo jest opcjonalne. MDF oferuje bezpieczeństwo na poziomie metody (autoryzacja). Nie oferuje żadnych funkcji uwierzytelniania.
obsługa mieszanek
MDF obsługuje wieloskładnikowe związki chemiczne. Wyszukiwanie według podstruktury zwróci wszystkie związki, które mają co najmniej jeden składnik (strukturę chemiczną) pasujący do struktury zapytania. Jest to ważne, ponieważ produkty reakcji, które mogą zostać wprowadzone do systemu rejestracji chemicznej, są prawie zawsze mieszaninami, chyba że zostanie przeprowadzone intensywne oczyszczanie.
Jeśli wpis w importowanym pliku SD składa się z wielu rozłączonych struktur, zakłada się, że ten wpis jest mieszaniną, a każda struktura jest przechowywana jako oddzielna struktura chemiczna.
normalizacja struktury
domyślnie MDF przechowuje struktury chemiczne, które są przesyłane. MDF nie wykonuje żadnej standaryzacji / normalizacji struktur chemicznych. Programista korzystający z MDF musi upewnić się, że struktury chemiczne są prawidłowo znormalizowane przed zapisaniem ich do bazy danych. Obecnie sugeruje się, aby Programiści implementowali taką funkcję przez nadpisanie metody preSave () ChemicalCompoundServiceImpl. Metoda ta jest wywoływana przed utworzeniem lub aktualizacją jakiegokolwiek związku chemicznego. W ramach tej metody można dowolnie manipulować związkiem chemicznym i wszystkimi strukturami chemicznymi, z których się składa. Zauważ, że każdy zapisany związek będzie przetwarzany tą metodą.
Sole, solwaty i roztwory
MDF aktualna wersja 1.0.1 nie ma specjalnej obsługi dla soli, solwatów i roztworów. MDF będzie przechowywać oddzielne składniki w pliku struktury chemicznej jako oddzielną strukturę chemiczną. Dlatego zapisywanie soli jak 1 = CC = CC = C1. będzie reprezentowany jako mieszanina dwóch jonów bez żadnego ustawionego procentu. Dokładne wyszukiwanie struktury obu jonów zwróci tę sól. Jeśli sól ma ładunek większy niż 1 i wiele jonów z nim związanych, jak 1 = CC = C = C1.. sól będzie przechowywana jako mieszanina 1 = CC = C = C1 i bez żadnych ustawionych wartości procentowych. Jeśli struktura chemiczna jest jednym Jonem, będzie przechowywana i wyszukiwana jak każda inna struktura chemiczna. Jeśli takie zachowanie jest nieodpowiednie w konkretnym przypadku, programiści mogą zaimplementować funkcje obsługi salt i solvate w metodzie preSave ().
niektóre systemy komercyjne również wydają się nie mieć możliwości obsługi rozwiązań. Zaleca się utworzenie związku tak, jakby był czysty i dodanie informacji o roztworze jako oddzielnych pól na poziomie związku.
Przykładowa aplikacja webowa
powstała prosta aplikacja webowa wykorzystująca MDF. Aplikacja internetowa wykorzystuje Spring MVC. Aplikacja nie korzysta z integracji zabezpieczeń i nie wykorzystuje podmiotów Containable oraz ChemicalCompoundContainer. Używa tylko chemicalcompound entity. Aplikacja jest złożoną bazą danych dla związków wieloskładnikowych. Posiada stronę do importowania struktur chemicznych w pliku SD do bazy danych związków. Bazę danych można przeszukiwać według podstruktury i właściwości. Używa JSME do rysowania struktur chemicznych (ryc. 3). Strona wyników wyszukiwania wyświetla wyniki wyszukiwania w formie tabelarycznej i pagedowej. Po zakończeniu wyszukiwania podkonstrukcja zostanie wyróżniona w wynikach wyszukiwania (Rysunek 4). Trafienia wyszukiwania mogą być eksportowane jako plik SD. Wyniki wyszukiwania zawierają łącze do pojedynczego widoku złożonego. Właściwości związku można edytować, a kompozycje można dodawać, edytować i usuwać (Fig. 5, 6). Podczas edycji związku lub kompozycji aplikacja obsługuje współbieżne modyfikacje w przejrzysty sposób i wyświetlane jest okno dialogowe rozwiązywania konfliktów, w którym użytkownik może wybrać wartości do wykorzystania dla każdej właściwości, a następnie zapisać nową wersję.