SBML

Język znaczników biologii systemów (SBML)
Rozszerzenie nazwy pliku
.xml, .sbml
Rodzaj mediów internetowych
aplikacja/sbml+xml
Pierwsze wydanie 2 marca 2001 ; 22 lata temu ( 2001-03-02 )
Najnowsze wydanie

SBML poziom 3 wersja 2 rdzeń, wydanie 2 26 kwietnia 2019 r .; 3 lata temu ( 2019-04-26 )
Typ formatu Język znaczników
Przedłużony od XML
Otwarty format ? Tak
Strona internetowa sbml .org

Systems Biology Markup Language ( SBML ) jest formatem reprezentacji opartym na XML , służącym do komunikacji i przechowywania modeli obliczeniowych procesów biologicznych. Jest to darmowy i otwarty standard z szerokim wsparciem oprogramowania oraz społecznością użytkowników i programistów. SBML może reprezentować wiele różnych klas zjawisk biologicznych , w tym sieci metaboliczne , komórkowe szlaki sygnałowe, sieci regulacyjne , choroby zakaźne , i wiele innych. Został zaproponowany jako standard reprezentacji modeli obliczeniowych w dzisiejszej biologii systemowej.

Historia

Hiroaki Kitano i John C. Doyle , dzięki finansowaniu z Japan Science and Technology Corporation (JST), zebrali niewielki zespół naukowców, aby pracować nad opracowaniem lepszej infrastruktury oprogramowania do modelowania komputerowego w biologii systemowej . Hamid Bolouri był liderem zespołu programistów, w skład którego weszli Andrew Finney, Herbert Sauro i Michael Hucka. Bolouri zidentyfikował potrzebę ram umożliwiających interoperacyjność i dzielenie się różnymi systemami oprogramowania do symulacji biologii, które istniały pod koniec lat 90., i zorganizował nieformalne warsztaty w grudniu 1999 r. California Institute of Technology w celu omówienia tej sprawy. W warsztatach uczestniczyły grupy odpowiedzialne za rozwój DBSolve, E-Cell, Gepasi, Jarnac, StochSim oraz The Virtual Cell. Oddzielnie, wcześniej w 1999 roku, niektórzy członkowie tych grup dyskutowali również o stworzeniu przenośnego formatu plików dla modeli sieci metabolicznych w grupie BioThermoKinetics (BTK). Te same grupy, które uczestniczyły w pierwszych warsztatach Caltech, spotkały się ponownie w dniach 28–29 kwietnia 2000 r. na pierwszym z nowo utworzonej serii spotkań o nazwie Workshop on Software Platforms for Systems Biology . Podczas drugiego warsztatu stało się jasne, że a wspólny format reprezentacji modelu , aby umożliwić wymianę modeli między narzędziami oprogramowania w ramach dowolnej funkcjonującej struktury interoperacyjności, a uczestnicy warsztatów zdecydowali, że format ten powinien być zakodowany w formacie XML .

Zespół Caltech ERATO opracował propozycję tego formatu opartego na XML i rozesłał projekt definicji do uczestników 2. Warsztatów na temat Platform Oprogramowania dla Biologii Systemów w sierpniu 2000 r. Ten projekt został poddany obszernej dyskusji na listach mailingowych i podczas 2. Warsztatów na temat oprogramowania Platforms for Systems Biology, która odbyła się w Tokio w Japonii w listopadzie 2000 roku jako warsztaty satelitarne konferencji ICSB 2000. Po dalszych poprawkach, dyskusjach i wdrożeniach oprogramowania zespół Caltech wydał specyfikację dla SBML Level 1, Version 1 w marcu 2001 roku.

SBML Level 2 powstał podczas 5. warsztatów na temat platform oprogramowania dla biologii systemowej, które odbyły się w lipcu 2002 r. na Uniwersytecie Hertfordshire , Wielka Brytania. Do tego czasu zaangażowanych było znacznie więcej osób niż pierwotna grupa współpracowników SBML, a ciągła ewolucja SBML stała się większym wysiłkiem społeczności, z wieloma nowymi narzędziami, które zostały ulepszone w celu obsługi SBML. Uczestnicy warsztatów w 2002 roku wspólnie postanowili zrewidować formę SBML na poziomie 2. Pierwszy szkic specyfikacji poziomu 2 w wersji 1 został wydany w sierpniu 2002 roku, a ostateczny zestaw funkcji został sfinalizowany w maju 2003 roku na 7. Warsztatach Oprogramowania Platformy dla biologii systemowej w Ft. Lauderdale na Florydzie.

