-<html>\r
-<!--\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)\r
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- * \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE. See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
--->\r
+<html>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ -->
+<head>
+<title>Groovy Shell</title>
+</head>
+<body>
+ <p>
+ <strong>The Groovy Shell</strong>
+ </p>
+ <p>
+ <a href="http://groovy.codehaus.org/">Groovy</a> is an "<em>agile
+ and dynamic language for the Java platform</em>". 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.
+ </p>
+ <p>
+ <strong><em>Getting Groovy...</em>
+ </strong><br> Jalview Groovy support is only possible if the core groovy
+ jars which include the GroovyShell are present on the CLASSPATH when
+ Jalview is started.
+ </p>
+ <p>
+ The jars are obtained from the <em>embedded</em> directory within the
+ <a href="http://dist.codehaus.org/groovy/distributions">groovy
+ distribution</a>. The easiest way of adding them to the Jalview classpath
+ is to download and build jalview from its source distribution, and
+ then add the groovy-all-*.jar to the lib directory whose path is given
+ in the java.ext.dirs property.
+ </p>
+ <p>
+ <strong>Opening Jalview's Groovy Console</strong><br>If groovy is
+ available, then the <strong>Tools→Groovy Console...</strong>
+ menu entry will be available from the Jalview Desktop's drop-down
+ menu. Selecting this will open the <a
+ href="http://groovy.codehaus.org/Groovy+Console">Groovy Console</a>
+ which allows you to interactively execute Groovy scripts within the
+ Jalview run-time environment.
+ </p>
+ <p>
+ <strong>Executing groovy scripts on Jalview startup</strong><br>
+ The -groovy <script> option on the <a href="commandline.html" />
+ Jalview command line</a> 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.<br>
+ <em>Note: The groovy script will be executed <strong>after</strong>
+ any data is loaded, and <strong>before</strong> images or any output
+ files are written. This allows you to perform customised jalview
+ analysis workflows with groovy.</em>
+ </p>
+ <p>
+ <strong>Access to Jalview's functions from Groovy Scripts</strong><br>
+ There is as yet no properly defined scripting interface to Jalview,
+ but all the public methods of the jalview class hierarchy can be
+ called from Groovy scripts. The access point for this is the <strong>Jalview</strong>
+ object defined in the groovy environent which corresponds to the
+ <pre>jalview.gui.Desktop</pre>
+ object which manages all the Jalview windows.
+ </p>
+ Here's an example to get you started:
+ <br>
+ <ul>
+ <li>Getting the title, alignment and first sequence from the
+ current alignFrame<br> <pre>
+def alf = Jalview.getAlignframes();
+print alf[0].getTitle();
+def alignment = alf[0].viewport.alignment;
+def seq = alignment.getSequenceAt(0);
+</pre></li>
+<li>When running a groovy script from the command line, the alignment that was just loaded can be referred to like so:<br><pre>
+print currentAlFrame.getTitle();</pre>
+ </ul>
+ </p>
+
+ <p> </p>
+</body>
+</html>