Automated Drawing of 2D chemical structures Kees Visser.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Single Source Shortest Paths
Native-Conflict-Aware Wire Perturbation for Double Patterning Technology Szu-Yu Chen, Yao-Wen Chang ICCAD 2010.
Label Placement and graph drawing Imo Lieberwerth.
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Carrano and Henry, © 2013.
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
Graphs By JJ Shepherd. Introduction Graphs are simply trees with looser restrictions – You can have cycles Historically hard to deal with in computers.
Graph & BFS.
Efficient Generation of Minimal Graphs Using Independent Path Analysis Linda S. Humphrey 20 November 2006 Department of Computer Science and Engineering.
Rectangle Visibility Graphs: Characterization, Construction, Compaction Ileana Streinu (Smith) Sue Whitesides (McGill U.)
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
1 Data Structures and Algorithms Graphs I: Representation and Search Gal A. Kaminka Computer Science Department.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
CS 206 Introduction to Computer Science II 11 / 05 / 2008 Instructor: Michael Eckmann.
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
Using Search in Problem Solving
Graphs Chapter 20 Data Structures and Problem Solving with C++: Walls and Mirrors, Frank Carrano, © 2012.
1 Structures and Strategies for State Space Search 3 3.0Introduction 3.1Graph Theory 3.2Strategies for State Space Search 3.3Using the State Space to Represent.
1 Topology Design of Structured Campus Networks by Habib Youssef Sadiq M. SaitSalman A. Khan Department of Computer Engineering King Fahd University of.
Important Problem Types and Fundamental Data Structures
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Graph theory as a method of improving chemistry and mathematics curricula Franka M. Brückler, Dept. of Mathematics, University of Zagreb (Croatia) Vladimir.
1 PQ Trees, PC Trees, and Planar Graphs Hsu & McConnell Presented by Roi Barkan.
Busby, Dodge, Fleming, and Negrusa. Backtracking Algorithm Is used to solve problems for which a sequence of objects is to be selected from a set such.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
Efficient Gathering of Correlated Data in Sensor Networks
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
MA/CSSE 473 Day 12 Insertion Sort quick review DFS, BFS Topological Sort.
VAST 2011 Sebastian Bremm, Tatiana von Landesberger, Martin Heß, Tobias Schreck, Philipp Weil, and Kay Hamacher Interactive-Graphics Systems TU Darmstadt,
“On an Algorithm of Zemlyachenko for Subtree Isomorphism” Yefim Dinitz, Alon Itai, Michael Rodeh (1998) Presented by: Masha Igra, Merav Bukra.
Low-Power Gated Bus Synthesis for 3D IC via Rectilinear Shortest-Path Steiner Graph Chung-Kuan Cheng, Peng Du, Andrew B. Kahng, and Shih-Hung Weng UC San.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Representing and Using Graphs
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
Register Placement for High- Performance Circuits M. Chiang, T. Okamoto and T. Yoshimura Waseda University, Japan DATE 2009.
Graphs. Definitions A graph is two sets. A graph is two sets. –A set of nodes or vertices V –A set of edges E Edges connect nodes. Edges connect nodes.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Minimal Spanning Tree Problems in What is a minimal spanning tree An MST is a tree (set of edges) that connects all nodes in a graph, using.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
1 Computing Full Disjunctions Yaron Kanza Yehoshua Sagiv The Selim and Rachel Benin School of Engineering and Computer Science The Hebrew University of.
Problem Reduction So far we have considered search strategies for OR graph. In OR graph, several arcs indicate a variety of ways in which the original.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
1 An Arc-Path Model for OSPF Weight Setting Problem Dr.Jeffery Kennington Anusha Madhavan.
Lecture 17: Trees and Networks I Discrete Mathematical Structures: Theory and Applications.
1 An Efficient Optimal Leaf Ordering for Hierarchical Clustering in Microarray Gene Expression Data Analysis Jianting Zhang Le Gruenwald School of Computer.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Lecture 8CSE Intro to Cognitive Science1 Interpreting Line Drawings II.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Tree - in “math speak” An ________ graph is a set of vertices/nodes and a set of edges, each edge connects two vertices. Any undirected graph in which.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Lecture #13. Topics 1.The Graph Abstract Data Type. 2.Graph Representations. 3.Elementary Graph Operations.
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
Breadth-First Search (BFS)
IOI/ACM ICPC Training 4 June 2005.
Graphs Representation, BFS, DFS
Greedy Technique.
Graph theory Definitions Trees, cycles, directed graphs.
Depth-First Search.
1.3 Modeling with exponentially many constr.
MST GALLAGER HUMBLET SPIRA ALGORITHM
Graph.
Search Related Algorithms
Introduction Wireless Ad-Hoc Network
1.3 Modeling with exponentially many constr.
MST GALLAGER HUMBLET SPIRA ALGORITHM
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:

