JAL-629 Updated help docs and fixed structure image subvalues
authorBen Soares <b.soares@dundee.ac.uk>
Tue, 23 May 2023 22:24:30 +0000 (23:24 +0100)
committerBen Soares <b.soares@dundee.ac.uk>
Tue, 23 May 2023 22:24:30 +0000 (23:24 +0100)
help/help/help.jhm
help/help/helpTOC.xml
help/help/html/features/clarguments-advanced.html
help/help/html/features/clarguments-argfiles.html
help/help/html/features/clarguments-basic.html
help/help/html/features/clarguments-intro.html [deleted file]
help/help/html/features/clarguments-old.html
help/help/html/features/clarguments-reference.html [new file with mode: 0644]
help/help/html/features/clarguments.html
src/jalview/bin/Commands.java

index 0c39a52..a2094f7 100755 (executable)
    <mapID target="commandline" url="html/features/commandline.html"/>
    <mapID target="jalviewcltool" url="html/features/commandline.html#script"/>
    <mapID target="clarguments" url="html/features/clarguments.html"/>
-   <mapID target="clarguments-intro" url="html/features/clarguments-intro.html"/>
    <mapID target="clarguments-basic" url="html/features/clarguments-basic.html"/>
    <mapID target="clarguments-advanced" url="html/features/clarguments-advanced.html"/>
    <mapID target="clarguments-argfiles" url="html/features/clarguments-argfiles.html"/>
+   <mapID target="clarguments-reference" url="html/features/clarguments-reference.html"/>
    <mapID target="clarguments-old" url="html/features/clarguments-old.html"/>
    <mapID target="jvlfiles" url="html/features/jvlfiles.html"/>
    <mapID target="io" url="html/io/index.html"/>
index f6bb7c7..d7ff3d4 100755 (executable)
                        <tocitem text="Groovy Features Counter example" target="groovy.featurescounter"/>
                </tocitem>
                <tocitem text="Command Line" target="commandline" expand="false">
-                       <tocitem text="Command Line: summary" target="clarguments" />
-                       <tocitem text="Command Line: introduction" target="clarguments-intro" />
+                       <tocitem text="Command Line: introduction and reference" target="clarguments" />
                        <tocitem text="Command Line: basic usage" target="clarguments-basic" />
                        <tocitem text="Command Line: advanced usage" target="clarguments-advanced" />
                        <tocitem text="Command Line: argument files" target="clarguments-argfiles" />
+                       <tocitem text="Command Line: reference" target="clarguments-reference" />
                        <tocitem text="Command Line: old command line arguments" target="clarguments-old" />
                </tocitem>
                <tocitem text="Memory Settings" target="memory" expand="false"/>
index db818d8..a235727 100644 (file)
   <h1>Command Line: advanced usage</h1>
 
   <p>
-  <a href="clarguments.html">Command Line: summary</a>
-  <br/>
-  <a href="clarguments-intro.html">Command Line: introduction</a>
+  <a href="clarguments.html">Command Line: introduction</a>
   <br/>
   <a href="clarguments-basic.html">Command Line: basic usage</a>
   <br/>
   Command Line: advanced usage
   <br/>
   <a href="clarguments-argfiles.html">Command Line: argument files</a>
+  <br/>
+  <a href="clarguments-reference.html">Command Line: reference</a>
   </p>
 
   <hr/>
   <hr/>
   Continue to <a href="clarguments-argfiles.html">Command Line: argument files</a>.
   <br/>
-  Return to <a href="clarguments.html">Command Line: summary</a>.
-
+  <a href="clarguments-reference.html">Command Line: reference</a>
 
 </body>
 </html>
index f4741ee..5c71d16 100644 (file)
   <h1>Command Line: argument files</h1>
 
   <p>
-  <a href="clarguments.html">Command Line: summary</a>
-  <br/>
-  <a href="clarguments-intro.html">Command Line: introduction</a>
+  <a href="clarguments.html">Command Line: introduction</a>
   <br/>
   <a href="clarguments-basic.html">Command Line: basic usage</a>
   <br/>
   <a href="clarguments-advanced.html">Command Line: advanced usage</a>
   <br/>
-  Command Line: argument files
+  <a href="clarguments-argfiles.html">Command Line: argument files</a>
+  <br/>
+  <a href="clarguments-reference.html">Command Line: reference</a>
   </p>
 
   <hr/>
@@ -58,7 +58,7 @@
   <br/>
   Because the argument file is read by the application and not read by the shell, you do not need to escape any values -- all spaces will be read as part of the value until the end of the line.
   <br/>
-  You can add comments to a line by starting the line with an octothorpe (hash, pound-sign '#').
+  You can add comments to a line by starting the line with an hash (octothorpe, pound-sign '#').
   <br/>
   e.g.
   <table border="1">
   </p>
 
   <p>
-  If a "loop" of argument files is detected then Jalview will refuse to play (which is a Good Thing).
+  If an argument file that has already been read is found in a firther argument file, then Jalview will exit with a warning.  This is to avoid loops of argument files.
   </p>
 
 
   <h2><a name="evenmoresubstitutions"></a>Even more substitutions</h2>
 
   <p>
-  When adding values that can use substitutions within argument files, there are two additional substitutions that are made:
+  When adding values that can use substitutions within argument files, there are two additional substitutions that can be made:
   <br/>
   <code>{argfilebasename}</code> - replaced with the base of the filename of the argument file (i.e. without directory path or file extension).
   <br/>
   </p>
 
   <p>
-  Another amusing substitution you can make in argument files is the <code>{n}</code> substitution, combined with an <code>-npp</code> increment at the start (or end) of the argument file, which gives the potential of having multiple argument files with the exact same content, or even re-using the same argument file multiple times. e.g.
+  Another substitution you can make in argument files is the <code>{n}</code> substitution.  Combined with an <code>-npp</code> increment at the start (or end) of the argument file gives the potential to reuse an argument files in the same command but referring to different files, e.g.
 
   <table border="1">
   <tr><td>File <code>alignment.argfile</code></td></tr>
   <pre>
   jalview --argfile alignment.argfile --argfile alignment.argfile --headless
   </pre>
-  would be processed like
+  would be processed the same as
   <pre>
   jalview --open=alignment-0.fa --wrap --output=alignment-0.stk --close --open=alignment-1.fa --wrap --output=alignment-1.stk --close --headless
   </pre>
 
 
   <hr/>
-  Return to <a href="clarguments.html">Command Line: summary</a>.
+  <a href="clarguments-reference.html">Command Line: reference</a>
 
 
 </body>
index edee480..626fb8c 100644 (file)
   <h1>Command Line: basic usage</h1>
 
   <p>
-  <a href="clarguments.html">Command Line: summary</a>
-  <br/>
-  <a href="clarguments-intro.html">Command Line: introduction</a>
+  <a href="clarguments.html">Command Line: introduction</a>
   <br/>
   Command Line: basic usage
   <br/>
   <a href="clarguments-advanced.html">Command Line: advanced usage</a>
   <br/>
   <a href="clarguments-argfiles.html">Command Line: argument files</a>
+  <br/>
+  <a href="clarguments-reference.html">Command Line: reference</a>
   </p>
 
   <hr/>
   <hr/>
   Continue to <a href="clarguments-advanced.html">Command Line: advanced usage</a>.
   <br/>
-  Return to <a href="clarguments.html">Command Line: summary</a>.
-
+  <a href="clarguments-reference.html">Command Line: reference</a>
 
 </body>
 </html>
