270 likes | 366 Views
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
E N D
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 • Review and Publication • Search and report data Diversity from synthesis to Preclinical testing
Data capture • Spreadsheets • Formula to link cells in 2D • =A3 & “-” & B2 ESC001-ESC001 • Modelling difficult and error prone • Expansion difficult
Protocol Modelling • Need to model the experiment • Parameterise the dimensionality
Protocol Modelling • Need to model the experiment • Parameterise the dimensionality
Protocol Modelling • Cope with runtime modification • ‘Stuff’ happens • Still track data
Modelling Chemistry • How can we model real experiments? • Instruments • Data • What about chemical information?
Experiment Modelling • Visual platform
JChem/Marvin JChem Standardize Reactor 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
Teranode API • Value Type • Custom Viewer • Large Panels • Dialogs • Small single line/cell views • Executables • Import • Export • Custom Processes
Integration Steps • Add Viewers to ValueType • Implement RebuildLocal in Viewer protected void rebuildLocal(JPanel jPanel) { buildGUI(); … } protected void buildGUI() { mainPanel = new MViewPane(); mainPanel.setEditable(2); mainPanel.setM(0, ChemicalUtility.emptyMolecule); }
Integration Steps • Load Data (SMILES) from model public 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(); }
Executable • File Importers • Structure Transformations • Standardize • Reactor • Searching • Filters • SSS • public Executable getExecutable() • { • if (executable==null) • { • executable = new • StandardizerExecutable(); • } • return executable; • }
cd Exec ChemAxon API StandizeViewer ViewerPanel + rebuildLocal(JPanel) : void + rebuildLocal(JPanel) : void StandarizeValueType MViewPane AbstractStringValueType + setM(Molecule) : void StandizeData - destination: Property run - source: Property - transform: String Standardizer RunAllExecutable StandarizeExecutable MolImporter Teranode API + importMol(String) : Molecule Executable
Implementation protected 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); }
Chemaxon • Well designed Object Model • Quickly get to chemistry terms not objects • Leverage domain knowledge • Faster programming • Robust • Documented • Supported • Forums • Interested! • Active Development
Parallel Synthesis Reactants Products
Enumerated Products Reactants Reaction Products Combinatorial Chemistry • Layout reagents on synthesis plates • Apply the reaction • Enumerate the products • All within a single workflow
Before After Chemical Intelligence Applying Chemical Business rules for representation
Chemical Intelligence Structural Filtering Split a list of Amines into Primary Secondary, Tertiary and Quaternary Amines Filter by Structure
Integrated Chemistry • Data access • Chemical Indexing and searching • Integrated Chemical Intelligence • Web-based Query and Reporting Marvin Reactor JChem
Other Edge plugins • Fitting and charting
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
Acknowledgements • Chemaxon Software Collaboration • Teranode Software Collaboration • European Agent • The Edge Software Consultancy • Robert Shell More information? http://www.edgesoftwareconsultancy.com/ andrew@edgesoftwareconsultancy.com