• Nie Znaleziono Wyników

7 Praktyczne wykorzystanie języka ModeLang do modelowania mechanizmu CRISPR/Cas9

7.3 Wyniki eksperymentu

7.3.1 Wyniki symulowania modelu w programie CellDesigner

Pierwsza metoda eksperymentalna zakładała wykorzystanie programu CellDesigner. Metoda ta była zrealizowana z wykorzystaniem modelu, który został zaprezentowany w podrozdziale 7.2.2. W oparciu o niego powstał model zapisany w języku ModeLang, który jest przedstawiony w podrozdziale 7.2.3.

W celu przeprowadzenia eksperymentu niezbędne było przygotowanie narzędzi, które będą w stanie parsować model w języku ModeLang, a następnie wyeksportować model do postaci formatu SBML. Eksport do modelu SBML rozwiązywał kwestię integracji parsera z narzędziami symulacyjnymi.

Wybór formatu SBML był podyktowany jego popularnością, w związku z którą można było wybrać naj-bardziej odpowiednie narzędzie symulacyjne. Wspomniana integracja została szerzej opisana w pod-rozdziale 7.3.1.1.

Po zbudowaniu narzędzia możliwe było wyeksportowanie wczytanego modelu do formatu SBML. Szczegółowy opis modelu zapisanego w postaci formatu SBML znajduje się w podrozdziale 7.3.1.2. Znajduje się tam zarówno opis elementów bezpośrednio przekonwertowanych, jak i tych, które musiały być w domyślny sposób uzupełnione ze względu na wymagalność wypełniania tych pól.

Po otrzymaniu poprawnego modelu SBML możliwe było wczytanie modelu do narzędzi symulacyjnych.

Wybór padł na program CellDesigner, w którym zostały przeprowadzone eksperymenty symulacyjne.

Szczegółowe informacje opisujące przebieg symulacji w programie CellDesigner znajdują się w podroz-dziale 7.3.1.3.

7.3.1.1 Integracja z symulatorem

Integracja z oprogramowaniem symulacyjnym była możliwa z wykorzystaniem dwóch rozwią-zań. Pierwsze z potencjalnych rozwiązań opierało się na zbudowaniu własnego oprogramowania, które byłoby bezpośrednio zintegrowane z programem parsującym. Rozwiązanie tego typu byłoby jednak problematyczne z dwóch powodów. Po pierwsze wymagałoby zbudowania narzędzia, które byłoby na podobnym poziomie zaawansowania, co dostępne na rynku, aby móc zainteresować nim potencjal-nych użytkowników. Drugi problem to konieczność utrzymywania takiego rozwiązania, co wiązałoby się ze zbudowaniem zespołu dedykowanego do takich prac. Drugim potencjalnym rozwiązaniem było

zbudowanie integratora, który umożliwiłby wykorzystanie możliwości dostępnych na rynku rozwiązań symulacyjnych.

W związku z szeregiem zalet, które płyną z drugiego rozwiązania powstał pomysł wykorzysta-nia formatu SBML, którego możliwości zostały opisane w rozdziale 4. Projekt ten zakładał zbudowanie modułu w języku Python, który opierałby się na danych wydobywanych z procesu parsowania, tak aby móc konwertować te informacje do formatu SBML. W efekcie konwersji do SBML, język ModeLang został zintegrowany z setkami narzędzi, które wspierają SBML w pełni lub na poziomie kompatybilno-ści, a zatem możliwości poprawnego zaimportowania modelu w takim formacie.

Struktura modelu zapisanego w formacie SBML umożliwia zapisywanie wielu typów informacji, także wychodzących poza zakres potrzeb biologicznych, związanych z prowadzonymi pracami badaw-czymi. Zdefiniowany został zatem zakres informacji, które można bezpośrednio przekonwertować, a także zakres, który musi być zdefiniowany ponad to, aby format poprawnie funkcjonował i był popraw-nie importowany do narzędzi symulacyjnych.

Informacje, które zapisywane są w formacie SBML przechowywane są w postaci list elemen-tów. Listy, które w ramach zbudowanej integracji zostały uzupełnione to: lista definicji jednostek, lista przedziałów, lista agentów, lista parametrów i lista reakcji. Bezpośrednie źródło w zapisie ModeLang miały informacje zawarte w listach agentów, parametrów i reakcji.

