Komputerowa analiza sieci genowych (GRN) Agnieszka Marmołowska Jacek Ławrynowicz Promotor: prof. Krzysztof Giaro
Przypomnienie Gene regulatory network – sieć genów komórki, które wpływają na siebie
Wyewoluowane sieci Grafy
Wyewoluowane sieci Dane Sieć 1 Wierzchołki – 14 Krawędzie – 128 Gęstość – 1,41 Sieć 2 Wierzchołki – 48 Krawędzie – 1082 Gęstość – 0,
Struktruty społeczne Występowanie grup wierzchołków gęściej połączonych między sobą niż z wierzchołkami spoza grupy. Jakie mogą być moduły? Skąd wiadomo czy sieć posiada moduły?
Selektywność (assortativity) Parametr określający, czy wierzchołki o wysokich stopniach lubią łączyć się z ze sobą Różne wzory Różny zakres wartości
Selektywność Ilustracja Brak korelacji A = 0 A = 0.26 A = 0.43 Maksymalna (dla sieci o takim rozkładzie stopni) korelacja A = 0.62
Selektywność Neighbour connectivity Wzór funkcji Funkcja rosnąca – assortative network Funkcja malejąca – disassortative network
Neighbour connectivity Przykład Assortative
Neighbour connectivity Przykład Steel assortative
Neighbour connectivity Przykład Disassortative
Współczynnik selektywności Pearson correlation coefficient Wzór Sumy po wszystkich krawędziach j i i k i – stopnie wierzchołków, które łączy i-ta krawędź r jest znormalizowane
Współczynnik selektywności Przykład r = 1 r = 0,849
Współczynnik selektywności Przykład r = -0,111 r = -0,714
Współczynnik selektywności Sieci z życia Sieci społeczne – assortative Sieci techniczne/biologiczne – disassortative Sieci wyewoluowane A(1) – -0,0234 A(2) - -0,1945 Dlaczego tak jest?
Współczynnik klasteryzacji Wzór u – wierzchołek k – stopień wierzchołka u e – ilość krawędzi łączących k sąsiadów u C – średni współczynnik klasteryzacji dla wszystkich wierzchołków C(k) – średni współczynnik klasteryzacji dla wierzchołków o stopniu k
Współczynnik klasteryzacji Zbadano: Sieci metabolicznych 43 organizmów Sieci interakcji białek (S. cerevisiae, H. pylori, E. coli, C. elegans) Regulacyjnych sieci genowych (S. Cerevisiae) C(k)~k -1 Wnioski: Pojedyncze moduły składają się z gęsto zgrupowanych wierzchołków o relatywnie niskim stopniu Moduły są połączone przez centralne wierzchołki o wysokim stopniu
Współczynnik klasteryzacji Wyewoluowana sieć n = 14, m = 128 C = 0,335 C(k)~k -1 ?
Współczynnik klasteryzacji Wyewoluowana sieć n = 48, m = 1028 C = 0,327 C(k)~k -1 ?
Współczynnik klasteryzacji Dlaczego? Sieć jest grafem: skierowanym dopuszcza krawędzie wielokrotne Spróbujmy z grafem prostym
Współczynnik klasteryzacji Wyewoluowana sieć – graf prosty n = 14, m = 138 C = 0,405
Współczynnik klasteryzacji Wyewoluowana sieć – graf prosty n = 48, m = 1206 C = 0,336
Algorytmy wykrywania modułów Klasteryzacja hierarchiczna Algorytm Girvan–Newman Maksymalizacja Modularity Filtracja klik (Clique percolation) Minimalne rozdzięcie
Klasteryzacja hierarchiczna Dwa rodzaje: Agglomerative – bottom-up, każdy wierzchołek w oddzielnym klastrze Divisive – top-down, wszystkie wierzchołki w jednym klastrz Zarys algorytmu: Każdej krawędzi przypisywana jest waga (edge betweeness centrality ) Wierzchołki są łączone według malejącej wagi (rozdzielane według malejącej wagi) Złożoność O(mn + m) = O(mn) (O(n 2 ))
Girvan–Newman Usuwanie krawędzi Zarys algorytmu: Wszystkie wierzchołki w jednym klastrze Każdej krawędzi przypisywana jest waga (edge betweeness) Usuwana jest krawędź o najwyższej wadze Wagi przeliczane są na nowo Złożoność O(nm 2 ) (O(n 3 ))
Maksymalizacja Modularity Przeszukiwanie możliwych podziałów na klastry i wybór najlepszego Miara dobroci podziału (modularity) e ij – ilość krawędzi między i-tym i j-tym klastrem Przeszukanie wszystkich możliwości – bardzo nieoptymalne
Maksymalizacja Modularity Zarys algorytmu zachłannego: Każdy wierzchołek jest w oddzielnym klastrze, tworzona jest macierz E Krok algorytmu (n-1 razy): Obliczenie dla każdej krawędzi - O(m) Wybór krawędzi o największym Poprawienie macierzy E – O(n) Złożoność O((m+n)n) (O(n 2 ))
Przedstawienie wyników Wyniki algorytmów klasteryzacji hierarchicznej (divisive), GN oraz Maksymalizacji można przedstawić jako dendrogram Umożliwia on wybranie odpowiedniej ilości grup, wyodrębnienie podgrup... Dendrogram wytworzony przez algorytm maksymalizacji dla sieci społecznej klubu karate
Ocena wyniku Przedstawione algorytmy zawsze tworzą jakiś podział – niezależnie od tego czy taki podział w rzeczywistości istnieje. Jak sprawdzić jakość podziału? Modularity
Filtracja klik k-klika – podgraf pełny o k wierzchołkach k-kliki sąsiadujące – kiedy mają przynajmniej k-1 wspólnych wierzchołków
Filtracja klik Kliki sąsiadujące Wykrywanie zbiorów sąsiadujących k-klik: Szablon k-kliki – umieścić w grafie Jeden z wierzchołków szablonu przenieść na inny wierzchołek grafu z zachowaniem kliki Łańcuch połączonych w ten sposób klik staje się modułem
Filtracja klik Przykład Moduły k- klik dla k=4 Na czerwono oznaczone są overlapps
Filtracja klik Problemy Szukanie k-kliki w grafie – wielomianowe Szukanie maksymalnej k-kliki w grafie NP-trudne Czy wystarczy szukanie k-klik dla ustalonego k?
Filtracja klik Rozwiązanie Sieć modułów wyodrębnionych za pomocą filtracji klik dla k=4 Węzły – moduły, wielkość węzła odpowiada ilości wierzchołków Krawędzie – połączenia między modułami, grubość krawędzi odpowiada ilości połączeń między modułami
Filtracja klik Rozwiązanie Moduły odpowiadają rzeczywistości Wartość k miedzy 4 a 6 wystarcza dla wyodrębnienia rzeczywistych modułów
Rysowanie sieci Metoda symulacji fizycznej (force- based) Kryteria ładnego rysunku Połączone wierzchołki blisko siebie Wierzchołki nie nachodzą na siebie Minimalna liczba przecięć krawędzi Długość krawędzi odwrotnie proporcjonalna do wagi Równomierne rozmieszczenie w obrębie ramki Zachowanie symetrii
Ładny graf - Przykład 37
Symulacja fizyczna Sieć jest modelowana jako układ fizyczny Wierzchołki są ciałami tego układu Między ciałami oddziaływają siły Mogą to być np.: Siły magnetyczne Siły grawitacyjne
Przykładowy układ fizyczny Wierzchołki, to naładowane metalowe kuleczki Prawo Coulomba F=k*q1*q1/r^2 Krawędzie, to sprężyny Prawo Hooka F=-kx 39
Algorytm symulacji fizycznej Znajduje lokalne minimum energii układu W każdym kroku Dla każdego wierzchołka Oblicza siły Aktualizuje pozycje Oblicza energie układu W zależności od modelu Energia kinetyczna, potencjalna, itp. Poprawia współczynniki Np. tarcia 40
Energia układu 41 Niska energia układu powiązana jest z jakością rysunku grafu Energia: 1.77x Energia: 2.23x10 6 By Yehuda Koren
Rysowanie grafu = minimalizacja energii układu Algorytm rysowania jest procesem optymalizacyjnym Osiągnięcie globalnego minimum nie jest gwarantowane 42 Iteracja Energia
Złożoność Złożoność pojedynczej iteracji O(n2) Obliczenie energii układu Przybliżona liczba iteracji O(n) Złożoność całkowita ~ O(n3) Algorytmy symulacji fizycznej słabo się skalują 43
Rysowanie dużych sieci Tradycyjne algorytmy symulacji fizycznej ograniczone są do grafów o kilkuset wierzchołkach Paradygmat FADE Geometryczna klasteryzacja Np. rekursywny podział za pomocą Drzewa czwórkowego (ang. quadtree) Wielopoziomowa wizualizacja Ułatwia nawigacje po dużych grafach Siły obliczne miedzy klastrami i w obrębię klastrów
Źródła THOMAS M. J. FRUCHTERMAN, EDWARD M. REINGOLD, Graph Drawing by Force- directed Placement Adel Alshayji Force Directed Algorithm 45