-<p><strong><a name="obtainexec" id="obtainexec"></a>Obtain alignment program for your operation system elsewhere </strong></p>\r
-<p>You could search for pre-packaged compiled executable in your system package repository or try downloading compiled version from alignment program's home page. Then, executables supplied with the system can be replaced with downloaded or new path to the executable can be defined in <span class="hightlight">executable.properties</span> as described above.</p>\r
-<h4>Default JABA Web Services Configuration</h4>\r
-<p>By default JABAWS configured with local engine enabled and an output directory called "jobsout" within web application itself. This will give you a working copy of JABAWS straight after the deployment. You may be interested to know what is the the <a href="#warfile">war file</a>.</p>\r
-<h4>JABAWS Configuration Details </h4>\r
-There are three part of the system you can configure. The local and cluster engines and individual executables. \r
-<h4>Local Engine Configuration</h4>\r
-<p>\r
-Local engine configuration is achieved by changing settings in the properties file conf/Engine.local.properties.\r
-Supported configuration settings are: \r
-<br/>\r
-<span class="hightlight">engine.local.enable=true</span> - # enable or disable local engine, valid values true | false\r
-<br/>\r
-<span class="hightlight">local.tmp.directory=D:\\clusterengine\\testoutput </span>- a directory to use for temporary files storage, optional, defaults to java temporary directory \r
-<br/>\r
-<span class="hightlight">engine.local.thread.number=4</span> - Number of threads for tasks execution (valid values between 1 and 2x cpu. Where x is a number of cores available in the system). Optional defaults to the number of cores for core number <=4 and number of cores-1 for greater core numbers.</p>\r
-<p>If you are planning to use local engine (which you have to if you do not have a cluster) it is a good idea to increase the amount of memory available for the web application server. Apache-Tomcat will be happy to take its memory settings from JAVA_OPTS environmental variable. We would recommend using Sun Java Virtual Machine (JVM) in preference to Open JDK. To specify which JVM to use for Apache-Tomcat just define a JAVA_HOME environmental variable. Below is an example of code which can be added to <span class="hightlight"><tomcat_dir>/bin/setenv.sh</span> script to define which JVM to use and a memory settings for Tomcat server. Tomcat server startup script (<span class="hightlight">catalina.sh</span>) will execute <span class="hightlight">setenv.sh</span> on each server start automatically. <br />\r
- <span class="code">export JAVA_HOME=/homes/ws-dev2/jdk1.6.0_17/<br />\r
- export JAVA_OPTS="-server -Xincgc -Xms512m -Xmx1024m"</span></p>\r
-<h4>Cluster Engine Configuration</h4>\r
-<p>Supported configuration settings: <br/>\r
-<span class="hightlight">engine.cluster.enable=true</span> - # enable or disable local engine true | false, defaults to false\r
-<br/>\r
-<span class="hightlight">cluster.tmp.directory=/homes/clustengine/testoutput- </span>a directory to use for temporary files storage. The value must be an absolute path to the temporary directory. Required. The value must be different from what is defined for local engine. This directory must be accessible from all cluster nodes. <br />\r
-For the cluster engine to work SGE_ROOT and LD_LIBRARY_PATH environmental variable have to be defined. They tell the cluster engine where to find DRMAA libraries. These environmental variables should be defined on the web application server e.g. </p>\r
-<p><span class="code">SGE_ROOT=/gridware/sge<br />\r
- LD_LIBRARY_PATH=/gridware/sge/lib/lx24-amd64</span></p>\r
-<p>Finally, do not forget to configure executables for the cluster execution, they may be the same as for the local execution but may be different. Please refer to the executable configuration section for further details. </p>\r
-<h4><a name="exec" id="exec"></a>Executable Configuration</h4>\r
-<p>All executables, the binary multiple sequence alignment programs are configured in conf/Executable.properties file. Each executable configured with a number of options they are: \r
-<span class="code">\r
- local.X.bin.windows=<path to executable under windows system, optional>\r
- <br/>local.X.bin=<path to the executable under non-windows system, optional>\r
- <br/>cluster.X.bin=<path to the executable on the cluster, all cluster nodes must see it, optional>\r
- <br/>X.bin.env=<semicolon separated list of environmental variables for executable, use hash symbol as name value separator, optional>\r
- <br/>X.--aamatrix.path=<path to the directory containing substitution matrices, optional>\r
- <br/>X.presets.file=<path to the preset configuration file, optional >\r
- <br/>X.parameters.file=<path to the parameters configuration file, optional> \r
- <br/>X.limits.file=<path to the limits configuration file, optional>\r
- <br/>X.cluster.settings=<list of the cluster specific options, optional></span></p>\r
-<p>\r
- Where X is a short executable wrapper class name. </p>\r
-<p>Default JABAWS configuration includes path to local executables to be run by the local engine only, all cluster related settings are commened out, but they are there for you as example. Cluster engine is disabled by default. To configure executable for cluster execution uncomment the X.cluster settings and change them appropriately.<br/>\r
- For example a complete Mafft configuration may look like this:<span class="code" > local.mafft.bin.windows=\r
- <br/>\r
- local.mafft.bin=binaries/mafft\r
- <br/>cluster.mafft.bin=/homes/cengine/mafft\r
- <br/>mafft.bin.env=MAFFT_BINARIES#/homes/cengine/mafft;FASTA_4_MAFFT#/bin/fasta34;\r
- <br/>mafft.--aamatrix.path=binaries/matrices\r
- <br/>mafft.presets.file=conf/settings/MafftPresets.xml\r
- <br/>mafft.parameters.file=conf/settings/MafftParameters.xml\r
- <br/>mafft.limits.file=conf/settings/MafftLimits.xml\r
- <br/>mafft.cluster.settings=-q bigmem.q -l h_cpu=24:00:00 -l h_vmem=6000M -l ram=6000M</span>\r
-<p>Please not that relative paths must only be specified for the files that reside inside web application directory, all other paths must be supplied as absolute! </p>\r
-<p>Unfortunately, it is unsafe to modify environmental variable values, thus you need to specify the absolute path to anything defined as environment variable. </p>\r
-<p>If you are using JABAWS to submit jobs to the cluster (with cluster engine enabled), executables must be available from all cluster nodes the task can be sent to, also paths to the executables on the cluster e.g. <span class="hightlight">cluster.<exec_name>.bin</span> must be absolute. </p>\r
-<p>Executables can be located anywhere in your system, they do not have to reside on the server as long as the web application server can access and execute them. </p>\r
-<p>Cluster settings are treated as a black box, the system will just pass whatever is specified in this line directly to the cluster submission library. This is how DRMAA itself treats this settings. More exactly DRMAA JobTemplate.setNativeSpecification() function will be called. </p>\r
-<h5><a name="setexecenv"/>Defining Environmental Variables for Executable</h5>\r
-<p>Environmental variables can be defined in property <span class="code">x.bin.env</span> Where <span class="hightlight">x</span> is one of five executables supported by JABAWS. Several environmental variables can be specified in the same line. For example. <br />\r
- <span class="code" >mafft.bin.env=MAFFT_BINARIES#/homes/cengine/mafft;FASTA_4_MAFFT#/bin/fasta34;</span></p>\r
-<p>The example above define two environmental variables with names MAFFT-BINARIES and FASTA_4_MAFFT and values /homes/cengine/mafft and /bin/fasta34 respectively. Semicolon is used as a separator between different environment variables whereas hash is used as a separator for name and value of the variable. </p>\r
-<h4><a name="mafftconf" id="mafftconf"></a>Configure JABAWS to Work with Mafft </h4>\r
-<p>If you use default configuration you do not need to read any further. The default configuration will work for you without any changes, however, if you want to install Mafft yourself then there is a couple of more steps to do. </p>\r
-<p>Mafft executable needs to know the location of other files supplied with Mafft. In addition some Mafft functions depends on the fasta executable, which is not supplied with Mafft, but is a separate package. Mafft needs to know the location of fasta34 executable. </p>\r
-<p>To let Mafft know where the other files from its package are change the value of MAFFT-BINARIES environmental variable. To let Mafft know where is the fasta34 executable set the value of FASTA_4_MAFFT environment variable to point to a location of fasta34 program. The latter can be added to the PATH variable instead. If you are using executables supplied with JABAWS, the path to Mafft binaries would be like <span class="hightlight"><relative path to web application directory>/binaries/src/mafft/binaries</span> and the path to fasta34 binary would be <span class="hightlight"><relative path to web application directory>/binaries/src/fasta34/fasta34</span>. You can specify the location of Mafft binaries as well as fasta34 program elsewhere by providing an absolute path to them. All these settings are defined in <span class="hightlight">conf/Executable.properties</span> file.</p>\r
-<h4>Testing JABA Web Services</h4>\r
-<p>You can use a command line client (part of the client only package) to test you JABAWS installation as described <a href="howto.html#usingcclient">here</a>. If you downloaded a JABAWS server package, you can use <span class="hightlight"><your_jaba_context_name>/WEB-INF/lib/jaba-client.jar</span> to test JABAWS installation as described in <a href="howto.html#usingWsTester">how-to</a>. If you downloaded the source code, then you could run a number of test suits defined in the build.xml ant build file. </p>\r
-\r
-<h4><a name="logfiles" id="logfiles"></a>JABAWS Log Files </h4>\r
-<p>JABAWS can be configured to log what it is doing. This comes handy if you would like to see who is using your web services or need to chase some problems. JABAWS uses <a href="http://logging.apache.org/log4j/1.2/">log4j</a> to do the logging, the example of log4j configuration is bundled with JABAWS war file. You will find it in the <span class="hightlight">/WEB-INF/classes/log4j.properties</span> file. All the lines in this file are commented out. The reason why the logging is disabled by default it simple, log4j have to know the exact location where the log files should be stored. This is not known up until the deployment time. To enable the logging you need to define <span class="hightlight">logDir </span>property in the <span class="hightlight">log4j.properties</span> and uncomment section of the file which corresponds to your need. More information is given in the <span class="hightlight">log4j.properties</span> file itself. Restart the tomcat or the JABAWS web application to apply the settings. </p>\r
-<p>After you have done this, assuming that you did not change the log4j.properties file yourself, you should see the application log file called <span class="hightlight">activity.log</span>. The amount of information logged can be adjusted using different logging levels, it is reduced in the following order of log levels TRACE, DEBUG, INFO, WARN, ERROR, FATAL. </p>\r
-<p>If you would like to know who is using your services, you might want to <a href="howto.html#logs">enable tomcat access logging</a>. </p>\r
-<h4><a name="warfile" id="warfile"></a>JABAWS War File Content </h4>\r
-<table width="100%" >\r
- <tr>\r
- <th width="19%">Directory</th>\r
- <th width="81%">Content description </th>\r
- </tr>\r
- <tr>\r
- <td>conf/</td>\r
- <td> contains configuration files such as Executable.properties, Engine.local.properties, Engine.cluster.properties</td>\r
- </tr>\r
- <tr>\r
- <td>conf/settings</td>\r
- <td>Contains individual executable description files. In particular XXXParameters.xml, XXXPresets.xml, XXXLimits.xml where XXX is the name of the executable </td>\r
- </tr>\r
- <tr>\r
- <td>jobsout/</td>\r
- <td>Individual executables input, output and some other task related files are stored. (optional) </td>\r
- </tr>\r
- <tr>\r
- <td>binaries/</td>\r
- <td>Directory contains native executables - alignment programs, windows binaries (optional) </td>\r
- </tr>\r
- <tr>\r
- <td>binaries/src</td>\r
- <td>Contains source of native executables and Linux i386 binaries. </td>\r
- </tr>\r
- <tr>\r
- <td>binaries/matrices</td>\r
- <td>Substitution matrices</td>\r
- </tr>\r
- <tr>\r
- <td>WEB-INF</td>\r
- <td>Web application descriptor </td>\r
- </tr>\r
- <tr>\r
- <td>WEB-INF/lib</td>\r
- <td>Web application libraries </td>\r
- </tr>\r
- <tr>\r
- <td>WEB-INF/classes</td>\r
- <td>log4j.properties - log configuration file (optional) </td>\r
- </tr>\r
- <tr>\r
- <td colspan="2"><strong>Help Pages </strong></td>\r
- </tr>\r
- <tr>\r
- <td>/</td>\r
- <td> help pages, index.html is the starting page</td>\r
- </tr>\r
- <tr>\r
- <td>dm_javadoc</td>\r
- <td>javadoc for JABAWS client (the link is available from How To pages) </td>\r
- </tr>\r
- <tr>\r
- <td>prog_docs</td>\r
- <td>documentation for programmes that JABAWS uses </td>\r
- </tr>\r
- <tr>\r
- <td>images</td>\r
- <td>images referenced by html pages</td>\r
- </tr>\r
-</table>\r
-<p> </p>\r
+<p>Virtual Appliance (VA) package (1) contains TurnKey Linux with JABAWS installed. JABAWS VA contains JABAWS WAR deployed on the Apache Tomcat 6 web application server. If you use MS Windows read no further - the VA is the way to go. You would need to install <a href="http://www.vmware.com/products/player">VMWare Player</a> or <a href="http://www.virtualbox.org/wiki/Downloads">Oracle VirtualBox</a> (both are free) on your computer to use this package. More details about JABAWS virtual appliance is available from the <a href="man_servervm.html">Server VA</a> section of the manual. </p>\r
+<p>Option 2, Web Application Archive package contains JABAWS ready to be deployed on the Servlet 2.4 compatible web application server such as Apache Tomcat version 6. To make this version work you would need </p>\r
+<ol>\r
+ <li>Install Apache-Tomcat or similar web application server. </li>\r
+ <li>If you are not on Linux, you would have to make binaries for your system available to JABAWS. </li>\r
+ </ol>\r
+<p>Read more on <a href="man_serverwar.html">JABAWS WAR in the manual</a>. </p>\r
+<p>A client only package (3) contains the JABAWS command line client. It functionality is equivalent to that of Jalview . This is the package for anyone who wants to connect to and to use JABAWS from their own software. Read more about how to use command line client <a href="#cmdclient">in the CMD Client</a> section of the manual. Also, JABA Web Services are fully WS-I compliant, so one could use any language to access them. </p>\r
+<p><strong>If you chose option 1 </strong></p>\r
+<p>and you work on Windows or Linux or Unix </p>\r
+<ul>\r
+ <li>download and install VMWare Player </li>\r
+ <li>Download JABAWS Virtual Appliance </li>\r
+ <li>Unpack JABAWS virtual appliance and open it with VMware Player. </li>\r
+ </ul>\r
+<p>otherwise </p>\r
+<ul>\r
+ <li>download and install Virtual Box. </li>\r
+ <li>Download JABAWS Virtual Appliance </li>\r
+ <li>Unpack JABAWS virtual appliance, import it into VirtualBox and then start the appliance. </li>\r
+ </ul>\r
+<p><strong>If you chose option 2 </strong></p>\r
+<p>If you are on Linux or Windows </p>\r
+<ol><li>Download JABAWS WAR </li>\r
+ <li>Download and install <a href="http://tomcat.apache.org/download-60.cgi">Apache-Tomcat</a> </li>\r
+ <li>Drop the JABAWS war file into<span class="hightlight"> tomcat/webapps</span> directory. </li>\r
+ <li>If you are on Linux, <span class="hightlight">cd</span> to <span class="hightlight"> webapps/jabaws/binaries/src/</span> and execute <span class="hightlight">./setexecflag.sh </span> script to set an executable flag for JABAWS binaries. </li>\r
+ <li>Restart the Tomcat </li>\r
+</ol>\r
+<p>otherwise</p>\r
+<ul>\r
+ <li>Complete steps 1-3 from the above.</li>\r
+ <li> <span class="hightlight">cd</span> to <span class="hightlight">webapps/jabaws/binaries/src/</span> and execute <span class="hightlight">./compilebin.sh </span> script to compile all binaries JABAWS depends on. </li>\r
+ <li><span class="hightlight">cd</span> to <span class="hightlight"> webapps/jabaws/binaries/src/ </span>and execute <span class="hightlight">./setexecflag.sh </span> script. </li>\r
+ <li>Restart the Tomcat </li>\r
+</ul>\r
+<p>Once you have JABAWS working you can point the Jalview to your local JABAWS. </p>\r
+<ul>\r
+ <li>Download and start the desktop version of <a href="http://www.jalview.org/Web_Installers/install.htm">Jalview</a> </li>\r
+ <li>Go to Jalview->Tools->Preferences->Webservices->New Service URL and enter the JABAWS URL which you can see one your appliance is booted up. </li>\r
+</ul>\r
+<p><strong>if you chose option 3</strong> </p>\r
+<p>You can use the client straight out of the box. </p>\r
+</div> \r
+<!-- about end-->\r