Merge branch 'task/JAL-3337_gradle_tasks_sourceDist_and_help2Website' into develop
authorJim Procter <jprocter@issues.jalview.org>
Wed, 3 Jul 2019 17:06:46 +0000 (18:06 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Wed, 3 Jul 2019 17:06:46 +0000 (18:06 +0100)
17 files changed:
help/help/help.jhm
help/help/helpTOC.xml
help/help/html/features/clarguments.html
help/help/html/features/featuresFormat.html
help/help/html/features/jalarchive.html
help/help/html/features/preferences.html
help/help/html/memory.html
help/help/html/menus/alwcalculate.html
help/help/html/menus/desktopMenu.html
help/help/html/privacy.html
help/help/html/vamsas/index.html [deleted file]
help/help/html/whatsNew.html
src/jalview/bin/Jalview.java
src/jalview/gui/Desktop.java
src/jalview/gui/VamsasApplication.java
src/jalview/jbgui/GDesktop.java
src/jalview/jbgui/GPreferences.java

index 64f3d21..0802bf1 100755 (executable)
    <mapID target="groovy.colours" url="html/features/groovy.html#groovyColours" />
    <mapID target="groovy.featurescounter" url="html/groovy/featuresCounter.html" />
    <mapID target="privacy" url="html/privacy.html" />
-   <mapID target="vamsas" url="html/vamsas/index.html"/>
    <mapID target="aminoAcids" url="html/misc/aminoAcids.html" />
    <mapID target="aaProperties" url="html/misc/aaproperties.html" />
    <mapID target="geneticCode" url="html/misc/geneticCode.html" />
index a0995c2..179fb06 100755 (executable)
@@ -24,7 +24,7 @@
        <tocitem text="Jalview Documentation" target="home" expand="true">
                        <tocitem text="What's new" target="new" expand="true">
                                <tocitem text="Latest Release Notes" target="release"/>
-                               <tocitem text="VCF Import" target="vcfimport"/>
+                               <tocitem text="VCF Import" target="importvcf"/>
                                <tocitem text="Feature Filters and Attribute Colourschemes" target="features.featureschemes" />
                                
                </tocitem>
                <tocitem text="Opening URLs from Jalview" target="urllinks" expand="true">
                    <tocitem text="Configuring URL Links" target="linksprefs" />
                </tocitem>
-               <tocitem text="VAMSAS Data Exchange" target="vamsas">
-                       <!-- what can Jalview share with other apps -->
-                       <!-- what other apps exist -->
-               </tocitem>
                <tocitem text="Window Menus" target="menus" expand="false">
                        <tocitem text="Desktop Window" target="desktopMenu" />
                        <tocitem text="Alignment Window" target="alMenu">
index fa273a5..ebdfcf3 100644 (file)
     </tr>
     <tr>
       <td>
-        <div align="center">-vdoc VAMSAS DOCUMENT FILE/URL</div>
-      <td>
-        <div align="left">
-          Import the given vamsas document into a new session.<br>
-          <em>New in 2.5</em>
-        </div>
-      </td>
-    </tr>
-    <tr>
-      <td>
-        <div align="center">-vsess VAMSAS SESSION URL</div>
-      <td>
-        <div align="left">
-          Join the given vamsas session<br>If a document was also
-          specified, this will be imported first and then committed as
-          new data from Jalview to the specified session (Experimental -
-          not yet enabled!).<em>New in 2.5</em>
-        </div>
-        </div>
-      </td>
-    </tr>
-    <tr>
-      <td>
         <div align="center">-fasta FILE</div>
       </td>
 
index 4d13dcd..0226175 100755 (executable)
 <body>
   <p>
     <strong>Sequence Features File</strong>
+  
   <p>
-  <p>The Sequence features file (which used to be known as the
-    "Groups file" prior to version 2.08) is a simple way of getting your
-    own sequence annotations into Jalview. It was introduced to allow
-    sequence features to be rendered in the Jalview applet, and so is
-    intentionally lightweight and minimal because the applet is often
-    used in situations where data file size must be kept to a minimum,
-    and no XML parser is available.</p>
+  
+  <p>The Sequence features File provides a simple way of getting
+    your own sequence features into Jalview. It also allows feature
+    display styles and filters to be saved and imported to another
+    alignment. Users familiar with the earliest versions of Jalview will
+    know that features files were originally termed 'groups' files, and
+    that the format was was designed as a space efficient format to
+    allow sequence features to be rendered in the Jalview applet.</p>
 
   <p>
     Features files are imported into Jalview in the following ways:<br>
+  
   <ul>
     <li>from the command line <pre>
 <strong> -features &lt;<em>Features filename</em>&gt;</strong>
     </li>
   </ul>
 
-  </p>
-
   <p>
     <strong>Sequence Features File Format</strong>
   </p>
   <p>
     A features file is a simple ASCII text file, where each line
     contains tab separated text fields. <strong>No comments are
-      allowed</strong>.
+      allowed</strong>. Its structure consists of three blocks:
   </p>
+  <ul>
+    <li><a href="#colourdefs">Feature Colour Specifications</a>
+      define how features of a particular type are rendered.</li>
+    <li><a href="#filterdefs">Feature Filters</a> provide a way of
+      excluding features of a particular type from display and analysis.
+      (new in Jalview 2.11)</li>
+    <li><a href="#featuredef">Sequence Feature definitions</a> -
+      tab separated fields that describe groups of positional and
+      non-positional features. Data can also be provided as <a href="#gff">GFF</a></li>
+  </ul>
+
   <p>
-    <strong>Feature Colours</strong>
+    <strong><a name="colourdefs">Feature Colours</a></strong>
   </p>
   <p>The first set of lines contain feature type definitions and their colours:
   <pre>
-<strong><em>Feature label</em>&#9;<em>Feature Colour</em>
+<strong><em>&lt;Feature Type&gt;</em>&#9;<em>&lt;Feature Style&gt;</em>
 <!-- &#9;<em>Feature links</em>  --></strong>
 </pre>
 
-  A feature type has a text label, and a colour specification. This can
-  be either:
-
-  <ul>
-    <li>A single colour specified as either a red,green,blue 24 bit
+  Each feature type definition assigns a style to features of the given type. &lt;Feature Style&gt; can be either a simple colour, or a more complex <a href="featureschemes.html">Graduated Colour Scheme</a> that shades features according to their description, score, or other attributes.
+<p>
+  <em>Assigning a colour for a &lt;Feature Type&gt;</em><br/>A single colour specified as either a red,green,blue 24 bit
       triplet in hexadecimal (eg. 00ff00) or as comma separated numbers
       (ranging from 0 to 255))<br>
-      (For help with colour values, see <a href="https://www.w3schools.com/colors/colors_converter.asp">https://www.w3schools.com/colors/colors_converter.asp</a>.)</li>
-
-    <li>A <a href="featureschemes.html">graduated colourscheme</a>
-      specified as a "|" separated list of fields: <pre>
-[label <em>or</em> score<em> or</em> attribute|attName|]&lt;mincolor&gt;|&lt;maxcolor&gt;|[absolute|]&lt;minvalue&gt;|&lt;maxvalue&gt;[|&lt;novalue&gt;][|&lt;thresholdtype&gt;|[&lt;threshold value&gt;]]
-</pre> The fields are as follows:
-
-      <ul>
-        <li><em>label</em><br> Indicates that the feature
-          description should be used to create a colour for features of
-          this type.<br> <em>Note: if no threshold value is
-            needed then only 'label' is required.<br> This
-            keyword was added in Jalview 2.6
-        </em></li>
-
-        <li><em>score</em><br> Indicates that the feature
-          score should be used to create a graduated colour for features of
-          this type, in conjunction with mincolor, maxcolor.<br><em>This keyword was added in Jalview 2.11.
-          It may be omitted (score is the default) if mincolor and maxcolor are specified.
-        </em></li>
-
-        <li><em>attribute|attName</em><br> Indicates that the value of feature
-          attribute 'attName' should be used to create a colour for features of
-          this type.
-          <br>For example, <em>attribute|clinical_significance</em> to colour by clinical_significance.
-          <br>To colour by range of a numeric attribute, include <em>mincolor</em> and <em>maxcolor</em>, or omit to colour by text (category).
-          <br>(Note: the value of the attribute used for colouring will also be shown in the tooltip as you mouse over features.)
-          <br>A sub-attribute should be written as, for example, CSQ:IMPACT.
-          <br><em>This keyword was added in Jalview 2.11</em></li>
-
-        <li><em>mincolor</em> and <em>maxcolor</em><br> Colour
-          triplets specified as hexadecimal or comma separated values
-          (may be left blank for a <em>label</em> style colourscheme,
-          but remember to specify the remaining fields)</li>
-
-        <li><em>absolute</em><br> An optional switch
-          indicating that the <em>minvalue</em> and <em>maxvalue</em>
-          parameters should be left as is, rather than rescaled
-          according to the range of scores for this feature type.</li>
-
-        <li><em>minvalue</em> and <em>maxvalue</em><br>
-          Minimum and maximum values defining the range of scores for
-          which the colour range will be defined over.<br>If minvalue is
-          greater than maxvalue then the linear mapping will have
-          negative gradient.</li>
-
-        <li><em>novalue</em> <br>
-          Specifies the colour to use if colouring by attribute, when the attribute is absent.
-          Valid options are <em>novaluemin, novaluemax, novaluenone</em>, to use mincolor, maxcolor, or no colour.
-          <br>If not specified this will default to novaluemin.</li>
-
-        <li><em>thresholdtype</em><br> Either
-          &quot;none&quot;, &quot;below&quot;, or &quot;above&quot;. <em>below</em>
-          and <em>above</em> require an additional <em>threshold
-            value</em> which is used to control the display of features with
-          a score either below or above the value.</li>
-      </ul>
-    </li>
+      (For help with colour values, see <a href="https://www.w3schools.com/colors/colors_converter.asp">https://www.w3schools.com/colors/colors_converter.asp</a>.)</p>
+      <p><em>Specifying a <a href="featureschemes.html">Graduated Colourscheme</a></em><br/>
+      Data dependent feature colourschemes are defined by a series of "|" separated fields: <pre>
+[label <em>or</em> score<em> or</em> attribute|&lt;attName&gt;|]&lt;mincolor&gt;|&lt;maxcolor&gt;|[absolute|]&lt;minvalue&gt;|&lt;maxvalue&gt;[|&lt;novalue&gt;][|&lt;thresholdtype&gt;|[&lt;threshold value&gt;]]
+</pre><br/>The fields are interpreted follows:
+
+  <ul>
+    <li><em>label</em><br> Indicates that the feature
+      description should be used to create a colour for features of this
+      type.<br> <em>Note: if no threshold value is needed then
+        only 'label' is required.<br> This keyword was added in
+        Jalview 2.6
+    </em></li>
+
+    <li><em>score</em><br> Indicates that the feature score
+      should be used to create a graduated colour for features of this
+      type, in conjunction with mincolor, maxcolor.<br>
+    <em>This keyword was added in Jalview 2.11. It may be omitted
+        (score is the default) if mincolor and maxcolor are specified. </em></li>
+
+    <li><em>attribute|&lt;attName&gt;</em><br> Indicates that
+      the value of feature attribute 'attName' should be used to create
+      a colour for features of this type. <br>For example, <em>attribute|clinical_significance</em>
+      to colour by "clinical_significance". <br>To colour by range
+      of a numeric attribute, include <em>mincolor</em> and <em>maxcolor</em>,
+      or omit to colour by text (category). <br>(Note: the value of
+      the attribute used for colouring will also be shown in the tooltip
+      as you mouse over features.) <br>A sub-attribute should be
+      written as, for example, CSQ:IMPACT. <br>
+    <em>This keyword was added in Jalview 2.11</em></li>
+
+    <li><em>mincolor</em> and <em>maxcolor</em><br> Colour
+      triplets specified as hexadecimal or comma separated values (may
+      be left blank for a <em>label</em> style colourscheme, but
+      remember to specify the remaining fields)</li>
+
+    <li><em>absolute</em><br> An optional switch indicating
+      that the <em>minvalue</em> and <em>maxvalue</em> parameters should
+      be left as is, rather than rescaled according to the range of
+      scores for this feature type.<br /> <em>This also enables
+        the 'Threshold is Min/Max' option for this type's feature
+        shading style dialog.</em></li>
+
+    <li><em>minvalue</em> and <em>maxvalue</em><br> Minimum
+      and maximum values defining the range of scores for which the
+      colour range will be defined over.<br>If minvalue is greater
+      than maxvalue then the linear mapping will have negative gradient.</li>
+
+    <li><em>novalue</em> <br> Specifies the colour to use if
+      colouring by attribute, when the attribute is absent. Valid
+      options are <em>novaluemin, novaluemax, novaluenone</em>, to use
+      mincolor, maxcolor, or no colour. <br>If not specified this
+      will default to novaluemin.</li>
+
+    <li><em>thresholdtype</em><br> Either &quot;none&quot;,
+      &quot;below&quot;, or &quot;above&quot;. <em>below</em> and <em>above</em>
+      require an additional <em>threshold value</em> which is used to
+      control the display of features with a score either below or above
+      the value.</li>
   </ul>
-  </p>
 
   <p>
-    <strong>Feature Filters</strong>
+    <strong><a name="filterdefs">Feature Filters</a></strong>
   </p>
   <p>This section is optional, and allows one or more filters to be defined for each feature type.
      <br>Only features that satisfy the filter conditions will be displayed.
   </p>
 
   <p>
-    <strong>Feature Instances</strong>
+    <strong><a name="featuredef">Feature Definitions</a></strong>
   </p>
 
-  <p>The remaining lines in the file are the sequence annotation
-    definitions, where the now defined features are attached to regions
-    on particular sequences. Each feature can optionally include some
-    descriptive text which is displayed in a tooltip when the mouse is
-    near the feature on that sequence (and may also be used to generate
-    a colour for the feature).</p>
+  <p>The remaining lines in the file are sequence feature data.
+    Features are either non-positional - attached to a whole sequence
+    (as specified by its ID), or positional, so attached to a specific
+    range on a sequence. In addition to a type, features can also
+    include descriptive text and a score, and depending on the format
+    used, many additional attributes.</p>
 
+  <em><a name="gff">Importing Generalised Feature Format (GFF) feature data</a></em>
   <p>
-    If your sequence annotation is already available in <a href="http://gmod.org/wiki/GFF2">GFF2</a> (http://gmod.org/wiki/GFF2) or
-    <a href="https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md">GFF3</a> 
-    (http://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md) format, 
-    then you can leave it as is, after first adding a line containing only
-    'GFF' after any Jalview feature colour definitions (<em>this
-    mixed format capability was added in Jalview 2.6</em>). Alternately,
-    you can use Jalview's own sequence feature annotation format, which
-    additionally allows HTML and URLs to be directly attached to each
-    piece of annotation.
+    Jalview has its own tabular format (described below) for describing
+    sequence features, which allows HTML descriptions (including URLs)
+    to be defined for each feature. However, sequence feature
+    definitions can also be provided in <a
+      href="http://gmod.org/wiki/GFF2">GFF2</a>
+    (http://gmod.org/wiki/GFF2) or <a
+      href="https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md">GFF3</a>
+    (http://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md)
+    format. To do this, a line containing only 'GFF' should precede any
+    GFF data (<em>this mixed format capability was added in Jalview
+      2.6</em>).
   </p>
 
   <p>
-    <strong>Jalview's sequence feature annotation format</strong>
+    <em>Jalview's sequence feature format</em>
   </p>
   <p>Each feature is specified as a tab-separated series of columns
     as defined below:
index 94180a6..ef6cb4f 100755 (executable)
     <strong>Jalview Project Archives</strong>
   </p>
 
-  <p>These are java archives of an XML file containing alignments,
-    trees and Jalview display information. A data exchange standard is
-    currently being developed, so there is no stable schema yet, but
-    Jalview web services will soon make use of the same interchange
-    format.</p>
+  <p>These are Zip archives of an XML file containing alignments,
+    trees, Principal Component Analyses (since 2.11.0), 3D structures,
+    and display information for Jalview, VARNA, Jmol and UCSF Chimera.
+    XML documents conform to a schema, and changes to the format are
+    made to ensure future versions of Jalview will be able to read old
+    Jalview project files.</p>
   <p>
-    For those who want to know...<br> Jalview uses java classes
-    automatically created using <a href="http://www.castor.org">Castor</a>.
-    Jalview 2.08 uses descriptor classes which significantly increase
-    the speed of marshalling / unmarshalling java objects into XML.
-    Files created prior to Jalview 2.08 can still be read in, but they
-    will be saved in the new format.
+    <em>For those who want to know...</em><br> Jalview 2.11.0
+    onwards employ the JAX-B java to XML binding framework to read and
+    write Jalview project files. Earlier versions of Jalview employed <a
+      href="http://www.castor.org">Castor</a>. Jalview 2.08 used
+    descriptor classes which significantly increase the speed of
+    marshalling / unmarshalling java objects into XML. <br /> <br />
+    Files created prior to Jalview 2.08 can no longer be read by Jalview
+    2.11.0. If you need to import old project files, then please import
+    them to Jalview 2.10.5 (available from the Jalview version archive)
+    and save the project again to convert it to the new format.
   </p>
 </body>
 </html>
index 8c6b699..5fda2df 100755 (executable)
     overview that are hidden in the alignment.
   </p>
   <p>
-    <em>Gap Colour</em> - The default colour scheme for a new alignment
-    window. If the chosen option is &quot;User Defined&quot; then the
-    last User Defined Colour loaded or saved via the User Defined
-    Colours panel will be loaded.
-  </p>
-  <p>
     <a name="structure"><strong>&quot;Structure&quot;
         Preferences tab</strong></a><em> added in Jalview 2.8.2</em>
   </p>
     here, by entering the full path to the Chimera executable program.
     Double-click this field to open a file chooser dialog.
   <p>
+  <p>
+    <em>PDB Fields shown in Search and Structure Summaries</em> - ticks
+    in this table indicate fields shown by default when browsing results
+    of a free text search via the PDB sequence fetcher, or 3D structures
+    offered by the 3D Structure Chooser.<p>
+  <p>
     <a name="connections"><strong>&quot;Connections&quot;
         Preferences tab</strong></a>
   </p>
       statement</a> for more information.
   </p>
   <p>
+  <a name="backups"><strong>The &quot;Backups&quot; Preferences Tab</strong></a>
+  </p>
+  <p>Since Jalview 2.11.0, overwriting an existing file when saving
+    or exporting data will by default trigger a backup file to be
+    created. Several options are provided to control how backup files
+    are named, and how many old versions will be kept.</p>
+    <p>
+    <em>Schemes</em> - select from three default schemes <em>Single Backup</em>, <em>Keep All Versions</em>, and <em>Rolled Backup Files</em>, or choose <em>Custom</em> to enable a previously defined custom scheme.
+    </p><p>
+    <em>Custom</em> - Check this box to adjust the parameters of the currently selected scheme. Once <em>OK</em> is selected these parameters will be saved as the <em>Custom</em> scheme in your user preferences. To revert changes hit <em>Cancel</em>. 
+    </p>
+    <p><em>Scheme Examples</em> - shows how backup files will appear according to the currently selected scheme and parameters. 
+    </p>
+    <p><em>Deleting Old Backup Files</em> - these settings control how many backups are kept.</p>
+    <p><em>Backup filename strategy</em> - specify the naming convention for numbered backups and how they are ordered.</p> 
+  <p>
     <a name="links"><strong>The &quot;Links&quot; Preferences
         tab</strong></a>
   </p>
     loaded onto the alignment will automatically sort the alignment.
   </p>
   <p>&nbsp;</p>
+  <em>Web Services Preferences</em> - documentation for this tab is
+  given in the
+  <a href="../webServices/webServicesPrefs.html">Web Services
+    Preferences section</a>.
   <p>&nbsp;</p>
 </body>
 </html>
index 9437a60..e583398 100755 (executable)
     </center>
   </h2>
   <p>
-    Jalview sometimes runs out of memory. This is because of the way
-    that Java runs on a computer - what is actually run is a program
-    called a virtual machine (the JVM) which executes the java
-    instructions. The JVM has limits on the memory that can be allocated
-    to the java program - and you might need to increase them if you are
-    working with particularly large datasets.<br> If Jalview has
-    not explicitly told you that it has run out of memory, then a common
-    sign is that a function that normally works seems to have no effect
-    when working with a larger set of sequences (this might include open
-    dialog boxes for saving PNG files, or when interpreting the result
-    of a web service calculation).
+    When launched as an Application, Jalview automatically tries to
+    maximise the amount of memory allocated to it, but sometimes it may
+    run out of memory. This is because of the way that Java runs on a
+    computer - what is actually run is a program called a virtual
+    machine (the JVM) which executes the java instructions. The JVM has
+    limits on the memory that can be allocated to the java program - and
+    you might need to increase them if you are working with particularly
+    large datasets.<br> If Jalview has not explicitly told you that
+    it has run out of memory, then a common sign is that a function that
+    normally works seems to have no effect when working with a larger
+    set of sequences (this might include open dialog boxes for saving
+    PNG files, or when interpreting the result of a web service
+    calculation).
   </p>
   <p>
     <em>Jalview Memory Usage Monitor</em>: If you are concerned about
     window's background.
   </p>
   <p>
-    <em>Increasing the memory available to Jalview</em><br> The way
-    you increase the memory settings for the JVM depends on which
-    installation of Jalview you use:
-  </p>
-  <ul>
-    <li><em><font size="3">Web Start Version</font></em>
-      <p>
-        JavaWS sets the JVM parameters through special tags in the JNLP
-        file. You can obtain a JNLP file with modified memory settings
-        from our service with the following link (replace 2G with
-        desired memory in G or M):<br /> <a
-          href="http://www.jalview.org/services/launchApp?jvm-max-heap=2G">http://www.jalview.org/services/launchApp?jvm-max-heap=2G</a>
-      </p>
-      <p>
-        Alternatively, if you want to create your own JNLP file then
-        please download the latest JNLP file from <a
-          href="http://www.jalview.org/webstart/jalview.jnlp">http://www.jalview.org/webstart/jalview.jnlp</a>
-        and modify the max-heap-size parameter for the j2se tag in the
-        &lt;resources&gt; element. e.g.
-      <pre>
-&lt;j2se version="1.7+" initial-heap-size="500M" max-heap-size="1000M"/&gt;
-</pre> In both cases, you should save your new jnlp file somewhere and then
-      either point your web browser at the file's url, launch it from
-      your file browser, or from a terminal window run javaws (located
-      in your Java installation's bin directory) with the file location
-      as its argument. The file's url is something like :<br> <pre>
-file://&lt;full path to file&gt;
-</pre> If Jalview doesn't start up, see <a href="#memsetting">below</a>.
-      You'll have to edit the above settings in the JNLP file using a
-      text editor, save it, and try starting Jalview with it once more.
-      </p></li>
-    <li><em><font size="3">Install Anywhere version</font></em>
-      <p>You need to change the InstallAnywhere configuration
-        settings for the application. These are found in different
-        places depending upon which operating system you have :
-      <ul>
-        <li><em>Unix/Windows</em>
-          <p>Take a look inside the Jalview program installation
-            directory (this might be in C:\Program Files\Jalview on
-            windows). You should find a file called 'Jalview.lax' in it
-            - make a backup, and then add the following lines to the end
-            of the original file :
-          <pre>
-lax.nl.java.option.java.heap.size.max=1000m
-lax.nl.java.option.java.heap.size.initial=500m
-</pre> Case and (lack of) spaces are important here! Do not add any spaces
-          after the m in each line, and do not put any spaces before
-          'lax'.<br> Also there MUST be a carriage return after the
-          final line.
-          <p></p></li>
-        <li><em>Mac OSX</em>
-          <p>
-            The lines you need to change are in the <em>Info.plist</em>
-            file inside the <em>Jalview.app/Contents</em> directory
-            (which is where the installAnywhere installation was made) :
-
-          
-          <pre>
-&lt;key&ht;VMOptions&lt;/key&ht;
-&lt;array&gt;
-! &lt;string&gt;-Xms2M&lt;/string&gt;
-! &lt;string&gt;-Xmx64M&lt;/string&gt;
-&lt;/array&gt;
-</pre>Exchange the above two string tags for : <pre>
-&lt;string&gt;-Xms500M&lt;/string&gt;
-&lt;string&gt;-Xmx1000M&lt;/string&gt;
-</pre>
-          <p></p></li>
-      </ul>
-    <li><font size="3"><em>In all cases</em></font><br> Save
-      the file and try to start Jalview in the normal way. If it doesn't
-      start, see below...</li>
-  </ul>
-  <p>
-    <em>Please Note:</em> We do modify the default memory settings in
-    Jalview from time to time, so you may find different numbers to
-    those shown in the examples above.
-  </p>
-  <font size="3"><em>Jalview doesn't start... What do the
-      memory settings mean ?<a name="memsetting"></a>
-  </em></font>
-  <p>The 1000m value corresponds to the maximum number of megabytes
-    of space that java objects can occupy. The 500m is the initial heap
-    size that java will run in - increasing this can speed up memory
-    allocation if you know you will need 500 meg of memory to begin with
-    (ie it should speed up loading large alignments).</p>
-  <p>If, after setting the initial and maximum heap size to some
-    large value, you cannot actually start Jalview, then the max and
-    initial sizes are too big for your machine (there seems to be a
-    physical limit related to physical RAM - email the usual address to
-    enlighten us if you know better!). Our experiments found 1000m to be
-    the biggest setting that could be used on a 1GB machine. Just try
-    reducing the sizes until Jalview starts up properly!</p>
-  <p>
-    We increased the default memory in Jalview 2.10.5 to 1G. To launch
-    Jalview with the pre 2.10.5 default memory allocation, use the <a
-      href="http://www.jalview.org/webstart/jalview_256MB.jnlp">Jalview
-      256MB JNLP</a>.
-  </p>
-  <p>&nbsp;</p>
+    <em>Increasing the memory available to Jalview</em><br>
+    Since Jalview 2.11, the program automatically configures the JVM memory settings to set the maximum memory available to Jalview to be 90% of physical memory. 
+      <p>&nbsp;</p>
 </body>
 </html>
index d08f713..8862955 100755 (executable)
@@ -73,7 +73,7 @@
         parsed into sequence associated annotation which can then be
         used to sort the alignment via the Sort by&#8594;Score menu.
     </em> <br></li>
-    <li><strong>Translate as cDNA</strong><br> <em>This
+    <li><a name="transcdna"><strong>Translate as cDNA</strong></a><br> <em>This
         option is visible for nucleotide alignments. Selecting this
         option shows the DNA's calculated protein product in a new <a
         href="../features/splitView.html">split frame</a> window. Note
index d716e33..49fbec3 100755 (executable)
         <!--         <li><strong>Enable Experimental Features</strong> <em>Enable or disable <a href="../whatsNew.html#experimental">features still under development</a> in Jalview's user interface. This setting is remembered in your preferences.</em> -->
 
       </ul></li>
-    <li><strong>Vamsas</strong> <em>For more details, read the
-        <a href="../vamsas/index.html">Jalview VAMSAS documentation</a>.<br />
-        When no session is active, the menu provides options for
-        initiating a new VAMSAS session:
-    </em>
-      <ul>
-        <li><strong>Connect to<br /></strong> <em>Connect to
-            one of the existing sessions available.</em></li>
-        <li><strong>New VAMSAS session<br /></strong> <em>Initiates
-            a new local VAMSAS session.</em></li>
-        <li><strong>Load VAMSAS session...<br /></strong> <em>Opens
-            a file browser allowing you to choose a VAMSAS document to
-            import into a new local session.</em></li>
-      </ul> <em>When Jalview is joined to a VAMSAS session, the menu
-        contains the following:</em>
-      <ul>
-        <li><strong>Session Update<br /></strong> <em>Sends
-            alignment data in the Jalview desktop to the VAMSAS session.</em></li>
-        <li><strong>Save VAMSAS Session...<br /></strong> <em>Saves
-            the current session to a VAMSAS document archive.</em></li>
-        <li><strong>Stop VAMSAS Session<br /></strong> <em>Disconnects
-            from the current session. You may be asked if you want to
-            save the current session's data if no other VAMSAS clients
-            are connected.</em></li>
-      </ul></li>
     <li><strong>Help </strong>
       <ul>
         <li><strong>About<br>
index 37ae169..9ad61b5 100644 (file)
@@ -40,9 +40,9 @@
       via the browser when downloading the application, or when the
       Jalview Desktop user interface is launched.<br> <br>
       <ul>
-        <li><i>The JNLP file at
-            www.jalview.org/webstart/jalview.jnlp is retrieved to
-            determine if you are running the latest version of Jalview.</i></li>
+        <li><i>The Jalview Getdown Launcher</i> (Since 2.11.0) examines release
+          channels every time Jalview launches to determine if a new
+          release is available.</li>
         <li><i>The questionnaire web service at
             www.jalview.org/cgi-bin/questionnaire.pl is checked and a
             unique cookie for the current questionnaire is stored in the
diff --git a/help/help/html/vamsas/index.html b/help/help/html/vamsas/index.html
deleted file mode 100644 (file)
index 72a336a..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-<html>
-<!--
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ 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>VAMSAS Interoperation</title>
-</head>
-<body>
-  <p>
-    <strong>VAMSAS Interoperation</strong>
-  </p>
-  <p>
-    Jalview can interact with other applications using &quot;the <strong>VAMSAS
-      Interoperation framework</strong>&quot; which is an experimental model for
-    interoperation between bioinformatics applications (<strong>V</strong>isualization
-    and <strong>A</strong>nalysis of <strong>Molecular</strong> <strong>S</strong>equences,
-    <strong>Alignements</strong> and <strong>S</strong>tructures).
-    Currently, the only other VAMSAS enabled application is <a
-      href="http://www.topali.org">TOPALi</a> - a user friendly
-    program for phylogenetics and evolutionary analysis.
-  <p>
-    VAMSAS enabled applications access a shared bioinformatics dataset
-    containing sequences, alignments, annotation and trees, which can be
-    represented by an XML document analogous to a <a
-      href="../features/jalarchive.html">Jalview Project
-      Archive</a>.
-  </p>
-  <br>
-  <strong>Connecting to a VAMSAS session</strong>
-  <br> The VAMSAS functionality in Jalview is accessed through the
-  Desktop's
-  <strong>Vamsas</strong> menu. The options available in this menu
-  depend on whether the application is currently interacting with a
-  VAMSAS dataset in a
-  <strong>VAMSAS session</strong>. When the application is not connected
-  to a session is active, the menu options are as follows:
-  <br>
-  <ul>
-    <li><em>Connect to an existing session</em><br> If
-      visible, this submenu contains a list of existing sessions that
-      the VAMSAS framework has discovered on your computer. <br>
-      Choose one to connect to it.</li>
-    <li><em>New VAMSAS Session</em><br> This option will
-      create a new session on your computer.</li>
-    <li><em>Load VAMSAS Session...</em><br> This option will
-      open a file browser window allowing you to select a VAMSAS session
-      archive from which a new session will be created.<br /> <em>New
-        in 2.5:</em>Sessions created from an imported document inherit the
-      file or URL for the document.</li>
-
-  </ul>
-  <br>
-  <strong>VAMSAS and Firewalls</strong>: VAMSAS uses sockets to
-  communicate between different programs. This means that after starting
-  a session, your firewall software may ask you whether to allow the
-  java executable access to the internet (port 53782). If you do not
-  allow this, messages will not be exchanged with other VAMSAS
-  applications.
-  </br>
-  <br> Once you have successfully connected to a VAMSAS session,
-  any data made available by other VAMSAS applications will be
-  automatically imported into Jalview. However, in order to share the
-  data in Jalview with other VAMSAS applications, you must manually
-  select the
-  <strong>Vamsas&#8594;&quot;Session Update&quot;</strong> entry that is
-  visible when a session is active. Selecting this option will update
-  the VAMSAS session document, with the data loaded into Jalview. Any
-  new alignments, trees and annotation will be written to the session,
-  in addition to any edits you have made to data originally stored in
-  the document.
-  <br>
-  <strong>Saving the current session</strong>
-  <br> You can save the current session as a VAMSAS Session archive
-  using the
-  <strong>Vamsas&#8594;&quot;Session Update&quot;</strong>. The file
-  contains a snapshot of the current VAMSAS session, including data from
-  any other applications connected to the session.
-  <strong>Leaving a VAMSAS session</strong>
-  <br> A session can be disconnected from at any time using the
-  <strong>Vamsas&#8594;&quot;Stop Session&quot;</strong> option.
-  Selecting this option will only disconnect Jalview from the session -
-  any other applications will remain connected to the session. If
-  Jalview is the only application connected to the session and you have
-  not yet saved the VAMSAS session then you will be prompted with an
-  optional 'Save VAMSAS session...' dialog box, allowing the session to
-  be saved and returned to at a later date.
-  <br>
-  <strong>VAMSAS Session Persistence</strong>
-  <br> VAMSAS sessions are persistent - this means that they exist
-  independently of any VAMSAS applications that are connected to them.
-  This means that if something goes wrong with a VAMSAS application and
-  it crashes or otherwise fails, the VAMSAS session it is connected to
-  will (hopefully) be unaffected. For instance, if Jalview is killed or
-  crashes whilst it is still connected to a session, that session can be
-  recovered in a new Jalview instance using the
-  <strong>Vamsas&#8594;&quot;Existing session&quot;</strong> sub menu.
-  </p>
-  <p>
-    <strong>A quick Demo</strong> <br> Jalview can talk to itself
-    through VAMSAS. Simply start two copies of the application, create a
-    new vamsas session in one, and connect to the new session in the
-    other. Then load your data into one of the applications, and use the
-    <strong>Vamsas&#8594;&quot;Session Update&quot;</strong> menu entry
-    to try to propagate the data to the other application. <br>
-  <table>
-    <tr>
-      <td>Data Sharing Capability</td>
-      <td>Jalview Version</td>
-    </tr>
-    <tr>
-      <td>Alignments, sequences and annotation, trees, database
-        references, cDNA/protein mappings.</td>
-      <td>2.4</td>
-    </tr>
-    <tr>
-      <td>Mouseover location across linked DNA, protein and
-        structure positions.</td>
-      <td>2.4</td>
-    </tr>
-    <tr>
-      <td>Jalview project settings (Multiple views, groups, tree
-        partitions, colouring, window positions)</td>
-      <td>2.5</td>
-    </tr>
-    <tr>
-      <td>Sequence region and column selections</td>
-      <td>2.5</td>
-    </tr>
-  </table>
-  <br />
-  <p>
-    Version 0.2 of the VAMSAS client library is used in <em>Jalview
-      2.5</em>. For further details about the VAMSAS framework, please check
-    the <a href="http://www.vamsas.ac.uk">VAMSAS website</a>. The VAMSAS
-    framework is implemented as a Java 1.4 Library and depends on a
-    number of other open source projects. Its source is released under
-    the LGPL license. &nbsp;
-  </p>
-</body>
-</html>
index f7df4c2..c5f4f75 100755 (executable)
 </head>
 <body>
   <p>
-    <strong>Jalview 2.11 - major and minor new features</strong>
+    <strong>Jalview 2.11 - new installer and new capabilities</strong>
   </p>
   <p>Jalview 2.11 introduces support for loading VCF files, and new
     filters and shading models for sequence features. Under the hood,
     we've addressed many bugs, and also made some important changes in
     the way the Jalview desktop is installed and launched.</p>
   <ul>
-    <li><em>VCF Support</em>. Proteins and genomic contigs with
-      chromosomal location annotation (such as protein coding genes
-      retrieved from Ensembl) can be annotated with variants imported
-      from a local VCF file.</li>
     <li><em>The Jalview Launcher and Update System</em><br />
       Jalview's new installation model means you'll only need to
       download and install Jalview once. After installation, Jalview
       will automatically keep itself up to date. The launcher also sets
       Jalview's memory automatically, so you'll never again have to
-      manually configure Java's memory settings.<br />We are grateful to
-      Install4J who provided us with a free license for their
-      installation system, and Jalview's over the air update system is
-      via Getdown.</li>
+      manually configure Java's memory settings.<br />We are grateful
+      to ej Technologies for providing a free open source project
+      license for <a
+      href="https://www.ej-technologies.com/products/install4j/overview.html">install4j</a>,
+      and also to <a
+      href="https://en.wikipedia.org/wiki/Three_Rings_Design">Three
+        Rings Design</a> for Jalview's new over the air update system: <a
+      href="https://github.com/threerings/getdown">Getdown</a>.</li>
+    <li><em>VCF Support</em>. Proteins and genomic contigs with
+      chromosomal location annotation (such as protein coding genes
+      retrieved from Ensembl) can be annotated with variants <a
+      href="features/importvcf.html">imported from a local VCF file</a>.</li>
+    <li><em>Feature filters and attribute colourschemes</em>. A new
+      <a href="features/featureschemes.html">Feature Display
+        Settings</a> dialog allows filters and feature attribute based
+      colourschemes to be constructed, and a new <em>filters</em> column
+      added to the <a href="features/featuresettings.html">Feature
+        Settings</a> dialog. Jalview's sequence feature datamodel has also
+      been further optimised, and is now maintained as a separate
+      library <em><a
+        href="https://github.com/bartongroup/IntervalStoreJ">IntervalStoreJ</a></em></li>
+    <li><em>Alternative tables for CDS translation</em>. The <a
+      href="menus/alwcalculate.html">Translate as CDNA</a> option now
+      offers alternative amino acid coding schemes.</li>
+    <li><em>PCA plots stored in Jalview Projects</em><br />The <a
+      href="calculations/pca.html">PCA viewer</a> user interface has
+      also been improved.</li>
+    <li><em>Backup files</em><br />Jalview will automatically
+      create backups when overwriting existing files, and - unlike with
+      earlier versions, should Jalview crash during a save, the original
+      file will be unaffected. The <a
+      href="features/preferences.html#backups">Backups tab</a> in
+      Jalview's preferences dialog allows the number and format of
+      backup filenames to be configured.</li>
   </ul>
   <p>
     The full list of bugs fixed in this release can be found in the <a
   <p>
     <strong>Jalview and Java 11, 13, and onwards</strong>
   </p>
-  <p>Java 11 provides improved performance and better OS
-    integration, so we now recommend users select our Java 11 Jalview
-    distribution rather than the legacy Java 8 build.</p>
-  <em>Known Issues - update for 211 </em>
-  <ul>
-    <li>OSX: The 'Open File' dialog for Jalview's Groovy Console
-      appears with the title 'Save As', and attempting to select a file
-      to load yields a FileNotFound exception.</br>The workaround is to first
-      clear the 'Untitled' filename before selecting the file you wish
-      to load.
-    </li>
-    <li>OSX: Links don't open when clicked on or via the Sequence
-      or Alignment window popup menu.</li>
-    <li>OSX (Webstart): Jalview only displays old news feed items</li>
-  </ul>
+  <p>The Jalview application comes bundled with its own independent
+    Java installation. Version 2.11.0 includes an AdoptOpenJDK Java 1.8
+    runtime which will be kept up to date. A Java 11 based installation
+    is available from the Jalview development pages.</p>
+  <p>
+    <em>Saying goodbye...</em><br>Long time Jalview users will notice
+    that this release no longer features the
+    <em>Vamsas</em> desktop menu, or a <em>Distributed
+      Annotation System (DAS)</em> tab on the feature settings dialog.
+    DAS is no longer supported by major bioinformatics databases, and we
+    decided that it was no longer feasible to maintain either JDAS or
+    the VAMSAS client library which rely on out-dated Java XML binding
+    technologies. 
+  </p>
+  <p>
+    <em>Next up...</em><br /> Keep an eye on the Jalview web site for
+    news about JalviewJS - the web based JavaScript implementation of
+    Jalview. Whilst Jalview 2.11 has been in development, we have also
+    been working with Prof. Bob Hanson (Jmol and JSmol) to enable
+    Jalview to run as both a Java application and a JavaScript app in a
+    web page. To find out more, see the <a
+      href="http://www.jalview.org/jalview-js/">JalviewJS web page</a>.
+  </p>
 </body>
 </html>
index 02e53ec..ca2a584 100755 (executable)
@@ -441,91 +441,6 @@ public class Jalview
       System.out.println("No files to open!");
       System.exit(1);
     }
-    String vamsasImport = aparser.getValue("vdoc");
-    String vamsasSession = aparser.getValue("vsess");
-    if (vamsasImport != null || vamsasSession != null)
-    {
-      if (desktop == null || headless)
-      {
-        System.out.println(
-                "Headless vamsas sessions not yet supported. Sorry.");
-        System.exit(1);
-      }
-      // if we have a file, start a new session and import it.
-      boolean inSession = false;
-      if (vamsasImport != null)
-      {
-        try
-        {
-          DataSourceType viprotocol = AppletFormatAdapter
-                  .checkProtocol(vamsasImport);
-          if (viprotocol == DataSourceType.FILE)
-          {
-            inSession = desktop.vamsasImport(new File(vamsasImport));
-          }
-          else if (viprotocol == DataSourceType.URL)
-          {
-            inSession = desktop.vamsasImport(new URL(vamsasImport));
-          }
-
-        } catch (Exception e)
-        {
-          System.err.println("Exeption when importing " + vamsasImport
-                  + " as a vamsas document.");
-          e.printStackTrace();
-        }
-        if (!inSession)
-        {
-          System.err.println("Failed to import " + vamsasImport
-                  + " as a vamsas document.");
-        }
-        else
-        {
-          System.out.println("Imported Successfully into new session "
-                  + desktop.getVamsasApplication().getCurrentSession());
-        }
-      }
-      if (vamsasSession != null)
-      {
-        if (vamsasImport != null)
-        {
-          // close the newly imported session and import the Jalview specific
-          // remnants into the new session later on.
-          desktop.vamsasStop_actionPerformed(null);
-        }
-        // now join the new session
-        try
-        {
-          if (desktop.joinVamsasSession(vamsasSession))
-          {
-            System.out.println(
-                    "Successfully joined vamsas session " + vamsasSession);
-          }
-          else
-          {
-            System.err.println("WARNING: Failed to join vamsas session "
-                    + vamsasSession);
-          }
-        } catch (Exception e)
-        {
-          System.err.println(
-                  "ERROR: Failed to join vamsas session " + vamsasSession);
-          e.printStackTrace();
-        }
-        if (vamsasImport != null)
-        {
-          // the Jalview specific remnants can now be imported into the new
-          // session at the user's leisure.
-          Cache.log.info(
-                  "Skipping Push for import of data into existing vamsas session."); // TODO:
-          // enable
-          // this
-          // when
-          // debugged
-          // desktop.getVamsasApplication().push_update();
-        }
-      }
-    }
     long progress = -1;
     // Finally, deal with the remaining input data.
     if (file != null)
@@ -761,7 +676,7 @@ public class Jalview
     // And the user
     // ////////////////////
 
-    if (!headless && file == null && vamsasImport == null
+    if (!headless && file == null
             && jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true))
     {
       file = jalview.bin.Cache.getDefault("STARTUP_FILE",
@@ -867,10 +782,6 @@ public class Jalview
                     // passed in correctly)"
                     + "-jabaws URL\tSpecify URL for Jabaws services (e.g. for a local installation).\n"
                     + "-fetchfrom nickname\tQuery nickname for features for the alignments and display them.\n"
-                    // +
-                    // "-vdoc vamsas-document\tImport vamsas document into new
-                    // session or join existing session with same URN\n"
-                    // + "-vses vamsas-session\tJoin session with given URN\n"
                     + "-groovy FILE\tExecute groovy script in FILE, after all other arguments have been processed (if FILE is the text 'STDIN' then the file will be read from STDIN)\n"
                     + "\n~Read documentation in Application or visit http://www.jalview.org for description of Features and Annotations file~\n\n");
   }
index cf91b9c..1ec6939 100644 (file)
@@ -77,9 +77,7 @@ import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.io.BufferedInputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.net.URL;
@@ -119,8 +117,6 @@ import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkEvent.EventType;
 import javax.swing.event.InternalFrameAdapter;
 import javax.swing.event.InternalFrameEvent;
-import javax.swing.event.MenuEvent;
-import javax.swing.event.MenuListener;
 
 import org.stackoverflowusers.file.WindowsShortcut;
 
@@ -346,7 +342,6 @@ public class Desktop extends jalview.jbgui.GDesktop
      * constructor.
      */
     instance = this;
-    doVamsasClientCheck();
 
     doConfigureStructurePrefs();
     setTitle("Jalview " + jalview.bin.Cache.getProperty("VERSION"));
@@ -675,46 +670,6 @@ public class Desktop extends jalview.jbgui.GDesktop
     return null;
   }
 
-  private void doVamsasClientCheck()
-  {
-    if (jalview.bin.Cache.vamsasJarsPresent())
-    {
-      setupVamsasDisconnectedGui();
-      VamsasMenu.setVisible(true);
-      final Desktop us = this;
-      VamsasMenu.addMenuListener(new MenuListener()
-      {
-        // this listener remembers when the menu was first selected, and
-        // doesn't rebuild the session list until it has been cleared and
-        // reselected again.
-        boolean refresh = true;
-
-        @Override
-        public void menuCanceled(MenuEvent e)
-        {
-          refresh = true;
-        }
-
-        @Override
-        public void menuDeselected(MenuEvent e)
-        {
-          refresh = true;
-        }
-
-        @Override
-        public void menuSelected(MenuEvent e)
-        {
-          if (refresh)
-          {
-            us.buildVamsasStMenu();
-            refresh = false;
-          }
-        }
-      });
-      vamsasStart.setVisible(true);
-    }
-  }
-
   void showPasteMenu(int x, int y)
   {
     JPopupMenu popup = new JPopupMenu();
@@ -1449,10 +1404,6 @@ public class Desktop extends jalview.jbgui.GDesktop
     }
     Jalview.setCurrentAlignFrame(null);
     System.out.println("ALL CLOSED");
-    if (v_client != null)
-    {
-      // TODO clear binding to vamsas document objects on close_all
-    }
 
     /*
      * reset state of singleton objects as appropriate (clear down session state
@@ -2042,364 +1993,6 @@ public class Desktop extends jalview.jbgui.GDesktop
 
   }
 
-  jalview.gui.VamsasApplication v_client = null;
-
-  @Override
-  public void vamsasImport_actionPerformed(ActionEvent e)
-  {
-    if (v_client == null)
-    {
-      // Load and try to start a session.
-      JalviewFileChooser chooser = new JalviewFileChooser(
-              jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
-
-      chooser.setFileView(new JalviewFileView());
-      chooser.setDialogTitle(
-              MessageManager.getString("label.open_saved_vamsas_session"));
-      chooser.setToolTipText(MessageManager.getString(
-              "label.select_vamsas_session_opened_as_new_vamsas_session"));
-
-      int value = chooser.showOpenDialog(this);
-
-      if (value == JalviewFileChooser.APPROVE_OPTION)
-      {
-        String fle = chooser.getSelectedFile().toString();
-        if (!vamsasImport(chooser.getSelectedFile()))
-        {
-          JvOptionPane.showInternalMessageDialog(Desktop.desktop,
-                  MessageManager.formatMessage(
-                          "label.couldnt_import_as_vamsas_session",
-                          new Object[]
-                          { fle }),
-                  MessageManager
-                          .getString("label.vamsas_document_import_failed"),
-                  JvOptionPane.ERROR_MESSAGE);
-        }
-      }
-    }
-    else
-    {
-      jalview.bin.Cache.log.error(
-              "Implementation error - load session from a running session is not supported.");
-    }
-  }
-
-  /**
-   * import file into a new vamsas session (uses jalview.gui.VamsasApplication)
-   * 
-   * @param file
-   * @return true if import was a success and a session was started.
-   */
-  public boolean vamsasImport(URL url)
-  {
-    // TODO: create progress bar
-    if (v_client != null)
-    {
-
-      jalview.bin.Cache.log.error(
-              "Implementation error - load session from a running session is not supported.");
-      return false;
-    }
-
-    try
-    {
-      // copy the URL content to a temporary local file
-      // TODO: be a bit cleverer here with nio (?!)
-      File file = File.createTempFile("vdocfromurl", ".vdj");
-      FileOutputStream fos = new FileOutputStream(file);
-      BufferedInputStream bis = new BufferedInputStream(url.openStream());
-      byte[] buffer = new byte[2048];
-      int ln;
-      while ((ln = bis.read(buffer)) > -1)
-      {
-        fos.write(buffer, 0, ln);
-      }
-      bis.close();
-      fos.close();
-      v_client = new jalview.gui.VamsasApplication(this, file,
-              url.toExternalForm());
-    } catch (Exception ex)
-    {
-      jalview.bin.Cache.log.error(
-              "Failed to create new vamsas session from contents of URL "
-                      + url,
-              ex);
-      return false;
-    }
-    setupVamsasConnectedGui();
-    v_client.initial_update(); // TODO: thread ?
-    return v_client.inSession();
-  }
-
-  /**
-   * import file into a new vamsas session (uses jalview.gui.VamsasApplication)
-   * 
-   * @param file
-   * @return true if import was a success and a session was started.
-   */
-  public boolean vamsasImport(File file)
-  {
-    if (v_client != null)
-    {
-
-      jalview.bin.Cache.log.error(
-              "Implementation error - load session from a running session is not supported.");
-      return false;
-    }
-
-    setProgressBar(MessageManager.formatMessage(
-            "status.importing_vamsas_session_from", new Object[]
-            { file.getName() }), file.hashCode());
-    try
-    {
-      v_client = new jalview.gui.VamsasApplication(this, file, null);
-    } catch (Exception ex)
-    {
-      setProgressBar(MessageManager.formatMessage(
-              "status.importing_vamsas_session_from", new Object[]
-              { file.getName() }), file.hashCode());
-      jalview.bin.Cache.log.error(
-              "New vamsas session from existing session file failed:", ex);
-      return false;
-    }
-    setupVamsasConnectedGui();
-    v_client.initial_update(); // TODO: thread ?
-    setProgressBar(MessageManager.formatMessage(
-            "status.importing_vamsas_session_from", new Object[]
-            { file.getName() }), file.hashCode());
-    return v_client.inSession();
-  }
-
-  public boolean joinVamsasSession(String mysesid)
-  {
-    if (v_client != null)
-    {
-      throw new Error(MessageManager
-              .getString("error.try_join_vamsas_session_another"));
-    }
-    if (mysesid == null)
-    {
-      throw new Error(
-              MessageManager.getString("error.invalid_vamsas_session_id"));
-    }
-    v_client = new VamsasApplication(this, mysesid);
-    setupVamsasConnectedGui();
-    v_client.initial_update();
-    return (v_client.inSession());
-  }
-
-  @Override
-  public void vamsasStart_actionPerformed(ActionEvent e)
-  {
-    if (v_client == null)
-    {
-      // Start a session.
-      // we just start a default session for moment.
-      /*
-       * JalviewFileChooser chooser = new JalviewFileChooser(jalview.bin.Cache.
-       * getProperty("LAST_DIRECTORY"));
-       * 
-       * chooser.setFileView(new JalviewFileView());
-       * chooser.setDialogTitle("Load Vamsas file");
-       * chooser.setToolTipText("Import");
-       * 
-       * int value = chooser.showOpenDialog(this);
-       * 
-       * if (value == JalviewFileChooser.APPROVE_OPTION) { v_client = new
-       * jalview.gui.VamsasApplication(this, chooser.getSelectedFile());
-       */
-      v_client = new VamsasApplication(this);
-      setupVamsasConnectedGui();
-      v_client.initial_update(); // TODO: thread ?
-    }
-    else
-    {
-      // store current data in session.
-      v_client.push_update(); // TODO: thread
-    }
-  }
-
-  protected void setupVamsasConnectedGui()
-  {
-    vamsasStart.setText(MessageManager.getString("label.session_update"));
-    vamsasSave.setVisible(true);
-    vamsasStop.setVisible(true);
-    vamsasImport.setVisible(false); // Document import to existing session is
-    // not possible for vamsas-client-1.0.
-  }
-
-  protected void setupVamsasDisconnectedGui()
-  {
-    vamsasSave.setVisible(false);
-    vamsasStop.setVisible(false);
-    vamsasImport.setVisible(true);
-    vamsasStart
-            .setText(MessageManager.getString("label.new_vamsas_session"));
-  }
-
-  @Override
-  public void vamsasStop_actionPerformed(ActionEvent e)
-  {
-    if (v_client != null)
-    {
-      v_client.end_session();
-      v_client = null;
-      setupVamsasDisconnectedGui();
-    }
-  }
-
-  protected void buildVamsasStMenu()
-  {
-    if (v_client == null)
-    {
-      String[] sess = null;
-      try
-      {
-        sess = VamsasApplication.getSessionList();
-      } catch (Exception e)
-      {
-        jalview.bin.Cache.log.warn("Problem getting current sessions list.",
-                e);
-        sess = null;
-      }
-      if (sess != null)
-      {
-        jalview.bin.Cache.log.debug(
-                "Got current sessions list: " + sess.length + " entries.");
-        VamsasStMenu.removeAll();
-        for (int i = 0; i < sess.length; i++)
-        {
-          JMenuItem sessit = new JMenuItem();
-          sessit.setText(sess[i]);
-          sessit.setToolTipText(MessageManager
-                  .formatMessage("label.connect_to_session", new Object[]
-                  { sess[i] }));
-          final Desktop dsktp = this;
-          final String mysesid = sess[i];
-          sessit.addActionListener(new ActionListener()
-          {
-
-            @Override
-            public void actionPerformed(ActionEvent e)
-            {
-              if (dsktp.v_client == null)
-              {
-                Thread rthr = new Thread(new Runnable()
-                {
-
-                  @Override
-                  public void run()
-                  {
-                    dsktp.v_client = new VamsasApplication(dsktp, mysesid);
-                    dsktp.setupVamsasConnectedGui();
-                    dsktp.v_client.initial_update();
-                  }
-
-                });
-                rthr.start();
-              }
-            };
-          });
-          VamsasStMenu.add(sessit);
-        }
-        // don't show an empty menu.
-        VamsasStMenu.setVisible(sess.length > 0);
-
-      }
-      else
-      {
-        jalview.bin.Cache.log.debug("No current vamsas sessions.");
-        VamsasStMenu.removeAll();
-        VamsasStMenu.setVisible(false);
-      }
-    }
-    else
-    {
-      // Not interested in the content. Just hide ourselves.
-      VamsasStMenu.setVisible(false);
-    }
-  }
-
-  @Override
-  public void vamsasSave_actionPerformed(ActionEvent e)
-  {
-    if (v_client != null)
-    {
-      // TODO: VAMSAS DOCUMENT EXTENSION is VDJ
-      JalviewFileChooser chooser = new JalviewFileChooser("vdj",
-              "Vamsas Document");
-
-      chooser.setFileView(new JalviewFileView());
-      chooser.setDialogTitle(MessageManager
-              .getString("label.save_vamsas_document_archive"));
-
-      int value = chooser.showSaveDialog(this);
-
-      if (value == JalviewFileChooser.APPROVE_OPTION)
-      {
-        java.io.File choice = chooser.getSelectedFile();
-        JPanel progpanel = addProgressPanel(MessageManager
-                .formatMessage("label.saving_vamsas_doc", new Object[]
-                { choice.getName() }));
-        Cache.setProperty("LAST_DIRECTORY", choice.getParent());
-        String warnmsg = null;
-        String warnttl = null;
-        try
-        {
-          v_client.vclient.storeDocument(choice);
-        } catch (Error ex)
-        {
-          warnttl = "Serious Problem saving Vamsas Document";
-          warnmsg = ex.toString();
-          jalview.bin.Cache.log
-                  .error("Error Whilst saving document to " + choice, ex);
-
-        } catch (Exception ex)
-        {
-          warnttl = "Problem saving Vamsas Document.";
-          warnmsg = ex.toString();
-          jalview.bin.Cache.log.warn(
-                  "Exception Whilst saving document to " + choice, ex);
-
-        }
-        removeProgressPanel(progpanel);
-        if (warnmsg != null)
-        {
-          JvOptionPane.showInternalMessageDialog(Desktop.desktop,
-
-                  warnmsg, warnttl, JvOptionPane.ERROR_MESSAGE);
-        }
-      }
-    }
-  }
-
-  JPanel vamUpdate = null;
-
-  /**
-   * hide vamsas user gui bits when a vamsas document event is being handled.
-   * 
-   * @param b
-   *          true to hide gui, false to reveal gui
-   */
-  public void setVamsasUpdate(boolean b)
-  {
-    Cache.log.debug("Setting gui for Vamsas update "
-            + (b ? "in progress" : "finished"));
-
-    if (vamUpdate != null)
-    {
-      this.removeProgressPanel(vamUpdate);
-    }
-    if (b)
-    {
-      vamUpdate = this.addProgressPanel(
-              MessageManager.getString("label.updating_vamsas_session"));
-    }
-    vamsasStart.setVisible(!b);
-    vamsasStop.setVisible(!b);
-    vamsasSave.setVisible(!b);
-  }
-
   public JInternalFrame[] getAllFrames()
   {
     return desktop.getAllFrames();
@@ -2902,7 +2495,8 @@ public class Desktop extends jalview.jbgui.GDesktop
 
   public VamsasApplication getVamsasApplication()
   {
-    return v_client;
+    // TODO: JAL-3311 remove remaining code from Jalview relating to VAMSAS
+    return null;
 
   }
 
index c094b1c..0848a4d 100644 (file)
@@ -688,7 +688,8 @@ public class VamsasApplication implements SelectionSource, VamsasSource
 
   public void disableGui(boolean b)
   {
-    Desktop.instance.setVamsasUpdate(b);
+    // JAL-3311 TODO: remove this class!
+    // Desktop.instance.setVamsasUpdate(b);
   }
 
   Hashtable _backup_vobj2jv;
index f30fa9b..0ef3f46 100755 (executable)
@@ -51,10 +51,6 @@ public class GDesktop extends JFrame
 
   JMenu HelpMenu = new JMenu();
 
-  protected JMenu VamsasMenu = new JMenu();
-
-  protected JMenu VamsasStMenu = new JMenu();
-
   JMenuItem inputLocalFileMenuItem = new JMenuItem();
 
   JMenuItem inputURLMenuItem = new JMenuItem();
@@ -81,16 +77,8 @@ public class GDesktop extends JFrame
 
   JMenu inputMenu = new JMenu();
 
-  protected JMenuItem vamsasStart = new JMenuItem();
-
-  protected JMenuItem vamsasImport = new JMenuItem();
-
-  protected JMenuItem vamsasSave = new JMenuItem();
-
   JMenuItem inputSequence = new JMenuItem();
 
-  protected JMenuItem vamsasStop = new JMenuItem();
-
   JMenuItem closeAll = new JMenuItem();
 
   JMenuItem raiseRelated = new JMenuItem();
@@ -129,7 +117,6 @@ public class GDesktop extends JFrame
     {
       FileMenu.setMnemonic('F');
       inputLocalFileMenuItem.setMnemonic('L');
-      VamsasMenu.setMnemonic('V');
       inputURLMenuItem.setMnemonic('U');
       inputTextboxMenuItem.setMnemonic('C');
       quit.setMnemonic('Q');
@@ -150,12 +137,6 @@ public class GDesktop extends JFrame
 
     FileMenu.setText(MessageManager.getString("action.file"));
     HelpMenu.setText(MessageManager.getString("action.help"));
-    VamsasMenu.setText("Vamsas");
-    VamsasMenu.setToolTipText(MessageManager
-            .getString("label.share_data_vamsas_applications"));
-    VamsasStMenu.setText(MessageManager.getString("label.connect_to"));
-    VamsasStMenu.setToolTipText(
-            MessageManager.getString("label.join_existing_vamsas_session"));
     inputLocalFileMenuItem
             .setText(MessageManager.getString("label.load_tree_from_file"));
     inputLocalFileMenuItem.setAccelerator(
@@ -268,39 +249,6 @@ public class GDesktop extends JFrame
       }
     });
     inputMenu.setText(MessageManager.getString("label.input_alignment"));
-    vamsasStart
-            .setText(MessageManager.getString("label.new_vamsas_session"));
-    vamsasStart.setVisible(false);
-    vamsasStart.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        vamsasStart_actionPerformed(e);
-      }
-    });
-    vamsasImport.setText(
-            MessageManager.getString("action.load_vamsas_session"));
-    vamsasImport.setVisible(false);
-    vamsasImport.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        vamsasImport_actionPerformed(e);
-      }
-    });
-    vamsasSave.setText(
-            MessageManager.getString("action.save_vamsas_session"));
-    vamsasSave.setVisible(false);
-    vamsasSave.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        vamsasSave_actionPerformed(e);
-      }
-    });
     inputSequence
             .setText(MessageManager.getString("action.fetch_sequences"));
     inputSequence.addActionListener(new ActionListener()
@@ -311,17 +259,6 @@ public class GDesktop extends JFrame
         inputSequence_actionPerformed(e);
       }
     });
-    vamsasStop
-            .setText(MessageManager.getString("label.stop_vamsas_session"));
-    vamsasStop.setVisible(false);
-    vamsasStop.addActionListener(new ActionListener()
-    {
-      @Override
-      public void actionPerformed(ActionEvent e)
-      {
-        vamsasStop_actionPerformed(e);
-      }
-    });
     closeAll.setText(MessageManager.getString("action.close_all"));
     closeAll.addActionListener(new ActionListener()
     {
@@ -428,8 +365,6 @@ public class GDesktop extends JFrame
     
     desktopMenubar.add(FileMenu);
     desktopMenubar.add(toolsMenu);
-    VamsasMenu.setVisible(false);
-    desktopMenubar.add(VamsasMenu);
     desktopMenubar.add(HelpMenu);
     desktopMenubar.add(windowMenu);
     FileMenu.add(inputMenu);
@@ -442,12 +377,6 @@ public class GDesktop extends JFrame
     FileMenu.add(quit);
     HelpMenu.add(aboutMenuItem);
     HelpMenu.add(documentationMenuItem);
-    VamsasMenu.add(VamsasStMenu);
-    VamsasStMenu.setVisible(false);
-    VamsasMenu.add(vamsasStart);
-    VamsasMenu.add(vamsasImport);
-    VamsasMenu.add(vamsasSave);
-    VamsasMenu.add(vamsasStop);
     if (!Platform.isAMac() || specversion < 11)
     {
       toolsMenu.add(preferences);
index 60bf1b7..9f98ffa 100755 (executable)
@@ -629,6 +629,8 @@ public class GPreferences extends JPanel
                     GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
                     new Insets(0, 2, 5, 5), 70, 1));
 
+    versioncheck.setVisible(false);
+
     // Add padding so the panel doesn't look ridiculous
     JPanel spacePanel = new JPanel();
     connectTab.add(spacePanel,