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 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 ji i ki – stopnie wierzchołków, które łączy i-ta krawędź r jest znormalizowane
Współczynnik selektywności Przykład
Współczynnik selektywności Przykład
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(n2))
Girvan–Newman Usuwanie krawędzi Zarys algorytmu: Złożoność 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(nm2) (O(n3))
Maksymalizacja Modularity Przeszukiwanie możliwych podziałów na klastry i wybór najlepszego Miara dobroci podziału (modularity) eij – 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(n2))
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