orbital development kit

Post on 27-Jan-2015

124 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

My ideas presented at ACS 2010 Boston on 'beyond the chemical graph'.

TRANSCRIPT

Orbital Development Kit

Egon Willighagen

Bioclipse & Proteochemometric Group (Prof. Wikberg)(Until 2010-09-30)

Department of Pharmaceutical Biosciences

Uppsala University

2010-08-25

Background

Data Model

Examples

I/O

Conclusions

Representation Types

Quantum ChemistryDetailed, accurateScales badly

Chemical GraphScales OKNo electrons

2010-08-25 Bioclipse & Proteochemometric Group - 2 -

Background

Data Model

Examples

I/O

Conclusions

Representation Types

Quantum ChemistryDetailed, accurateScales badly

Chemical GraphScales OKNo electrons

Orbital Development Kit

2010-08-25 Bioclipse & Proteochemometric Group - 3 -

Background

Data Model

Examples

I/O

Conclusions

Orbital Development Kit

Why?More in line with how wethink about moleculesOrganometallicsStereochemistry at anatomic levelExplicit information

2010-08-25 Bioclipse & Proteochemometric Group - 4 -

Background

Data Model

Examples

I/O

Conclusions

Orbital Development Kit

Why?More in line with how wethink about moleculesOrganometallicsStereochemistry at anatomic levelExplicit information

Worst of both worlds?

2010-08-25 Bioclipse & Proteochemometric Group - 5 -

Background

Data Model

Examples

I/O

Conclusions

Methane I

sp3 hybridization

2010-08-25 Bioclipse & Proteochemometric Group - 6 -

Background

Data Model

Examples

I/O

Conclusions

Counting electrons

Oxidation states and filled orbitals

2010-08-25 Bioclipse & Proteochemometric Group - 7 -

Background

Data Model

Examples

I/O

Conclusions

Lone Pairs

Oxidation states and filled orbitals

2010-08-25 Bioclipse & Proteochemometric Group - 8 -

Background

Data Model

Examples

I/O

Conclusions

Atom types: from the CDK

Web Ontology Language

<at:AtomType rdf:ID="C.minus.sp3"><at:formalCharge>-1</at:formalCharge><at:hasElement rdf:resource="&elem;C"/><at:formalNeighbourCount>3</at:formalNeighbourCount><at:lonePairCount>1</at:lonePairCount><at:piBondCount>0</at:piBondCount><at:hybridization rdf:resource="&at;sp3"/>

</at:AtomType>

2010-08-25 Bioclipse & Proteochemometric Group - 9 -

Background

Data Model

Examples

I/O

Conclusions

Atom types

Osp3.getOrbitalTypes()

public List<IOrbitalType> getOrbitalTypes() {List<IOrbitalType> orbitals =

new ArrayList<IOrbitalType>();orbitals.add(LonePair.getInstance(Sp3.getInstance()));orbitals.add(LonePair.getInstance(Sp3.getInstance()));orbitals.add(SingleElectron.getInstance(Sp3.getInstance()));orbitals.add(SingleElectron.getInstance(Sp3.getInstance()));return orbitals;

}

2010-08-25 Bioclipse & Proteochemometric Group - 10 -

Background

Data Model

Examples

I/O

Conclusions

Water

Oxidation states and filled orbitals

2010-08-25 Bioclipse & Proteochemometric Group - 11 -

Background

Data Model

Examples

I/O

Conclusions

Water

MoleculeFactory factory = new MoleculeFactory();

IAtom oxygen = factory.addAtom(Osp3.getInstance());

for (int i=1; i<=2; i++) {IAtom hydrogen = factory.addAtom(Hs.getInstance());factory.bind(oxygen.getFreeSingleElectron(Sp3.getInstance()),hydrogen.getFreeSingleElectron(S.getInstance())

);}IMolecule immutable = factory.getImmutable();

2010-08-25 Bioclipse & Proteochemometric Group - 12 -

Background

Data Model

Examples

I/O

Conclusions

Water

MoleculeFactory factory = new MoleculeFactory();

IAtom oxygen = factory.addAtom(Osp3.getInstance());

for (int i=1; i<=2; i++) {IAtom hydrogen = factory.addAtom(Hs.getInstance());factory.bind(oxygen.getFreeSingleElectron(Sp3.getInstance()),hydrogen.getFreeSingleElectron(S.getInstance())

);}IMolecule immutable = factory.getImmutable();

2010-08-25 Bioclipse & Proteochemometric Group - 13 -

Background

Data Model

Examples

I/O

Conclusions

Water

MoleculeFactory factory = new MoleculeFactory();

IAtom oxygen = factory.addAtom(Osp3.getInstance());

for (int i=1; i<=2; i++) {IAtom hydrogen = factory.addAtom(Hs.getInstance());factory.bind(oxygen.getFreeSingleElectron(Sp3.getInstance()),hydrogen.getFreeSingleElectron(S.getInstance())

);}IMolecule immutable = factory.getImmutable();

2010-08-25 Bioclipse & Proteochemometric Group - 14 -

Background

Data Model

Examples

I/O

Conclusions

Zeise’s Salt

Beyond the Chemical Graph

2010-08-25 Bioclipse & Proteochemometric Group - 15 -

Background

Data Model

Examples

I/O

Conclusions

Zeise’s Salt

IMolecularOrbital piBond = factory.bind(carbons[0].getFreeSingleElectron(Pz.getInstance()),carbons[1].getFreeSingleElectron(Pz.getInstance())

);IAtom platinum = factory.addAtom(Ptsp.getInstance());

factory.bind(platinum.getFreeEmpty(Dsp.getInstance()),piBond

);

2010-08-25 Bioclipse & Proteochemometric Group - 16 -

Background

Data Model

Examples

I/O

Conclusions

I/O: Resource Description Framework

Molecules:mol1 a odk:Molecule ;

odk:hasAtom :atom4 , :atom3 , :atom1 , :atom5 , :atom2 ;odk:hasOverlap :overlap4 , :overlap1 , :overlap3 , :overlap2 .

Atoms:atom3 a odk:Atom ;

odk:hasAtomType at:Hs ;odk:hasOrbital :orbital6 .

Orbitals:orbital8 a odk:Orbital ;

odk:hasElectronCount "1" ;odk:hasOrbitalType ot:S .

Overlaps:overlap10 a odk:Overlap ;

odk:binds :overlap6 , :orbital16 .

2010-08-25 Bioclipse & Proteochemometric Group - 17 -

Background

Data Model

Examples

I/O

Conclusions

Conclusions

Atom types are expressed in more detailElectron counting is explicitWe can represent organometallics(De)serialization from/into RDF

2010-08-25 Bioclipse & Proteochemometric Group - 18 -

Background

Data Model

Examples

I/O

Conclusions

Whereto?

descriptor calculation (QSAR)fingerprints (database searching)bridge to the CDK...

2010-08-25 Bioclipse & Proteochemometric Group - 19 -

Background

Data Model

Examples

I/O

Conclusions

The Details

http://www.citeulike.org/user/

egonw/tag/papers

http:

//chem-bla-ics.blogspot.com

http://egonw.github.com

waveto:

egon.willighagen@googlewave.com

2010-08-25 Bioclipse & Proteochemometric Group - 20 -

top related