Kolejna iteracja SBML zajęła dwa lata, po części dlatego, że twórcy oprogramowania potrzebowali czasu na przyswojenie i zrozumienie większego i bardziej złożonego SBML Poziom 2. Nieuniknione odkrycie ograniczeń i błędów doprowadziło do opracowania SBML Poziom 2 Wersja 2, wydana we wrześniu 2006 W tym czasie zespół redaktorów SBML (który uzgadnia propozycje zmian i pisze spójną ostateczną specyfikację) zmienił się i składał się teraz z Andrew Finneya, Michaela Hucki i Nicolasa Le Novère.

SBML Level 2 Wersja 3 została opublikowana w 2007 roku po niezliczonych wkładach i dyskusjach ze społecznością SBML. W 2007 roku wybrano również dwóch kolejnych Redaktorów SBML w ramach wprowadzenia nowoczesnej organizacji Redaktora SBML w kontekście procesu rozwoju SBML.

Wersja 4 SBML Level 2 została opublikowana w 2008 roku po tym, jak pewne zmiany w Level 2 były wymagane przez popularne żądanie. (Na przykład głosowanie elektroniczne przeprowadzone przez społeczność SBML pod koniec 2007 r. wykazało, że większość wolała nie wymagać ścisłej spójności jednostek, zanim model SBML zostanie uznany za ważny.) Wersja 4 została sfinalizowana po spotkaniu Forum SBML, które odbyło się w Göteborgu w Szwecji , jako warsztaty satelitarne ICSB 2008 jesienią 2008 roku.

SBML Level 3 Version 1 Core został opublikowany w ostatecznej formie w 2010 roku, po długich dyskusjach i rewizji dokonanej przez redaktorów SBML i społeczność SBML. Zawiera wiele znaczących zmian w składni i konstrukcjach z poziomu 2 wersji 4, ale stanowi również nową modułową bazę do dalszego rozszerzania funkcji i możliwości SBML w przyszłości.

Wersja 5 SBML Level 2 została opublikowana w 2015 r. Ta wersja zawierała szereg zmian tekstowych (ale nie strukturalnych) w odpowiedzi na opinie użytkowników, tym samym uwzględniając listę errat zebranych przez wiele lat dla specyfikacji SBML Level 2 Version 4. Ponadto wersja 5 wprowadziła możliwość używania zagnieżdżonych adnotacji w formacie adnotacji SBML (format adnotacji oparty na podzbiorze RDF ) .

Język

Czasami błędnie zakłada się, że SBML ogranicza się tylko do modeli sieci biochemicznych, ponieważ oryginalne publikacje i wczesne oprogramowanie koncentrowały się na tej domenie. W rzeczywistości, chociaż główne cechy SBML są rzeczywiście zorientowane na reprezentowanie procesów podobnych do reakcji chemicznych, które działają na byty, ten sam formalizm służy analogicznie do wielu innych typów procesów; ponadto SBML ma funkcje językowe wspierające bezpośrednie wyrażanie formuł matematycznych i zdarzeń nieciągłych niezależnie od procesów reakcji, dzięki czemu SBML może reprezentować znacznie więcej niż tylko reakcje biochemiczne. Dowody na to, że SBML może być używany do czegoś więcej niż tylko opisu biochemii, można dostrzec w różnych modelach dostępnych od Baza danych BioModels .

Cele

SBML ma trzy główne cele:

  • umożliwiają korzystanie z wielu narzędzi programowych bez konieczności przepisywania modeli w celu dostosowania ich do specyficznego formatu plików każdego narzędzia;
  • umożliwiać udostępnianie i publikowanie modeli w formie, z której inni badacze mogą korzystać nawet podczas pracy z różnymi środowiskami oprogramowania;
  • zapewnić przetrwanie modeli po okresie użytkowania oprogramowania użytego do ich stworzenia.

SBML nie jest próbą zdefiniowania uniwersalnego języka dla modeli ilościowych. Celem SBML jest służyć jako lingua franca — format wymiany używany przez różne współczesne narzędzia programowe do komunikowania podstawowych aspektów modelu obliczeniowego.

Główne możliwości

SBML może kodować modele składające się z bytów (zwanych gatunkami w SBML), na które działają procesy (zwane reakcjami ). Ważną zasadą jest to, że modele są rozkładane na jawnie oznaczone elementy składowe, których zestaw przypomina szczegółowe przedstawienie równań reakcji chemicznych (jeśli model wykorzystuje reakcje) wraz z opcjonalnymi jawnymi równaniami (ponownie, jeśli model ich używa); reprezentacja SBML celowo nie rzutuje modelu bezpośrednio na zestaw równań różniczkowych lub inną specyficzną interpretację modelu. Ta wyraźna, niezależna od ram modelowania dekompozycja ułatwia narzędziu programistycznemu interpretację modelu i przetłumaczenie formularza SBML na dowolną formę wewnętrzną, z której faktycznie korzysta narzędzie.

