chemical terms

Upload: arijit-das

Post on 07-Apr-2018

217 views

Category:

Documents


0 download

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