chemical terms
TRANSCRIPT
-
8/3/2019 Chemical Terms
1/26
Chemical Terms, a Language forCheminformatics
Gyrgy Pirok
American Chemical Society National Meeting, Chicago 2007
-
8/3/2019 Chemical Terms
2/26
Content
Problems to solve
Property calculations, the plugin system
The Chemical Terms language
Applications
Summary
-
8/3/2019 Chemical Terms
3/26
Problems to Solve
Filtering
Thousands of predictive calculations, topological indices,
and many "likeness" rules are published. Which ones ofthem should be supported by our database tools?
How could chemists combine these predictions duringstructure searching?
How could chemists use their existing propertycalculations inside ChemAxon tools?
How can we detect activated/deactivated sites,regioselectivity or potential side reactions?
How can chemists improve a virtual reaction ifit provides unfeasible products?
Virtual reactions
-
8/3/2019 Chemical Terms
4/26
Problems to Solve
Pharmacophore mapping
What pharmacophore types should we define?
Should we define pharmacophore types using functionalgroup lists or property calculations?
How to extend the definitions?
What goal function should we set?
How to define a custom goal functionincluding desired physicochemicalproperties?
Random evolutionary de Novo drug design
-
8/3/2019 Chemical Terms
5/26
The Chemical Terms Pyramid
Applications
Chemical TermsEvaluator
Plugin System
Property Calculations
-
8/3/2019 Chemical Terms
6/26
Property Calculations
-
8/3/2019 Chemical Terms
7/26
Plugins are Accessible
GUIs
command line tools
Java API
SQL Cartridge
-
8/3/2019 Chemical Terms
8/26
The Plugin System is Extensible
acceptor acceptorCount acceptorSiteCount acidicpKa acidicpKaLargeModelaliphaticAtom aliphaticAtomCount aliphaticBondCount aliphaticRingCountangle aromaticAtom aromaticAtomCount aromaticBondCountaromaticElectrophilicityOrder aromaticNucleophilicityOrderaromaticRingCount array asymmetricAtom asymmetricAtomCount atnoatomCount atomicPolarizability averagePolarizability balabanIndex basicpKabasicpKaLargeModel BCUT bond bondCount bondType canonicalResonantcanonicalTautomer carboaromaticRingCount carboRingCount chainAtomchainAtomCount chainBond chainBondCount charge chiralCenterchiralCenterCount composition conformer conformerCount conformersconnected connectedGraph connections count cxsmarts cxsmilescyclomaticNumber dihedral dissimilarity distance distanceDegree donordonorCount donorSiteCount dotDisconnectedFormuladoubleBondStereoisomer doubleBondStereoisomerCount
doubleBondStereoisomers dreidingEnergy eccentricityelectrophilicLocalizationEnergy enumeration enumerationCountenumerations exactMass field filter formalCharge formulafusedAliphaticRingCount fusedAromaticRingCount fusedRingCounthararyIndex hasValidConformer hydrogenCount heavyheteroaromaticRingCount heteroRingCount hyperWienerIndexisoelectricPoint isotopeComposition isotopeFormula largestAtomRingSizelargestRingSize logD logP logPIncrement logS logSMicro logSNeutrallogSTrue lowestEnergyConformer majorMicrospecies majorMs map massmatch matchCount max maxAtom maxValue microspeciesmicrospeciesCount microspeciesDistribution min minAtom minValuemolBinFormat molecularPolarizability molFormat molImage namenucleophilicLocalizationEnergy pair piChargeDensity piEnergy
piOrbitalElctronegativity pKa plattIndex polarizability property randicIndexrefractivity refractivityIncrements resonant resonantCount resonantsringAtom ringAtomCount ringBond ringBondCount ringCountringCountOfAtom rotatableBond rotatableBondCount shortestPathsigmaOrbitalElectronegativity smallestAtomRingSize smallestRingSizesmarts smiles solventAccessibleSurfaceArea sortAsc sortDesc stereoisomerstereoisomerCount stereoisomers stericEffectIndex stericHindrance sumszegedIndex tautomer tautomerCount tautomers tetrahedralStereoisomertetrahedralStereoisomerCount tetrahedralStereoisomerstopologicalPolarSurfaceArea totalChargeDensity traditionalNameuniqueSmiles valence vanDerWaalsSurfaceArea wienerIndex wienerPolarity
-
8/3/2019 Chemical Terms
9/26
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 reactioncontext:
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
-
8/3/2019 Chemical Terms
10/26
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))
-
8/3/2019 Chemical Terms
11/26
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 structureresonants() // 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()
-
8/3/2019 Chemical Terms
12/26
Combining functions in Chemical Terms
Creating complex descriptors for filtering:
(mass() >= 200) && (mass() = 2) &&
(rotatableBondCount()
-
8/3/2019 Chemical Terms
13/26
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)
-
8/3/2019 Chemical Terms
14/26
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 inputmol(): 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 thereaction equation
patom(int m): refers to the product atom corresponding to product atom map m according to the reactionequation
Additional contexts: atom context, search context
-
8/3/2019 Chemical Terms
15/26
The Chemical Terms Editor
-
8/3/2019 Chemical Terms
16/26
Applications
The problem
Property calculations, the plugin system
The Chemical Terms Language
Applications
Summary
-
8/3/2019 Chemical Terms
17/26
Applications of Chemical TermsCalculated Fields and Filters in Instant JChem
-
8/3/2019 Chemical Terms
18/26
Applications of Chemical TermsFilters in Pipeline Pilot
-
8/3/2019 Chemical Terms
19/26
Applications of Chemical TermsVirtual Reaction without Chemical Terms
-
8/3/2019 Chemical Terms
20/26
Applications of Chemical TermsReaction Editor - Encoding Reaction Rules
-
8/3/2019 Chemical Terms
21/26
Applications of Chemical TermsVirtual Reaction with Chemical Terms
Gyrgy Pirok, Nra Mt, Jen Varga, Jzsef Szegezdi, Mikls Vargyas, Szilrd Drnt, and Ferenc Csizmadia: Making "Real"Molecules in Virtual Space.J. Chem. Inf. Model.; 2006; 46(2) pp 563 - 568
-
8/3/2019 Chemical Terms
22/26
Applications of Chemical TermsHuman Xenobiotic Biotransformations
-
8/3/2019 Chemical Terms
23/26
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...
-
8/3/2019 Chemical Terms
24/26
Summary
The problem
Property calculations, the plugin system
The Chemical Terms Language
Applications
Summary
-
8/3/2019 Chemical Terms
25/26
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
-
8/3/2019 Chemical Terms
26/26
Acknowledgements
Nra Mt, Zsolt MohcsiPlugin system, Chemical Terms Evaluator, Reactor, Pharmacophore mapping
Jzsef Szegezdi, Ferenc CsizmadiaProperty predictions, calculations
Istvn Cseh, Attila Szab
Chemical Terms Editor
Szilrd Drnt, Szabolcs CsepregiSubstructure searching functions, JChem Base integration, Pipeline Pilotintegration
Pter KovcsJChem Cartridge integration
Tim Dudgeon, Petr HamernikInstant JChem Integration
Mikls Vargyas
Pharmacophore mapping, Chemical Terms Evaluator