Using standards to gain interoperability: Bioclipse-OpenTox scripting
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Using standards to gain interoperability: Bioclipse-OpenTox scripting

  • 1,923 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,923
On Slideshare
1,519
From Embeds
404
Number of Embeds
15

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 404

http://chem-bla-ics.blogspot.com 191
http://pele.farmbio.uu.se 142
http://chem-bla-ics.blogspot.nl 14
http://planetrdf.com 12
http://chem-bla-ics.blogspot.de 10
http://chem-bla-ics.blogspot.in 7
http://chem-bla-ics.blogspot.se 6
http://chem-bla-ics.blogspot.jp 5
http://chem-bla-ics.blogspot.ca 5
http://chem-bla-ics.blogspot.mx 4
http://chem-bla-ics.blogspot.fr 2
http://chem-bla-ics.blogspot.co.uk 2
http://chem-bla-ics.blogspot.com.au 2
http://chem-bla-ics.blogspot.it 1
http://chem-bla-ics.blogspot.co.nz 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Using standards to gain interoperability:Bioclipse-OpenTox scriptingEgon Willighagenhttp://egonw.github.com/http://chem-bla-ics.blogspot.com/IMMKarolinska Institutet, Stockholm
  • 2. Managers: the vital organs of BioclipseSome 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 ConsoleSpjuth, 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+. 2
  • 3. JavaScript Console 3
  • 4. TAB TABDiscover manager in the JavaScript console with:1) TAB TAB (auto-completion)2) man 4
  • 5. Many Managers Cheminformatics Online 1. cdk 1. chemspider 2. opsin 2. pubchem 3. jmol 3. gist 4. balloon 4. opentox General 1. bioclipse 2. ui 3. rdfMany more can be installed via update sites... 5
  • 6. man <manager>Discover what functionality a manager has 6
  • 7. Ctrl-N → JavaScript editorCtrl-N → JavaScript Wizard → Editor → Save As … 7
  • 8. Running JavaScripts in the EditorJavaScript Editor → Run → Action 8
  • 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); 9
  • 10. OpenTox: downloading data setsvar 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" ) )} 10
  • 11. OpenTox: download-ed data sets 11
  • 12. OpenTox: authentication(if needed)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 12
  • 13. OpenTox: searching data setsvar ontologyService = "http://apps.ideaconsult.net:8080/ontology/";js.clear();sets = opentox.searchDataSets(ontologyService, "EPA");js.say(sets); 13
  • 14. OpenTox: finding descriptorsserviceSPARQL = "http://apps.ideaconsult.net:8080/ontology/";stringMat = opentox.listDescriptors(serviceSPARQL);stringMat.getColumn("algo"); // returns the descriptor servicesstringMat.getColumn("desc"); // returns the descriptor ontology entriesjs.say(stringMat); 14
  • 15. 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"))); 15
  • 16. OpenTox: searching descriptors(next release; a 5 min hack)var ontologyService = "http://apps.ideaconsult.net:8080/ontology/";js.clear();descriptors = opentox.searchDescriptors( ontologyService, "LogP");js.say(descriptors); 16
  • 17. OpenTox: searching models(next release; another 5 min hack)var ontologyService = "http://apps.ideaconsult.net:8080/ontology/";js.clear();descriptors = opentox.searchModels( ontologyService, "ToxTree");js.say(descriptors); 17
  • 18. OpenTox: running modelsmodels = opentox.listModels(ontologyService);model = models.get(3); // third modeljs.say( opentox.predictWithModel( service, model, molecules )); 18
  • 19. Ontology development needed... … just saying ... 19
  • 20. More OpenTox: man opentoxOr type: “opentox.” and hit TAB TAB ... 20
  • 21. Under the hood...Some more theory...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) 21
  • 22. Where to get more scripts ... 22
  • 23. Future ...● Continued development● Computation without downloading data (pass by reference)● More ontology development for further standardizationPointers● Bug tracker: http://bugs.bioclipse.net/● Feature requests: http://wishes.bioclipse.net/ 23