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

Using standards to gain interoperability: Bioclipse-OpenTox scripting

on

  • 1,869 views

 

Statistics

Views

Total Views
1,869
Views on SlideShare
1,470
Embed Views
399

Actions

Likes
0
Downloads
7
Comments
0

15 Embeds 399

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.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.de 5
http://chem-bla-ics.blogspot.mx 4
http://chem-bla-ics.blogspot.co.uk 2
http://chem-bla-ics.blogspot.com.au 2
http://chem-bla-ics.blogspot.fr 2
http://chem-bla-ics.blogspot.it 1
http://chem-bla-ics.blogspot.co.nz 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Using standards to gain interoperability: Bioclipse-OpenTox scripting Using standards to gain interoperability: Bioclipse-OpenTox scripting Presentation Transcript

  • Using standards to gain interoperability:Bioclipse-OpenTox scriptingEgon Willighagenhttp://egonw.github.com/http://chem-bla-ics.blogspot.com/IMMKarolinska Institutet, Stockholm
  • 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
  • JavaScript Console 3
  • TAB TABDiscover manager in the JavaScript console with:1) TAB TAB (auto-completion)2) man 4
  • 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
  • man <manager>Discover what functionality a manager has 6
  • Ctrl-N → JavaScript editorCtrl-N → JavaScript Wizard → Editor → Save As … 7
  • Running JavaScripts in the EditorJavaScript Editor → Run → Action 8
  • 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
  • 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
  • OpenTox: download-ed data sets 11
  • 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
  • OpenTox: searching data setsvar ontologyService = "http://apps.ideaconsult.net:8080/ontology/";js.clear();sets = opentox.searchDataSets(ontologyService, "EPA");js.say(sets); 13
  • 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
  • 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
  • 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
  • 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
  • OpenTox: running modelsmodels = opentox.listModels(ontologyService);model = models.get(3); // third modeljs.say( opentox.predictWithModel( service, model, molecules )); 18
  • Ontology development needed... … just saying ... 19
  • More OpenTox: man opentoxOr type: “opentox.” and hit TAB TAB ... 20
  • 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
  • Where to get more scripts ... 22
  • 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