diff --git a/help/help/html/features/clarguments-intro.html b/help/help/html/features/clarguments-intro.html
deleted file mode 100644 (file)
index 6fddf0c..0000000
+++ /dev/null
@@ -1,88 +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.
- -->
-<title>Command Line: introduction</title>
-<body>
-
-  <h1>Command Line: introduction</h1>
-
-  <p>
-  <a href="clarguments.html">Command Line: summary</a>
-  <br/>
-  Command Line: introduction
-  <br/>
-  <a href="clarguments-basic.html">Command Line: basic usage</a>
-  <br/>
-  <a href="clarguments-advanced.html">Command Line: advanced usage</a>
-  <br/>
-  <a href="clarguments-argfiles.html">Command Line: argument files</a>
-  </p>
-
-  <hr/>
-
-  <p>
-  From version 2.11.3.0 Jalview processes a new set of command line arguments
-  which allow more powerful and flexible combinations of arguments, though can
-  also be used for very simple use cases too.
-  </p>
-
-  <p>
-  These new arguments are all accessed with a <code>--doubledash</code> form of
-  command line argument (with the one exception where simply opening one or more
-  files can be performed without any arguments other than the filenames).
-  </p>
-
-  <p>
-  The old command line arguments can still be used (see
-  <a href="clarguments-old.html">the old page on command line arguments</a>) so
-  existing scripts utilising them should not break.
-  <br/>
-  <strong>These are now deprecated and will be removed</strong> in a future version of Jalview.
-  </p>
-
-  <p>
-  However, you cannot mix old and new style arguments, so if you use any
-  <code>-singledash</code> arguments (with the exception of <code>-help</code> or <code>-h</code>), they will all be interpreted as
-  old style arguments with the new <code>--doubledash</code>
-  arguments being ignored.  If you have a script
-  that uses the old arguments without any dashes, and uses the bare-word
-  <code>open</code> then these will also be interpreted as old style arguments.
-  </p>
-  <p>
-  <strong>Warning!</strong> If you use command line arguments without any dashes and
-  <em>don't</em> use the bare-word argument <code>open</code> then all
-  your arguments will be interpreted as alignment files to be opened by the
-  new command line argument process!
-  </p>
-
-  <p>
-  To launch Jalview from the command line, see
-  <a href="commandline.html">running Jalview from the command line</a>.
-  </p>
-
-  <hr/>
-  Continue to <a href="clarguments-basic.html">Command Line: basic usage</a>.
-  <br/>
-  Return to <a href="clarguments.html">Command Line: summary</a>.
-
-
-</body>
-</html>
index 3d90a9e..8346401 100644 (file)
  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  -->
-<title>Jalview Command Line Arguments (pre 2.11.3.0)</title>
+<title>Jalview Command Line Arguments (pre 2.11.3.0) - DEPRECATED</title>
 <body>
   <p>
-    <strong>The Jalview Executable's Command Line Arguments (pre 2.11.3.0)</strong>
+    <strong>The Jalview Executable's Command Line Arguments (pre 2.11.3.0) - DEPRECATED</strong>
   </p>
 
   <table border="1">
