• Nie Znaleziono Wyników

4 Przegląd formatów reprezentacji modeli biologicznych

4.5 Porównanie formatów

W powyższych sekcjach przedstawione zostały trzy klasy formatów, które są wykorzystane do przechowywania modeli bioinformatycznych. Opis głównych charakterystyk został przedstawiony w tabeli 2. Najpopularniejszą klasą są formaty z niejawną strukturą. Najprawdopodobniejszą przyczyną tego jest wykorzystanie intuicyjnego i łatwego w obsłudze graficznego interfejsu użytkownika, przez programy, które używają tej klasy formatów. Nieco mniej popularne są języki specjalizowane, które wymagają od użytkownika doświadczenia związanego z programowaniem. Najmniej popularną klasą formatów są kontrolowane języki naturalne. Prawdopodobnie jest to spowodowane tym, że na polu modelowania systemów dynamicznych zastosowanie tych języków jest jeszcze na bardzo wczesnym etapie rozwoju. Wybór narzędzi, wykorzystanych do przygotowania modeli bioinformatycznych i wy-bór klasy formatów powinien być oparty na potrzebach odbiorcy. Tabela 2 przedstawia opis głównych charakterystyk klas formatów zapisu modeli bioinformatycznych.

Formaty z niejawną strukturą

Języki specjalizowane Kontrolowane języki naturalne

Rozszerzalność Rozszerzalne Ograniczone projek-tem języka

Rozszerzalne, wyma-gające pewnych ogra-niczeń

Samodokumentacja Niezdolne Zależne od języka Pełna

Popularność Bardzo popularne Średnio popularne Niepopularne Sposób użycia Bazy danych

specjali-zowanego

Skala modeli Od małych do dużych Od małych do średnich Od małych do średnich Tabela 2. Opis głównych charakterystyk klas formatów zapisu modeli bioinformatycznych.

Najbardziej oczywistym czynnikiem jest dostępność oprogramowania pozwalającego na ana-lizę modelu. Jeżeli ktoś preferuje metodę modelowania opartą na językach specjalizowanych, a nie ma oprogramowania, które może wykonać wymaganą analizę w oparciu o model zdefiniowany w postaci programistycznej, to tak zaprojektowany model będzie bezużyteczny. Jeżeli więcej niż jeden format będzie dostępny dla pewnych zastosowań, projektanci powinni rozważyć, który z formatów będzie naj-lepiej odpowiadać ich potrzebom.

Narzędzia wykorzystujące formaty z niejawną strukturą są najczęściej najprostszymi w obsłu-dze i najbardziej intuicyjnymi, ponieważ spełniają rolę prostej w użyciu bazy danych dla oprogramowa-nia, które opiera się na graficznym interfejsie użytkownika. Takie podejście pozwala na skoncentrowa-niu się na badaskoncentrowa-niu modelu, a operacje, które dzieją się na samym formacie zapisu pozostawione są oprogramowaniu. Jest to prawdopodobny powód, dlaczego ta klasa formatów cieszy się największą popularnością wśród biologów. Jednocześnie formaty z niejawną strukturą posiadają pewne problemy.

Największy z nich, to konieczność stosowania konkretnego oprogramowania do zarządzania i modyfi-kowania modelu. Może to być problematyczne jeżeli oprogramowanie przestaje być rozwijane lub z innych powodów nie jest dostępne. Kolejnym problemem jest trudność w ręcznej edycji modelu z wy-korzystaniem edytora tekstowego, ponieważ formaty te są często zbyt skomplikowane, aby poprawnie z nich korzystać bez wykorzystania oprogramowania dedykowanego do zarządzania nimi. Brak możli-wości wygodnej ręcznej edycji nie jest dużym problemem dla większości użytkowników, jednakże pewne operacje ręcznie mogą być wykonane sprawniej, szczególnie przez użytkowników z doświad-czeniem w programowaniu. Ważne również jest, że formaty zapisu, które gwarantują pełną interope-racyjność nie zawsze zbudowane w jednym programie będą poprawnie działać w innym. Ten problem może być spowodowany implementacją niezgodną z założeniami projektowymi formatu lub mieć miej-sce w sytuacji, w której format posiada wiele wersji lub pewne indywidualne rozszerzenia.

Języki specjalizowane są bardziej elastyczne, niż formaty z niejawną strukturą, a także dostar-czają użytkownikom więcej kontroli nad opisem modelu. W związku z tym ułatwiają wprowadzanie drobnych zmian w modelu, zarówno ręcznie jak i automatycznie. Ręczne edytowanie może być wyko-rzystane do sprawnego przetestowania drobnych modyfikacji, które nie zawsze są proste do dodania z wykorzystaniem graficznego interfejsu użytkownika. Podczas projektowania interfejsu użytkownika projektant zawsze staje przed wyborem które z funkcjonalności będą łatwiej dostępne niż inne. Nie ma takich dylematów w przypadku programowania. Automatyczne modyfikowanie modelu może być

bar-dzo pomocne kiedy przygotowywane są skrypty, które wykorzystane są do wykonywania automatycz-nych eksperymentów, które wymagają powtórzeń obliczeń dla zróżnicowaautomatycz-nych zbiorów parametrów.

