Bioclipse-OpenTox demo

Preview:

DESCRIPTION

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

Citation preview

Department of Bioinformatics - BiGCaT 1

Using standards to gaininteroperability:Bioclipse-OpenTox scripting

Egon WillighagenBiGCaT - Maastricht University

17 May 2012

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

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.

Department of Bioinformatics - BiGCaT 4

JavaScript Console

Department of Bioinformatics - BiGCaT 5

TAB TAB• Discover manager in the JavaScript

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

Department of Bioinformatics - BiGCaT 6

man <manager>• Discover what functionality a

manager has

Department of Bioinformatics - BiGCaT 7

Ctrl-N JavaScript editor→

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

Department of Bioinformatics - BiGCaT 8

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

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

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

Department of Bioinformatics - BiGCaT 11

OpenTox: download-ed data sets

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

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

));

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

)

);

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)

Department of Bioinformatics - BiGCaT 16

Where to get more scripts ...

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/

Department of Bioinformatics - BiGCaT 18

OpenTox: public, private, local!

• AMBIT2 (IdeaConsult Ltd., Nina)

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

• localhost:8080

• ambitserver

Department of Bioinformatics - BiGCaT 19

Delivering Bioclipse plugins...

Recommended