Komputerowa analiza sieci genowych Agnieszka Marmołowska Jacek Ławrynowicz Promotor: prof. Krzysztof Giaro
Geneza Projektu Projekt grupowy Klient Cel projektu Instytut oceanologii PAN w Sopocie Cel projektu Stworzyć aplikację umożliwiającą analizę wyewoluowanych zbiorów populacji sieci genowych
Produkty projektu Aplikacja z graficznym interfejsem Aplikacja testowa Dokumentacja Opis aplikacji Wyniki analizy na rzeczywistych danych
Sieć genowa Zbiór segmentów DNA komórki, które oddziałują ze sobą i innymi elementami komórki. Pokazuje w jakim stopniu geny są transkrybowane na mRNA. Ogólnie mRNA „tworzą” białka.
Sieć genowa - funkcje białka Białka strukturalne – budowa komórki Enzym – np. trawienne Czynnik transkrypcyjny – aktywuje inny gen – łącząc się z promotorem zapoczątkowuje produkcję innego białka.
Sieć genowa jako graf Węzły – zbiór segmentów DNA (węzeł lub porty) Krawędzie – połączenie segmentów DNA czynnikiem transmisyjnym Populacje, zbiory populacji
Parametry sieci Omawiane parametry mają znaczenie w różnych sieciach (www, sieci społeczne...) Interesują nas własności sieci genowych
Rozkład stopni wierzchołków Wzór Outgoing distribution Ingoing distribution
Średnica Ścieżka charakterystyczna Najkrótsza ścieżka między parą wierzchołków - Średnica - Ścieżka charakterystyczna - Dla sieci genowych Przykład: 1000 genów, 4000 połączeń – ścieżka charakterystyczna = 3.3
Degree Centrality Wzór Przykład: 21% białek o było ważnych, 62% białek o było ważnych Związek między degree centrality a ważnością białek nie jest prosty
Closeness Centrality Wzór Przykład: wierzchołki o najwyższej wartości closeness centrality odpowiadają za komunikację komórka-komórka
Betweeness Centrality Wzór gdzie: - ilość ścieżek między u i v - ilość ścieżek między u i v przechodzących przez w Przykład: średnia wartość Cb dla ważnych protein jest o około 80% wyższa niż dla protein nieważnych. Istnieje związek między betweenes i degree centrality.
Architektura programu 3 poziomy analizy Graf Populacja Zbiór populacji
Metodologia Lekka przystowowana do dwuosobowego zespołu Wymagania w postaci przypadków użycia Testy jednostkowe Peer programming przystowowana do dwuosobowego zespołu
Wykorzystane technologie Wydajność Życzenie klienta Qt GUI Boost Google Test Framework
Boost Graph Wiele przydanych algorytmów Generyczna Mało przyjazna BFS, DFS Dijkstra, Bellman-Ford Fruchterman-Reingold Itd.. Generyczna Mało przyjazna
Nasza klasa grafu Reprezentacja w postaci listy sąsiedztwa Niezmienne identyfikatory elementów Edytowalny Szybka iteracja Posiada adapter dla Boost Graph Library Podgrafy
Parametry (WIP) Identyfikowany przez nazwę (string) Skarar lub wektor Opisuje sieć, populację lub zbiór populacji Mozliwość zrównoleglania obliczeń
Format pliku GraphML Kompletny Popularny Rozszerzalny Porty Wiele grafow w jednym pliku Podgrafy Popularny Rozszerzalny Czytelny dla człowieka
Format pliku - przykład <?xml version="1.0" encoding="UTF-8"?> <graphml> <key id="d0" for="node" attr.name="color" attr.type="string"> <default>yellow</default> </key> <key id="d1" for="edge" attr.name="weight" attr.type="double"/> <graph id="G" edgedefault=‘directed’> <node id="n0“><data key="d0">green</data></node> <node id="n1” /> <node id="n2“><data key="d0">blue</data></node> <node id="n3"><data key="d0">red</data></node> <edge id="e0" source="n0" target="n2"><data key="d1">1.0</data></edge> <edge id="e1" source="n0" target="n1“><data key="d1">1.0</data></edge> <edge id="e2" source="n1" target="n3“><data key="d1">2.0</data></edge> </graph> </graphml>
Obecny status projektu Alpha Wczytywanie sieci z pliku Wyswietlanie kilku patrametrów Strona projektu http://code.google.com/p/geneviz/
Kierunki rozwoju Parametry Tabele Wykresy Wizualizacja
Bibliografia Mason, O. & Verwoerd, M. Graph theory and networks in biology. Systems Biology, IET 1, 89-119 (2007) http://www.boost.org/ http://qt.nokia.com/