Adding Groovy Support to Jalview

There is currently no scripting language extension within Jalview, in part because a scripting API has not been developed.

It is, however, really easy to embed scripting engines within Jalview. We haven't done it with the Bean Scripting Framework, but the code snippets below show you how to get going with groovy.

Modifications

For each class below, add the following objects and methods to their definitions.

Finally, compile and run with the groovy-all-*.jar (get the jar from the embedded directory within the groovy distribution). Then, you should be able to open the Groovy shell window from the Desktop's Tools menu. To check things are working, try a simple test script :

  
  print Jalview.getAlignframes()[0].getTitle();
Executing this will print the title of the first alignment loaded into Jalview.

TODO

Using Java class methods from Groovy is straightforward, but currently, there isn't a set of easy to use methods for the jalview objects. A Jalview Scripting API needs to be developed to make this easier.

Making it easier

jalview.bin.JalviewScript could be a top level jalview instance of a script execution thread, creating and maintaining the context for scripts operating on the jalview datamodel and interfacing with the Jalview GUI.