SlideShare a Scribd company logo
1 of 32
Kekulization,
Aromaticity and SMILES
Noel M. O’Boyle, John W. Mayfield
We need to talk about…
Open Babel/CDK development team and NextMove Software, Cambridge,
UK
254th ACS National Meeting, Washington Aug 2017
or
Cc1ccccc1C
CC1=CC=CC=C1C
CC1=C(C)C=CC=C1
Kekulization (bond localization)
Aromaticity assignment (bond delocalization)
“…we were able to extract some 13,000 SMILES codes for the Wikipedia
entries. Over 600 of these codes could not be processed by the SMILES
parser.
A clear majority of the problems (over 350 cases) was caused by not
respecting the SMILES syntax rules for unsubstituted pyrrole-type
nitrogen. This nitrogen was encoded as n and not as [nH] as required by
the SMILES grammar (so for example benzimidazole was incorrectly
encoded as n2c1ccccc1nc2).”
Why do we need to talk?
• It’s been 29 years since Dave Weininger’s SMILES paper,
but still, sometimes…
– Toolkits generate aromatic SMILES which other toolkits cannot read
– Toolkits fail to roundtrip their own structures through aromatic forms
– Chemical information is lost or confused, aromaticity
appears/disappears, hydrogens appear/disappear
Why do we need to talk?
• It’s been 29 years since Dave Weininger’s SMILES paper,
but still, sometimes…
– Toolkits generate aromatic SMILES which other toolkits cannot read
– Toolkits fail to roundtrip their own structures through aromatic forms
– Chemical information is lost or confused, aromaticity
appears/disappears, hydrogens appear/disappear
• Why is this?
– There is some confusion about which bonds are marked as aromatic
– There is some confusion about the purpose of kekulization, and how
to do it
– There is a lack of information on the Daylight aromaticity model
– There is some confusion about where the implicit hydrogens are in an
aromatic SMILES
• Goal is to describe how Daylight handles aromatic SMILES
– As deduced by JWM
AROMATIC SMILES
What is an aromatic SMILES?
• Has some atoms and some bonds marked as aromatic
• An atom is marked as aromatic if written as lowercase
• A bond is marked as aromatic
– Either… if the aromatic bond symbol (colon) is used
– Or… no bond symbol is used and it joins two aromatic atoms
• But not if the two atoms are in a ring, and the bond is not in a ring
c1ccccc1c2ccccc2
C3c1ccccc1-c2ccccc2C3
C3c1ccccc1c2ccccc2C3
c1ccccc1
cc
Bond marked
as aromatic
Bond not
marked as
aromatic
KEKULIZATION
Kekulization
• Given a molecule where some atoms and bonds have
been marked as aromatic
– Assign bond orders of either one or two to the aromatic bonds
such that the valencies of all of the aromatic atoms are satisfied
(i.e. are consistent with sp2)
• Note: Kekulization is not ‘dearomatization’
– No need to search for aromatic rings or even check for ring
membership
– In particular, H atoms should not be added/removed to make
rings aromatic
orc1ccccc1
Kekulization
• Given a molecule where some atoms and bonds have
been marked as aromatic
– Assign bond orders of either one or two to the aromatic bonds
such that the valencies of all of the aromatic atoms are satisfied
(i.e. are consistent with sp2)
orc1ccccc1
cc
cc1c(c)c(c)c1c
How many hydrogens to add to aromatic atoms?
• If within square brackets (e.g. [nH] or [n])
– The hydrogen count is explicit (as usual for brackets)
• If outside square brackets (e.g. c1ccncc1)
– Calculate the bond order sum, treating aromatic bonds as single bonds
– Apply normal SMILES implicit valence rules using this sum, but subtract
one from the number of implicit hydrogens (if there are any)
– E.g. in pyridine, c1cnccc1, using the normal rules each carbon would
have two hydrogens and the nitrogen one, giving one and zero resp.
• Some toolkits instead add hydrogens to satisfy aromaticity
rules
– This is not what Daylight did. In their world, the number of implicit
hydrogens is known directly from the SMILES string.
Kekulization = “Perfect matching”
• If we consider just the subset of atoms that are aromatic
and require a double bond
– A valid Kekulé structure is exactly equivalent to the graph theory
concept, a “perfect matching”
Greedy algorithm
Backtracking algorithm
Kekulization failure
• If the algorithm described above fails to find a valid
Kekulé form, then the input was incorrect
• It might be missing some hydrogens (incorrect SMILES
writer), or it might be a radical (should not have been
aromatized)
– E.g. c1ccnc1 cannot be kekulized but the writer might have
intended pyrrole (c1cc[nH]c1) or pyrrole radical (C1=C[N]C=C1)
• A reader may reject the SMILES as invalid or warn and
return a radical
• Optionally, a means might be provided to ‘fix’ (i.e. guess)
the intended structure
– This should probably not be the default behaviour as it causes
proliferation of incorrect SMILES and may not recover the
intended structure
AROMATICITY
What is the purpose of aromaticity in cheminf?
Normalize Kekulé forms
Is it a stereogenic center?
Is it aromatic in real life? Yes!
It is aromatic in cheminf? No! *
* According to Daylight aromaticity model
or
What is the purpose of aromaticity in cheminf?
• To normalize to the same representation different Kekulé
forms of a structure
– NOT to indicate whether an atom/bond displays physical
properties associated with aromaticity
• Useful to:
– generate a canonical representation
– identify stereogenic centers
– generate fingerprints
– match an aromatic query
• Note:
– If the resulting aromatic structure cannot be kekulized then it
should not be aromatized
Aromaticity models
• Based on Hückel’s rule:
– A ring is aromatic if it can be planar, the sum of π electrons
is 4n+2, and every atom can participate
• An aromaticity model can be described by two sets of
parameters:
1. how many π electrons each atom contributes
2. what cycles in the graph are tested for 4n+2
• Note that planarity is not explicitly tested
The Daylight aromaticity model
• When writing an aromatic SMILES string, it is probably a
good idea to apply the Daylight aromaticity model
• JWM has recently described the electron contributions
– https://figshare.com/articles/Daylight_Aromatic_Atoms/3370945
What rings to check?
• Best approach is to check all rings that could be aromatic
– Alternative is to use SSSR (not recommended)
– Note that outer ring systems may be aromatic while inner ones
are not
• Need to do this efficiently
– Eliminate atoms that are in rings that cannot be aromatic
– Try small rings first, as may be able to terminate early if no atoms
left to check
– Programs can terminate searches for rings above a certain size or
after backtracking N times
5e-7e-
Outer ring has 10e-
azulene
c1cc2-c(ccccc2)c1
Alternative aromaticity models for SMILES
• Preserve the aromaticity of the input atoms
– Speeds things up – no perception required
– Only sensible if reading aromatic SMILES
– Useful if you have written the SMILES yourself
• Regard all conjugated double bonds as forming a
‘delocalized’ system (JWM)
– Fast, doesn’t require ring-finding
– Not quite “aromaticity model” – as doesn’t apply Hückel rule
SUMMARY
Take-home
• There is some confusion about which bonds are marked
as aromatic, and about the count of implicit hydrogens on
aromatic atoms
• There are simple rules governing these
• There is some confusion about the purpose of
kekulization, and how to do it
– Kekulization is not dearomatization, but just assignment of bond
orders to aromatic bonds to satisfy valencies
– Equivalent to finding a perfect matching
• There is a lack of information on the Daylight aromaticity
model
– JWM has published details of the atom contributions
Agree/disagree/confused?
Email:
noel@nextmovesoftware.com
john@nextmovesoftware.com
Next step:
A validation suite
Acknowledgements:
Greg Landrum
Image: Tintin44 (Flickr)
APPENDIX
A kekulization algorithm
• Identify aromatic atoms that need a double bond (set A)
– Assign each a degree, a count of nbrs in set A
• Apply a greedy algorithm to assign double bonds
favoring low degree atoms over higher
• Does all of set A have a double bond?
• If not, try a backtracking algorithm or Blossom algorithm
to find a path of alternating bonds between two atoms
that need a double bond
– Once found, invert the bond orders along the path
• Does all of set A have a double bond?
– Handle failure
Aromatic atoms that do not require a double bond
• An important aspect of the kekulization algorithm is the initial
determination of which aromatic atoms do/not need a double
bond, e.g.
– Pyrrole-type nitrogens do not need one
– The hypervalent N of pyridine-N oxides *do* need one
• For a list, see page 158 of John May’s thesis [1], and also
the associated implementation in Beam [2], or the CDK [3]
[1] Cheminformatics for genome-scale metabolic reconstructions. EMBL-EBI/University of Cambridge, 2014.
(https://www.repository.cam.ac.uk/handle/1810/246652)
[2] https://github.com/johnmay/beam/blob/master/core/src/main/java/uk/ac/ebi/beam/Localise.java
[3]
https://github.com/cdk/cdk/blob/master/base/standard/src/main/java/org/openscience/cdk/aromaticity/Kekulization.java
Writing aromatic SMILES
• When reading aromatic SMILES, bonds without bond symbols are
marked as aromatic if they connect two aromatic atoms
– But not if the two aromatic atoms are in a ring, but the bond is not in a
ring (not important whether it’s the same ring)
• Therefore, when writing aromatic SMILES, use a bond symbol
where a ring bond is between aromatic atoms but is not itself
aromatic
– Speeds up kekulization, avoids misinterpretation (see below)
– In fact, if you apply this rule to non-ring bonds also, you can avoid ring
perception when reading aromatic SMILES
c12ccccc1c3ccccc23 c12-c3c(-c2cccc1)cccc3
Canonical Kekulé SMILES
• Kekulé SMILES are sometimes recommended over
aromatic SMILES, to avoid problems a toolkit may have
with kekulization
– Care should be taken to avoid defining cis/trans stereochemistry
that is not present
• Step 1: canonically label the atoms
– Note: some canonicalisation algorithms may use aromaticity
• Step 2: re-kekulize the structure taking into account the
canonical labels
– Can consider aromatic atoms, or alternatively can avoid
aromaticity perception if consider all atoms adjacent to a single
double bond (JWM)
Why c1ccnc1 is not valid for pyrrole radical
• There are two types of aromatic Ns in the Daylight world
– Pyrrole-type (three-valent, three single bonds)
– Pyridine-type (two valent, a double and a single bond)
– It is possible to distinguish between these based on valency
• The nitrogen in pyrrole radical is a third type:
– Two-valent, two single bonds
• This cannot be distinguished from pyridine-type when
reading
– Therefore it should not be written, as the nitrogen is assumed to
require a double bond
• Pyrrole radical SMILES that can be read unambiguosly
– The Kekulé form, C1=C[N]C=C1
– Partial aromatic form, c1c[N]cc1
– Maybe c1cc-n-c1, but most toolkits would not handle this right now
Kekulization implementation options
• Could kekulize each disconnected system of
aromatic atoms/bonds separately, or do all at
the same time
– Might speed up backtracking (though might slow
down general case)
• Could fail fast if going to reject, rather than
warn
– e.g. if odd number of atoms need double bonds
• Could favor six-member rings
– Shuffle atoms in smaller (?) rings to end of list

More Related Content

What's hot

Hexagonal Architecture.pdf
Hexagonal Architecture.pdfHexagonal Architecture.pdf
Hexagonal Architecture.pdfVladimirRadzivil
 
Computational Chemistry: From Theory to Practice
Computational Chemistry: From Theory to PracticeComputational Chemistry: From Theory to Practice
Computational Chemistry: From Theory to PracticeDavid Thompson
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesNeo4j
 
Stereochemistry File.pptx
Stereochemistry File.pptxStereochemistry File.pptx
Stereochemistry File.pptxMeshackDuru
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4jNeo4j
 
Domain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsDomain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsRobert Alexe
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphTrey Grainger
 
Introduction to SOLID Principles
Introduction to SOLID PrinciplesIntroduction to SOLID Principles
Introduction to SOLID PrinciplesGanesh Samarthyam
 
Mongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseMongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseXpand IT
 
7.local and global minima
7.local and global minima7.local and global minima
7.local and global minimaAbhijeet Kadam
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design QuicklyMariam Hakobyan
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design PrinciplesSamuel Breed
 
Allenes PPT.docx
Allenes PPT.docxAllenes PPT.docx
Allenes PPT.docxSinduja33
 
Introduction to Knowledge Graphs and Semantic AI
Introduction to Knowledge Graphs and Semantic AIIntroduction to Knowledge Graphs and Semantic AI
Introduction to Knowledge Graphs and Semantic AISemantic Web Company
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDBMongoDB
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentationjexp
 

What's hot (20)

Hexagonal Architecture.pdf
Hexagonal Architecture.pdfHexagonal Architecture.pdf
Hexagonal Architecture.pdf
 
Computational Chemistry: From Theory to Practice
Computational Chemistry: From Theory to PracticeComputational Chemistry: From Theory to Practice
Computational Chemistry: From Theory to Practice
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and Ontologies
 
Stereochemistry File.pptx
Stereochemistry File.pptxStereochemistry File.pptx
Stereochemistry File.pptx
 
Intro to Graphs and Neo4j
Intro to Graphs and Neo4jIntro to Graphs and Neo4j
Intro to Graphs and Neo4j
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Stereochemical aspects
Stereochemical aspectsStereochemical aspects
Stereochemical aspects
 
Domain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsDomain Driven Design Tactical Patterns
Domain Driven Design Tactical Patterns
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge Graph
 
Introduction to SOLID Principles
Introduction to SOLID PrinciplesIntroduction to SOLID Principles
Introduction to SOLID Principles
 
Mongo DB: Operational Big Data Database
Mongo DB: Operational Big Data DatabaseMongo DB: Operational Big Data Database
Mongo DB: Operational Big Data Database
 
Mineral gübrələr.pptx
Mineral gübrələr.pptxMineral gübrələr.pptx
Mineral gübrələr.pptx
 
7.local and global minima
7.local and global minima7.local and global minima
7.local and global minima
 
Domain Driven Design Quickly
Domain Driven Design QuicklyDomain Driven Design Quickly
Domain Driven Design Quickly
 
SOLID Design Principles
SOLID Design PrinciplesSOLID Design Principles
SOLID Design Principles
 
Allenes PPT.docx
Allenes PPT.docxAllenes PPT.docx
Allenes PPT.docx
 
Stereochemistry lecture
Stereochemistry lectureStereochemistry lecture
Stereochemistry lecture
 
Introduction to Knowledge Graphs and Semantic AI
Introduction to Knowledge Graphs and Semantic AIIntroduction to Knowledge Graphs and Semantic AI
Introduction to Knowledge Graphs and Semantic AI
 
Data Modeling for MongoDB
Data Modeling for MongoDBData Modeling for MongoDB
Data Modeling for MongoDB
 
Intro to Neo4j presentation
Intro to Neo4j presentationIntro to Neo4j presentation
Intro to Neo4j presentation
 

Similar to We need to talk about Kekulization, Aromaticity and SMILES

Universal Smiles: Finally a canonical SMILES string
Universal Smiles: Finally a canonical SMILES stringUniversal Smiles: Finally a canonical SMILES string
Universal Smiles: Finally a canonical SMILES stringbaoilleach
 
Hybridization
HybridizationHybridization
Hybridizationjwallach
 
Alkane, Alkene, Alkyne - WEEK 1.pptx
Alkane, Alkene, Alkyne - WEEK 1.pptxAlkane, Alkene, Alkyne - WEEK 1.pptx
Alkane, Alkene, Alkyne - WEEK 1.pptxDianeChristelLunday1
 
Chapter 16 hydrocarbons
Chapter 16   hydrocarbonsChapter 16   hydrocarbons
Chapter 16 hydrocarbonsHashim Ali
 
Atkins Chapter2.ppt
Atkins Chapter2.pptAtkins Chapter2.ppt
Atkins Chapter2.pptHAMMOUDDima1
 
Pertemuan ke 7 alkene & alkyne i
Pertemuan ke 7 alkene & alkyne iPertemuan ke 7 alkene & alkyne i
Pertemuan ke 7 alkene & alkyne ientik09
 
New chm-152-unit-11-power-points-su13-140227172047-phpapp02
New chm-152-unit-11-power-points-su13-140227172047-phpapp02New chm-152-unit-11-power-points-su13-140227172047-phpapp02
New chm-152-unit-11-power-points-su13-140227172047-phpapp02Cleophas Rwemera
 
Chapter 1 introduction to organic chemistry
Chapter 1 introduction to organic chemistryChapter 1 introduction to organic chemistry
Chapter 1 introduction to organic chemistrySangidha Jagatheesan
 
Application of organic chemistry ok1294986436
Application of organic chemistry   ok1294986436Application of organic chemistry   ok1294986436
Application of organic chemistry ok1294986436Iit Examination
 
New chm 152_unit_11_power_points-su13
New chm 152_unit_11_power_points-su13New chm 152_unit_11_power_points-su13
New chm 152_unit_11_power_points-su13caneman1
 
New chm 152_unit_11_power_points-f12
New chm 152_unit_11_power_points-f12New chm 152_unit_11_power_points-f12
New chm 152_unit_11_power_points-f12caneman1
 
T20 IB Chemistry Organic
T20  IB Chemistry OrganicT20  IB Chemistry Organic
T20 IB Chemistry OrganicRobert Hughes
 
Chapter07wade7thcgd 140409012745-phpapp02
Chapter07wade7thcgd 140409012745-phpapp02Chapter07wade7thcgd 140409012745-phpapp02
Chapter07wade7thcgd 140409012745-phpapp02Cleophas Rwemera
 
07 - Structure and Synthesis of Alkenes - Wade 7th
07 - Structure and Synthesis of Alkenes - Wade 7th07 - Structure and Synthesis of Alkenes - Wade 7th
07 - Structure and Synthesis of Alkenes - Wade 7thNattawut Huayyai
 

Similar to We need to talk about Kekulization, Aromaticity and SMILES (20)

Universal Smiles: Finally a canonical SMILES string
Universal Smiles: Finally a canonical SMILES stringUniversal Smiles: Finally a canonical SMILES string
Universal Smiles: Finally a canonical SMILES string
 
Hybridization
HybridizationHybridization
Hybridization
 
Alkane, Alkene, Alkyne - WEEK 1.pptx
Alkane, Alkene, Alkyne - WEEK 1.pptxAlkane, Alkene, Alkyne - WEEK 1.pptx
Alkane, Alkene, Alkyne - WEEK 1.pptx
 
Chapter 16 hydrocarbons
Chapter 16   hydrocarbonsChapter 16   hydrocarbons
Chapter 16 hydrocarbons
 
Alkynes
AlkynesAlkynes
Alkynes
 
Atkins Chapter2.ppt
Atkins Chapter2.pptAtkins Chapter2.ppt
Atkins Chapter2.ppt
 
Atkins Chapter2.ppt
Atkins Chapter2.pptAtkins Chapter2.ppt
Atkins Chapter2.ppt
 
Organic chemistry
Organic chemistryOrganic chemistry
Organic chemistry
 
Hydrocarbons
HydrocarbonsHydrocarbons
Hydrocarbons
 
Pertemuan ke 7 alkene & alkyne i
Pertemuan ke 7 alkene & alkyne iPertemuan ke 7 alkene & alkyne i
Pertemuan ke 7 alkene & alkyne i
 
New chm-152-unit-11-power-points-su13-140227172047-phpapp02
New chm-152-unit-11-power-points-su13-140227172047-phpapp02New chm-152-unit-11-power-points-su13-140227172047-phpapp02
New chm-152-unit-11-power-points-su13-140227172047-phpapp02
 
Chemistry
ChemistryChemistry
Chemistry
 
Chapter 1 introduction to organic chemistry
Chapter 1 introduction to organic chemistryChapter 1 introduction to organic chemistry
Chapter 1 introduction to organic chemistry
 
Application of organic chemistry ok1294986436
Application of organic chemistry   ok1294986436Application of organic chemistry   ok1294986436
Application of organic chemistry ok1294986436
 
New chm 152_unit_11_power_points-su13
New chm 152_unit_11_power_points-su13New chm 152_unit_11_power_points-su13
New chm 152_unit_11_power_points-su13
 
New chm 152_unit_11_power_points-f12
New chm 152_unit_11_power_points-f12New chm 152_unit_11_power_points-f12
New chm 152_unit_11_power_points-f12
 
T20 IB Chemistry Organic
T20  IB Chemistry OrganicT20  IB Chemistry Organic
T20 IB Chemistry Organic
 
Chapter07wade7thcgd 140409012745-phpapp02
Chapter07wade7thcgd 140409012745-phpapp02Chapter07wade7thcgd 140409012745-phpapp02
Chapter07wade7thcgd 140409012745-phpapp02
 
07 - Structure and Synthesis of Alkenes - Wade 7th
07 - Structure and Synthesis of Alkenes - Wade 7th07 - Structure and Synthesis of Alkenes - Wade 7th
07 - Structure and Synthesis of Alkenes - Wade 7th
 
15isomppa.ppt
15isomppa.ppt15isomppa.ppt
15isomppa.ppt
 

More from baoilleach

Open Babel project overview
Open Babel project overviewOpen Babel project overview
Open Babel project overviewbaoilleach
 
So I have an SD File... What do I do next?
So I have an SD File... What do I do next?So I have an SD File... What do I do next?
So I have an SD File... What do I do next?baoilleach
 
Chemistrify the Web
Chemistrify the WebChemistrify the Web
Chemistrify the Webbaoilleach
 
What's New and Cooking in Open Babel 2.3.2
What's New and Cooking in Open Babel 2.3.2What's New and Cooking in Open Babel 2.3.2
What's New and Cooking in Open Babel 2.3.2baoilleach
 
Intro to Open Babel
Intro to Open BabelIntro to Open Babel
Intro to Open Babelbaoilleach
 
Protein-ligand docking
Protein-ligand dockingProtein-ligand docking
Protein-ligand dockingbaoilleach
 
Cheminformatics
CheminformaticsCheminformatics
Cheminformaticsbaoilleach
 
Making the most of a QM calculation
Making the most of a QM calculationMaking the most of a QM calculation
Making the most of a QM calculationbaoilleach
 
Data Analysis in QSAR
Data Analysis in QSARData Analysis in QSAR
Data Analysis in QSARbaoilleach
 
Large-scale computational design and selection of polymers for solar cells
Large-scale computational design and selection of polymers for solar cellsLarge-scale computational design and selection of polymers for solar cells
Large-scale computational design and selection of polymers for solar cellsbaoilleach
 
My Open Access papers
My Open Access papersMy Open Access papers
My Open Access papersbaoilleach
 
Improving the quality of chemical databases with community-developed tools (a...
Improving the quality of chemical databases with community-developed tools (a...Improving the quality of chemical databases with community-developed tools (a...
Improving the quality of chemical databases with community-developed tools (a...baoilleach
 
De novo design of molecular wires with optimal properties for solar energy co...
De novo design of molecular wires with optimal properties for solar energy co...De novo design of molecular wires with optimal properties for solar energy co...
De novo design of molecular wires with optimal properties for solar energy co...baoilleach
 
Cinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tuneCinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tunebaoilleach
 
Density functional theory calculations on Ruthenium polypyridyl complexes inc...
Density functional theory calculations on Ruthenium polypyridyl complexes inc...Density functional theory calculations on Ruthenium polypyridyl complexes inc...
Density functional theory calculations on Ruthenium polypyridyl complexes inc...baoilleach
 
Application of Density Functional Theory to Scanning Tunneling Microscopy
Application of Density Functional Theory to Scanning Tunneling MicroscopyApplication of Density Functional Theory to Scanning Tunneling Microscopy
Application of Density Functional Theory to Scanning Tunneling Microscopybaoilleach
 
Towards Practical Molecular Devices
Towards Practical Molecular DevicesTowards Practical Molecular Devices
Towards Practical Molecular Devicesbaoilleach
 
Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...baoilleach
 
Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...baoilleach
 
Improving enrichment rates
Improving enrichment ratesImproving enrichment rates
Improving enrichment ratesbaoilleach
 

More from baoilleach (20)

Open Babel project overview
Open Babel project overviewOpen Babel project overview
Open Babel project overview
 
So I have an SD File... What do I do next?
So I have an SD File... What do I do next?So I have an SD File... What do I do next?
So I have an SD File... What do I do next?
 
Chemistrify the Web
Chemistrify the WebChemistrify the Web
Chemistrify the Web
 
What's New and Cooking in Open Babel 2.3.2
What's New and Cooking in Open Babel 2.3.2What's New and Cooking in Open Babel 2.3.2
What's New and Cooking in Open Babel 2.3.2
 
Intro to Open Babel
Intro to Open BabelIntro to Open Babel
Intro to Open Babel
 
Protein-ligand docking
Protein-ligand dockingProtein-ligand docking
Protein-ligand docking
 
Cheminformatics
CheminformaticsCheminformatics
Cheminformatics
 
Making the most of a QM calculation
Making the most of a QM calculationMaking the most of a QM calculation
Making the most of a QM calculation
 
Data Analysis in QSAR
Data Analysis in QSARData Analysis in QSAR
Data Analysis in QSAR
 
Large-scale computational design and selection of polymers for solar cells
Large-scale computational design and selection of polymers for solar cellsLarge-scale computational design and selection of polymers for solar cells
Large-scale computational design and selection of polymers for solar cells
 
My Open Access papers
My Open Access papersMy Open Access papers
My Open Access papers
 
Improving the quality of chemical databases with community-developed tools (a...
Improving the quality of chemical databases with community-developed tools (a...Improving the quality of chemical databases with community-developed tools (a...
Improving the quality of chemical databases with community-developed tools (a...
 
De novo design of molecular wires with optimal properties for solar energy co...
De novo design of molecular wires with optimal properties for solar energy co...De novo design of molecular wires with optimal properties for solar energy co...
De novo design of molecular wires with optimal properties for solar energy co...
 
Cinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tuneCinfony - Bring cheminformatics toolkits into tune
Cinfony - Bring cheminformatics toolkits into tune
 
Density functional theory calculations on Ruthenium polypyridyl complexes inc...
Density functional theory calculations on Ruthenium polypyridyl complexes inc...Density functional theory calculations on Ruthenium polypyridyl complexes inc...
Density functional theory calculations on Ruthenium polypyridyl complexes inc...
 
Application of Density Functional Theory to Scanning Tunneling Microscopy
Application of Density Functional Theory to Scanning Tunneling MicroscopyApplication of Density Functional Theory to Scanning Tunneling Microscopy
Application of Density Functional Theory to Scanning Tunneling Microscopy
 
Towards Practical Molecular Devices
Towards Practical Molecular DevicesTowards Practical Molecular Devices
Towards Practical Molecular Devices
 
Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...
 
Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...Why multiple scoring functions can improve docking performance - Testing hypo...
Why multiple scoring functions can improve docking performance - Testing hypo...
 
Improving enrichment rates
Improving enrichment ratesImproving enrichment rates
Improving enrichment rates
 

Recently uploaded

User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayupadhyaymani499
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx023NiWayanAnggiSriWa
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024AyushiRastogi48
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPirithiRaju
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxmalonesandreagweneth
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologycaarthichand2003
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxNandakishor Bhaurao Deshmukh
 
Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringPrajakta Shinde
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxkumarsanjai28051
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationColumbia Weather Systems
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...lizamodels9
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuinethapagita
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubaikojalkojal131
 

Recently uploaded (20)

User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
User Guide: Pulsar™ Weather Station (Columbia Weather Systems)
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyay
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx
 
Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024Vision and reflection on Mining Software Repositories research in 2024
Vision and reflection on Mining Software Repositories research in 2024
 
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdfPests of soyabean_Binomics_IdentificationDr.UPR.pdf
Pests of soyabean_Binomics_IdentificationDr.UPR.pdf
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technology
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
 
Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical Engineering
 
Forensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptxForensic limnology of diatoms by Sanjai.pptx
Forensic limnology of diatoms by Sanjai.pptx
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather Station
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In DubaiDubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
Dubai Calls Girl Lisa O525547819 Lexi Call Girls In Dubai
 
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort ServiceHot Sexy call girls in  Moti Nagar,🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Moti Nagar,🔝 9953056974 🔝 escort Service
 

We need to talk about Kekulization, Aromaticity and SMILES

  • 1. Kekulization, Aromaticity and SMILES Noel M. O’Boyle, John W. Mayfield We need to talk about… Open Babel/CDK development team and NextMove Software, Cambridge, UK 254th ACS National Meeting, Washington Aug 2017
  • 3. “…we were able to extract some 13,000 SMILES codes for the Wikipedia entries. Over 600 of these codes could not be processed by the SMILES parser. A clear majority of the problems (over 350 cases) was caused by not respecting the SMILES syntax rules for unsubstituted pyrrole-type nitrogen. This nitrogen was encoded as n and not as [nH] as required by the SMILES grammar (so for example benzimidazole was incorrectly encoded as n2c1ccccc1nc2).”
  • 4. Why do we need to talk? • It’s been 29 years since Dave Weininger’s SMILES paper, but still, sometimes… – Toolkits generate aromatic SMILES which other toolkits cannot read – Toolkits fail to roundtrip their own structures through aromatic forms – Chemical information is lost or confused, aromaticity appears/disappears, hydrogens appear/disappear
  • 5. Why do we need to talk? • It’s been 29 years since Dave Weininger’s SMILES paper, but still, sometimes… – Toolkits generate aromatic SMILES which other toolkits cannot read – Toolkits fail to roundtrip their own structures through aromatic forms – Chemical information is lost or confused, aromaticity appears/disappears, hydrogens appear/disappear • Why is this? – There is some confusion about which bonds are marked as aromatic – There is some confusion about the purpose of kekulization, and how to do it – There is a lack of information on the Daylight aromaticity model – There is some confusion about where the implicit hydrogens are in an aromatic SMILES • Goal is to describe how Daylight handles aromatic SMILES – As deduced by JWM
  • 7. What is an aromatic SMILES? • Has some atoms and some bonds marked as aromatic • An atom is marked as aromatic if written as lowercase • A bond is marked as aromatic – Either… if the aromatic bond symbol (colon) is used – Or… no bond symbol is used and it joins two aromatic atoms • But not if the two atoms are in a ring, and the bond is not in a ring c1ccccc1c2ccccc2 C3c1ccccc1-c2ccccc2C3 C3c1ccccc1c2ccccc2C3 c1ccccc1 cc Bond marked as aromatic Bond not marked as aromatic
  • 9. Kekulization • Given a molecule where some atoms and bonds have been marked as aromatic – Assign bond orders of either one or two to the aromatic bonds such that the valencies of all of the aromatic atoms are satisfied (i.e. are consistent with sp2) • Note: Kekulization is not ‘dearomatization’ – No need to search for aromatic rings or even check for ring membership – In particular, H atoms should not be added/removed to make rings aromatic orc1ccccc1
  • 10. Kekulization • Given a molecule where some atoms and bonds have been marked as aromatic – Assign bond orders of either one or two to the aromatic bonds such that the valencies of all of the aromatic atoms are satisfied (i.e. are consistent with sp2) orc1ccccc1 cc cc1c(c)c(c)c1c
  • 11. How many hydrogens to add to aromatic atoms? • If within square brackets (e.g. [nH] or [n]) – The hydrogen count is explicit (as usual for brackets) • If outside square brackets (e.g. c1ccncc1) – Calculate the bond order sum, treating aromatic bonds as single bonds – Apply normal SMILES implicit valence rules using this sum, but subtract one from the number of implicit hydrogens (if there are any) – E.g. in pyridine, c1cnccc1, using the normal rules each carbon would have two hydrogens and the nitrogen one, giving one and zero resp. • Some toolkits instead add hydrogens to satisfy aromaticity rules – This is not what Daylight did. In their world, the number of implicit hydrogens is known directly from the SMILES string.
  • 12. Kekulization = “Perfect matching” • If we consider just the subset of atoms that are aromatic and require a double bond – A valid Kekulé structure is exactly equivalent to the graph theory concept, a “perfect matching”
  • 15. Kekulization failure • If the algorithm described above fails to find a valid Kekulé form, then the input was incorrect • It might be missing some hydrogens (incorrect SMILES writer), or it might be a radical (should not have been aromatized) – E.g. c1ccnc1 cannot be kekulized but the writer might have intended pyrrole (c1cc[nH]c1) or pyrrole radical (C1=C[N]C=C1) • A reader may reject the SMILES as invalid or warn and return a radical • Optionally, a means might be provided to ‘fix’ (i.e. guess) the intended structure – This should probably not be the default behaviour as it causes proliferation of incorrect SMILES and may not recover the intended structure
  • 17. What is the purpose of aromaticity in cheminf? Normalize Kekulé forms Is it a stereogenic center? Is it aromatic in real life? Yes! It is aromatic in cheminf? No! * * According to Daylight aromaticity model or
  • 18. What is the purpose of aromaticity in cheminf? • To normalize to the same representation different Kekulé forms of a structure – NOT to indicate whether an atom/bond displays physical properties associated with aromaticity • Useful to: – generate a canonical representation – identify stereogenic centers – generate fingerprints – match an aromatic query • Note: – If the resulting aromatic structure cannot be kekulized then it should not be aromatized
  • 19. Aromaticity models • Based on Hückel’s rule: – A ring is aromatic if it can be planar, the sum of π electrons is 4n+2, and every atom can participate • An aromaticity model can be described by two sets of parameters: 1. how many π electrons each atom contributes 2. what cycles in the graph are tested for 4n+2 • Note that planarity is not explicitly tested
  • 20. The Daylight aromaticity model • When writing an aromatic SMILES string, it is probably a good idea to apply the Daylight aromaticity model • JWM has recently described the electron contributions – https://figshare.com/articles/Daylight_Aromatic_Atoms/3370945
  • 21. What rings to check? • Best approach is to check all rings that could be aromatic – Alternative is to use SSSR (not recommended) – Note that outer ring systems may be aromatic while inner ones are not • Need to do this efficiently – Eliminate atoms that are in rings that cannot be aromatic – Try small rings first, as may be able to terminate early if no atoms left to check – Programs can terminate searches for rings above a certain size or after backtracking N times 5e-7e- Outer ring has 10e- azulene c1cc2-c(ccccc2)c1
  • 22. Alternative aromaticity models for SMILES • Preserve the aromaticity of the input atoms – Speeds things up – no perception required – Only sensible if reading aromatic SMILES – Useful if you have written the SMILES yourself • Regard all conjugated double bonds as forming a ‘delocalized’ system (JWM) – Fast, doesn’t require ring-finding – Not quite “aromaticity model” – as doesn’t apply Hückel rule
  • 24. Take-home • There is some confusion about which bonds are marked as aromatic, and about the count of implicit hydrogens on aromatic atoms • There are simple rules governing these • There is some confusion about the purpose of kekulization, and how to do it – Kekulization is not dearomatization, but just assignment of bond orders to aromatic bonds to satisfy valencies – Equivalent to finding a perfect matching • There is a lack of information on the Daylight aromaticity model – JWM has published details of the atom contributions
  • 27. A kekulization algorithm • Identify aromatic atoms that need a double bond (set A) – Assign each a degree, a count of nbrs in set A • Apply a greedy algorithm to assign double bonds favoring low degree atoms over higher • Does all of set A have a double bond? • If not, try a backtracking algorithm or Blossom algorithm to find a path of alternating bonds between two atoms that need a double bond – Once found, invert the bond orders along the path • Does all of set A have a double bond? – Handle failure
  • 28. Aromatic atoms that do not require a double bond • An important aspect of the kekulization algorithm is the initial determination of which aromatic atoms do/not need a double bond, e.g. – Pyrrole-type nitrogens do not need one – The hypervalent N of pyridine-N oxides *do* need one • For a list, see page 158 of John May’s thesis [1], and also the associated implementation in Beam [2], or the CDK [3] [1] Cheminformatics for genome-scale metabolic reconstructions. EMBL-EBI/University of Cambridge, 2014. (https://www.repository.cam.ac.uk/handle/1810/246652) [2] https://github.com/johnmay/beam/blob/master/core/src/main/java/uk/ac/ebi/beam/Localise.java [3] https://github.com/cdk/cdk/blob/master/base/standard/src/main/java/org/openscience/cdk/aromaticity/Kekulization.java
  • 29. Writing aromatic SMILES • When reading aromatic SMILES, bonds without bond symbols are marked as aromatic if they connect two aromatic atoms – But not if the two aromatic atoms are in a ring, but the bond is not in a ring (not important whether it’s the same ring) • Therefore, when writing aromatic SMILES, use a bond symbol where a ring bond is between aromatic atoms but is not itself aromatic – Speeds up kekulization, avoids misinterpretation (see below) – In fact, if you apply this rule to non-ring bonds also, you can avoid ring perception when reading aromatic SMILES c12ccccc1c3ccccc23 c12-c3c(-c2cccc1)cccc3
  • 30. Canonical Kekulé SMILES • Kekulé SMILES are sometimes recommended over aromatic SMILES, to avoid problems a toolkit may have with kekulization – Care should be taken to avoid defining cis/trans stereochemistry that is not present • Step 1: canonically label the atoms – Note: some canonicalisation algorithms may use aromaticity • Step 2: re-kekulize the structure taking into account the canonical labels – Can consider aromatic atoms, or alternatively can avoid aromaticity perception if consider all atoms adjacent to a single double bond (JWM)
  • 31. Why c1ccnc1 is not valid for pyrrole radical • There are two types of aromatic Ns in the Daylight world – Pyrrole-type (three-valent, three single bonds) – Pyridine-type (two valent, a double and a single bond) – It is possible to distinguish between these based on valency • The nitrogen in pyrrole radical is a third type: – Two-valent, two single bonds • This cannot be distinguished from pyridine-type when reading – Therefore it should not be written, as the nitrogen is assumed to require a double bond • Pyrrole radical SMILES that can be read unambiguosly – The Kekulé form, C1=C[N]C=C1 – Partial aromatic form, c1c[N]cc1 – Maybe c1cc-n-c1, but most toolkits would not handle this right now
  • 32. Kekulization implementation options • Could kekulize each disconnected system of aromatic atoms/bonds separately, or do all at the same time – Might speed up backtracking (though might slow down general case) • Could fail fast if going to reject, rather than warn – e.g. if odd number of atoms need double bonds • Could favor six-member rings – Shuffle atoms in smaller (?) rings to end of list

Editor's Notes

  1. 2.7%
  2. Pyrrole radical
  3. Pyrrole radical