chemical terms, a language for cheminformatics györgy pirok american chemical societynational...
TRANSCRIPT
![Page 1: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/1.jpg)
Chemical Terms, a Language for Cheminformatics
György Pirok
American Chemical Society National Meeting, Chicago 2007
![Page 2: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/2.jpg)
Content
Problems to solve
Property calculations, the plugin system
The Chemical Terms language
Applications
Summary
![Page 3: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/3.jpg)
Problems to Solve
Filtering
Thousands of predictive calculations, topological indices, and many "likeness" rules are published. Which ones of them should be supported by our database tools?
How could chemists combine these predictions during structure searching?
How could chemists use their existing property calculations inside ChemAxon tools?
How can we detect activated/deactivated sites, regioselectivity or potential side reactions?
How can chemists improve a virtual reaction if it provides unfeasible products?
Virtual reactions
![Page 4: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/4.jpg)
Problems to Solve
Pharmacophore mapping
What pharmacophore types should we define?
Should we define pharmacophore types using functional group lists or property calculations?
How to extend the definitions?
What goal function should we set?
How to define a custom goal function including desired physicochemical properties?
Random evolutionary de Novo drug design
![Page 5: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/5.jpg)
The Chemical Terms Pyramid
Applications
Chemical TermsEvaluator
Plugin System
Property Calculations
![Page 6: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/6.jpg)
Property Calculations
![Page 7: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/7.jpg)
Plugins are Accessible
GUIs
command line tools
Java API
SQL Cartridge
![Page 8: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/8.jpg)
The Plugin System is Extensible
acceptor acceptorCount acceptorSiteCount acidicpKa acidicpKaLargeModel aliphaticAtom aliphaticAtomCount aliphaticBondCount aliphaticRingCount angle aromaticAtom aromaticAtomCount aromaticBondCount aromaticElectrophilicityOrder aromaticNucleophilicityOrder aromaticRingCount array asymmetricAtom asymmetricAtomCount atno atomCount atomicPolarizability averagePolarizability balabanIndex basicpKa basicpKaLargeModel BCUT bond bondCount bondType canonicalResonant canonicalTautomer carboaromaticRingCount carboRingCount chainAtom chainAtomCount chainBond chainBondCount charge chiralCenter chiralCenterCount composition conformer conformerCount conformers connected connectedGraph connections count cxsmarts cxsmiles cyclomaticNumber dihedral dissimilarity distance distanceDegree donor donorCount donorSiteCount dotDisconnectedFormula doubleBondStereoisomer doubleBondStereoisomerCount doubleBondStereoisomers dreidingEnergy eccentricity electrophilicLocalizationEnergy enumeration enumerationCount enumerations exactMass field filter formalCharge formula fusedAliphaticRingCount fusedAromaticRingCount fusedRingCount hararyIndex hasValidConformer hydrogenCount heavy heteroaromaticRingCount heteroRingCount hyperWienerIndex isoelectricPoint isotopeComposition isotopeFormula largestAtomRingSize largestRingSize logD logP logPIncrement logS logSMicro logSNeutral logSTrue lowestEnergyConformer majorMicrospecies majorMs map mass match matchCount max maxAtom maxValue microspecies microspeciesCount microspeciesDistribution min minAtom minValue molBinFormat molecularPolarizability molFormat molImage name nucleophilicLocalizationEnergy pair piChargeDensity piEnergy piOrbitalElctronegativity pKa plattIndex polarizability property randicIndex refractivity refractivityIncrements resonant resonantCount resonants ringAtom ringAtomCount ringBond ringBondCount ringCount ringCountOfAtom rotatableBond rotatableBondCount shortestPath sigmaOrbitalElectronegativity smallestAtomRingSize smallestRingSize smarts smiles solventAccessibleSurfaceArea sortAsc sortDesc stereoisomer stereoisomerCount stereoisomers stericEffectIndex stericHindrance sum szegedIndex tautomer tautomerCount tautomers tetrahedralStereoisomer tetrahedralStereoisomerCount tetrahedralStereoisomers topologicalPolarSurfaceArea totalChargeDensity traditionalName uniqueSmiles valence vanDerWaalsSurfaceArea wienerIndex wienerPolarity
![Page 9: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/9.jpg)
Chemical Terms Function ExamplesSubstructure Matching
The query can be specified in file, or can be "inlined":
match("[#6:1][$([NX3:2](=[O:3])=[O:3]),$([NX3+:1](=[O:3])[O-:3])]")
match("nitroquery.mol") // true if the query found in the// current molecule
matchCount(aliphaticamine) // returns the number of aliphatic amino// groups in the current molecule
Counting functional groups:
match(ratom(6), "[OH:1]C=[O:2]", 1, 2) // is the given reactant atom a// carboxyl oxygen?
Matching a mapped atom of the functional group of a reactant in reaction context:
match(nitro) // true if the current molecule contains // nitro group
Built-in dictionaries supporting named functional groups and reactions:
match(BeckmannRearrangement) // true if the current reaction is a// rearrangement of an oxime to amide
![Page 10: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/10.jpg)
Function ExamplesChemical Calculations
Calculating physicochemical properties of the current molecule:
solventAccessibleSurfaceArea("7.4") // on pH 7.4
isoelectricPoint()
acidicpKa(ratom(4)) // the acidic pKa of the given reactant atom
Calculating physicochemical properties in reaction context:
electrophilicLocalizationEnergy(ratom(3))
logP(product(1)) // the logP of the given product
rotatableBondCount()
Calculating topological and geometrical descriptors:
SzegedIndex()
heteroAromaticRingCount()
hasValidConformer(product(1))
stericHindrance(ratom(7))
chiralCenterCount(ratom(7))
![Page 11: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/11.jpg)
Function ExamplesCalculations Returning Molecules
Predicting the major microspecies on the given pH
majorMicrospecies("7.0")
tautomer(1, "7.4") // dominant tautomer on the given pH
Determining resonant structures and tautomers of the current molecule
tautomers() // all tautomers
canonicalResonant() // canonical resonant structure
resonants() // all resonant structures
Returning the stereoisomers of the given product in the current reaction
stereoIsomers(product(1))
Returning all enumerated molecules of a given Markush structure
enumeration()
![Page 12: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/12.jpg)
Combining functions in Chemical Terms
Creating complex descriptors for filtering:
(mass() >= 200) && (mass() <= 600) &&(ringCount() <= 7) &&(atomCount("6") >= 5) && ((atomCount() - atomCount("6") - atomCount("1")) >= 2) &&(rotatableBondCount() <= 15) &&(donorCount() <= 5) &&(acceptorCount() <= 10) &&(logP() >= -2) && (logP() <= 5) &&(polarSurfaceArea() <= 150);
Defining goal functions for random evolutionary drug design applications:
inhibitor = inhibitor.mol;dissimilarity(inhibitor, pharmacophore_tanimoto) - dissimilarity(inhibitor, chemical_tanimoto);
Pharmacophore type definition (cationic):
(formalcharge() > 0) || (charge("7.4") > 0.4)
![Page 13: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/13.jpg)
Combining functions in Chemical Terms
Identifying deactivated rings in virtual Friedel-Crafts acylation:
charge(ratom(1), "aromaticsystem") > -0.2
Determining the localization energy effect on regioselectivity in SEAr reactions:
electrophilicLocalizationEnergy (ratom(1))
Excluding reactants having sensitive groups in Friedel-Crafts acylation:
match(reactant(1), "[Cl,Br,I]C(=[O,S])C=C") ||match(reactant(0), "[H][O,S]C=[O,S]") || match(reactant(0), "[P][H]") ||(max(pka(reactant(0), filter(reactant(0), "match('[O,S;H1]')"), "acidic")) > 14.5) || (max(pka(reactant(0), filter(reactant(0), "match('[#7:1][H]', 1)"), "basic")) > 0)
![Page 14: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/14.jpg)
acceptorCount(product(1), "7.4")
name of the function
Molecule context Reaction context
acceptorCount("7.4")
name of the function
Chemical Terms Syntax and Context
parameters parameters
Parameters: molecule, atom, other custom parameters (e.g. pH)
Molecule context, used for single molecule input• mol(): refers to the current input molecule (can be omitted)
Reaction context, used for reaction input initiated by the Reactor:• reactant(int i): refers to the i-th reactant (0-based indexing)• product(int i): refers to the i-th product (0-based indexing)• ratom(int m): refers to the reactant atom corresponding to reactant atom map m according to the reaction equation• patom(int m): refers to the product atom corresponding to product atom map m according to the reaction equation
Additional contexts: atom context, search context
![Page 15: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/15.jpg)
The Chemical Terms Editor
![Page 16: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/16.jpg)
Applications
The problem
Property calculations, the plugin system
The Chemical Terms Language
ApplicationsSummary
![Page 17: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/17.jpg)
Applications of Chemical Terms Calculated Fields and Filters in Instant JChem
![Page 18: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/18.jpg)
Applications of Chemical Terms Filters in Pipeline Pilot
![Page 19: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/19.jpg)
Applications of Chemical TermsVirtual Reaction without Chemical Terms
![Page 20: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/20.jpg)
Applications of Chemical TermsReaction Editor - Encoding Reaction Rules
![Page 21: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/21.jpg)
Applications of Chemical TermsVirtual Reaction with Chemical Terms
György Pirok, Nóra Máté, Jenő Varga, József Szegezdi, Miklós Vargyas, Szilárd Dóránt, and Ferenc Csizmadia: Making "Real" Molecules in Virtual Space. J. Chem. Inf. Model.; 2006; 46(2) pp 563 - 568
![Page 22: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/22.jpg)
Applications of Chemical TermsHuman Xenobiotic Biotransformations
![Page 23: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/23.jpg)
Upcoming Features
• simplified syntax– replacing &&, ||, ! with and, or, not– numbering base will be 1 universally– strongly typed parameters
• simplified editing– syntax checker in editor– parameter dialogs in editor– more named functional groups in the dictionary– named reaction dictionary
• new functionalities– functional group transformation queries in matching (carboxyl>>aldehide)– referring to database fields– conditional expressions (if)– IUPAC name functions– and more...
![Page 24: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/24.jpg)
Summary
The problem
Property calculations, the plugin system
The Chemical Terms Language
Applications
Summary
![Page 25: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/25.jpg)
Summary
• What is Chemical Terms?– A simple but extensible language to combine chemical functions for
various cheminformatics purposes– A way to add more chemical "intelligence" to software programs– A general interface for chemists to customize cheminformatics
applications
• What is it good for?– chemical data filtering– creating complex SAR expressions– making virtual reactions, biotransformations selective– defining goal functions, termination criterias– defining pharmacophore types– and more...
• How can I use it?– Off the shelf (Reactor, Metabolizer, Instant JChem, command line)– Integrate into own applications (Java/.NET API, Oracle Cartidge)– FREE for Academics
![Page 26: Chemical Terms, a Language for Cheminformatics György Pirok American Chemical SocietyNational Meeting, Chicago 2007](https://reader035.vdocuments.us/reader035/viewer/2022070305/551464d95503462d4e8b5adc/html5/thumbnails/26.jpg)
Acknowledgements
Nóra Máté, Zsolt MohácsiPlugin system, Chemical Terms Evaluator, Reactor, Pharmacophore mapping
József Szegezdi, Ferenc CsizmadiaProperty predictions, calculations
István Cseh, Attila SzabóChemical Terms Editor
Szilárd Dóránt, Szabolcs CsepregiSubstructure searching functions, JChem Base integration, Pipeline Pilot integration
Péter KovácsJChem Cartridge integration
Tim Dudgeon, Petr HamernikInstant JChem Integration
Miklós Vargyas
Pharmacophore mapping, Chemical Terms Evaluator