Pakiet oprogramowania może odczytywać opis modelu SBML i tłumaczyć go na swój własny wewnętrzny format w celu analizy modelu. Na przykład pakiet może zapewniać możliwość symulacji modelu poprzez konstruowanie równań różniczkowych, a następnie przeprowadzanie numerycznego całkowania równań w czasie w celu zbadania dynamicznego zachowania modelu. Lub, alternatywnie, pakiet może skonstruować dyskretną stochastyczną modelu i użyć metody symulacji Monte Carlo , takiej jak algorytm Gillespiego .

SBML umożliwia reprezentację modeli o dowolnej złożoności. Każdy typ komponentu w modelu jest opisany przy użyciu określonego typu struktury danych, która organizuje odpowiednie informacje. Struktury danych określają, w jaki sposób wynikowy model jest kodowany w XML.

Oprócz powyższych elementów, inną ważną cechą SBML jest to, że każda jednostka może mieć dołączone do niej adnotacje czytelne maszynowo. Te adnotacje mogą służyć do wyrażania relacji między jednostkami w danym modelu a jednostkami w zasobach zewnętrznych, takich jak bazy danych. Dobrym przykładem wartości tego jest baza danych BioModels, gdzie każdy model jest opatrzony adnotacjami i powiązany z odpowiednimi zasobami danych, takimi jak publikacje, bazy danych związków i szlaków, słowniki kontrolowane i nie tylko. Dzięki adnotacjom model staje się czymś więcej niż tylko odwzorowaniem konstrukcji matematycznej — staje się semantycznie wzbogaconą strukturą do przekazywania wiedzy.

Poziomy i wersje

SBML jest zdefiniowany w Poziomach : specyfikacje kompatybilne w górę, które dodają funkcje i siłę wyrazu. Narzędzia programowe, które nie wymagają lub nie obsługują złożoności wyższych poziomów, mogą nadal korzystać z niższych poziomów; narzędzia, które mogą odczytywać wyższe poziomy, mogą również interpretować modele zdefiniowane na niższych poziomach. Tak więc nowe poziomy nie zastępują poprzednich. Jednak każdy Poziom może zawierać wiele Wersji, a nowe Wersje Poziomu zastępują stare Wersje tego samego Poziomu.

Obecnie zdefiniowane są trzy poziomy SBML. Bieżące wersje w ramach tych poziomów są następujące:

  • Level 3 Version 1 Core, dla którego ostateczna specyfikacja Release 1 została wydana 6 października 2010 r
  • Poziom 2 Wersja 5 Wydanie 1
  • Poziom 1 Wersja 2

Infrastruktura oprogramowania typu open source, taka jak libSBML i JSBML, umożliwia programistom obsługę wszystkich poziomów SBML ich oprogramowania przy minimalnym wysiłku.

Zespół SBML prowadzi publiczny system śledzenia problemów, za pomocą którego czytelnicy mogą zgłaszać błędy lub inne problemy w dokumentach specyfikacji SBML. Zgłoszone problemy są ostatecznie umieszczane na liście oficjalnych errat związanych z każdym wydaniem specyfikacji. Listy errat są udokumentowane na specyfikacji SBML.org.

Pakiety poziomu 3

Rozwój SBML Level 3 przebiegał w sposób modułowy. Specyfikacja Core to kompletny format, którego można używać samodzielnie . Na ten rdzeń można nałożyć dodatkowe pakiety poziomu 3, aby zapewnić dodatkowe, opcjonalne funkcje.

Hierarchiczny skład modelu

Pakiet Hierarchical Model Composition, znany jako „ comp ”, został wydany w listopadzie 2012 r. Ten pakiet zapewnia możliwość dołączania modeli jako podmodeli do innego modelu. Celem jest wspieranie zdolności modelarzy i narzędzi programowych do robienia takich rzeczy, jak (1) rozkładanie większych modeli na mniejsze, jak sposób zarządzania złożonością; (2) włączenie wielu instancji danego modelu w jeden lub więcej modeli otaczających, aby uniknąć dosłownego powielania powtarzających się elementów; oraz (3) tworzenie bibliotek przetestowanych modeli wielokrotnego użytku, podobnie jak w przypadku tworzenia oprogramowania i inne dziedziny inżynierii Specyfikacja była zwieńczeniem wieloletnich dyskusji wielu osób.

Ograniczenia równowagi strumienia

