Modelling experiments

27
Modelling experiments Using Teranode XDA and Chemaxon Andrew Lemon and Robert Shell

description

Modelling experiments. Using Teranode XDA and Chemaxon Andrew Lemon and Robert Shell. Agenda. Issues with capturing experiments Integrating Chemaxon Futures Acknowledgements. Experiments. Protocol Design* Data capture* Automated data capture Data Analysis and reduction* Conclusion - PowerPoint PPT Presentation

Transcript of Modelling experiments

Page 1: Modelling experiments

Modelling experiments

Using Teranode XDA and Chemaxon

Andrew Lemon and Robert Shell

Page 2: Modelling experiments

Agenda• Issues with capturing experiments

• Integrating Chemaxon

• Futures

• Acknowledgements

Page 3: Modelling experiments

Experiments• Protocol Design*

• Data capture*– Automated data capture

• Data Analysis and reduction*

• Conclusion

• Review and Publication

• Search and report data

Diversity from synthesis to Preclinical testing

Page 4: Modelling experiments

Protocols

Page 5: Modelling experiments

Data capture  ESC001 ESC002 ESC003 ESC004

ESC001 ESC001-ESC001 ESC002-ESC001 ESC003-ESC001 ESC004-ESC001

ESC002 ESC001-ESC002 ESC002-ESC002 ESC003-ESC002 ESC004-ESC002

ESC003 ESC001-ESC003 ESC002-ESC003 ESC003-ESC003 ESC004-ESC003

ESC004 ESC001-ESC004 ESC002-ESC004 ESC003-ESC004 ESC004-ESC004

• Spreadsheets• Formula to link cells in 2D• =A3 & “-” & B2 ESC001-ESC001• Modelling difficult and error prone• Expansion difficult

Page 6: Modelling experiments

Protocol Modelling

• Need to model the experiment

• Parameterise the dimensionality

CMPS (4)ESC004ESC003ESC002ESC001

MassDensityMPB.P Params(4)

RESULTS(4x4)

MassDensityMPB.P

ESC001

ESC002

ESC003

ESC004

Page 7: Modelling experiments

Protocol Modelling

• Need to model the experiment

• Parameterise the dimensionality

CMPS (4)ESC004ESC003ESC002ESC001

MassDensityMPB.P Params(5)

RESULTS(4x5)

MassDensityMPB.P

ESC001

ESC002

ESC003

ESC004

IC50

IC50

Page 8: Modelling experiments

Protocol Modelling

• Cope with runtime modification

• ‘Stuff’ happens

• Still track data

CMPS (4)ESC002ESC003ESC004ESC001

MassDensityMPB.P Params(5)

RESULTS(4x5)

MassDensityMPB.P

ESC001

ESC004

ESC003

ESC002

IC50

IC50

Page 9: Modelling experiments

Modelling Chemistry• How can we model real experiments?

– Instruments– Data

• What about chemical information?

Page 10: Modelling experiments

Experiment Modelling• Visual platform

Page 11: Modelling experiments

Integration Requirements• Support specialist data types

– Structure, Reaction

• Access to raw data– SDF, RDF, CTFile, Smiles

• Provide processing capabilities– Chemical Business rules– Enumeration

• Not compromise the platform architecture– Java plugin architecture

• Reasonable cost implication• Be compatible with other software• Responsive vendor (support, enhancements, innovation)• Good pedigree

JChem/Marvin

JChem

StandardizeReactor

Page 12: Modelling experiments

Teranode API

• Value Type– Custom Viewer

• Large Panels• Dialogs• Small single line/cell views

– Executables• Import• Export• Custom Processes

Page 13: Modelling experiments

Chemical Viewercd Plug-In

AbstractStringValueType

ChemicalValueType

LargeChemicalViewer

SmallChemicalViewer

MViewPane

+ setM(Molecule) : void

ChemicalData

+ fromString(String) : void+ toString() : String

ViewerPanel

+ rebuildLocal(JPanel) : void

Teranode API ChemAxon API