diff --git a/help/help/html/features/clarguments-reference.html b/help/help/html/features/clarguments-reference.html
new file mode 100644 (file)
index 0000000..6d65033
--- /dev/null
@@ -0,0 +1,803 @@
+<html>
+<!--
+ * 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.
+ -->
+<title>Command Line: reference</title>
+<body>
+
+  <h1>Command Line: reference</h1>
+
+  <p>
+  <a href="clarguments.html">Command Line: introduction</a>
+  <br/>
+  <a href="clarguments-basic.html">Command Line: basic usage</a>
+  <br/>
+  <a href="clarguments-advanced.html">Command Line: advanced usage</a>
+  <br/>
+  <a href="clarguments-argfiles.html">Command Line: argument files</a>
+  <br/>
+  Command Line: reference
+  </p>
+
+  <hr/>
+
+  <ul>
+  <li><a href="#initialisingarguments">Initialising arguments</a></li>
+  <li><a href="#openinganalignment">Opening an alignment</a></li>
+  <li><a href="#adding3dstructure">Adding 3D structure</a></li>
+  <li><a href="#processingalignments">Processing alignments</a></li>
+  <li><a href="#outputtingalignmentfiles">Outputting alignment files</a></li>
+  <li><a href="#exportingimagefiles">Exporting image files</a></li>
+  <li><a href="#exporting3dstructureimagefiles">Exporting 3D structure image files</a></li>
+  <li><a href="#controllingflowofarguments">Controlling flow of arguments</a></li>
+  </ul>
+
+
+  <h2><a name="initialisingarguments"></a>Initialising arguments</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;help / -h</code>
+    </td>
+    <td>Display a help statement.</td>
+    </tr>
+
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;config</code></td><td>Help for arguments used to configure Jalview from startup</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;opening</code></td><td>Help for arguments used to open and format alignments</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;structure</code></td><td>Help for arguments used to add and format 3D structure data</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;process</code></td><td>Help for arguments used to process an alignment once opened</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;output</code></td><td>Help for arguments used to save data from a processed alignment</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;image</code></td><td>Help for arguments used to export an image of an alignment</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;structureimage</code></td><td>Help for arguments used to export an image of an structure</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;flow</code></td><td>Help for arguments that control processing of the other arguments</td></tr>
+    <tr valign="top"><td><code>&#8209;&#8209;help&#8209;all</code></td><td>Help for all arguments</td></tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;headless</code></td>
+    <td>Run Jalview in headless mode.  No GUI interface will be created and Jalview will quit after all arguments have been processed.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;jabaws&nbsp;<em>URL</em></code></td>
+    <td>Set a different URL to connect to a JABAWS server.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;news / &#8209;&#8209;nonews</code></td>
+    <td>Show (or don't show) the news feed.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;splash / &#8209;&#8209;nosplash</code></td>
+    <td>Show (or don't show) the About Jalview splash screen.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;questionnaire / &#8209;&#8209;noquestionnaire</code></td>
+    <td>Show (or don't show) the questionnaire if one is available.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;usagestats / &#8209;&#8209;nousagestats</code></td>
+    <td>Send (or don't send) initial launch usage stats. <em>Note: usage stats are useful for future funding for Jalview!</em></td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;webservicediscovery / &#8209;&#8209;nowebservicediscovery</code></td>
+    <td>Attempt (or don't attempt) to connect to JABAWS web services.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;props&nbsp;<em>filename</em></code></td>
+    <td>Use file <em>filename</em> as the preferences file <em>instead</em> of the usual <code>~/.jalview_properties</code> file.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;debug</code></td>
+    <td>Start Jalview in debug log level.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;quiet</code></td>
+    <td>Stop all output to STDOUT (after the Java Virtual Machine has started).  Use <code>&#8209;&#8209;quiet</code> a second time to stop all output to STDERR.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;initsubstitutions / &#8209;&#8209;noinitsubstitutions</code></td>
+    <td>Set <code>&#8209;&#8209;substitutions</code> to be initially enabled (or initially disabled).</td>
+    </tr>
+
+<!--
+    <tr valign="top">
+    <td><code>&#8209;&#8209;threads <em>NUMBER</em></code></td>
+    <td>When opening multiple alignment windows, set a limit of <em>NUMBER</em> alignments being processed at one time.  The default is 3.</td>
+-->
+
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;jvmmempc=<em>PERCENT</em></code></td>
+    <td>
+      Limit maximum heap size (memory) to <em>PERCENT</em>% of total physical memory detected.
+      This defaults to 90 if total physical memory can be detected.
+      <br/>
+      The equals sign ("=") separator must be used with no spaces.
+      <br/>
+      See <a href="../memory.html">Memory usage settings for Jalview</a> for more details.
+    </td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;jvmmemmax=<em>MAXMEMORY</em></code></td>
+    <td>
+      Limit maximum heap size (memory) to <em>MAXMEMORY</em>. <em>MAXMEMORY</em> can be specified in bytes, kilobytes(k), megabytes(m),
+      gigabytes(g) or if you're lucky enough, terabytes(t).
+      This defaults to 32g if total physical memory can be detected, or to 8g if total physical memory cannot be detected.
+      <br/>
+      The equals sign ("=") separator must be used with no spaces.
+      <br/>
+      See <a href="../memory.html">Memory usage settings for Jalview</a> for more details.
+    </td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="openinganalignment"></a>Opening an alignment</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;open&nbsp;<em>filename/URL ...</em></code></td>
+    <td>
+    Opens one or more alignment files <em>filename</em> or URLs <em>URL</em> in new alignment windows.
+    </td>
+    <td>
+      <code>
+        colour=<em>name</em>,
+        <br/>
+        title=<em>string</em>,
+        <br/>
+        features=<em>filename</em>,
+        <br/>
+        annotations=<em>filename</em>,
+        <br/>
+        tree=<em>filename</em>,
+        <br/>
+        showannotations,
+        <br/>
+        showssannotations,
+        <br/>
+        sortbytree,
+        <br/>
+        wrap
+      </code>
+    </td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;append&nbsp;<em>filename/URL ...</em></code></td>
+    <td>Appends one or more alignment files <em>filename</em> or URLs <em>URL</em> to the open alignment window (or opens a new alignment if none already open).</td>
+    <td>
+    <code>
+        colour=<em>name</em>,
+        <br/>
+        title=<em>string</em>,
+        <br/>
+        features=<em>filename</em>,
+        <br/>
+        annotations=<em>filename</em>,
+        <br/>
+        tree=<em>filename</em>,
+        <br/>
+        showannotations,
+        <br/>
+        showssannotations,
+        <br/>
+        sortbytree,
+        <br/>
+        wrap
+      </code>
+    </td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;title&nbsp;<em>"string""</em></code></td>
+    <td>Specifies the title for the open alignment window as <em>string</em>.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;colour&nbsp;<em>name</em></code></td>
+    <td>Applies the colour scheme <em>name</em> to the open alignment window.  Valid values for <em>name</em> are:
+    <br/>
+    <code>clustal</code>,
+    <br/>
+    <code>blosum62</code>,
+    <br/>
+    <code>pc-identity</code>,
+    <br/>
+    <code>zappo</code>,
+    <br/>
+    <code>taylor</code>,
+    <br/>
+    <code>gecos-flower</code>,
+    <br/>
+    <code>gecos-blossom</code>,
+    <br/>
+    <code>gecos-sunset</code>,
+    <br/>
+    <code>gecos-ocean</code>,
+    <br/>
+    <code>hydrophobic</code>,
+    <br/>
+    <code>helix-propensity</code>,
+    <br/>
+    <code>strand-propensity</code>,
+    <br/>
+    <code>turn-propensity</code>,
+    <br/>
+    <code>buried-index</code>,
+    <br/>
+    <code>nucleotide</code>,
+    <br/>
+    <code>nucleotide-ambiguity</code>,
+    <br/>
+    <code>purine-pyrimidine</code>,
+    <br/>
+    <code>rna-helices</code>,
+    <br/>
+    <code>t-coffee-scores</code>,
+    <br/>
+    <code>sequence-id</code>.
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;features&nbsp;<em>filename/URL</em></code></td>
+    <td>Add a feature file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;tree&nbsp;<em>filename/URL</em></code></td>
+    <td>Add a tree file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;sortbytree / &#8209;&#8209;nosortbytree</code></td>
+    <td>Enforces sorting (or not sorting) the alignment in the order of an attached phylogenetic tree.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;annotations&nbsp;<em>filename/URL</em></code></td>
+    <td>Add an annotations file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;showannotations / &#8209;&#8209;noshowannotations</code></td>
+    <td>Enforces showing (or not showing) alignment annotations.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;wrap / &#8209;&#8209;nowrap</code></td>
+    <td>Enforces wrapped (or not wrapped) alignment formatting.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;nostructure</code></td>
+    <td>Do not open or process any 3D structure in the <code>&#8209;&#8209;open</code> or <code>&#8209;&#8209;append</code> files.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="adding3dstructure"></a>Adding 3D structure</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structure&nbsp;<em>filename/URL</em></code></td>
+    <td>Load a structure file <em>filename</em> or URL <em>URL</em> associated with a sequence in the open alignment.  The sequence to be associated with can be specified with a following <code>&#8209;&#8209;seqid</code> argument, or the sub-value modifier <code>seqid=<em>ID</em></code> can be used.  A sub-value <em>INDEX</em> can also be used to specify the <em>INDEX-th</em> sequence in the open alignment.</td>
+    <td>
+      <code>
+        seqid=<em>id</em></code> or <code><em>INDEX</em>,
+        <br/>
+        paefile=<em>filename</em>,
+        <br/>
+        tempfac=<em>name</em>,
+        <br/>
+        showssannotations,
+        <!--
+        <br/>
+        notempfac,
+        -->
+        <br/>
+        structureviewer=<em>name</em>
+      </code></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;seqid&nbsp;<em>ID</em></code></td>
+    <td>Specify the sequence name for the preceding <code>&#8209;&#8209;structure</code> to be associated with.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;paematrix&nbsp;<em>filename</em></code></td>
+    <td>Add a PAE json matrix file <em>filename</em> to the preceding <code>&#8209;&#8209;structure</code>.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;tempfac&nbsp;<em>name</em></code></td>
+    <td>Set the type of temperature factor.  Valid values for <em>name</em> are:
+      <br/>
+      <code>default</code>,
+      <br/>
+      <code>plddt</code>
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureviewer&nbsp;<em>name</em></code></td>
+    <td>Set the structure viewer to use to open the 3d structure file specified in previous <code>&#8209;&#8209;structure</code> to <em>name</em>.  Valid values of <em>name</em> are:
+    <br/>
+    <code>none</code>,
+    <br/>
+    <code>jmol</code>,
+    <br/>
+    <code>chimera</code> <em>- requires installation, might need configuring in Preferences</em>,
+    <br/>
+    <code>chimerax</code> <em>- requires installation, might need configuring in Preferences</em>,
+    <br/>
+    <code>pymol</code> <em>- requires installation, might need configuring in Preferences</em>
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+
+    <!--
+    <tr valign="top">
+    <td><code>&#8209;&#8209;notempfac</code></td>
+    <td>Do not show the temperature factor annotation for the preceding <code>&#8209;&#8209;structure</code></td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+    -->
+
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;showssannotations / &#8209;&#8209;noshowssannotations</code></td>
+    <td>Do not show secondary structure annotations for the preceding <code>&#8209;&#8209;structure</code></td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;close</code></td>
+    <td>Close the open alignment window.  This occurs after other output, processing and image export arguments.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="processingalignments"></a>Processing alignments</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;groovy&nbsp;<em>filename</em></code></td>
+    <td>Process a groovy script in the file for the open alignment.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+  </table>
+
+
+  <h2><a name="outputtingalignmentfiles"></a>Outputting alignment files</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;output&nbsp;<em>filename</em></code></td>
+    <td>Export the open alignment to file <em>filename</em>.  The format <em>name</em> is specified by the sub-value modifier <code>format=<em>name</em></code>, a following <code>&#8209;&#8209;format <em>name</em></code> argument or guessed from the file extension.  Valid format names (and file extensions) are:
+    <br/>
+    <code>fasta</code> (<code>fa, fasta, mfa, fastq</code>),
+    <br/>
+    <code>pfam</code> (<code>pfam</code>),
+    <br/>
+    <code>stockholm</code> (<code>sto, stk</code>),
+    <br/>
+    <code>pir</code> (<code>pir</code>),
+    <br/>
+    <code>blc</code> (<code>blc</code>),
+    <br/>
+    <code>amsa</code> (<code>amsa</code>),
+    <br/>
+    <code>json</code> (<code>json</code>),
+    <br/>
+    <code>pileup</code> (<code>pileup</code>),
+    <br/>
+    <code>msf</code> (<code>msf</code>),
+    <br/>
+    <code>clustal</code> (<code>aln</code>),
+    <br/>
+    <code>phylip</code> (<code>phy</code>),
+    <br/>
+    <code>jalview</code> (<code>jvp, jar</code>).
+    </td>
+    <td><code>format=<em>name</em></code></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;format&nbsp;<em>name</em></code></td>
+    <td>Sets the format for the preceding <code>&#8209;&#8209;output</code> file.  Valid formats are:
+    <br/>
+    <code>fasta</code>,
+    <br/>
+    <code>pfam</code>,
+    <br/>
+    <code>stockholm</code>,
+    <br/>
+    <code>pir</code>,
+    <br/>
+    <code>blc</code>,
+    <br/>
+    <code>amsa</code>,
+    <br/>
+    <code>json</code>,
+    <br/>
+    <code>pileup</code>,
+    <br/>
+    <code>msf</code>,
+    <br/>
+    <code>clustal</code>,
+    <br/>
+    <code>phylip</code>,
+    <br/>
+    <code>jalview</code>.
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;backups / &#8209;&#8209;nobackups</code></td>
+    <td>Enable (or disable) writing backup files when saving an <code>&#8209;&#8209;output</code> file.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;overwrite / &#8209;&#8209;nooverwrite</code></td>
+    <td>Enable (or disable) overwriting of output files without backups enabled.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="exportingimagefiles"></a>Exporting image files</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;image&nbsp;<em>filename</em></code></td>
+    <td>Output an image of the open alignment window.  Format is specified by the sub-value modifier, a following <code>&#8209;&#8209;type</code> argument or guessed from the file extension.  Valid formats/extensions are:
+    <br/>
+    <code>svg</code>,
+    <br/>
+    <code>png</code>,
+    <br/>
+    <code>eps</code>,
+    <br/>
+    <code>html</code>,
+    <br/>
+    <code>biojs</code>.
+    </td>
+    <td>
+      <code>type=<em>name</em>,
+      <code>textrenderer=<em>name</em>,
+      <code>scale=<em>number</em>,
+      <code>width=<em>number</em>,
+      <code>height=<em>number</em>
+    </td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;type&nbsp;<em>name</em></code></td>
+    <td>Set the image format for the preceding <code>&#8209;&#8209;image</code> to <em>name</em>.  Valid values for <em>name</em> are:
+    <br/>
+    <code>svg</code>,
+    <br/>
+    <code>png</code>,
+    <br/>
+    <code>eps</code>,
+    <br/>
+    <code>html</code>,
+    <br/>
+    <code>biojs</code>.
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;textrenderer&nbsp;<em>name</em></code></td>
+    <td>Sets whether text in a vector image format (SVG, HTML, EPS) should be rendered as text or vector line-art.  Valid values for <em>name</em> are:
+    <br/>
+    <code>text</code>,
+    <br/>
+    <code>lineart</code>.
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;scale&nbsp;<em>number</em></code></td>
+    <td>Sets a scaling for bitmap image format (PNG).  Should be given as a floating point number.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--width</code> and <code>--height</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;width&nbsp;<em>number</em></code></td>
+    <td>Sets a width for bitmap image format (PNG) with the height maintaining the aspect ratio.  Should be given as a positive integer.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--scale</code> and <code>--height</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;height&nbsp;<em>number</em></code></td>
+    <td>Sets a height for bitmap image format (PNG) with the width maintaining the aspect ratio.  Should be given as a positive integer.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--scale</code> and <code>--width</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;groovy&nbsp;<em>filename</em></code></td>
+    <td>Process a groovy script in the file for the open alignment.</td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="exporting3dstructureimagefiles"></a>Exporting 3D structure image files (<code>jmol</code> only)</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    <td><strong>sub-value modifiers</strong> (optional)</td>
+    <td><strong>linked</strong> (optional)</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimage&nbsp;<em>filename</em></code></td>
+    <td>Export an image of a 3D structure opened in JMOL.  Image formats can be:
+    <br/>
+    <code>svg</code>,
+    <br/>
+    <code>png</code>,
+    <br/>
+    <code>eps</code>.
+    </td>
+    <td>
+      <code>structureimagetype=<em>name</em>,
+      <code>structureimagetextrenderer=<em>name</em>,
+      <code>structureimagescale=<em>number</em>,
+      <code>structureimagewidth=<em>number</em>,
+      <code>structureimageheight=<em>number</em>
+    </td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimagetype&nbsp;<em>name</em></code></td>
+    <td>Set the structure image format for the preceding --structureimage. Valid values are:
+    <br/>
+    <code>svg</code>,
+    <br/>
+    <code>png</code>,
+    <br/>
+    <code>eps</code>.
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimagetextrenderer&nbsp;<em>name</em></code></td>
+    <td>Sets whether text in a vector structure image format (SVG, EPS) should be rendered as text or vector line-art. Possible values are:
+    <br/>
+    <code>text</code>,
+    <br/>
+    <code>lineart</code>.
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimagescale&nbsp;<em>number</em></code></td>
+    <td>Sets a scaling for bitmap structure image format (PNG). Should be given as a floating point number. If used in conjunction with --structureimagewidth and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimagewidth&nbsp;<em>number</em></code></td>
+    <td>Sets a width for bitmap structure image format (PNG) with the height maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;structureimageheight&nbsp;<em>number</em></code></td>
+    <td>Sets a height for bitmap structure image format (PNG) with the width maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimagewidth then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
+    </td>
+    <td></td>
+    <td align="center">&#x2713;</td>
+    </tr>
+
+  </table>
+
+
+  <h2><a name="controllingflowofarguments"></a>Controlling flow of arguments</h2>
+
+  <table border="1" cellpadding="3">
+    <tr valign="top">
+    <td><strong>argument</strong></td>
+    <td><strong>action</strong></td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;new</code></td>
+    <td>
+    Move on to a new alignment window.  This will ensure <code>&#8209;&#8209;append</code> will start a new alignment window and other linked arguments will apply to the new alignment window.
+    <br/>
+    <em>Note</em> that <code>--open</code> already starts a new alignment window for each file it opens.
+    </td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;substitutions / &#8209;&#8209;nosubstitutions</code></td>
+    <td>The following argument values allow (or don't allow) subsituting filename parts.  This is initially true.  Valid substitutions are
+    <code>{basename}</code> - the filename-without-extension of the currently <code>&#8209;&#8209;open</code>ed file (or first <code>&#8209;&#8209;append</code>ed file),
+    <br/>
+    <code>{dirname}</code>, - the directory (folder) name of the currently <code>&#8209;&#8209;open</code>ed file (or first <code>&#8209;&#8209;append</code>ed file),
+    <br/>
+    <code>{argfilebasename}</code> - the filename-without-extension of the current <code>&#8209;&#8209;argfile</code>,
+    <br/>
+    <code>{argfiledirname}</code> - the directory (folder) name of the current <code>&#8209;&#8209;argfile</code>,
+    <br/>
+    <code>{n}</code> - the value of the index counter (starting at 0).
+    <br/>
+    <code>{++n}</code> - increase and substitute the value of the index counter,
+    <br/>
+    <code>{}</code> - the value of the current alignment window <em>default</em> index.
+    </td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;argfile&nbsp;<em>filename</em></code></td>
+    <td>
+    Open one or more files <em>filename</em> and read, line-by-line, as arguments to Jalview.
+    <br/>
+    Values in an argfile should be given with an equals sign ("=") separator with no spaces.
+    <br/>
+    <strong>Note</strong> that if you use one or more <code>&#8209;&#8209;argfile</code> arguments then all other non-initialising arguments will be ignored.
+    </td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;npp</code></td>
+    <td>Increase the index counter used in argument value substitutions.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;all / &#8209;&#8209;noall</code></td>
+    <td>Apply (or stop applying) the following output arguments to <em>all</em> sets of linked arguments.</td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;allstructures / &#8209;&#8209;noallstructures</code></td>
+    <td>
+        Apply (or stop applying) the following 3D structure formatting arguments to all structures <em>within the current open alignment</em>.  Whilst <code>--allstructures</code> will continue to operate for a <code>--new</code> alignment, the structure formatting arguments must be set again for each new alignment.
+    </td>
+    </tr>
+
+    <tr valign="top">
+    <td><code>&#8209;&#8209;quit</code></td>
+    <td>After all files have been opened, appended and output, quit Jalview.  In <code>&#8209;&#8209;headless</code> mode this already happens.</td>
+    </tr>
+
+  </table>
+
+</body>
+</html>
index d1ee915..20bcd10 100644 (file)
  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  -->
-<title>Command Line: summary</title>
+<title>Command Line: introduction and reference</title>
 <body>
 
-  <h1>Command Line: summary</h1>
+  <h1>Command Line: introduction and reference</h1>
 
   <p>
-  Command Line: summary
-  <br/>
-  <a href="clarguments-intro.html">Command Line: introduction</a>
+  Command Line: introduction
   <br/>
   <a href="clarguments-basic.html">Command Line: basic usage</a>
   <br/>
   <a href="clarguments-advanced.html">Command Line: advanced usage</a>
   <br/>
   <a href="clarguments-argfiles.html">Command Line: argument files</a>
+  <br/>
+  <a href="clarguments-reference.html">Command Line: reference</a>
   </p>
 
-  <hr/>
-
-
-  <h2>Initialising arguments</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;help / -h</code></td>
-    <td>Display a help statement</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;headless</code></td>
-    <td>Run Jalview in headless mode.  No GUI interface will be created and Jalview will quit after all arguments have been processed.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;jabaws&nbsp;<em>URL</em></code></td>
-    <td>Set a different URL to connect to a JABAWS server.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;news / &#8209;&#8209;nonews</code></td>
-    <td>Show (or don't show) the news feed.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;splash / &#8209;&#8209;nosplash</code></td>
-    <td>Show (or don't show) the About Jalview splash screen.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;questionnaire / &#8209;&#8209;noquestionnaire</code></td>
-    <td>Show (or don't show) the questionnaire if one is available.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;usagestats / &#8209;&#8209;nousagestats</code></td>
-    <td>Send (or don't send) initial launch usage stats. <em>Note: usage stats are useful for future funding for Jalview!</em></td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;webservicediscovery / &#8209;&#8209;nowebservicediscovery</code></td>
-    <td>Attempt (or don't attempt) to connect to JABAWS web services.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;props&nbsp;<em>filename</em></code></td>
-    <td>Use file <em>filename</em> as the preferences file <em>instead</em> of the usual <code>~/.jalview_properties</code> file.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;debug</code></td>
-    <td>Start Jalview in debug log level.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;quiet</code></td>
-    <td>Stop all output to STDOUT (after the Java Virtual Machine has started).  Use <code>&#8209;&#8209;quiet</code> a second time to stop all output to STDERR.</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;initsubstitutions / &#8209;&#8209;noinitsubstitutions</code></td>
-    <td>Set <code>&#8209;&#8209;substitutions</code> to be initially enabled (or initially disabled).</td>
-    </tr>
-
-<!--
-    <tr valign="top">
-    <td><code>&#8209;&#8209;threads <em>NUMBER</em></code></td>
-    <td>When opening multiple alignment windows, set a limit of <em>NUMBER</em> alignments being processed at one time.  The default is 3.</td>
--->
-
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;jvmmempc=<em>PERCENT</em></code></td>
-    <td>
-      Limit maximum heap size (memory) to <em>PERCENT</em>% of total physical memory detected.
-      This defaults to 90 if total physical memory can be detected.
-      <br/>
-      The equals sign ("=") separator must be used with no spaces.
-      <br/>
-      See <a href="../memory.html">Memory usage settings for Jalview</a> for more details.
-    </td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;jvmmemmax=<em>MAXMEMORY</em></code></td>
-    <td>
-      Limit maximum heap size (memory) to <em>MAXMEMORY</em>. <em>MAXMEMORY</em> can be specified in bytes, kilobytes(k), megabytes(m),
-      gigabytes(g) or if you're lucky enough, terabytes(t).
-      This defaults to 32g if total physical memory can be detected, or to 8g if total physical memory cannot be detected.
-      <br/>
-      The equals sign ("=") separator must be used with no spaces.
-      <br/>
-      See <a href="../memory.html">Memory usage settings for Jalview</a> for more details.
-    </td>
-    </tr>
-
-  </table>
-
-
-  <h2>Opening an alignment</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;open&nbsp;<em>filename/URL ...</em></code></td>
-    <td>
-    Opens one or more alignment files <em>filename</em> or URLs <em>URL</em> in new alignment windows.
-    </td>
-    <td>
-      <code>
-        colour=<em>name</em>,
-        <br/>
-        title=<em>string</em>,
-        <br/>
-        features=<em>filename</em>,
-        <br/>
-        annotations=<em>filename</em>,
-        <br/>
-        tree=<em>filename</em>,
-        <br/>
-        showannotations,
-        <br/>
-        showssannotations,
-        <br/>
-        sortbytree,
-        <br/>
-        wrap
-      </code>
-    </td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;append&nbsp;<em>filename/URL ...</em></code></td>
-    <td>Appends one or more alignment files <em>filename</em> or URLs <em>URL</em> to the open alignment window (or opens a new alignment if none already open).</td>
-    <td>
-    <code>
-        colour=<em>name</em>,
-        <br/>
-        title=<em>string</em>,
-        <br/>
-        features=<em>filename</em>,
-        <br/>
-        annotations=<em>filename</em>,
-        <br/>
-        tree=<em>filename</em>,
-        <br/>
-        showannotations,
-        <br/>
-        showssannotations,
-        <br/>
-        sortbytree,
-        <br/>
-        wrap
-      </code>
-    </td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;title&nbsp;<em>"string""</em></code></td>
-    <td>Specifies the title for the open alignment window as <em>string</em>.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;colour&nbsp;<em>name</em></code></td>
-    <td>Applies the colour scheme <em>name</em> to the open alignment window.  Valid values for <em>name</em> are:
-    <br/>
-    <code>clustal</code>,
-    <br/>
-    <code>blosum62</code>,
-    <br/>
-    <code>pc-identity</code>,
-    <br/>
-    <code>zappo</code>,
-    <br/>
-    <code>taylor</code>,
-    <br/>
-    <code>gecos-flower</code>,
-    <br/>
-    <code>gecos-blossom</code>,
-    <br/>
-    <code>gecos-sunset</code>,
-    <br/>
-    <code>gecos-ocean</code>,
-    <br/>
-    <code>hydrophobic</code>,
-    <br/>
-    <code>helix-propensity</code>,
-    <br/>
-    <code>strand-propensity</code>,
-    <br/>
-    <code>turn-propensity</code>,
-    <br/>
-    <code>buried-index</code>,
-    <br/>
-    <code>nucleotide</code>,
-    <br/>
-    <code>nucleotide-ambiguity</code>,
-    <br/>
-    <code>purine-pyrimidine</code>,
-    <br/>
-    <code>rna-helices</code>,
-    <br/>
-    <code>t-coffee-scores</code>,
-    <br/>
-    <code>sequence-id</code>.
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;features&nbsp;<em>filename/URL</em></code></td>
-    <td>Add a feature file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;tree&nbsp;<em>filename/URL</em></code></td>
-    <td>Add a tree file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;sortbytree / &#8209;&#8209;nosortbytree</code></td>
-    <td>Enforces sorting (or not sorting) the alignment in the order of an attached phylogenetic tree.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;annotations&nbsp;<em>filename/URL</em></code></td>
-    <td>Add an annotations file <em>filename</em> or URL <em>URL</em> to the open alignment.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;showannotations / &#8209;&#8209;noshowannotations</code></td>
-    <td>Enforces showing (or not showing) alignment annotations.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;wrap / &#8209;&#8209;nowrap</code></td>
-    <td>Enforces wrapped (or not wrapped) alignment formatting.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;nostructure</code></td>
-    <td>Do not open or process any 3D structure in the <code>&#8209;&#8209;open</code> or <code>&#8209;&#8209;append</code> files.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-  </table>
-
-
-  <h2>Adding a 3D structure</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structure&nbsp;<em>filename/URL</em></code></td>
-    <td>Load a structure file <em>filename</em> or URL <em>URL</em> associated with a sequence in the open alignment.  The sequence to be associated with can be specified with a following <code>&#8209;&#8209;seqid</code> argument, or the sub-value modifier <code>seqid=<em>ID</em></code> can be used.  A sub-value <em>INDEX</em> can also be used to specify the <em>INDEX-th</em> sequence in the open alignment.</td>
-    <td>
-      <code>
-        seqid=<em>id</em></code> or <code><em>INDEX</em>,
-        <br/>
-        paefile=<em>filename</em>,
-        <br/>
-        tempfac=<em>name</em>,
-        <br/>
-        showssannotations,
-        <!--
-        <br/>
-        notempfac,
-        -->
-        <br/>
-        structureviewer=<em>name</em>
-      </code></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;seqid&nbsp;<em>ID</em></code></td>
-    <td>Specify the sequence name for the preceding <code>&#8209;&#8209;structure</code> to be associated with.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;paematrix&nbsp;<em>filename</em></code></td>
-    <td>Add a PAE json matrix file <em>filename</em> to the preceding <code>&#8209;&#8209;structure</code>.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;tempfac&nbsp;<em>name</em></code></td>
-    <td>Set the type of temperature factor.  Valid values for <em>name</em> are:
-      <br/>
-      <code>default</code>,
-      <br/>
-      <code>plddt</code>
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureviewer&nbsp;<em>name</em></code></td>
-    <td>Set the structure viewer to use to open the 3d structure file specified in previous <code>&#8209;&#8209;structure</code> to <em>name</em>.  Valid values of <em>name</em> are:
-    <br/>
-    <code>none</code>,
-    <br/>
-    <code>jmol</code>,
-    <br/>
-    <code>chimera</code> <em>- requires installation, might need configuring in Preferences</em>,
-    <br/>
-    <code>chimerax</code> <em>- requires installation, might need configuring in Preferences</em>,
-    <br/>
-    <code>pymol</code> <em>- requires installation, might need configuring in Preferences</em>
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-
-    <!--
-    <tr valign="top">
-    <td><code>&#8209;&#8209;notempfac</code></td>
-    <td>Do not show the temperature factor annotation for the preceding <code>&#8209;&#8209;structure</code></td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-    -->
-
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;showssannotations / &#8209;&#8209;noshowssannotations</code></td>
-    <td>Do not show secondary structure annotations for the preceding <code>&#8209;&#8209;structure</code></td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;close</code></td>
-    <td>Close the open alignment window.  This occurs after other output, processing and image export arguments.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-  </table>
-
-
-  <h2>Processing alignments</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;groovy&nbsp;<em>filename</em></code></td>
-    <td>Process a groovy script in the file for the open alignment.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-  </table>
-
-
-  <h2>Outputting alignment files</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;output&nbsp;<em>filename</em></code></td>
-    <td>Export the open alignment to file <em>filename</em>.  The format <em>name</em> is specified by the sub-value modifier <code>format=<em>name</em></code>, a following <code>&#8209;&#8209;format <em>name</em></code> argument or guessed from the file extension.  Valid format names (and file extensions) are:
-    <br/>
-    <code>fasta</code> (<code>fa, fasta, mfa, fastq</code>),
-    <br/>
-    <code>pfam</code> (<code>pfam</code>),
-    <br/>
-    <code>stockholm</code> (<code>sto, stk</code>),
-    <br/>
-    <code>pir</code> (<code>pir</code>),
-    <br/>
-    <code>blc</code> (<code>blc</code>),
-    <br/>
-    <code>amsa</code> (<code>amsa</code>),
-    <br/>
-    <code>json</code> (<code>json</code>),
-    <br/>
-    <code>pileup</code> (<code>pileup</code>),
-    <br/>
-    <code>msf</code> (<code>msf</code>),
-    <br/>
-    <code>clustal</code> (<code>aln</code>),
-    <br/>
-    <code>phylip</code> (<code>phy</code>),
-    <br/>
-    <code>jalview</code> (<code>jvp, jar</code>).
-    </td>
-    <td><code>format=<em>name</em></code></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;format&nbsp;<em>name</em></code></td>
-    <td>Sets the format for the preceding <code>&#8209;&#8209;output</code> file.  Valid formats are:
-    <br/>
-    <code>fasta</code>,
-    <br/>
-    <code>pfam</code>,
-    <br/>
-    <code>stockholm</code>,
-    <br/>
-    <code>pir</code>,
-    <br/>
-    <code>blc</code>,
-    <br/>
-    <code>amsa</code>,
-    <br/>
-    <code>json</code>,
-    <br/>
-    <code>pileup</code>,
-    <br/>
-    <code>msf</code>,
-    <br/>
-    <code>clustal</code>,
-    <br/>
-    <code>phylip</code>,
-    <br/>
-    <code>jalview</code>.
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;backups / &#8209;&#8209;nobackups</code></td>
-    <td>Enable (or disable) writing backup files when saving an <code>&#8209;&#8209;output</code> file.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;overwrite / &#8209;&#8209;nooverwrite</code></td>
-    <td>Enable (or disable) overwriting of output files without backups enabled.  This applies to the current open alignment -- to apply to all <code>&#8209;&#8209;output</code> and <code>&#8209;&#8209;image</code> files, use after <code>&#8209;&#8209;all</code>.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-  </table>
-
-
-  <h2>Exporting image files</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;image&nbsp;<em>filename</em></code></td>
-    <td>Output an image of the open alignment window.  Format is specified by the sub-value modifier, a following <code>&#8209;&#8209;type</code> argument or guessed from the file extension.  Valid formats/extensions are:
-    <br/>
-    <code>svg</code>,
-    <br/>
-    <code>png</code>,
-    <br/>
-    <code>eps</code>,
-    <br/>
-    <code>html</code>,
-    <br/>
-    <code>biojs</code>.
-    </td>
-    <td>
-      <code>type=<em>name</em>,
-      <code>textrenderer=<em>name</em>,
-      <code>scale=<em>number</em>,
-      <code>width=<em>number</em>,
-      <code>height=<em>number</em>
-    </td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;type&nbsp;<em>name</em></code></td>
-    <td>Set the image format for the preceding <code>&#8209;&#8209;image</code> to <em>name</em>.  Valid values for <em>name</em> are:
-    <br/>
-    <code>svg</code>,
-    <br/>
-    <code>png</code>,
-    <br/>
-    <code>eps</code>,
-    <br/>
-    <code>html</code>,
-    <br/>
-    <code>biojs</code>.
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;textrenderer&nbsp;<em>name</em></code></td>
-    <td>Sets whether text in a vector image format (SVG, HTML, EPS) should be rendered as text or vector line-art.  Valid values for <em>name</em> are:
-    <br/>
-    <code>text</code>,
-    <br/>
-    <code>lineart</code>.
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;scale&nbsp;<em>number</em></code></td>
-    <td>Sets a scaling for bitmap image format (PNG).  Should be given as a floating point number.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--width</code> and <code>--height</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;width&nbsp;<em>number</em></code></td>
-    <td>Sets a width for bitmap image format (PNG) with the height maintaining the aspect ratio.  Should be given as a positive integer.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--scale</code> and <code>--height</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;height&nbsp;<em>number</em></code></td>
-    <td>Sets a height for bitmap image format (PNG) with the width maintaining the aspect ratio.  Should be given as a positive integer.  This can also be set as a sub-value modifier to the <code>--image</code> value.  If used in conjunction with <code>--scale</code> and <code>--width</code> then the smallest scaling will be used (<code>scale</code>, <code>width</code> and <code>height</code> provide bounds for the image).</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;groovy&nbsp;<em>filename</em></code></td>
-    <td>Process a groovy script in the file for the open alignment.</td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-  </table>
-
-
-  <h2>Exporting 3D structure image files (<code>jmol</code> only)</h2>
-
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    <td><strong>sub-value modifiers</strong> (optional)</td>
-    <td><strong>linked</strong> (optional)</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimage&nbsp;<em>filename</em></code></td>
-    <td>Export an image of a 3D structure opened in JMOL.  Image formats can be:
-    <br/>
-    <code>svg</code>,
-    <br/>
-    <code>png</code>,
-    <br/>
-    <code>eps</code>.
-    </td>
-    <td>
-      <code>structureimagetype=<em>name</em>,
-      <code>structureimagetextrenderer=<em>name</em>,
-      <code>structureimagescale=<em>number</em>,
-      <code>structureimagewidth=<em>number</em>,
-      <code>structureimageheight=<em>number</em>
-    </td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimagetype&nbsp;<em>name</em></code></td>
-    <td>Set the structure image format for the preceding --structureimage. Valid values are:
-    <br/>
-    <code>svg</code>,
-    <br/>
-    <code>png</code>,
-    <br/>
-    <code>eps</code>.
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
-
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimagetextrenderer&nbsp;<em>name</em></code></td>
-    <td>Sets whether text in a vector structure image format (SVG, EPS) should be rendered as text or vector line-art. Possible values are:
-    <br/>
-    <code>text</code>,
-    <br/>
-    <code>lineart</code>.
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
+  <hr/>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimagescale&nbsp;<em>number</em></code></td>
-    <td>Sets a scaling for bitmap structure image format (PNG). Should be given as a floating point number. If used in conjunction with --structureimagewidth and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
+  <ul>
+  <li><a href="#introduction">Introduction</a></li>
+  <li><a href="#syntax">Syntax</a></li>
+  </ul>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimagewidth&nbsp;<em>number</em></code></td>
-    <td>Sets a width for bitmap structure image format (PNG) with the height maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimageheight then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
+  <h2><a name="introduction"></a>Introduction</h2>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;structureimageheight&nbsp;<em>number</em></code></td>
-    <td>Sets a height for bitmap structure image format (PNG) with the width maintaining the aspect ratio. Should be given as a positive integer. If used in conjunction with --structureimagescale and --structureimagewidth then the smallest scaling will be used (structureimagescale, structureimagewidth and structureimageheight provide bounds for the structure image).
-    </td>
-    <td></td>
-    <td align="center">&#x2713;</td>
-    </tr>
+  <p>
+  From version 2.11.3.0 Jalview has a new set of command line arguments
+  which allow more powerful and flexible combinations of arguments, though can
+  also be used for simple use cases too.
+  </p>
 
-  </table>
+  <p>
+  These new arguments are all accessed with a <code>--doubledash</code> form of
+  command line argument (with the one exception where simply opening one or more
+  files can be performed without any arguments other than the filenames).
+  </p>
 
+  <p>
+  The old command line arguments can still be used (see
+  <a href="clarguments-old.html">the old page on command line arguments</a>) so
+  existing scripts utilising them should not break.
+  <br/>
+  <strong>These are now deprecated and will be removed</strong> in a future version of Jalview.
+  </p>
 
-  <h2>Controlling flow of arguments</h2>
+  <p>
+  However, you cannot mix old and new style arguments, so if you use any
+  <code>-singledash</code> arguments (with the exception of <code>-help</code> or <code>-h</code>), they will all be interpreted as
+  old style arguments with the new <code>--doubledash</code>
+  arguments being ignored.  If you have a script
+  that uses the old arguments without any dashes, and uses the bare-word
+  <code>open</code> then these will also be interpreted as old style arguments.
+  </p>
 
-  <table border="1" cellpadding="3">
-    <tr valign="top">
-    <td><strong>argument</strong></td>
-    <td><strong>action</strong></td>
-    </tr>
+  <p>
+  <strong>Warning!</strong> If you use command line arguments without any dashes and
+  <em>don't</em> use the bare-word argument <code>open</code> then all
+  your arguments will be interpreted as alignment files to be opened by the
+  new command line argument process!
+  </p>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;new</code></td>
-    <td>
-    Move on to a new alignment window.  This will ensure <code>&#8209;&#8209;append</code> will start a new alignment window and other linked arguments will apply to the new alignment window.
-    <br/>
-    <em>Note</em> that <code>--open</code> already starts a new alignment window for each file it opens.
-    </td>
-    </tr>
+  <p>
+  To launch Jalview from the command line, see
+  <a href="commandline.html">running Jalview from the command line</a>.
+  </p>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;substitutions / &#8209;&#8209;nosubstitutions</code></td>
-    <td>The following argument values allow (or don't allow) subsituting filename parts.  This is initially true.  Valid substitutions are
-    <code>{basename}</code> - the filename-without-extension of the currently <code>&#8209;&#8209;open</code>ed file (or first <code>&#8209;&#8209;append</code>ed file),
-    <br/>
-    <code>{dirname}</code>, - the directory (folder) name of the currently <code>&#8209;&#8209;open</code>ed file (or first <code>&#8209;&#8209;append</code>ed file),
-    <br/>
-    <code>{argfilebasename}</code> - the filename-without-extension of the current <code>&#8209;&#8209;argfile</code>,
-    <br/>
-    <code>{argfiledirname}</code> - the directory (folder) name of the current <code>&#8209;&#8209;argfile</code>,
-    <br/>
-    <code>{n}</code> - the value of the index counter (starting at 0).
-    <br/>
-    <code>{++n}</code> - increase and substitute the value of the index counter,
-    <br/>
-    <code>{}</code> - the value of the current alignment window <em>default</em> index.
-    </td>
-    </tr>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;argfile&nbsp;<em>filename</em></code></td>
-    <td>
-    Open one or more files <em>filename</em> and read, line-by-line, as arguments to Jalview.
-    <br/>
-    Values in an argfile should be given with an equals sign ("=") separator with no spaces.
-    <br/>
-    <strong>Note</strong> that if you use one or more <code>&#8209;&#8209;argfile</code> arguments then all other non-initialising arguments will be ignored.
-    </td>
-    </tr>
+  <h2><a name="syntax"></a>Syntax</h2>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;npp</code></td>
-    <td>Increase the index counter used in argument value substitutions.</td>
-    </tr>
+  <p>
+  The new command line argument parser can group certain labelled arguments together, or give them a default label based on their position in the list of arguments (in which case you won't ever need to know what the label is).  All arguments are read before any alignment actions are performed.  For basic usage without additional syntax, please see the <a href="clarguments-basic.html">Command Line: basic usage</a> explanatory page.
+  </p>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;all / &#8209;&#8209;noall</code></td>
-    <td>Apply (or stop applying) the following output arguments to <em>all</em> sets of linked arguments.</td>
-    </tr>
+  <h3>
+  Parts of Jalview's command line arguments
+  </h3>
+  <pre>jalview --argname[linkedId]=[subvalues]value --switch --noswitch --argname[linkedId] [subvalues]filename1 filename2 ...</pre>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;allstructures / &#8209;&#8209;noallstructures</code></td>
-    <td>
-        Apply (or stop applying) the following 3D structure formatting arguments to all structures <em>within the current open alignment</em>.  Whilst <code>--allstructures</code> will continue to operate for a <code>--new</code> alignment, the structure formatting arguments must be set again for each new alignment.
-    </td>
-    </tr>
+  <p>
+  Different arguments can take one or more values, others take no value and act like a switch (some can be set on and off and others are only on, depending on the use).
+  <br/>
+  <ul>
+    <li>
+        For arguments that require a value, the value can be given after an equals-sign ('=') or a space (' ').
+        <br/>
+        <code>--arg value</code>
+        <br/>
+        <code>--arg=value</code>
+    </li>
+    <li>
+        For arguments that can take multiple values (these will be filenames), the multiple filenames should appear after a space. If you use a filename wildcard you can put this after a space (which will be expanded by the shell unto multiple filenames before they reach Jalview), or you can put it after an equals-sign, which will be used by Jalview to find a list of files.  You cannot use an equals-sign and value followed by further values.
+        <br/>
+        <code>--arg file1.fa otherfile.stk</code>
+        <br/>
+        <code>--arg filename*.fa</code> <em>(expanded by shell)</em>
+        <br/>
+        <code>--arg=filename*.fa</code> <em>(expanded by Jalview)</em>
+    </li>
+    <li>
+        For arguments that act as a switch, most can be negated by preceding the argument name with <code>no</code>.
+        <br/>
+        <code>--switch</code>
+        <br/>
+        <code>--noswitch</code>
+    </li>
+    <li>
+        Some values can be modified, or may need additional information (for instance an <code>--image</code> output can be modified with a <code>--scale=number</code> factor, or a <code>--structure</code> can refer to a sequence with a <code>--seqid=ID</code>).  This additional information can be added in a number of different ways.
+        <ul>
+          <li>
+              An argument immediately following the main argument.
+              <br/>
+              <code>--image output.png --scale 2.5</code>
+          </li>
+          <li>
+              A <em>sub-value modifier</em>, which is where one or more (comma-separated) values are added to the start of the main value, placed in square brackets.
+              <br/>
+              <code>--open=[nowrap,colour=gecos-blossom]uniref50.fa</code>
+              <br/>
+              Sub-value modifiers with a value must use an equals-sign separator, and those that act as a switch can simply be included without an equals-sign or value, and can be preceded with <code>no</code> to negate the value, as with the argument name.
+          </li>
+          <li>
+              Another argument with the same <em>linked ID</em>.  A linked ID is an optional identifier for a particular open alignment, placed in square brackets immediately following the argument name (before the equals-sign or space).  If linked IDs are specified they do not need to be near to each other.
+              <br/>
+              <code>--image[MYID]=output.png --other --args --scale[MYID]=2.5</code>
+          </li>
+          <li>
+              An argument that is designated as applying to <em>all linked IDs</em>
+              <br/>
+              <code>--image=output.png --other --args --all --scale=2.5</code>
+              <br/>
+              <code>--image=output.png --other --args --scale[*]=2.5</code>
+          </li>
+        </ul>
+    </li>
+  </ul>
+  </p>
 
-    <tr valign="top">
-    <td><code>&#8209;&#8209;quit</code></td>
-    <td>After all files have been opened, appended and output, quit Jalview.  In <code>&#8209;&#8209;headless</code> mode this already happens.</td>
-    </tr>
+  <p>
+  This may sound complicated, but nearly everything can be done just with plain command line arguments, though in this case the ordering of the arguments is more important.
+  </p>
 
-  </table>
+  <hr/>
+  Continue to <a href="clarguments-basic.html">Command Line: basic usage</a>.
+  <br/>
+  <a href="clarguments-reference.html">Command Line: reference</a>
 
 </body>
 </html>
index 3437bfd..753ded2 100644 (file)
@@ -574,17 +574,24 @@ public class Commands
                   avm, av, Arg.STRUCTUREIMAGE, subVals);
           if (sv != null && structureImageFilename != null)
           {
+            ArgValue siAv = avm.getClosestNextArgValueOfArg(av,
+                    Arg.STRUCTUREIMAGE);
+            SubVals sisv = null;
+            if (structureImageFilename.equals(siAv.getValue()))
+            {
+              sisv = siAv.getSubVals();
+            }
             File structureImageFile = new File(structureImageFilename);
             String width = ArgParser.getValueFromSubValOrArg(avm, av,
-                    Arg.STRUCTUREIMAGEWIDTH, subVals);
+                    Arg.STRUCTUREIMAGEWIDTH, sisv);
             String height = ArgParser.getValueFromSubValOrArg(avm, av,
-                    Arg.STRUCTUREIMAGEHEIGHT, subVals);
+                    Arg.STRUCTUREIMAGEHEIGHT, sisv);
             String scale = ArgParser.getValueFromSubValOrArg(avm, av,
-                    Arg.STRUCTUREIMAGESCALE, subVals);
+                    Arg.STRUCTUREIMAGESCALE, sisv);
             String renderer = ArgParser.getValueFromSubValOrArg(avm, av,
-                    Arg.STRUCTUREIMAGETEXTRENDERER, subVals);
+                    Arg.STRUCTUREIMAGETEXTRENDERER, sisv);
             String typeS = ArgParser.getValueFromSubValOrArg(avm, av,
-                    Arg.STRUCTUREIMAGETYPE, subVals);
+                    Arg.STRUCTUREIMAGETYPE, sisv);
             if (typeS == null || typeS.length() == 0)
             {
               typeS = FileUtils.getExtension(structureImageFile);