Geertjan's Blog

  • January 8, 2012

Pluggable Data Providers for Jmol

Geertjan Wielenga
Product Manager

Wouldn't it be cool if you could plug new windows into Jmol, each providing access to a different database, or any other kind of data source, from which the provider would create its own Jmol script? One data source could provide a list of proteins, another a list of generic molecules, and yet another some other kind of subset of data relevant to Jmol. Then, the display window would detect when a new item in a data provider has been selected, which would result in the publication of a new script provided by the data provider for the selected item. Receiving notification of the published script, the display window (with its backing code for processing scripts) would process the script and render it. 

The above concept is now part of the Jmol/NetBeans application that I'm working on. Below, you see two data providers, one is the Protein Data Bank (rcsb.org) and the other is from a list of modules extracted from reciprocal.net. (You can also see that the Jmol output is shown in the Output Window of the new Jmol application below.) 

I have put the sources here, but you cannot access it, yet, at the time of writing, because the project has not been approved and published yet by java.net:


Once the site is approved, you can create your own data providers, which need to somehow provide a Jmol script, at which point the selected item will be rendered in the display area in the main part of the application.

Join the discussion

Comments ( 1 )
  • Joris Snellenburg Tuesday, January 10, 2012

    It might be worth noting that the project is now public. It would be great if people joined. One of the things that anyone could do is create a new module with a new data provider! I.e., a TopComponent, ChildFactory, and Node -- the ChildFactory needs to somehow get hold of some data, e.g., a web service or parse an HTML page. Then look at the Node (and http://blogs.oracle.com/geertjan/entry/jmol_gets_a_window_system) about how to publish the script.

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.