Automated Drawing of 2D chemical structures Kees Visser

Overview  Introduction  Previous works  Algorithm of Boissonnat, Cazals and Flötotto  Algorithm of Fricker, Gastreich and Rarey  Conclusion

Introduction  Molecule graphs: Connected Undirected Even length edges Planar Restricted angles between edges Double bonds

Introduction  Skeletal formula hydrogen atoms removed Only functional groups left

Introduction  Applications Drug design Pharmacology

Previous works  1974: Zimmerman and Feldman Uses a library of basic structures Lacks generality

Previous work  1983: Shelby Heuristic for positioning of atoms Good method Heuristic quite involved and missing information

Previous Work  1993: D. B. Hibbert Genetic algorithm Angles are fixed following the valence of the atoms Drawing evaluated by the distance between non-adjacent atoms

Algorithm of Boissonnat, Cazals and Flötotto  Overview: Definitions and Assumptions Drawing conventions and constraints Algorithm outline Cycle and block detection Computing the supertree Drawing the molecules

Algorithm of Boissonnat, Cazals and Flötotto  Definitions and assumptions Molecules only have induced cycles of at most length A, where A is typically 6 A molecule family is a set of molecules M = {M 1,M 2,M 3...M n } sharing a connected subgraph T called the template. For a molecule M k the connected subgraphs of M k \T are called its appendices and are denoted T ti, i.e. M k = T U {T t1, T t2,...., T tk }. The graphs are assumed to be having planar drawing.

Algorithm of Boissonnat, Cazals and Flötotto  Drawing conventions and constraints Drawing must be planar Restrictions on edge angles

Algorithm of Boissonnat, Cazals and Flötotto  Algorithm outline Cycle and block detection in molecules Computing the supertree Drawing the molecules using the supertree

Algorithm of Boissonnat, Cazals and Flötotto  Cycle and block detection in molecules Traversing each appendix with a BFS Find the non-tree edges Find the cycle with the non-tree edge Adjacent cycles are grouped to a block

Algorithm of Boissonnat, Cazals and Flötotto  Computing the supertree Make a supertree of each pair of molecules Make a supertree out of each pair of supertrees Optimal result is not guarenteed

Algorithm of Boissonnat, Cazals and Flötotto  Computing the supertree for 2 molecules Identify common substructures Topological embedding

Algorithm of Boissonnat, Cazals and Flötotto  Computing the supertree from 2 trees Adapting algorithm by Gupta and Nishimura  Using dynamic programming  Presence of cycles cause NP-hardness Remove the cycles

Algorithm of Boissonnat, Cazals and Flötotto  Removing the cycles Hiding an edge  The edge to hide is not uniquely determined which results in non optimal result Reducing a cycle to 1 node  Only complete blocks of cycles can be matched Hybrid method

