Information Visualization using graphs algorithms Symeonidis Alkiviadis

Slides:



Advertisements
Similar presentations
Graph Algorithms Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 11Feb 07, 2014Carnegie Mellon University.
Advertisements

Review Binary Search Trees Operations on Binary Search Tree
Depth-First Search1 Part-H2 Depth-First Search DB A C E.
Minimum Spanning Tree Sarah Brubaker Tuesday 4/22/8.
CSC401 – Analysis of Algorithms Lecture Notes 14 Graph Biconnectivity
TECH Computer Science Graphs and Graph Traversals  // From Tree to Graph  // Many programs can be cast as problems on graph Definitions and Representations.
Breadth-First and Depth-First Search
Chapter 8, Part I Graph Algorithms.
© 2006 Pearson Addison-Wesley. All rights reserved14 A-1 Chapter 14 excerpts Graphs (breadth-first-search)
Graph Searching (Graph Traversal) Algorithm Design and Analysis Week 8 Bibliography: [CLRS] – chap 22.2 –
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
Data Structures & Algorithms Graph Search Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
Graph Algorithms: Minimum Spanning Tree We are given a weighted, undirected graph G = (V, E), with weight function w:
Chapter 9: Graphs Summary Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Lydia Sinapova, Simpson College.
CS 206 Introduction to Computer Science II 11 / 10 / 2008 Instructor: Michael Eckmann.
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
Applications of Depth-First Search
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
New Algorithm DOM for Graph Coloring by Domination Covering
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley. All rights reserved.
Graph Algorithms Using Depth First Search Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms.
IS 2610: Data Structures Graph April 5, 2004.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
CSC 213 – Large Scale Programming. Today’s Goals  Make Britney sad through my color choices  Revisit issue of graph terminology and usage  Subgraphs,
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
Spanning Trees Introduction to Spanning Trees AQR MRS. BANKS Original Source: Prof. Roger Crawfis from Ohio State University.
A Clustering Algorithm based on Graph Connectivity Balakrishna Thiagarajan Computer Science and Engineering State University of New York at Buffalo.
7.1 and 7.2: Spanning Trees. A network is a graph that is connected –The network must be a sub-graph of the original graph (its edges must come from the.
1 Section 1.4 Graphs and Trees A graph is set of objects called vertices or nodes where some pairs of objects may be connected by edges. (A directed graph.
1 Applications of BFS and DFS CSE 2011 Winter May 2016.
Graphs.
Algorithm for obtaining the connected components of a graph Samia Qader 252a-az HW # 6 all examples obtained from LEDA software in directory: 252a/handout/demo/graphwin/graphwin.
Role of Rigid Components in Protein Structure Pramod Abraham Kurian.
CS270 Project Overview Maximum Planar Subgraph Danyel Fisher Jason Hong Greg Lawrence Jimmy Lin.
Connectivity1 Connectivity and Biconnectivity connected components cutvertices biconnected components.
Depth-First Search Lecture 21: Graph Traversals
Graphs. Introduction Graphs are a collection of vertices and edges Graphs are a collection of vertices and edges The solid circles are the vertices A,
Introduction to Graph Theory Lecture 17: Graph Searching Algorithms.
Trees Thm 2.1. (Cayley 1889) There are nn-2 different labeled trees
Graphs 2015, Fall Pusan National University Ki-Joune Li.
Network Theory: Community Detection Dr. Henry Hexmoor Department of Computer Science Southern Illinois University Carbondale.
Strongly Connected Components for Directed Graphs Kelley Louie Credits: graphs by /demo/graphwin/graphwin.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Visualization of Biological Information with Circular Drawings.
CSC 252: Algorithms October 28, 2000 Homework #5: Graphs Victoria Manfredi (252a-ad) notes: -Definitions for each of the graph concepts are those presented.
Hw. 6: Algorithm for finding strongly connected components. Original digraph as drawn in our book and in class: Preorder label : Postorder label Nodes:
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
CSC 213 – Large Scale Programming Lecture 31: Graph Traversals.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Graph Search Applications, Minimum Spanning Tree
Characteristics of Planar Graphs
Graph Algorithms Using Depth First Search
Short paths and spanning trees
Graph Algorithm.
Planarity Testing.
The Art Gallery Problem
Minimum Spanning Tree.
Connected Components Minimum Spanning Tree
Lecture 13 CSE 331 Oct 1, 2012.
Subgraphs, Connected Components, Spanning Trees
Lecture 12 CSE 331 Sep 26, 2011.
SPQR Tree.
Simple Graphs: Connectedness, Trees
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

Information Visualization using graphs algorithms Symeonidis Alkiviadis

Contents Preliminaries Gene clustering Graph extraction from biological data Graph visualization Open issues Discussion

Preliminaries Visualize clusters of genes produced by clustering over gene expressions Gene expression: set of values of genes over a set of patients

Preliminaries Graph G(V,E) : set of vertices, with edges joining vertices Each vertex represents a gene Each edge represents strong correlation Clustering => groups of vertices

Contents Preliminaries Gene clustering Graph extraction from biological data Graph visualization Open issues Discussion

Gene clustering Correlation Compute Pearson's correlation coefficient for every pair of genes

Gene clustering Greedy clustering for every unclassified gene x create a cluster which includes it add all genes y with correlation > threshold Cost: O(|genes| 2 )

Contents Preliminaries Gene clustering Graph extraction from biological data Graph visualization Open issues Discussion

Graph extraction from biological data Genes → vertices ۷ Clusters→ groups ۷ Edges ?

Graph extraction from biological data In-cluster relation Mean value of correlation coefficients for all genes in a cluster All pairs of genes with correlation higher than threshold* mean are considered highly correlated Edge meaning: (Very) strong correlation

Graph extraction from biological data Inter-cluster relation Mean value of correlation coefficients for each cluster All pairs of genes with correlation higher than threshold* (mean1+mean2)/2 are considered highly correlated Edge meaning: Possibly wrong classification

Graph extraction from biological data Genes → vertices ۷ Clusters→ groups ۷ Edges ۷ all highly correlated pairs of genes

Contents Preliminaries Gene clustering Graph extraction from biological data Graph visualization Open issues Discussion

Graph visualization Gene → Vertex → circle High correlation → Edge → line Cluster → Group → Circle with respective genes - vertices on its periphery

Graph visualization Place groups Determine ordering of vertices in group Try to reduce crossings

Graph visualization placing groups Force - directed method over groups

Graph visualization Place groups Determine ordering of vertices in group Try to reduce crossings

Graph visualization Determine ordering of vertices in group(tree) Tree depth first search discovery time

Graph visualization Determine ordering of vertices in group(bicon) Biconnected graph: Remains connected after removing one(any) vertex/edge

Graph visualization Determine ordering of vertices in group(bicon) For every node u identify triangles or create them Store (v,w) Remove u u v w u v w

Graph visualization Determine ordering of vertices in group(bicon) Restore graph Remove all stored edges Perform dfs, compute longest path and place it

Graph visualization Determine ordering of vertices in group(bicon) Place any remaining vertices Next to 2 neighbors Next to 1 neighbor Next to 0 neighbors

Graph visualization Determine ordering of vertices in group(n-bic) Non-biconnected graph … under development There is a vertex whose removal disconnects the graph Decompose into bicon. components get articulation points vertices responsible for non-biconnectivity

Graph visualization Determine ordering of vertices in group(n-bic) Decompose into bicon. components biconnected subgraphs get articulation points vertices responsible for non-biconnectivity

Graph visualization Determine ordering of vertices in group(n-bic) Articulation points + biconnected components Block - cut - point tree -Dfs on block cut point=> relative ordering of components - For each biconnected component act as before

Graph visualization Determine ordering of vertices in group Cost Tree: dfs: O(|E|+\V|)=O(|E|) Biconnected graph Dominated by dfs O(|E|) Non- biconnected graph Dominated by extracting block-cut tree O(|E|)

Graph visualization … until now Determine groups’ positions ۷ Determine vertices ordering۷

Graph visualization Place groups ۷ Determine ordering in group ۷ Try to reduce crossings

Graph visualization reduce crossings Spin groups trying to minimize energy

Graph visualization edge coloring Each edge is assigned a weight weight(x node,y node )= r(x gene,y gene ) The color of each edge reflects its weight brighter color → stronger correlation In- group edges have different color than inter-group edges

Graph visualization Overall Initially…

Graph visualization overall Finally…

Open issues Clustering Edge translation Visualize large data sets Zoom Layered drawing Scrollbars