Molecule

+ getFormula() : String+ getMass()() : double+ toFormat(String) : String

MolImporter

+ importMol(String) : Molecule

Large Widget

Small Widget

model

model

model

Panel

molecule

Reading smiles

Page 14: Modelling experiments

Integration Steps

1. Add Viewers to ValueType

2. Implement RebuildLocal in Viewerprotected void rebuildLocal(JPanel jPanel) { buildGUI(); … }protected void buildGUI() { mainPanel = new MViewPane(); mainPanel.setEditable(2); mainPanel.setM(0, ChemicalUtility.emptyMolecule); }

Page 15: Modelling experiments

Integration Steps3.Load Data (SMILES) from modelpublic void load() { super.unregisterWithContext(); // don’t trigger refresh try { data = new ChemData(getProperty().getOutputString()); mainPanel.setM(0,data.getMolecule()); } catch (Exception e) { mainPanel.setM(0,ChemicalUtility.emptyMolecule);

log.warn("Failed to read in molecule", e); } super.registerWithContext(); }

Page 16: Modelling experiments

Executable

• File Importers

• Structure Transformations–Standardize

–Reactor

• Searching–Filters

–SSS

public Executable getExecutable(){ if (executable==null) { executable = new

StandardizerExecutable(); } return executable;}

Page 17: Modelling experiments

Executablecd Exec

ChemAxon API

Teranode API

AbstractStringValueType

RunAllExecutable

StandarizeValueType

StandarizeExecutable

StandizeData

- destination: Property- source: Property- transform: String

StandizeViewer

+ rebuildLocal(JPanel) : void

Standardizer

MolImporter

+ importMol(String) : Molecule

MViewPane

+ setM(Molecule) : void

ViewerPanel

+ rebuildLocal(JPanel) : void

run

Page 18: Modelling experiments

Implementationprotected void executeLocal(GraphObject graphObject) throws

Exception { Property property = m_executeEvent.getExecutableProperty(); String value = property.getOutputString(); Node node = (Node) graphObject;

StandardizerData data = new StandardizerData(node,value); Standardizer standardizer = new Standardizer(data.getRules());

// Read Chemistry from source clean and save to destination ChemicalData chem = new ChemicalData(data.getSource()); Molecule cleaned = standardizer.standardize(chem.getMolecule()); chem.setMolecule(cleaned); data.getDestination().setValueString(chem.toString(), node); }

Page 19: Modelling experiments

Chemaxon• Well designed Object Model• Quickly get to chemistry terms not objects

– Leverage domain knowledge– Faster programming

• Robust• Documented• Supported

– Forums– Interested!

• Active Development

Page 20: Modelling experiments

Parallel SynthesisReactants

Products

Page 21: Modelling experiments

• Layout reagents on synthesis plates

• Apply the reaction

• Enumerate the products

All within a single workflow

Combinatorial Chemistry

Reactants

Products

Reaction

Enumerated Products

Page 22: Modelling experiments

Chemical Intelligence

Before After

Applying Chemical Business rules for representation

Page 23: Modelling experiments

Chemical IntelligenceStructural Filtering

Split a list of Amines into Primary Secondary, Tertiary and Quaternary Amines

Filter by Structure

Page 24: Modelling experiments

Marvin

Integrated Chemistry• Data access• Chemical Indexing

and searching• Integrated Chemical

Intelligence• Web-based Query

and Reporting

JChem

Reactor

Page 25: Modelling experiments

Other Edge plugins• Fitting and charting

Page 26: Modelling experiments

Futures• Integrate more Chemaxon components

– PhysChem Predictors– Cluster analysis– Reporting– Structure searching within Semantic webstore

• Integration components to databases– ID/Structure lookup

• Integration of screening data– SAR reports etc

Page 27: Modelling experiments

Acknowledgements• Chemaxon Software Collaboration

• Teranode Software Collaboration– European Agent

• The Edge Software Consultancy– Robert Shell

More information?

http://www.edgesoftwareconsultancy.com/

[email protected]