Post on 26-Jan-2015
description
transcript
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...