Bioclipse-Opentox: Interactive Predictive Toxicology
Total Page:16
File Type:pdf, Size:1020Kb
Bioclipse-OpenTox: Interactive Predictive Toxicology Egon Willighagen, @egonwillighagen Dept. of Bioinformatics - BiGCaT - Maastricht University orcid.org/0000-0001-7542-0286 DepartmentACS New of Bioinformatics Orleans, -9 BiGCaT April 2013, #ACSNola #DrugDisco 1 March 11 2013 Department of Bioinformatics - BiGCaT 2 SEURAT-1 “...replacing animal testing” Department of Bioinformatics - BiGCaT 3 OpenTox / ToxBank Department of Bioinformatics - BiGCaT 4 ToxBank Kohonen, P. et al. MolInf 2013 32(1):47-63. Department of Bioinformatics - BiGCaT 5 Alternative methods … Department of Bioinformatics - BiGCaT 6 Alternative methods … … computational. Department of Bioinformatics - BiGCaT 7 Alternative methods … … computational. “But they don't work, right?” Department of Bioinformatics - BiGCaT 8 How to integrate complementary info? • Experimental • Computational – Cell line – “COMP” stuff – Rat models – “CINF” stuff – Environmetal data – Systems biology – ... Needs: integrate, visualize, analyze. Department of Bioinformatics - BiGCaT 9 Integration platform: Bioclipse Spjuth, O et al. BMC bioinformatics 2007 8(1):59. Department of Bioinformatics - BiGCaT 10 Hanson, RM. Appl Cryst 2010 43(5):1250-1260. Department of Bioinformatics - BiGCaT 11 Why Bioclipse? • Open Source eco-system – Jmol, CDK, OPSIN, ... O’Boyle, NM et al. JChemInf 2011 3(1):1-15. Department of Bioinformatics - BiGCaT 12 Many extensions... Core bioclipse: latex, ui, bioclipse, xml, js, balloon, cdk, rdf, inchi, cml, moltable, jcp, jcpprops Additional libraries: bridgedb, metfrag, metware, joelib, oscar, opsin, r, pellet, specmol, spectrum, bibtex, owl, ds, qsar, ambit, structuredb Online services: cir, opentox, google, gist, myexperiment, sadi, pubchem, pubmed, nmrshiftdb, twitter … and more. Department of Bioinformatics - BiGCaT 13 Decision Support (Ola Spjuth) Spjuth, O. et al. JCIM 2011 51(8):1840-1847. Department of Bioinformatics - BiGCaT 14 OpenTox Hardy, B. et al. JChemInf 2010 2(1):1-29. Jeliazkova, N et al. JChemInf 2011 3:18. Department of Bioinformatics - BiGCaT 15 Thus: Bioclipse-OpenTox Willighagen, EL et al. BMC Res Notes 2011 4(1):487. Department of Bioinformatics - BiGCaT 16 Application #1: decision support Department of Bioinformatics - BiGCaT 17 Application #2: descriptor calculation Department of Bioinformatics - BiGCaT 18 Application #3: scripting Department of Bioinformatics - BiGCaT 19 Managers: the vital organs of Bioclipse Some theory ● Make sure that things happen ● They provide all domain-related functionality ● All Bioclipse GUI is using managers in the background ● Takes care of threading (background processes) ● They are plugged into the system ● Bioclipse dynamically discovers managers when booted ● Extend the JavaScript Console (also Groovy) Spjuth, O., Alvarsson, J., Berg, A., Eklund, M., Kuhn, S., Mäsak, C., Torrance, G., Wagener, J., Willighagen, E. L., Steinbeck, C., Wikberg, J. E., Dec. 2009. Bioclipse 2: A scriptable integration platform for the life sciences. BMC Bioinformatics 10 (1), 397+. Department of Bioinformatics - BiGCaT 20 Managers can be combined ... var alkanesIUPACNames = ["methane", "ethane", "propane", "butane"]; var alkanes = cdk.createMoleculeList() for (var i=0; i<alkanesIUPACNames.length; i++) { js.say("Adding: " + alkanesIUPACNames[i]); alkanes.add( opsin.parseIUPACName(alkanesIUPACNames[i]) ); } var filename = "/OpenTox/alkanes.sdf"; cdk.saveSDFile(filename, alkanes); ui.open(filename); Department of Bioinformatics - BiGCaT 21 OpenTox: downloading data sets var service = "http://apps.ideaconsult.net:8080/ambit2/"; var datasets = opentox.listDataSets(service); for (set=0; set<5; set++) { var dataset = datasets.get(set); js.say("Downloading set: " + dataset); ui.open( opentox.downloadDataSetAsMDLSDfile( service, dataset, "/OpenTox/ambit/" + set + ".sdf" ) ) } Department of Bioinformatics - BiGCaT 22 OpenTox: authentication opentox.getToken(); // return a null // log in on the OpenTox network opentox.login("user", "password") opentox.getToken(); // returns the active token // log out again opentox.logout() opentox.getToken(); // return again Department of Bioinformatics - BiGCaT 23 OpenTox: XLogP calculation molecules = cdk.createMoleculeList(); molecules.add(cdk.fromSMILES("COC")); molecules.add(cdk.fromSMILES("CNC")); js.say(opentox.calculateDescriptor(service, descriptor, molecules)); js.say(opentox.calculateDescriptor( service, descriptor, cdk.fromSMILES("CCC") )); Department of Bioinformatics - BiGCaT 24 OpenTox: running models models = opentox.listModels(ontologyService); model = models.get(3); // third model js.say( opentox.predictWithModel( service, model, molecules ) ); Department of Bioinformatics - BiGCaT 25 Conclusions & Outlook • Interactive • Ontologies Toxicity – Detail exchange Prediction • Virtual Machine – Local and – Inside firewall OpenTox services – Scriptable – Mixable – Extensible Department of Bioinformatics - BiGCaT 26 Acknowledgements • Uppsala University • http://bioclipse.net – Ola Spjuth • Karolinska Institutet – Roland Grafström • IdeaConsult Ltd. Mentioned EU projects – Nina Jeliazkova • http://opentox.org • DouglasConnect • http://toxbank.net – Barry Hardy • http://dixa-fp7.eu – Roman Affentranger Department of Bioinformatics - BiGCaT 27.