Bioclipse-OpenTox: Interactive Predictive Toxicology

Egon Willighagen, @egonwillighagen

Dept. of - 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 – , 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, , oscar, opsin, , 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

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