Lista agentów reprezentowana jest przez agentów, które zostały zdefiniowane w zapisie Mo-deLang. Może mieć swoje źródło zarówno w części definicji, w której możliwe jest zapisanie jaka jest liczba początkowa agentów w modelu jak i części reguł, w których możliwe jest zdefiniowanie interakcji pomiędzy typami agentów. Niezależnie od źródła informacji lista agentów jest uzupełniona o takie in-formacje, a w przypadku braku informacji o liczbie początkowej, domyślnie jest to liczba 0.

Lista parametrów jest uzupełniona dla wszystkich parametrów, które były wykorzystane na poziomie reguł. Jeżeli parametr był podstawą do obliczeń wartości innego parametru, który z kolei był wykorzystywany w regułach, obliczenie takie jest wykonywane podczas wczytywania informacji w pro-cesie parsowania, a następnie wynik jest przekazywany do modułu budującego zapis SBML. W takiej sytuacji nie jest już przekazywana wartość parametru pomocniczego, aby nie utrudniać analizy wyni-kowego modelu.

Lista reakcji jest strukturą, która zawiera informacje o regułach, które opisują interakcje w ra-mach opisywanego modelu. Nie wchodzą w związku z tym do tej struktury informacje o regułach opi-sujących ograniczenia pojemności środowiskowej.

Informacje na temat listy definicji jednostek i przedziałów zostały uzupełnione w sposób do-myślny za pomocą danych, które były niezbędne do poprawnego funkcjonowania i interpretowania przekazanych wartości dla pozostałych struktur. Domyślnie zatem wszystkie informacje mają taką samą jednostkę, a także ten sam domyślny przedział.

7.3.1.2 Postać SBML modelu

Wykorzystując mechanizmy integracyjne, które zostały opisane w poprzedniej sekcji na mo-delu uproszczonym CRISPR/Cas9 zapisanym w języku ModeLang opisanym w rozdziale 7.2.3 powstał model w postaci SBML. Model ten przedstawia Listing 13.

<?xml version='1.0' encoding='utf-8'?>

<sbml level="2" version="4" xmlns="http://www.sbml.org/sbml/level2/version4">

<model name="Modelang first model">

<listOfUnitDefinitions>

<unitDefinition id="per_second">

<listOfUnits>

<unit exponent="-1" kind="second" />

</listOfUnits>

</unitDefinition>

</listOfUnitDefinitions>

<listOfCompartments>

<compartment id="default" size="1" units="volume" />

</listOfCompartments>

<listOfSpecies>

<species compartment="default" id="target bacteria" initialAmount="0.0" />

<species compartment="default" id="virions" initialAmount="0.0" />

</listOfSpecies>

<listOfParameters>

<parameter id="a" units="per_second" value="1.0" />

<parameter id="tmax" units="per_second" value="1.0" />

<parameter id="b" units="per_second" value="2.0" />

<parameter id="bs" units="per_second" value="6.0" />

<parameter id="g" units="per_second" value="1.0" />

</listOfParameters>

<listOfReactions>

<reaction id="rule1_1" reversible="false">

<listOfReactants>

<speciesReference species="target bacteria" />

</listOfReactants>

<listOfProducts>

<speciesReference species="target bacteria" />

<speciesReference species="target bacteria" />

</listOfProducts>

<kineticLaw>

<math xmlns="http://www.w3.org/1998/Math/MathML">

<apply>

<reaction id="rule2_2" reversible="false">

<listOfReactants>

<speciesReference species="target bacteria" />

<speciesReference species="virions" />

<math xmlns="http://www.w3.org/1998/Math/MathML">

<apply>

<reaction id="rule5_3" reversible="false">

<listOfReactants>

<speciesReference species="target bacteria" />

<speciesReference species="virions" />

<math xmlns="http://www.w3.org/1998/Math/MathML">

<apply>

<reaction id="rule4_4" reversible="false">

<listOfReactants>

<speciesReference species="virions" />

</listOfReactants>

<kineticLaw>

<math xmlns="http://www.w3.org/1998/Math/MathML">

<apply>

<times />

<ci>g</ci>

<ci>virions</ci>

</apply>

</math>

</kineticLaw>

</reaction>

</listOfReactions>

