update author list in license for (JAL-826)
[jalview.git] / help / html / features / groovy.html
index 66edaf9..f630639 100644 (file)
@@ -1,7 +1,7 @@
 <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
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)\r
+ * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle\r
  * \r
  * This file is part of Jalview.\r
  * \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
+<head>\r
+<title>Groovy Shell</title>\r
+</head>\r
+<body>\r
+       <p>\r
+               <strong>The Groovy Shell</strong>\r
+       </p>\r
+       <p>\r
+               <a href="http://groovy.codehaus.org/">Groovy</a> is an &quot;<em>agile\r
+                       and dynamic language for the Java platform</em>&quot;. The groovy\r
+               scripting language makes it extremely easy to programmatically\r
+               interact with Java programs, in much the same way that Javascript is\r
+               used to generate and interact with applets and other objects on the\r
+               page.\r
+       </p>\r
+       <p>\r
+               <strong><em>Getting Groovy...</em>\r
+               </strong><br> Jalview Groovy support is only possible if the core groovy\r
+               jars which include the GroovyShell are present on the CLASSPATH when\r
+               Jalview is started.\r
+       </p>\r
+       <p>\r
+               The jars are obtained from the <em>embedded</em> directory within the\r
+               <a href="http://dist.codehaus.org/groovy/distributions">groovy\r
+                       distribution</a>. The easiest way of adding them to the Jalview classpath\r
+               is to download and build jalview from it's source distribution, and\r
+               then add the groovy-all-*.jar to the lib directory whose path is given\r
+               in the java.ext.dirs property.\r
+       </p>\r
+       <p>\r
+               <strong>Opening Jalview's Groovy Console</strong><br>If groovy is\r
+               available, then the <strong>Tools&#8594;Groovy Console...</strong>\r
+               menu entry will be available from the Jalview Desktop's drop-down\r
+               menu. Selecting this will open the <a\r
+                       href="http://groovy.codehaus.org/Groovy+Console">Groovy Console</a>\r
+               which allows you to interactively execute Groovy scripts within the\r
+               Jalview run-time environment.\r
+       </p>\r
+       <p>\r
+               <strong>Executing groovy scripts on Jalview startup</strong><br>\r
+               The -groovy &lt;script&gt; option on the <a href="commandline.html" />\r
+               Jalview command line</a> will execute the contents of &lt;script&gt;.\r
+               &lt;script&gt; may be a file, a URL, or alternatively if it is\r
+               &quot;STDIN&quot; then the standard input will be used.<br>\r
+               <em>Note: The groovy script will be executed <strong>after</strong>\r
+                       any data is loaded, and <strong>before</strong> images or any output\r
+                       files are written. This allows you to perform customised jalview\r
+                       analysis workflows with groovy.</em>\r
+       </p>\r
+       <p>\r
+               <strong>Access to Jalview's functions from Groovy Scripts</strong><br>\r
+               There is as yet no properly defined scripting interface to Jalview,\r
+               but all the public methods of the jalview class hierarchy can be\r
+               called from Groovy scripts. The access point for this is the <strong>Jalview</strong>\r
+               object defined in the groovy environent which corresponds to the\r
+       <pre>jalview.gui.Desktop</pre>\r
+       object which manages all the Jalview windows.\r
+       </p>\r
+       Here's an example to get you started:\r
+       <br>\r
+       <ul>\r
+               <li>Getting the title, alignment and first sequence from the\r
+                       current alignFrame<br> <pre>\r
+def alf = Jalview.getAlignframes();\r
+print alf[0].getTitle();\r
+def alignment = alf[0].viewport.alignment;\r
+def seq = alignment.getSequenceAt(0);\r
+</pre></li>\r
+<li>When running a groovy script from the command line, the alignment that was just loaded can be referred to like so:<br><pre>\r
+print currentAlFrame.getTitle();</pre>\r
+       </ul>\r
+       </p>\r
+\r
+       <p>&nbsp;</p>\r
+</body>\r
+</html>\r