19
Department of Bioinformatics - BiGCaT 1 Using standards to gain interoperability: Bioclipse-OpenTox scripting Egon Willighagen BiGCaT - Maastricht University 17 May 2012

Bioclipse-OpenTox demo

Embed Size (px)

DESCRIPTION

Last week I demoed Bioclipse-OpenTox, and the scripting in Bioclipse in particular, and the semantic web foundations of Bioclipse-OpenTox.

Citation preview

Page 1: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 1

Using standards to gaininteroperability:Bioclipse-OpenTox scripting

Egon WillighagenBiGCaT - Maastricht University

17 May 2012

Page 2: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 2

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+.

Page 3: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 3

Many managers...

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.

Page 4: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 4

JavaScript Console

Page 5: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 5

TAB TAB• Discover manager in the JavaScript

console with:1) TAB TAB (auto-completion)2) man

Page 6: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 6

man <manager>• Discover what functionality a

manager has

Page 7: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 7

Ctrl-N JavaScript editor→

• Ctrl-N JavaScript Wizard Editor → → Save As …→

Page 8: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 8

Running JavaScripts in the Editor• JavaScript Editor Run Action→ →

Page 9: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 9

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);

Page 10: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 10

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" ) )}

Page 11: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 11

OpenTox: download-ed data sets

Page 12: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 12

OpenTox: authentication

opentox.getToken(); // return a null

// log in on the OpenTox networkopentox.login("user", "password")

opentox.getToken(); // returns the active token

// log out againopentox.logout()

opentox.getToken(); // return again

Page 13: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 13

OpenTox: XLogP calculationmolecules = 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")

));

Page 14: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 14

OpenTox: running models

models = opentox.listModels(ontologyService);

model = models.get(3); // third model

js.say(

opentox.predictWithModel(

service,

model,

molecules

)

);

Page 15: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 15

Under the hood...

Internally, the opentox manager uses RDF and SPARQL for a lot of communication with the OpenTox network.

For this, it uses the rdf manager. For example, directly to the ontology server:1. rdf.sparqlRemote(String url, String SPARQL)

Or to a REST service:1. rdf.createInMemoryStore()2. rdf.importFromStream(IRDFStore store, InputStream stream, String format)3. rdf.sparql(IRDFStore store, String query)

Page 16: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 16

Where to get more scripts ...

Page 17: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 17

Future ...

• Continued development

• Computation without downloading data (pass by reference)

• More ontology development for further standardization

Pointers● Bug tracker: http://bugs.bioclipse.net/● Feature requests: http://wishes.bioclipse.net/

Page 18: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 18

OpenTox: public, private, local!

• AMBIT2 (IdeaConsult Ltd., Nina)

http://apps.ideaconsult.net:8080/ambit2/

• localhost:8080

• ambitserver

Page 19: Bioclipse-OpenTox demo

Department of Bioinformatics - BiGCaT 19

Delivering Bioclipse plugins...