</model>

</sbml>

Listing 13. Model uproszczony CRISPR/Cas9 zapisany w postaci SBML.

Istotnymi elementami modelu, na które warto zwrócić uwagę w zapisie SBML, to informacje o agentach, parametrach i reakcjach.

Element listOfSpecies zawiera informacje na temat listy agentów, która została zbudowana podczas parsowania modelu zapisanego w języku ModeLang. W związku z tym możemy zobaczyć dwa typy agentów, które udało się zidentyfikować, są to: target bacteria i virions. Zdefiniowana jest również informacja o liczbie początkowej w modelu, która domyślnie jest ustawiona na 0, w związku z tym, że nie została zdefiniowana w zapisie ModeLang.

Kolejna informacja, która jest zdefiniowana, to informacja o parametrach. Przekazane są do formatu SBML wszystkie te parametry, które zostały wykorzystane w jakichkolwiek regułach. Na przy-kładzie parametrów b, s i bs widzimy, że formuła, która została wykorzystana do obliczenia wartości bs była podstawą obliczeniową do przekazania wyniku do wartości odczytanej modelu, jednakże w związku z brakiem wykorzystania parametru s w ramach reguł, nie był on już przekazany do modelu.

Ostatnim elementem, który jest istotny jest listOfReactions. Przedstawia on cztery reakcje, które są rozpoznane we wczytanym modelu. W zapisie ModeLang znajduje się pięć reguł, jednakże jedną z reguł w języku ModeLang, która została zidentyfikowana jest reguła definiująca ograniczenia, przez co nie była opisana w ramach elementu listującego reakcje.

7.3.1.3 Przebieg symulacji

Model CRISPR/Cas9 zapisany w postaci SBML, który jest opisany w podsekcji 7.3.1.2 został w kolejnym kroku wczytany do programu CellDesigner. W efekcie wczytania modelu zostały zaimporto-wane własności i wartości zdefiniozaimporto-wane w poprzednich krokach. Dokonana została analiza postaci wczytanego modelu z wykorzystaniem dwóch widoków. Pierwszy widok, który pozwolił na potwier-dzenie uzyskanej postaci modelu znajduje się w dolnym oknie narzędzia w zakładce Reactions.

Zrzut ekranu 5. Widok zakładki „Reactions”.

Widok zakładki Reactions we wczytanym modelu przedstawia Zrzut ekranu 5. Wylistowane są tam cztery reakcje, które reprezentują interakcje, które zostały zdefiniowane w języku ModeLang.

Istotnymi elementami, które pozwalają na rozpoznanie informacji we wczytanym modelu są nazwa reakcji, reagenty, produkty i element math, który odpowiada za obliczenia matematyczne stojące za interakcją. Warte podkreślenia jest znaczenie produktu w reakcji o identyfikatorze rule4_4. Jest on oznaczony symbolem s1, który nie został wskazany w żadnym dotychczasowym zapisie. Jest to symbol pomocniczy, który nadany został przez CellDesignera, żeby oznaczyć w ten sposób efekt działania re-akcji, której efektem jest umieranie wirionów z przyczyn naturalnych.

Zrzut ekranu 6. Widok okna podglądu modelu.

Podgląd modelu w postaci obrazowej jest z kolei możliwy na widoku podglądu modelu, gdzie zapisany jest model w postaci schematu rysunkowego. Widok ten przedstawia Zrzut ekranu 6. Na wi-doku widzimy zaznaczone zielonym kolorem agenty, które są elementem modelu. Strzałki z kolei sym-bolizują kierunek przejść pomiędzy reagentami i produktami. Widok ten pozwala zobaczyć cztery re-guły, które opisane są również w zakładce Reactions wraz z kierunkami przejść związanymi z definicjami reakcji. Widoczna w sposób bardziej obrazowy jest też definicja reguły rule4_4. Jest tutaj zobrazowany z wykorzystaniem koloru czerwonego kształt, który reprezentuje przejście pomiędzy wirionami, a pu-stym elementem. Powyższy model został wykorzystany do symulacji systemu w programie COPASI, którego można wywołać z poziomu programu CellDesigner. Następnie wyniki symulacji zostały wyeks-portowane w celu ich porównania z wynikami analizy przeprowadzonej w programie Mathematica.