Algorithm of Boissonnat, Cazals and Flötotto  Drawing the first molecule Breadth-first-order to draw using a permutation  Largest subtree  Longest chain Cycles and blocks are drawn at once In case of conflicts backtrack to a different permutation  Drawing the rest Using the most successful method of placing used before.

Algorithm of Boissonnat, Cazals and Flötotto  Conclusion Correct and readable result in general If no drawing can be found, resulting to the original database drawings

Algorithm of Fricker, Gastreich and Rarey  Overview Automated structure diagram generation Extension to drawing combinatorial libraries Drawing under directional constraints

Algorithm of Fricker, Gastreich and Rarey  Automated structure diagram generation Divide the molecule into small pieces, e.g. drawing units Draw a unit Add its adjacent units to the drawing queue Iterative drawing of the units on the drawing queue, checking for collisions and adding the adjacent pieces to the drawing queue

Algorithm of Fricker, Gastreich and Rarey  Dividing the molecule into small drawing units Cycles form ring drawing units The a-cyclic parts are divided into drawing units by finding the longest chains  Faster then atom by atom  Bends only introduced in case of overlap

Algorithm of Fricker, Gastreich and Rarey  Drawing the units Starting with the longest chain unit Chain units  A chain is drawn starting at a previously drawn piece with a zigzag layout with alternating 30 degree around the main chain direction Ring units  Ring units are first divided into a set of shortest cycles  Starting from the connecting bond, rings are successively attached until the whole ring system is drawn

Algorithm of Fricker, Gastreich and Rarey  Checking for collisions Plane sweep algorithm Collision detected  Identify all drawing units involved  Try to rotate whole drawing units  In case of atoms with multiple outgoing bonds Change the order of the bonds at the atom Change the angle pattern of the bonds at the atom  Selective Bonds to terminal atoms shortened  Rotations within chain drawing units  Selective bonds between the colliding atoms are stretched

Algorithm of Fricker, Gastreich and Rarey  Post processing The overall structure is re-oriented to the standard layouts.  Remarks Variations of bond lengths are minimized but it is not assured that the lengths do not differ.

Algorithm of Fricker, Gastreich and Rarey  Extension to drawing combinatorial libraries Same orientation of the common core structure increases usefulness.  The algorithm: Draw the molecule with the largest substituent first. For each following molecule Create the layout for the common core using the information from the first molecule Every substituent leaving the common core is added to the drawing queue with its direction Use the algorithm explained earlier Only bond shrinking and stretching allowed

Algorithm of Fricker, Gastreich and Rarey  Drawing under directional constraints Consistent layouts for similar molecules without a significant common substructure User or computer generated directional constraints to guide the drawing 8 logical directions, e.g. north, north-east, east, south-east, etc.

Algorithm of Fricker, Gastreich and Rarey  Drawing under directional constraints Phase 1, direction tree  Root of the tree is a node with a direction constraint  Nodes are called ring nodes if they point to a ring  Each node gets local drawing rules Each rule contains a vector with orientations Each orientations consists of one orientation for the node itself and one or more for each child node with respect for the tree.

Algorithm of Fricker, Gastreich and Rarey  Drawing under directional constraints Phase 2:  Mark all orientations and drawing-rules as either valid or invalid compared to the user- defined directions  Breadth-first manner  Calculate the valid orientations

Algorithm of Fricker, Gastreich and Rarey  Drawing under directional constraints Phase 3:  Much like the earlier discussed algorithm  Drawing unit selected on what makes the longest chain of bonds  Using the direction tree

Algorithm of Fricker, Gastreich and Rarey  Conclusion Worst case a rather inefficient algorithm Variable bond lengths differ from standards Results depend on user constraints  Possible improvements Ignoring impossible user constrains Variable importance for certain user constraints Favouring nodes pointing to important constraints

Algorithm of Fricker, Gastreich and Rarey  Feature tree-based Creation of Directional user constraints Automated directional user constraints

Conclusion  Few publications  Interesting algorithms  Difficult problem  More work to be done

Question?