Pakiet Flux Balance Constraints (nazywany „ fbc ”) został po raz pierwszy wydany w lutym 2013 r. Wersje importu zostały wprowadzone jako część wersji 2, wydanej we wrześniu 2015 r. Pakiet „ fbc ” zapewnia obsługę modelowania opartego na ograniczeniach, często używanego analizować i badać sieci biologiczne zarówno na małą, jak i dużą skalę. Ten pakiet SBML wykorzystuje standardowe komponenty z podstawowej specyfikacji SBML Level 3, w tym gatunki i reakcje, i rozszerza je o dodatkowe atrybuty i struktury, aby umożliwić modelarzom zdefiniowanie takich rzeczy, jak granice strumienia i funkcje optymalizacyjne.

Modele jakościowe

Modele jakościowe lub pakiet „ qual ” dla SBML Level 3 został wydany w maju 2013 r. Ten pakiet obsługuje reprezentację modeli, w których brakuje dogłębnej wiedzy na temat reakcji biochemicznych i ich kinetyki, a konieczne jest zastosowanie podejścia jakościowego. Przykłady zjawisk modelowanych w ten sposób obejmują sieci regulacyjne genów i szlaki sygnałowe, opierając strukturę modelu na definicji grafów regulacyjnych lub grafów wpływu. Definicja i zastosowanie niektórych elementów tej klasy modeli różni się od sposobu definiowania i wykorzystywania gatunków i reakcji w rdzeniu modele SBML. Na przykład modele jakościowe zazwyczaj wiążą dyskretne poziomy działań z pulami jednostek; w konsekwencji procesy z ich udziałem nie mogą być opisywane jako reakcje per se, ale raczej jako przejścia między stanami. Systemy te można postrzegać jako systemy reaktywne, których dynamika jest reprezentowana za pomocą grafów przejść stanów (lub innych struktur Kripkego), w których węzły są stanami osiągalnymi, a krawędzie przejściami stanów.

Układ

układu SBML powstał jako zestaw konwencji adnotacji używanych w SBML Level 2. Został zaprezentowany na forum SBML w St. Louis w 2004 roku. Ralph Gauges napisał specyfikację i dostarczył implementację, która była szeroko stosowana. Ta oryginalna definicja została przeformułowana jako pakiet SBML Level 3, a specyfikacja została formalnie opublikowana w sierpniu 2013 r.

Pakiet SBML Level 3 Layout zawiera specyfikację sposobu przedstawiania sieci reakcji w formie graficznej. Jest więc lepiej dopasowany do zadania niż użycie dowolnego rysunku lub wykresu. Pakiet SBML Level 3 zawiera tylko informacje niezbędne do zdefiniowania pozycji i innych aspektów układu wykresu; dodatkowe szczegóły niezbędne do uzupełnienia wykresu — a mianowicie sposób renderowania aspektów wizualnych — należą do zakresu oddzielnego pakietu SBML poziomu 3 o nazwie Rendering (pseudonim „ render ”). Od listopada 2015 r. Projekt specyfikacji pliku „ render "Pakiet jest dostępny, ale nie został jeszcze oficjalnie sfinalizowany.

Pakiety w trakcie opracowywania

Podejmowane są prace nad pakietami SBML Level 3 w taki sposób, że specyfikacje są przeglądane i podejmowane są próby implementacji w trakcie procesu opracowywania. Gdy specyfikacja jest stabilna i istnieją dwie implementacje, które ją obsługują, pakiet uważa się za zaakceptowany. Wszystkie wymienione powyżej pakiety osiągnęły etap akceptacji. Poniższa tabela zawiera krótkie podsumowanie pakietów, które są obecnie w fazie rozwoju.

Nazwa pakietu Etykieta Opis
Tablice tablice Obsługa wyrażania tablic komponentów
dystrybucje dystrybuować Obsługa modeli kodowania, które próbkują wartości z rozkładów statystycznych lub określają statystyki powiązane z wartościami liczbowymi
Dynamika dyn Obsługa tworzenia i niszczenia obiektów podczas symulacji
Grupy grupy Sposób grupowania elementów
Gatunki wielostanowe i wieloskładnikowe wielo Struktury obiektów do reprezentowania pul jednostek z wieloma stanami i składających się z wielu komponentów oraz reguły reakcji z nimi związane
Wykonanie renderowanie Wsparcie dla definiowania symboli graficznych i glifów używanych na schemacie modelu; dodatek do pakietu układu
Wymagane elementy wymaganie Wsparcie dla szczegółowego wskazania elementów SBML, które zostały zmienione przez obecność innego pakietu
Procesy przestrzenne przestrzenny Wsparcie dla opisywania procesów, które obejmują komponent przestrzenny i opisywania zaangażowanych geometrii

