The Groovy Console
Groovy (www.groovy-lang.org) is an "agile and dynamic language for the Java platform". The groovy scripting language makes it extremely easy to programmatically interact with Java programs, in much the same way that Javascript is used to generate and interact with applets and other objects on the page.
Getting Groovy...
Jalview comes with an embedded
installation of Groovy. Just select Tools→Groovy
Console... from the Jalview Desktop's drop-down menu. After a
short pause, you should then see the Groovy
Console appear. This allows you to interactively execute Groovy
scripts whilst Jalview is running. We've also provided a Calculations→Run
Groovy Console Script button so you can execute the currently loaded
groovy script whilst viewing an alignment.
Executing groovy scripts on Jalview startup
The --groovy <script> option on the
Jalview command line will execute the contents of <script>.
<script> may be a file, a URL, or alternatively if it is
"STDIN" then the standard input will be used.
Note:
The groovy script will be executed after any data
is loaded, and before images or any output files
are written. This allows you to perform customised Jalview
analysis workflows with groovy.
Access to Jalview's functions from Groovy Scripts
The scripting interface to Jalview is still a work in progress, so
we recommend you also take a look at Jalview's source, since all the
public methods of the jalview class hierarchy can be called from
Groovy scripts. In addition, the following objects are also defined:
jalview.bin.groovy.JalviewObject
providing access to the following useful
methods:
Jalview.getCurrentAlignFrame()
will return the new AlignFrame
.currentAlFrame
us updated to that alignment.
If you specify a --groovy
argument before an --open
argument
then you should ensure your script doesn't refer to currentAlFrame
.
A simple script
def al = Jalview.getCurrentAlignFrame(); print al.getTitle(); def alignment = al.viewport.alignment; def seq = alignment.getSequenceAt(0);
print currentAlFrame.getTitle();
Example scripts
If you have downloaded the
InstallAnywhere version of Jalview, you can find additional groovy
scripts in the examples/groovy subfolder of the installation
directory. The examples are also available at https://www.jalview.org/examples/groovy.
Using Groovy to add new Alignment Calculations
We've
simplified the alignment analysis programming interface in Jalview
2.10 to make it easy for you to add your own dynamic annotation
tracks with Groovy. Have a look at the featuresCounter.groovy
example for more information.
Creating custom colourschemes
You can create your own alignment colourschemes with a groovy script. We've provided two examples: