Gramma improved
[jabaws.git] / website / howto.html
index 3d58b8c..0bad40b 100644 (file)
@@ -2,40 +2,38 @@
 <html xmlns="http://www.w3.org/1999/xhtml">\r
 <head>\r
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\r
+<meta name="Last-modified" content="Mon, 11 Oct 2010 01:03:33 GMT"/>\r
 <title>Java Bioinformatics Analyses Web Services (JABAWS) developers howto</title>\r
 <link href="ws.css" rel="stylesheet" type="text/css" media="screen,  projection, handheld, tv" />\r
 <link rel="stylesheet" type="text/css" media="print" href="print.css"/>\r
 \r
 <script type="text/javascript" src="prototype-1.6.0.3.js"></script>\r
-<style type="text/css">\r
-<!--\r
-.style1 {\r
-       color: #000000;\r
-       font-weight: bold;\r
-}\r
--->\r
-</style>\r
 </head>\r
 <body>\r
 <div id="page">\r
-<div id="banner">\r
-<h2><span class="headeru">JA</span>va <span class="headeru">B</span>ioinformatics <span class="headeru">A</span>nalyses <span class="headeru">W</span>eb <span class="headeru">S</span>ervices</h2>\r
+<div id="banner"><table> \r
+<tr><td style="width:130px;"><a href="http://www.dundee.ac.uk"><img class="logo" src="images/uod_lt.gif"  alt="University of Dundee"  title="University of Dundee" longdesc="http://www.dundee.ac.uk"/></a></td>\r
+<td class="bg"><h2><span class="headeru">JA</span>va <span class=\r
+"headeru">B</span>ioinformatics <span class="headeru">A</span>nalysis <span class="headeru">W</span>eb <span\r
+class="headeru">S</span>ervices</h2></td>\r
+</tr>\r
+</table>\r
 </div><!-- banner end-->\r
 <div id="wrapper">\r
 <div id="panel">\r
        <a href="index.html">Home</a>\r
        <a href="manual.html">Manual</a>\r
        <a class="selected" href="howto.html">How To</a>\r
+       <a href="dm_javadoc/index.html" title="Data model javadoc">Javadoc</a>\r
        <a href="download.html">Download</a>\r
-       <a href="http://www.jalview.org">Jalview</a>\r
-</div>\r
+       <a href="http://www.compbio.dundee.ac.uk">Barton Group</a></div>\r
 <!-- panel end-->\r
 <div id="content">\r
 \r
 \r
 \r
-<h2>JABAWS How To</h2>\r
-<h3>Table of Content </h3>\r
+<h2 align="center">JABAWS How To</h2>\r
+<h3>Table of content </h3>\r
 <h4>About </h4>\r
 <ul>\r
   <li><a href="#wisjaba">What is JABAWS?</a></li>\r
   <li><a href="#toomanyreqs">What happens if the number of requests to my JABAWS installation is greater the the server can process?</a></li>\r
   <li><a href="#canlimit">Sometimes users sent  very large number of sequences to JABAWS server, so that it  becomes unresponsive. Can I limit the number of sequences users can submit to my server. </a></li>\r
 </ul>\r
-<h4>Using JABAWS in your program (examples in java) </h4>\r
-<ul>\r
-       <li><a href="#connectto">Connecting to JABAWS</a></li>\r
-       <li><a href="#buildart">Building web services artifacts</a></li>\r
-       <li><a href="#defalign">Aligning sequences</a></li>\r
-       <li><a href="#presetalign">Aligning with presets</a></li>\r
-       <li><a href="#customalign">Using custom parameters</a></li>\r
-       <li><a href="#writingaltofile">Writing alignments to a file</a></li>\r
-</ul>\r
 <h4>JABAWS on Apache-Tomcat</h4>\r
 <ul>\r
   <li><a href="#tomdeploy">I dropped jaba.war file into web application directory but nothing happened. What do I do next?</a></li>\r
   <li><a href="#tomautoundeploy">I removed the JABAWS war file after it was deployed from the webapps directory and my JABAWS web application folder disappear. Where it has gone to?</a></li>\r
-  <li><a href="#tomstopundeploy">I want to make sure that Tomcat will not undeploy/delete JABAWS directory from the server. What should I do?</a><br />\r
-  </li>\r
+  <li><a href="#tomstopundeploy">I want to make sure that Tomcat will not undeploy/delete JABAWS directory from the server. What should I do?<br />\r
+  </a>  </li>\r
+  </ul>\r
+\r
+<h4><a/>JABAWS on VM (Virtual Machine)</h4>\r
+<ul>\r
+  <li><a href="#vmbexc">I cannot open VM using VirtualBox due to VERR_VMX_MSR_LOCKED_OR_DISABLED exception. Can you help?</a></li>\r
+  <li><a href="#ovfOnVmware">VMWare Player - Failed to query source for information / I cannot open OVF file using VMware player. Why is this?</a></li>\r
+  <li><a href="#vmiaccess">I want to connect to the Internet from my VM. Can I do that?</a></li>\r
 </ul>\r
+\r
+<h3>About</h3>\r
 <h4><a name="wisjaba" id="wisjaba"></a>What is JABAWS?</h4>\r
-<p>JABAWS stands for JAva Bioinformatics Analysis Web Services. It is a collection of web services for multiple sequence alignment. For simplicity we referer to them as JABAWS. It is a successor of Jalview Web Services. JABAWS makes it easy to access well-known multiple sequence alignment programs from JalView. However, the scope of JABAWS is not limited to multiple sequence alignment programmes. Future versions of JABAWS  will incorporate protein disorder prediction, BLAST, PSI  BLASTand HMMER database searches and many other tools. For the list of currently supported programs see <a href="#alprog">below</a></p>\r
+<p>JABAWS stands for JAva Bioinformatics Analysis Web Services. It is a collection of web services for multiple sequence alignment. For simplicity we referrer to them as JABAWS. It is a successor of Jalview Web Services. JABAWS makes it easy to access well-known multiple sequence alignment programs from JalView. However, the scope of JABAWS is not limited to multiple sequence alignment programs. Future versions of JABAWS  will incorporate protein disorder prediction, BLAST, PSIBLAST and HMMER database searches and many other tools. For the list of currently supported programs see <a href="#alprog">below</a></p>\r
 <h4><a name="wjaba" id="wjaba"></a>Why JABAWS?</h4>\r
-<p>JABAWS offer a range of benefits which were not available earlier. In particular, several benefits span from JABAWS ability to be easily deployable. JABAWS can be deployed  on nearly any operation system, it can operate on a stand alone server as well as submit the jobs to the cluster. Thanks to <a href="http://www.drmaa.org/">DRMAA</a> it integrates well with a large variety of cluster job management systems. Jalview can be configured to submit jobs to different versions of JABAWS, for example to your local, lab version, or publicly available version elsewhere.  As JABAWS can be installed in your lab, it eliminates the need to send you private information to the outside, to one of the publicly accessible servers. JABAWS can run programs with additional parameters defined by you, so you are no longer limited to defaults. JABAWS is safe to install for public access as it could limit the size of the tasks which it accepts and denies access to resources within web application folder. </p>\r
+<p>JABA Web Services has a number of distinct features that are not\r
+  found in other bioinformatics web services systems. In particular,\r
+  JABAWS:</p>\r
+<ol>\r
+  <li><strong>Provides uniform remote access to a number of popular command line\r
+    tools.</strong><br />\r
+    <span class="body">    JABAWS enable you to access your favorite research tools anywhere, at any time. For instance, all multiple sequence\r
+      alignment services can be accessed with a single command line\r
+      interface, simplifying their invocation. At the same time most of the\r
+      command line options for each program are supported, so you have\r
+      nearly the same level of control as if you were running them on the\r
+      command line yourself.</span></li>\r
+  <li><strong>Enables web based or stand-alone applications, like Jalview, to\r
+    access a variety of bioinformatics analysis methods.</strong> <br />\r
+    <span class=\r
+"body">The JABAWS client library makes it very easy to\r
+      connect to one or more instances of JABAWS, so if one server is off\r
+      line, all you need to know is the URL of another server that will\r
+      do the job for you.\r
+      Moreover you are not limited to JABAWS own client as JABAWS are <a href="http://www.ws-i.org/">WS-I basic\r
+        profile</a> v. 1.1 compatible, which means that clients\r
+      can be created for them in almost any programming\r
+      language.</span></li>\r
+  <li><strong>Can be easily deployed as a server on a variety of platforms,\r
+    with command line tools run on the same machine or on a\r
+    cluster.</strong><span class="body"><strong>This allow you  keeping your private data safe. </strong></span><br />\r
+    You don't need to send your data to the\r
+          Internet anymore. Simply <a href="download.html">download</a> and <a href=\r
+"howto.html#hdjaba">install</a> JABAWS on a trusted machine in your\r
+          lab or institute, and use its web address instead of the public\r
+        JABAWS services. No data will leave your lab any longer! The JABAWS server can run programs on a single machine or on a\r
+    cluster, and are easy to install.\r
+    If your server is going to be heavily used, then it is better to <a\r
+href="howto.html#clustsubsys">configure JABAWS to access your\r
+      cluster</a>, which is straightforward<strong>. \r
+      </strong><span class="body"><a href="howto.html#clustsubsys"> JABAWS\r
+      integrates with a number of cluster job management systems (e.g.\r
+      GridEngine, PBS, LSF, Condor).</a> It also intelligently manages\r
+      task scheduling depending on their size, eliminating the scalability\r
+      issues and let you focus on your research. </span></li>\r
+  <li><strong>Support custom parameters, unlike other web services </strong><br />\r
+      JABAWS includes a comprehensive parameter model and validation\r
+      mechanism, allowing you to specify additional options and\r
+      arguments. Want to use PAM200 substitution matrix, set the number\r
+      of iterations, or sequence clustering method? No problem - JABAWS\r
+      lets you do that. You are no longer limited to defaults!</li>\r
+  </ol>\r
+<h3>Installation</h3>\r
 <h4><a name="hdjaba" id="hdjaba"></a>How to deploy JABAWS? </h4>\r
 <p>Download JABAWS Web Application Archive (war file). Deploy it on any Servlet 2.4 compatible container. We have tested deployment on Apache-Tomcat version 6. On windows servers just drop a JABAWS war file into the web application directory. On Linux unpack the war file into web application directory , cd to <span class="hightlight">&lt;webapplicationpath&gt;/binaries/src</span> directory and run setexecflag.sh script to set an executable flag for binaries. Start Tomcat. That is it. This should give you working JABAWS stack with tasks executed locally on the server. If you have cluster you may want to enable JABAWS to submit jobs to the cluster. To find out more about this and to find out about other configuration options read the <a href="manual.html">manual</a>. </p>\r
 <h4><a name="usingWsTester" id="usingWsTester"></a>I deployed JABAWS, how to make sure it is working? </h4>\r
 <li><a href="http://align.bmr.kyushu-u.ac.jp/mafft/software/">Mafft</a></li>\r
 <li><a href="http://www.drive5.com/muscle/download3.6.html">Muscle</a></li>\r
 <li><a href="http://www.tcoffee.org/Packages/Binaries/">Tcoffee</a></li>\r
-<li>Probcons (Linux <a href="http://www.compbio.dundee.ac.uk/jaba/archive/binaries/linuxI386/probcons/">I386</a> | <a href="http://www.compbio.dundee.ac.uk/jaba/archive/binaries/linuxAMD64/probcons/">AMD64</a>)</li>\r
+<li>Probcons (Linux <a href="http://www.compbio.dundee.ac.uk/jabaws/archive/binaries/linuxI386/probcons/">I386</a> | <a href="http://www.compbio.dundee.ac.uk/jabaws/archive/binaries/linuxAMD64/probcons/">AMD64</a>)</li>\r
 </ul>\r
 <p>We would however recommend to compile the binaries for your system whenever possible. This is likely to give you a significant performance gain.</p>\r
+<h3>Configuration </h3>\r
 <h4><a name="diffbin" id="diffbin"></a>Can I use a different version of the alignment program with JABAWS?</h4>\r
 <p>JABAWS supplied with binaries and source code of the executables which version it supports. So normally you would not need to install your own executables. However, if you have a different version of an executable (e.g. an alignment program) which you prefer, you could use it as long as it supports all the functions JABAWS executable supported. This could be the case with more recent executable. If the options supported by your chosen executable is different when the standard JABAWS executable, than you need to edit <em>ExecutableName</em>Paramaters.xml&nbsp; configuration file. </p>\r
 <h4><a name="dmjavadoc" id="dmjavadoc"></a>Is there a documentation for client library methods? </h4>\r
 <h4><a name="whichjaba" id="whichjaba"></a>I want to use JABAWS. Which JABAWS distribution should I choose?</h4>\r
 <p>There are two main packages you could use</p>\r
 <ol>\r
-  <li>A client  package - for anyone who whats to use JABAWS from your own code, without Jalview. </li>\r
-  <li>Web Services package (there are a few platform specific variants of this one) - for anyone who whats to run they own copy of JABA Web Services. </li>\r
+  <li>A client  package - for anyone who wants to use JABAWS from your own code, without Jalview. </li>\r
+  <li>Web Services package (there are a few platform specific variants of this one) - for anyone who wants to run they own copy of JABA Web Services. </li>\r
+  <li>Virtual Appliance - for anyone who wants to run JABAWS locally, but work on Windows or have configuration problems.  </li>\r
 </ol>\r
 <p>A client only package (1) contains the code  sufficient to connect to a third party version of JABAWS and use it. This is the package for anyone who wants to connect to and to use JABAWS from their own software. The package also includes a command line client tool. Read more about how to use command line client <a href="#cmdclient">below</a>. \r
 JABAWS are fully WS-I compliant, so one could use any language to access them. However, a client package offer additional convenience methods, which is not available otherwise. For example methods to read Clustal formatted sequence alignment files and convert them to the List of FastaSequence objects, which JABAWS will be happy to consume. The trade off is that the client package is written in java, which may not be the language of your choice. </p>   \r
-<p>Web Services package (2) contains JABAWS web services. There are versions for Unix/Linux and Windows operation systems. JABAWS will work on any operation system which has web application server like Tomcat, and GNU compatible C/C++ compiler. This includes Mac. If you are interested in running JABAWS on Mac you would need to recompile binaries JABAWS depends on, in particular <a href="#alprog">these executables</a>.  You can configure JalView to use your version of JABAWS, or a any combinations of publically available instance of JABAWS with your local. </p>\r
-<p>Finally, you can download core JABAWS package, which contains the code for executing programmes locally or on the varaety of clusters. This is likely to be of interest for developers only..</p>\r
+<p>Web Services package (2) contains JABAWS web services. There are versions for Unix/Linux and Windows operation systems. JABAWS will work on any operation system which has web application server like Tomcat, and GNU compatible C/C++ compiler. This includes Mac. If you are interested in running JABAWS on Mac you would need to recompile binaries JABAWS depends on, in particular <a href="#alprog">these executables</a>.  You can configure JalView to use your version of JABAWS, or a any combinations of publicly available instance of JABAWS with your local. </p>\r
+<p>Finally, you can download core JABAWS package, which contains the code for executing programs locally or on the variety of clusters. This is likely to be of interest for developers only.</p>\r
+<p>Virtual Appliance package (3) contains TurnKey Linux with JABAWS installed. You can use this package as long as you can run a virtual appliance on your computer. You can find out more about JABAWS virtual appliance in the relevant <a href="manual.html#whenvm">manual</a> and <a href="howto.html#vmbexc">how to</a> sections. </p>\r
 <h4><a name="cmdclient" id="cmdclient"></a>Can I program against JABAWS? </h4>\r
 <p>Yes. The simplest way to do it is to download a <a href="download.html#minclient">client package</a>, and use it to access JABAWS.  This package contains value object which you could alternatively generate with <span class="hightlight">wsimport</span> in java, or similar tool in other languages. It offers some additional manually developed methods which further simplify working with JABAWS. For more information please refer to the <a href="dm_javadoc/index.html">data model javadoc</a>. However should you wish to generate the code using <span class="hightlight">wsimport </span>tool you will be able to do so. As JABAWS are WS-I basic profile compliant, they can be accessed in a standard way as any other web service. </p>\r
 <h4><a name="usingcclient" id="usingcclient"></a>Is there a command line client to JABAWS? </h4>\r
 <p>Yes, it comes as a part of <a href="download.html#minclient"> client package</a> which you are welcome to download. </p>\r
 <p>The command client can be used to align sequences using any of JABAWS supported web services. The client is OS independent and supports most of the functions which can be accessed programmatically via JABAWS API. Using this client you could align sequences using presets or custom parameters, please see examples of this below. Here is the list of options supported by the command line client. </p>\r
-<span class="code"><strong>Usage:</strong> &lt;Class or Jar file name&gt; -h=host_and_context -s=serviceName ACTION [OPTIONS]\r
+<span class="code"><strong>Usage:</strong> java -jar &lt;path_to_jar_file&gt; -h=host_and_context -s=serviceName ACTION [OPTIONS]\r
 -h=&lt;host_and_context&gt; - a full URL to the JABAWS web server including context path e.g. http://10.31.10.159:8080/ws<br />\r
 -s=&lt;ServiceName&gt; - one of [MafftWS, MuscleWS, ClustalWS, TcoffeeWS, ProbconsWS]\r
 </p>\r
@@ -244,7 +292,7 @@ prefix=&quot;localhost_access_log.&quot; suffix=&quot;.txt&quot; pattern=&quot;c
     <td>2067</td>\r
     </tr>\r
 </table>\r
-<p>Which can be processed in various log analysing programs, such as <a href="http://www.webalizer.org/">WebAlizer</a>, <a href="http://www.analog.cx/">Analog</a>,  <a href="http://awstats.sourceforge.net/">AWStats</a>.   </p>\r
+<p>Which can be processed in various programs for log analysis , such as <a href="http://www.webalizer.org/">WebAlizer</a>, <a href="http://www.analog.cx/">Analog</a>,  <a href="http://awstats.sourceforge.net/">AWStats</a>.   </p>\r
 <h4><a name="execstat" id="execstat"></a>I would like to know how much of the CPU time has been consumed and which tasks were the longest.</h4>\r
 <p>JABAWS stores cluster task ids for all tasks which were run on the cluster. Using cluster ids the detailed statistics can be extracted from cluster accounting system. Due to the fact that each cluster supported by JABAWS have different accounting system it was not possible to provide ready to use statistics. <br />\r
 For the local execution the starting and finishing time in nano seconds can be found in STARTED and FINISHED files respectively. In time we will provide the tools to extract execution time statistics, so keep the content of your working directory ready! </p>\r
@@ -271,72 +319,7 @@ For the local execution the starting and finishing time in nano seconds can be f
 These listings are read only by default.  \r
 <h4><a name="canyouhelp" id="canyouhelp"></a>Sometimes something goes wrong with JABAWS, but I cannot figure out why. Can you help?</h4>\r
 <p>JABAWS  logs all errors to the stdout and in the file called activity.log if <a href="manual.html#logfiles">logging is enabled</a>. Stdout is usually recorded in web server log files. Have a look there and you may find the reason for the problems. If it is still unclear what went wrong try increasing the logging level. Setting the logging level to TRACE or DEBUG will give you a lot of insights in what goes on behind the scene. We would need this log if you need us to help you, or if you would like to report the bug. To change the log level, replace ERROR keyword in ACTIVITY logger to TRACE. </p>\r
-<h4><a name="connectto" id="connectto"></a>Connecting to JABAWS</h4>\r
-<p class="attention">For a complete working example of JABAWS client please see compbio.ws.client package.<br /> \r
-  In particular compbio.ws.client.Jws2Client - a command line client <br />\r
-  compbio.ws.client.WSTester - JABAWS tester. JABAWS source is available from the download page. Please note that for now all the examples are in Java other languages will follow given a sufficient demand. </p>\r
-<p>Download jaba <a href="download.html">client library</a>. Add client library to the class path. The following code excerpt will connect your program to Clustal web service deployed in the University of Dundee. </p>\r
-<p class="code">  1) URL url = new URL(&quot;http://www.compbio.dundee.ac.uk/jaba/ClustalWS?wsdl&quot;);<br />\r
-  2) QName qname = new QName(&quot;http://msa.data.compbio/01/01/2010/&quot;, &quot;ClustalWS&quot;);<br />\r
-3) Service serv = Service.create(url, qname);<br />\r
-4) MsaWS&lt;T&gt; msaws = serv.getPort(new QName(&quot;http://msa.data.compbio/01/01/2010/&quot;, &quot;ClustalWSPort&quot;),\r
-MsaWS.class);</p>\r
-<p>A more generic connection method would look like this </p>\r
-<p class="code"> String qualifiedServiceName = &quot;http://msa.data.compbio/01/01/2010/&quot;;<br />\r
-  String host = &quot;http://www.compbio.dundee.ac.uk/jaba&quot; ;<br />\r
-  URL url = new URL(host + &quot;/&quot; + service.toString() + &quot;?wsdl&quot;);<br />\r
-  QName qname = new QName(qualifiedServiceName, service.toString());<br />\r
-  Service serv = Service.create(url, qname);<br />\r
-  MsaWS&lt;T&gt; msaws = serv.getPort(new QName(qualifiedServiceName, service + &quot;Port&quot;),\r
-  MsaWS.class);</p>\r
-<p>Where service is enumeration of JABAWS web services. All JABAWS multiple sequence alignment methods confirm to MsaWS specification, thus from the called point all JABAWS web services can be represented by MsaWS interface. </p>\r
-<p>Once you have connected do not forget to disconnect</p>\r
-<p class="code">((Closeable) msaws).close(); </p>\r
-<h4><a name="buildart" id="buildart"></a>Building web services artifacts</h4>\r
-<p>JABAWS are the standard JAX-WS SOAP web services, which are WS-I basic   profile compatible. This means that you could use whatever tool your language has to work with web services. Below is how you can generate portable artifacts to work with JABAWS from java. Alternatively, from java, you could <a href="#connectto">use the client library</a>. </p>\r
-<p class="code">wsimport -keep http://www.compbio.dundee.ac.uk/jaba/ClustalWS?wsdl</p>\r
-<p>Valid service names are </p>\r
-<ul>\r
-  <li>ClustalWS</li>\r
-  <li>MuscleWS</li>\r
-  <li>MafftWS</li>\r
-  <li>TcoffeeWS</li>\r
-  <li>ProbconsWS</li>\r
-</ul>\r
-<h4><a name="defalign" id="defalign"></a>Aligning sequences  </h4>\r
-<p class="code">1) List&lt;FastaSequence&gt; fastalist = SequenceUtil.readFasta(new FileInputStream(file));<br />\r
-  2) String jobId = msaws.align(fastalist);\r
-  <br />\r
-3) Thread.sleep(1000);<br />\r
-4) Alignment alignment = msaws.getResult(jobId);</p>\r
-<p>Line  one loads fasta sequence from the file<br />\r
-  Line two submits them to web service represented by msaws proxy <br />\r
-  Line three waits a second <br />\r
-  Line four retrieves the alignment from a web service and blocks the execution until the result is available. <br />\r
-Methods and classes mentioned in the excerpt are available from the JABAWS client library.</p>\r
-<h4><a name="presetalign" id="presetalign"></a>Aligning with presets</h4>\r
-<p class="code">1) PresetManager&lt;T&gt; presetman = msaws.getPresets();<br />\r
-  2) Preset&lt;T&gt; preset = presetman.getPresetByName(presetName);<br />\r
-  3) List&lt;FastaSequence&gt; fastalist = SequenceUtil.readFasta(new FileInputStream(file));<br />\r
-  4) String jobId = msaws.presetAlign(fastalist, preset);<br />\r
-  5) Thread.sleep(1000);<br />\r
-  6) Alignment alignment = msaws.getResult(jobId);</p>\r
-<p>Lines one obtains the lists of presets supported by a web service.<br />\r
-  Line two return a particular Preset \r
-  by its name<br />\r
-  Lines three to six are doing the same job as in <a href="#defalign">default alignment example</a>.</p>\r
-<h4><a name="customalign" id="customalign"></a>Using custom parameters</h4>\r
-<p><span class="code">1) PresetManager&lt;T&gt; presetman = msaws.getPresets();<br />\r
-2) Preset&lt;T&gt; preset = presetman.getPresetByName(presetName);<br />\r
-3) List&lt;FastaSequence&gt; fastalist = SequenceUtil.readFasta(new FileInputStream(file));<br />\r
-4) String jobId = msaws.presetAlign(fastalist, preset);<br />\r
-5) Thread.sleep(1000);<br />\r
-6) Alignment alignment = msaws.getResult(jobId);</span></p>\r
-<h4><a name="writingaltofile" id="writingaltofile"></a>Writing alignments to a file</h4>\r
-<p>There is a utility method in the client library that does exactly that. </p>\r
-<p> <span class="code">Alignment alignment = align(...) <br />\r
-  FileOutputStream outStream = new FileOutputStream(file);<br />\r
-  ClustalAlignmentUtil.writeClustalAlignment(outStream, align);</span></p>\r
+<h3>JABAWS on Apache-Tomcat</h3>\r
 <h4><a name="tomdeploy" id="tomdeploy"></a>I dropped jaba.war file into web application directory but nothing happened. What do I do next?</h4>\r
 <ul>\r
   <li>Make sure tomcat have sufficient access rights to read your war file. </li>\r
@@ -350,13 +333,33 @@ Methods and classes mentioned in the excerpt are available from the JABAWS clien
 <p class="code">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br />\r
   &lt;Context antiResourceLocking=&quot;false&quot; privileged=&quot;true&quot;  /&gt;</p>\r
 <p>This should be sufficient to prevent tomcat from removing your JABAWS deployment folder. For more information about tomcat deployer <a href="http://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html">read this documentation on the tomcat web site</a>.</p>\r
+\r
+ <h3>JABAWS on VM (Virtual Machine)</h3>\r
+ <h4><a name="vmbexc" id="vmbexc"/>I cannot open VM using VirtualBox due to VERR_VMX_MSR_LOCKED_OR_DISABLED exception. Can you help?</h4>\r
+ <p>VERR_VMX_MSR_LOCKED_OR_DISABLED exception means that Intel Virtualization technology is disabled or not supported by your computer. If you have such a problem, please make sure you have configured the JABAWS VM with 1 CPU and disabled VT-X extensions. Alternatively you can enable virtualization extensions ion from the BIOS of your computer. Unfortunately, we cannot give you  exact instructions on how to do this, as this would depend on your computer BIOS manufacturer. For MACs it may not be possible at all. </p>\r
+ <h4><a name="ovfOnVmware" id="ovfOnVmware"/>VMWare Player - Failed to query source for information. I cannot open OVF file using VMware player. Why is this?</h4>\r
+ <p>At the time of writing, the latest version of VMware Player 3.1.2 supported only a legacy OVF version 0.9. Whereas OVF packaged with JABAWS VM is version 1.0. Please use VMX - VMware specific configuration file with all VMware products.    </p>\r
+ <h4><a name="vmiaccess" id="vmiaccess"/>I want to connect to the Internet from my VM. Can I do that?</h4>\r
+\r
+<p>By default the JABAWS VM is configured to use host-only networking. This means that the host can communicate with the VM via a network, but no other machines can. Similarly, the VM cannot communicate with any other computers apart from the host. If you want to connect to the Internet from the VM, configure your VM to use NAT network. However, you will not be able to connect to the VM from the host in such case. If you want to be able to connect to your VM and let VM connect to the internet at the same time you would have to use a Bridged network. In such a case you would have to configure the VM IP address manually (unless of course your network has a DHCP server to do that). </p>\r
 </div>\r
 <!-- content end--> \r
-<div id="copyright">Last update: 7 July 2010<br/>\r
+<div id="copyright">Last update: 17 November 2010<br/>\r
 Peter Troshin and Geoff Barton, The Barton Group, University of Dundee, UK</div>\r
 </div><!-- wrapper end-->\r
 </div> <!-- page end-->\r
 \r
+<!-- Google analitics -->\r
+<script type="text/javascript">\r
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");\r
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));\r
+</script>\r
+<script type="text/javascript">\r
+try{\r
+var pageTracker = _gat._getTracker("UA-5356328-1");\r
+pageTracker._trackPageview();\r
+} catch(err) {}\r
+</script>\r
 </body>\r
 </html>\r
 \r