34
Automated Drawing of 2D chemical structures Kees Visser

Automated Drawing of 2D chemical structures Kees Visser

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automated Drawing of 2D chemical structures Kees Visser

Automated Drawing of 2D chemical structures

Kees Visser

Page 2: 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

Page 3: Automated Drawing of 2D chemical structures Kees Visser

Introduction

Molecule graphs: Connected Undirected Even length edges Planar Restricted angles

between edges Double bonds

Page 4: Automated Drawing of 2D chemical structures Kees Visser

Introduction

Skeletal formula hydrogen atoms removed Only functional groups left

Page 5: Automated Drawing of 2D chemical structures Kees Visser

Introduction

Applications Drug design Pharmacology

Page 6: Automated Drawing of 2D chemical structures Kees Visser

Previous works

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

Page 7: Automated Drawing of 2D chemical structures Kees Visser

Previous work

1983: Shelby Heuristic for positioning of atoms Good method Heuristic quite involved and missing

information

Page 8: Automated Drawing of 2D chemical structures Kees Visser

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

Page 9: Automated Drawing of 2D chemical structures Kees Visser

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

Page 10: Automated Drawing of 2D chemical structures Kees Visser

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 =

{M1,M2,M3...Mn} sharing a connected subgraph T called the template.

For a molecule Mk the connected subgraphs of Mk\T are called its appendices and are denoted Tti, i.e. Mk = T U {Tt1, Tt2, ...., Ttk}.

The graphs are assumed to be having planar drawing.

Page 11: Automated Drawing of 2D chemical structures Kees Visser

Algorithm of Boissonnat, Cazals and Flötotto

Drawing conventions and constraints Drawing must be planar Restrictions on edge angles

Page 12: Automated Drawing of 2D chemical structures Kees Visser

Algorithm of Boissonnat, Cazals and Flötotto

Algorithm outline Cycle and block detection in molecules Computing the supertree Drawing the molecules using the

supertree

Page 13: Automated Drawing of 2D chemical structures Kees Visser

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

Page 14: Automated Drawing of 2D chemical structures Kees Visser

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

Page 15: Automated Drawing of 2D chemical structures Kees Visser

Algorithm of Boissonnat, Cazals and Flötotto

Computing the supertree for 2 molecules Identify common substructures Topological embedding

Page 16: Automated Drawing of 2D chemical structures Kees Visser

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

Page 17: Automated Drawing of 2D chemical structures Kees Visser

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

Page 18: Automated Drawing of 2D chemical structures Kees Visser

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.

Page 19: Automated Drawing of 2D chemical structures Kees Visser

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

Page 20: Automated Drawing of 2D chemical structures Kees Visser

Algorithm of Fricker, Gastreich and Rarey

Overview Automated structure diagram generation Extension to drawing combinatorial

libraries Drawing under directional constraints

Page 21: Automated Drawing of 2D chemical structures Kees Visser

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

Page 22: Automated Drawing of 2D chemical structures Kees Visser

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

Page 23: Automated Drawing of 2D chemical structures Kees Visser

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

Page 24: Automated Drawing of 2D chemical structures Kees Visser

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

Page 25: Automated Drawing of 2D chemical structures Kees Visser

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.

Page 26: Automated Drawing of 2D chemical structures Kees Visser

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

Page 27: Automated Drawing of 2D chemical structures Kees Visser

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.

Page 28: Automated Drawing of 2D chemical structures Kees Visser

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.

Page 29: Automated Drawing of 2D chemical structures Kees Visser

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

Page 30: Automated Drawing of 2D chemical structures Kees Visser

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

Page 31: Automated Drawing of 2D chemical structures Kees Visser

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

Page 32: Automated Drawing of 2D chemical structures Kees Visser

Algorithm of Fricker, Gastreich and Rarey

Feature tree-based Creation of Directional user constraints Automated directional user constraints

Page 33: Automated Drawing of 2D chemical structures Kees Visser

Conclusion

Few publications Interesting algorithms Difficult problem More work to be done

Page 34: Automated Drawing of 2D chemical structures Kees Visser

Question?