JAL-1551 spotlessApply
[jalview.git] / help / help / html / features / commandline.html
1 <html>
2 <!--
3  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
4  * Copyright (C) $$Year-Rel$$ The Jalview Authors
5  * 
6  * This file is part of Jalview.
7  * 
8  * Jalview is free software: you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License 
10  * as published by the Free Software Foundation, either version 3
11  * of the License, or (at your option) any later version.
12  *  
13  * Jalview is distributed in the hope that it will be useful, but 
14  * WITHOUT ANY WARRANTY; without even the implied warranty 
15  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
16  * PURPOSE.  See the GNU General Public License for more details.
17  * 
18  * You should have received a copy of the GNU General Public License
19  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
20  * The Jalview Authors are detailed in the 'AUTHORS' file.
21  -->
22 <head>
23 <title>Running Jalview from the command line</title>
24 </head>
25 <body>
26   <p>
27     <strong>Running Jalview from the command line</strong>
28   </p>
29   <p>
30     Jalview can be run from the command line, and provides a <a
31       href="clarguments.html">range of arguments</a>.
32   </p>
33   <p>There are a few different ways to do this:</p>
34   <ul>
35     <li>Use the <strong>jalview</strong> command that links to a <strong>launch
36         script</strong>. Launch scripts are available if you are running an up to
37       date version of Jalview (at least 2.11.2.0), or have installed
38       Jalview via a package manager (e.g. conda, homebrew, apt).
39     </li>
40     <li>Embed arguments in a <strong>.JVL</strong> file. These
41       files will be opened automatically by the Jalview application when
42       double-clicked in a file browser on Windows and OSX.
43     </li>
44     <li>Execute the Jalview standalone Jar file with an existing
45       Java installation</li>
46       <li>For older versions of Jalview, call the <a href="#olderinstalls">native launch program directly</a>.
47   </ul>
48   <p>
49     <strong><a name="script">Jalview's command line launch</a></strong>
50   <p>Since version 2.11.2, the Jalview native application includes a <strong>launching shell script</strong>. This is the easiest way to
51   launch an installed Jalview application from the command line. </p><p>To run the <strong>launch script</strong>, simply open a Terminal (or Command prompt on Windows), and type:<pre>
52   jalview</pre>
53   
54   
55   <p>There are some important differences between the using the launching script and launching Jalview from its icon:
56   </p>
57   <ul>
58   <li>The launching script will NOT perform automatic updates.</li>
59   <li>The launching script cannot open or use JVL files.</li>
60   </ul>
61
62   <em><strong>Adding the launch script to your path</strong></em>
63   <p>
64     If typing 'jalview' in the terminal prompt (or windows command line)
65     doesn't work then you will need to add the location of the jalview
66     launch script to your
67     <code>PATH</code>.</p><p>
68     How you do this depends on your operating system.
69   </p>
70
71   <ul>
72   
73   <li>
74   <p><em>In <strong>Linux</strong> or <strong>Unix</strong> (<code>jalview.sh</code>)</em></p>
75   <p>Running the Linux installer will give you the option of adding a symbolic link to
76   that script in your <code>$PATH</code>, if it finds a suitable place that your user can add such a
77   link (e.g. <code>~/bin</code>, <code>~/.local/bin</code>, <code>~/local/bin</code>, <code>~/opt/bin</code>).  If you chose that option then
78   you should be able to launch Jalview on the command line with the simple command
79   <pre>jalview</pre>
80   If you didn't choose that option during installation (or used an earlier version installer), or wish to make another symbolic link, you can link to the
81   launching shell script with the command
82   <pre>ln -s /PATH_TO_JALVIEW/bin/jalview.sh jalview</pre>
83   or you could add <code>/PATH_TO_JALVIEW/bin</code> to your own <code>$PATH</code> as it already contains a symbolic link <code>jalview</code>.
84   </li>
85   
86   <li>
87   <p><em>In <strong>Windows</strong> (<code>jalview.bat</code>, <code>jalview.ps1</code>)</em></p>
88   <p>The Windows installer will give you the option of adding Jalview's script folder to your <code>%PATH%</code> allowing you to launch Jalview
89   in a Command Prompt simply with the command
90   <pre>jalview</pre>
91   If you didn't choose that option during installation (or used an earlier version installer), you can either
92   </p>
93   <ul>
94   <li>
95   add the <code>\PATH_TO_JALVIEW\bin</code> folder to your <code>%PATH%</code>, or
96   </li>
97   <li>
98   run the launcher script on the command line with its full path
99   <pre>\PATH_TO_JALVIEW\bin\jalview.bat</pre>
100   (you can leave off the <code>.bat</code> extension if you want).
101   </li>
102   </ul>
103   The <code>jalview.bat</code> file is a generic wrapper around the
104   PowerShell script <code>jalview.ps1</code> in the same folder.  This PowerShell script should work with both
105   PowerShell 5.x (which is installed by default on all modern Windows machines), and also PowerShell 6.0+
106   which might have been installed afterwards.
107   </li>
108   
109   <li>
110   <p><em>In <strong>macOS</strong> (<code>jalview</code>)</em></p>
111                         <p>We don't currently provide a macOS installer program, so you
112                                 will need to add the command to you path manually. The script you
113                                 should use to launch Jalview is linked to as
114                         <pre>/Applications/Jalview.app/Contents/MacOS/jalview</pre> so you
115                         can run that command with its full path, or make your own symbolic
116                         link to there, or add that folder to your <code>$PATH</code>. <pre>echo /Applications/Jalview.app/Contents/Resources/app/bin | sudo tee -a /etc/paths.d/Jalview</pre>
117                         This adds the directory
118                         &quot;/Applications/Jalview.app/Contents/Resources/app/bin/&quot;
119                         to a &quot;Jalview&quot; file in the /etc/paths.d/ directory. The
120                         lines from all the files in this directory are added the $PATH
121                         variable for all shells and users.
122                         </p>
123                         <p>
124                                 If you cannot see the
125                                 <code>jalview</code>
126                                 command in the MacOS directory, then you probably have an older
127                                 Jalview installation. In that case, you should make a symbolic link
128                                 directly to the launch script with the command
129                         <pre>ln -s /Applications/Jalview.app/Content/Resources/app/bin/jalview.sh jalview</pre>
130                         <em>If this doens't work, check your installation is running
131                                 Jalview 2.11.2.0 or later.</em>
132                         </p>
133                 </li>
134  </ul>
135 <!--  <p><em>Future</em></p>
136   A future version of Jalview will include a tool to allow adding these "<code>jalview</code>" links to your <code>PATH</code> automatically.
137   </li>
138   
139   </ul>
140 -->
141   <p><strong><a name="olderinstalls">Older versions of Jalview</a></strong></p>
142   
143   <p>
144   If you are using a version of Jalview prior to 2.11.2, you can still launch from the command line, but you will have to
145   use a more platform specific way to launch and use command line arguments.
146
147   <ul>
148     <li>Standard installation on Linux/Unix:
149     <pre>/PATH_TO_JALVIEW/Jalview -open https://www.jalview.org/examples/jpred_msa.fasta -annotations https://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal</pre>
150     </li>
151     <li>Standard installation on Windows:
152     <pre>\PATH_TO_JALVIEW\Jalview.exe -open %HOMEPATH%\myalignment.fa</pre>
153     </li>
154     <li>OSX Application:
155     <pre>open /Applications/Jalview.app --args -open /FULL/PATH/TO/myalignment.fa</pre>
156     <em>(put all the Jalview arguments <em>after</em> the --args parameter, and note that <strong>all files must be specified with their full paths</strong>)</em>
157     <br />
158     <br /></li>
159     <li>Jalview standalone executable Jar<pre>
160         &lt;Path to Java home&gt;/bin/java -jar &lt;Path to Jalview Jar&gt;/jalview-all-1.8.jar -open myalignment.fa</pre></li>
161   </ul>
162   <p>
163     If you have installed Jalview via <em>conda</em> or another package
164     manager then you most likely have a 'jalview' command available in
165     your terminal shell's default path. Alternately, if you have built
166     Jalview from source, then take a look at the doc/building.md file
167     included in the source distribution.
168   </p>
169   <p>
170     Use '--help' to get more information on the <a
171       href="clarguments.html">command line arguments</a> that Jalview
172     accepts.
173   </p>
174   <p>
175     <strong>Passing JVM Arguments to Jalview</strong><br /> If you need
176     to modify parameters for Jalview's Java Virtual Machine, or
177     configure system properties, then take a look at the instructions
178     for how to <a href="../memory.html#jvm">setting the JVM's
179       maximum memory</a>.<br /> 
180   <p>
181     <strong>Changing Jalview's 'Look and Feel'</strong> <br />If you
182     are experiencing issues with the font size or layout of Jalview's
183     GUI, you can try changing Jalview's 'Look and feel' by
184     specifying a custom system property 'laf' on startup (see <a
185       href="../memory.html#jvm">setting the JVM's memory</a> for
186     instructions on how to do this for your platform). <br />For the
187     Jalview standalone executable jar, simply provide one of the
188     property settings before the -jar argument
189   </p>
190   <ul>
191     <li>-Dlaf=system (default look and feel for the OS)</li>
192     <li>-Dlaf=crossplatform (Java's Metal Look and Feel)</li>
193     <li>-Dlaf=nimbus (Java's alternative Nimbus Look and Feel)</li>
194     <li>-Dlaf=mac (only has an effect on OSX)</li>
195     <li>-Dlaf=gtk (only has an effect on Linux)</li>
196     <li>-Dlaf=metal (force Java's Metal Look and Feel, default on linux)</li>
197     <li>-Dlaf=quaqua (macOS only. Force attempt at old macOS theme)</li>
198     <li>-Dlaf=vaqua (macOS only. Force attempt at modern macOS theme)</li>
199   </ul>
200   The currently configured look and feel is logged to Jalview's console.
201   Once the look and feel has been changed, it will be stored in
202   Jalview's .jalview_properties file for future Jalview sessions.  This property is <strong>PREFERRED_LAF</strong> and can also be used to set the Look and feel by editing your .jalview_properties file.
203
204   <p>&nbsp;</p>
205   <p>&nbsp;</p>
206 </body>
207 </html>