Pluggable Data Providers for Jmol

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 ( and the other is from a list of modules extracted from (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

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.


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 about how to publish the script.

Posted by Joris Snellenburg on January 10, 2012 at 07:01 AM PST #

Post a Comment:
  • HTML Syntax: NOT allowed

Geertjan Wielenga (@geertjanw) is a Principal Product Manager in the Oracle Developer Tools group living & working in Amsterdam. He is a Java technology enthusiast, evangelist, trainer, speaker, and writer. He blogs here daily.

The focus of this blog is mostly on NetBeans (a development tool primarily for Java programmers), with an occasional reference to NetBeans, and sometimes diverging to topics relating to NetBeans. And then there are days when NetBeans is mentioned, just for a change.


« June 2016