biological networks analysis
play

Biological Networks Analysis Dijkstras algorithm and Degree - PowerPoint PPT Presentation

Biological Networks Analysis Dijkstras algorithm and Degree Distribution Genome 373 Genomic Informatics Elhanan Borenstein A quick review Networks: Networks vs. graphs The Seven Bridges of Knigsberg A collection of


  1. Biological Networks Analysis Dijkstra’s algorithm and Degree Distribution Genome 373 Genomic Informatics Elhanan Borenstein

  2. A quick review  Networks:  Networks vs. graphs  The Seven Bridges of Königsberg  A collection of nodes and links  Directed/undirected; weighted/non- weighted, …  Many types of biological networks  Transcriptional regulatory networks  Metabolic networks  Protein-protein interaction (PPI) networks

  3. The Kevin Bacon Number Game Tropic Thunder (2008) Tropic Iron Man Flatliners Thunder Proof Tom Cruise Robert Downey Jr. Gwyneth Paltrow Hope Davis Kevin Bacon Tropic Iron Man Thunder Frost/Nixon Tom Cruise Robert Downey Jr. Frank Langella Kevin Bacon

  4. The Paul Erdos Number Game

  5. The shortest path problem  Find the minimal number of “links” connecting node A to node B in an undirected network  How many friends between you and someone on FB (6 degrees of separation, Erdös number, Kevin Bacon number)  How far apart are two genes in an interaction network  What is the shortest (and likely) infection path  Find the shortest (cheapest) path between two nodes in a weighted directed graph  GPS; Google map

  6. Dijkstra’s Algorithm "Computer Science is no more about computers than astronomy is about telescopes." Edsger Wybe Dijkstra 1930 – 2002

  7. Dijkstra’s algorithm  Solves the single-source shortest path problem:  Works on both directed and undirected networks  Works on both weighted and non-weighted networks  Find the shortest path from a single source to ALL nodes in the network  Greedy algorithm  … but still guaranteed to provide optimal solution !!!  Approach:  Iterative  Maintain shortest path to each intermediate node

  8. Dijkstra’s algorithm 1. Initialize : i. Assign a distance value, D, to each node. Set D to zero for start node and to infinity for all others. ii. Mark all nodes as unvisited. iii. Set start node as current node. 2. For each of the current node’s unvisited neighbors: Calculate tentative distance, D t , through current node. i. If D t smaller than D (previously recorded distance): D  D t ii. iii. Mark current node as visited (note: shortest dist. found). 3. Set the unvisited node with the smallest distance as the next "current node" and continue from step 2. 4. Once all nodes are marked as visited, finish.

  9. Dijkstra’s algorithm  A simple synthetic network 2 B D 5 9 A F 1 4 3 7 9 3 C E 12 2 1.Initialize: i. Assign a distance value, D, to each node. Set D to zero for start node and to infinity for all others. ii. Mark all nodes as unvisited. iii. Set start node as current node. 2. For each of the current node’s unvisited neighbors: Calculate tentative distance, D t , through current node. i. ii. If D t smaller than D (previously recorded distance): D  D t iii. Mark current node as visited (note: shortest dist. found). 3.Set the unvisited node with the smallest distance as the next "current node" and continue from step 2. 4.Once all nodes are marked as visited, finish.

  10. Dijkstra’s algorithm  Initialization  Mark A (start) as current node 2 D: ∞ D: ∞ A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ D: ∞ 2

  11. Dijkstra’s algorithm  Check unvisited neighbors of A 2 0+9 vs. ∞ D: ∞ D: ∞ A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ D: ∞ 2 0+3 vs. ∞

  12. Dijkstra’s algorithm  Update D  Record path 2 D: ∞ D: ∞ ,9 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ 2

  13. Dijkstra’s algorithm  Mark A as visited … 2 D: ∞ D: ∞ ,9 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ 2

  14. Dijkstra’s algorithm  Mark C as current (unvisited node with smallest D) 2 D: ∞ D: ∞ ,9 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ 2

  15. Dijkstra’s algorithm  Check unvisited neighbors of C 3+3 vs. ∞ 2 3+4 vs. 9 D: ∞ D: ∞ ,9 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ 3+2 vs. ∞ 2

  16. Dijkstra’s algorithm  Update distance  Record path 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  17. Dijkstra’s algorithm  Mark C as visited  Note: Distance to C is final!! 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  18. Dijkstra’s algorithm  Mark E as current node  Check unvisited neighbors of E 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  19. Dijkstra’s algorithm  Update D  Record path 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: 0 D: ∞ ,17 7 6 5 17 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  20. Dijkstra’s algorithm  Mark E as visited 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17 7 6 5 17 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  21. Dijkstra’s algorithm  Mark D as current node  Check unvisited neighbors of D 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17 7 6 5 17 3 C E 12 D: ∞ ,3 D: ∞ ,5 2

  22. Dijkstra’s algorithm  Update D  Record path (note: path has changed) 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2

  23. Dijkstra’s algorithm  Mark D as visited 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2

  24. Dijkstra’s algorithm  Mark B as current node  Check neighbors 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2

  25. Dijkstra’s algorithm  No updates..  Mark B as visited 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2 7 11

  26. Dijkstra’s algorithm  Mark F as current 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2 7 11

  27. Dijkstra’s algorithm  Mark F as visited 2 D: ∞ ,6 D: ∞ ,9,7 A B C D E F B D 5 9 0 ∞ ∞ ∞ ∞ ∞ 0 9 3 ∞ ∞ ∞ A F 1 4 3 7 9 7 3 6 5 ∞ D: 0 D: ∞ ,17,11 7 6 5 17 3 C E 12 7 6 11 D: ∞ ,3 D: ∞ ,5 2 7 11 11

  28. We are done!  We now have:  Shortest path from A to each node (both length and path)  Minimum spanning tree 2 D: ∞ ,6 D: ∞ ,9,7 B D 5 9 A B C D E F A F 1 4 3 7 9 D: 0 0 ∞ ∞ ∞ ∞ ∞ D: ∞ ,17,11 3 C E 12 0 9 3 ∞ ∞ ∞ D: ∞ ,3 D: ∞ ,5 7 3 6 5 ∞ 2 7 6 5 17 Will we always get a tree? 7 6 11 Can you prove it? 7 11 11

  29. Measuring Network Topology

  30. Networks in biology/medicine

  31. Comparing networks  We want to find a way to “compare” networks.  “Similar” (not identical) topology  “Common” design principles  We seek measures of network topology that are:  Simple  Capture global organization Summary statistics  Potentially “important” (equivalent to, for example, GC content for genomes)

  32. Node degree / rank  Degree = Number of neighbors  Node degree in PPI networks correlates with:  Gene essentiality  Conservation rate  Likelihood to cause human disease

  33. Degree distribution  P(k): probability that a node has a degree of exactly k  Potential distributions (and how they ‘look’): Poisson: Exponential: Power-law:

  34. The power-law distribution  Power- law distribution has a “heavy” tail !  Characterized by a small number of highly connected nodes, known as hubs  A.k.a. “ scale- free” network  Hubs are crucial:  Affect error and attack tolerance of complex networks (Albert et al. Nature, 2000)

  35. The Internet  Nodes – 150,000 routers  Edges – physical links  P(k) ~ k -2.3 Govindan and Tangmunarunkit, 2000

Recommend


More recommend