Takie skrypty mogą w łatwy sposób zmienić wartość parametrów, a następnie automatycznie zebrać wyniki kolejnych przeprowadzonych eksperymentów, co jest szczególnie wydajne, gdy obliczenia wy-konywane są na środowiskach komputerowych o wysokiej wydajności. Inną zaletą języków specjalizo-wanych jest lepsze wsparcie systemów kontroli wersji oraz fakt, że są prostsze dla użytkownika do odczytu i analizy, zakładając, że użytkownik ma wystarczającą wiedzę na temat języka. Obydwie z wy-mienionych zalet wynikają z projektu języków specjalizowanych, który jest oparty na tekście i często wielokrotnie prostszy w zapisie niż formaty z niejawną strukturą. Również jest o wiele łatwiej tworzyć nowe modele w oparciu o inne z wykorzystaniem prostych technik kopiowania i wklejania, a także wyszukiwania i podmieniania tekstu, które o wiele łatwiej zastosować dla formatów, które są dedyko-wane do ręcznej edycji. Języki specjalizodedyko-wane mają również jednak pewne wady. Najważniejszą z nich jest trudność w obsłudze. Wykorzystanie tych języków wymaga o wiele większej wiedzy na temat pro-gramowania, niż w przypadku formatów z niejawną strukturą. Są również bardziej podatne na błędy ludzkie, które mogą powstać w procesie zapisu z powodu niezrozumienia składni języka. Czasami ucze-nie się zasad języków specjalizowanych jest trudne z powodu słabej lub ucze-niejasnej dokumentacji, która może zawierać błędy lub być nieaktualna. Ponadto użycie języków specjalizowanych jest mniej intui-cyjne niż korzystanie z oprogramowania z graficznym interfejsem użytkownika. Z drugiej strony model zapisany w formacie z niejawną strukturą może być łatwiejszy w zrozumieniu, jeżeli zaoferowane na-rzędzie zawiera dobrze zaprojektowany graficzny interfejs użytkownika.

Kolejną klasą formatów są kontrolowane języki naturalne. Korzyści płynące z korzystania z nich są najbardziej uwydatnione podczas współpracy zespołów interdyscyplinarnych, szczególnie, jeżeli nie ma jednego wspólnego narzędzia. Mogą być na przykład pomocne podczas weryfikacji modeli stwo-rzonych przez naukowców specjalizujących się w odmiennych dziedzinach nauki. Naukowiec, który we-ryfikuje model, otrzymuje go w postaci prostej do przeczytania i nie musi wiedzieć w jakim narzędziu model został oryginalnie zbudowany. Kolejną zaletą płynącą z korzystania z kontrolowanych języków naturalnych jest zdolność do opisywania tego samego modelu z wykorzystaniem różnych form zapisu, co pomaga skupić się na treści modelu. Dla niektórych użytkowników takie podejście może okazać się nawet bardziej intuicyjne niż tworzenie modelu z wykorzystaniem graficznego interfejsu użytkownika.

Kontrolowane języki naturalne są również łatwiejsze w użyciu niż języki specjalizowane, ponieważ użyt-kownik nie musi przestrzegać bardzo restrykcyjnych i wymagających nauki zasad składniowych. Istot-nym aspektem kontrolowanych języków naturalnych jest ich zdolność do samodokumentowania. Opis modelu, który został przygotowany za pomocą kontrolowanego języka naturalnego jest zapisany w postaci języka naturalnego, który jest łatwy do zrozumienia, a zatem nie wymaga dodatkowych ko-mentarzy. Ponadto, kontrolowane języki naturalne są formatami opartymi na tekście, co daje im te same zalety, związane z edycją modeli w postaci tekstowej, które mają języki specjalizowane. Najwięk-szym problemem kontrolowanych języków naturalnych jest ich niejednoznaczność. Nie są oparte na precyzyjnie zdefiniowanej składni, a każdy element modelu może być opisany na kilka sposobów, w związku z czym zdanie może zostać zinterpretowane na kilka sposobów w zależności od kontekstu.

Problem taki powstaje gdy użytkownik, który stworzył model, w inny sposób interpretował zdanie niż parser, który przetwarzał model. Aby zminimalizować ryzyko takich sytuacji, parsery powinny zawsze informować użytkownika w jaki sposób interpretują wczytany tekst, a użytkownik powinien weryfiko-wać wynik parsowania, co z kolei powoduje, że przetwarzanie modelu zapisanego w kontrolowanym języku naturalnym staje się bardziej czasochłonne.

Zarówno użytkownicy jak i twórcy oprogramowania nie doceniają możliwości, które płyną z dwóch ostatnich klas formatów. Prawdopodobnym powodem takiej sytuacji jest fakt, że rozwiązania

te są mniej intuicyjne dla użytkownika i wymagają doświadczenia związanego z programowaniem kom-puterowym. Jednakże rozwój bardziej intuicyjnych narzędzi, które będą wspierać języki specjalizo-wane, a także kontrolowane języki naturalne, może spowodować, że wzrośnie ich popularność wśród użytkowników. Ponadto warto pamiętać, że eksperci nie powinni opierać się wyłącznie na najpopular-niejszych rozwiązaniach, a dostosowywać swój wybór w zależności od potrzeby tak, aby dostosować w najlepszy sposób format zapisu modelu jak i technikę jego tworzenia do swoich potrzeb.