Struktura

Definicja modelu w SBML Levels 2 i 3 składa się z list jednego lub więcej z następujących komponentów:

  • Definicja funkcji : Nazwana funkcja matematyczna, której można używać w pozostałej części modelu.
  • Definicja jednostki : nazwana definicja nowej jednostki miary lub przedefiniowanie istniejącej jednostki domyślnej SBML. Jednostki nazwane mogą być używane do wyrażania wielkości w modelu.
  • Rodzaj przedziału (tylko w SBML poziom 2): rodzaj lokalizacji, w której mogą znajdować się reagujące jednostki, takie jak substancje chemiczne.
  • Typ gatunku (tylko w SBML Level 2): ​​Typ bytu, który może uczestniczyć w reakcjach. Przykłady rodzajów rodzajów obejmują jony, takie jak Ca2 + , cząsteczki, takie jak glukoza lub ATP, miejsca wiązania na białku i inne.
  • Przedział : dobrze wymieszany pojemnik określonego typu io skończonej wielkości, w którym mogą znajdować się gatunki. Model może zawierać wiele przegródek tego samego typu. Każdy gatunek w modelu musi znajdować się w kompartmencie.
  • Gatunki : Pula jednostek tego samego typu , znajdujących się w określonym kompartmencie .
  • Parametr : Wielkość o nazwie symbolicznej. W SBML termin parametr jest używany w sensie ogólnym w odniesieniu do nazwanych wielkości, niezależnie od tego, czy są to stałe, czy zmienne w modelu.
  • Przypisanie początkowe : Wyrażenie matematyczne używane do określenia warunków początkowych modelu. Tego typu struktury można używać tylko do definiowania, w jaki sposób wartość zmiennej może być obliczana na podstawie innych wartości i zmiennych na początku symulowanego czasu.
  • Reguła : Wyrażenie matematyczne używane w połączeniu z równaniami różniczkowymi zbudowanymi na podstawie zestawu reakcji w modelu. Można go użyć do zdefiniowania, w jaki sposób wartość zmiennej można obliczyć na podstawie innych zmiennych lub do zdefiniowania szybkości zmian zmiennej. Zestaw reguł w modelu może być użyty wraz z równaniami szybkości reakcji do określenia zachowania modelu w czasie. Zestaw reguł ogranicza model przez cały czas trwania symulacji.
  • Ograniczenie : Wyrażenie matematyczne definiujące ograniczenie wartości zmiennych modelu. Ograniczenie ma zastosowanie we wszystkich momentach symulowanego czasu. Zestaw ograniczeń w modelu nie powinien być używany do określania zachowania modelu w czasie.
  • Reakcja : stwierdzenie opisujące pewien proces transformacji, transportu lub wiązania, który może zmienić liczbę jednego lub więcej gatunków. Na przykład reakcja może opisywać, w jaki sposób pewne jednostki (reagenty) są przekształcane w pewne inne jednostki (produkty). Reakcje mają powiązane wyrażenia szybkości kinetycznej opisujące, jak szybko zachodzą.
  • Zdarzenie : stwierdzenie opisujące natychmiastową, nieciągłą zmianę w zbiorze zmiennych dowolnego typu (stężenie gatunku, wielkość przedziału lub wartość parametru), gdy spełniony jest warunek wyzwalający.

Wspólnota

Od lutego 2020 r. prawie 300 systemów oprogramowania reklamuje wsparcie dla SBML. Aktualna lista jest dostępna w formie SBML Software Guide , dostępnej na stronie SBML.org.

SBML był i nadal jest rozwijany przez społeczność osób tworzących platformy oprogramowania dla biologii systemowej, poprzez aktywne listy dyskusyjne e-mail i odbywające się dwa razy w roku warsztaty. Spotkania często odbywają się w połączeniu z innymi konferencjami biologicznymi, zwłaszcza Międzynarodową Konferencją Biologii Systemów (ICSB). Wysiłek społeczności jest koordynowany przez wybraną redakcję składającą się z pięciu członków. Każdy redaktor jest wybierany na 3-letnią nieodnawialną kadencję.

Narzędzia takie jak walidator modeli online oraz biblioteki typu open source do włączania SBML do oprogramowania napisanego w C , C++ , Java , Python , Mathematica , MATLAB i innych językach są opracowywane częściowo przez zespół SBML, a częściowo przez szerszą społeczność SBML .

SBML jest oficjalnym typem IETF MIME , określonym przez RFC 3823.

Zobacz też

Linki zewnętrzne