From ee7fcf8d9d817e079c2f0498d149ec45a21f82dc Mon Sep 17 00:00:00 2001
From: Jim Procter
Running Jalview from the command line
Jalview is most easily run from the command line if you have
- built it from source, or via the 'Jalview' executable created from
- the InstallAnywhere Jalview installation. Both of these mechanisms
- allow true command line execution of Jalview - allowing you to
- provide additional options. The Java Webstart version of Jalview can be executed from the
- command line using something like :
-
- Running Jalview from the InstallAnywhere
- installation
+ Jalview can be run from the command line, and provides a range of arguments. These arguments
+ can also be passed via .JVL files, which are opened
+ automatically by the Jalview application when double-clicked in a
+ file browser on Windows and OSX.
- If you install with InstallAnywhere you can use several more
- commands. However, if you call the application with the link
- provided by InstallAnywhere any output from the application will be
- sent to output.txt, not standard out.
Use '-help' to get more information on the command line arguments that
- Jalview accepts.
+ href="clarguments.html">command line arguments that Jalview
+ accepts.
+
+ Passing JVM Arguments to Jalview When launched as an Application, Jalview will automatically
+ configure the amount of memory allocated to the program to be 90% of
+ physical memory. You may wish to change this behaviour -
+ particularly if you are working on a machine that runs other memory
+ intensive processes.
- When launched as an Application, Jalview automatically tries to
- maximise the amount of memory allocated to it (default settings are
- to try and use up to 90% of physical memory available to it).
- Sometimes it may require more memory, or if you are working in a
- shared memory environment you may want to limit the maximum amount
- of memory that it might use.
- This has to be set at the time Jalview is launched because of the way
- that Java runs on a computer - what is actually run is a program called
- a Java virtual machine (a JVM) which executes the java program 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.
Jalview Memory Usage Monitor: If you are concerned about
@@ -58,108 +52,82 @@
window's background.
- Increasing the memory available to Jalview
- The easiest way to launch Jalview with a different percentage of physical memory available is to
- create a text file with extension .jvl and with content that contains the line
- javaws http://www.jalview.org/webstart/jalview.jnlp -open
- yourFileName
-
- But, this is not guaranteed to work on all versions of webstart on all
- operating systems, and doesn't let you execute Jalview with any
- additional parameters.
+
+ /PATH_TO_JALVIEW/Jalview -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal
+
+ \PATH_TO_JALVIEW\Jalview.exe -open %HOMEPATH%\myalignment.fa
+
+open /Applications/Jalview.app --args -open ~/myalignment.fa
(put
+ all the Jalview arguments after the --args parameter)
+
+
+ <Path to Java home>/bin/java -jar %lt;Path to Jalview Jar>/jalview-all-1.8.jar -open myalignment.fa
The Jalview
- application also requires a number of additional libraries on the
- class path. The command line below adds all the jar files in the
- Jalview installation's 'lib' directory to the classpath, as well as
- the Jalview application jar file:
+ If you have installed Jalview via conda or another package
+ manager then you most likely have a 'jalview' command available in
+ your terminal shell's default path. Alternately, if you have built
+ Jalview from source, then take a look at the doc/building.md file
+ included in the source distribution.
java -classpath "$INSTALL_DIR$/lib/*:$INSTALL_DIR$/jalview.jar" jalview.bin.Jalview -open [FILE]
If you need
+ to modify parameters for Jalview's Java Virtual Machine, then take a
+ look at the instructions for how to setting
+ the JVM's maximum memory.
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).
+ Signs that Jalview is Running out of Memory
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).
- 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.
- This default setting can be altered in a number of different ways, depending on how you prefer to launch Jalview and how specific you want to be with the maximum memory setting.
+ Increasing the memory available to Jalview
The
+ amount of memory allocated is defined wheb Jalview is launched
+ because of the way that Java runs on a computer - what is actually
+ run is a program called a Java virtual machine (a JVM) which
+ executes the java program instructions. The JVM has limits on the
+ memory that can be allocated to the java program - and it is often
+ necessary to adjust them if you are working with particularly large
+ datasets, or need to make room for other processes on the machine.
+
Jalview 2.11 includes a launcher that automatically
+ configures the proportion of memory allocated to Jalview's JVM, and
+ its behaviour can be altered in a number of different ways:
-
- jalview.jvmmempc=50
-
- Replace the value with the percentage of memory you wish to allocate to Jalview.
-
- In Windows and in macOS you can then launch Jalview by double clicking on this file, and your memory setting will be used instead of the default value of 90. -
-- In Linux or other unix variants you can launch Jalview on the command line and provide your JVL file as an argument with -
- /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -- - -
- If you want to use a memory setting like this and open a file you can use both the jvl and alignment files as command line arguments, but you must put the jvl file first, e.g. -
- /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.fa -- alternatively, you can use the standard Jalview command line arguments with or without the jvl file (first), e.g. -
- /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal -- - -
- You can use command line arguments to control memory settings in Windows and macOS too:
-
- In Windows you must use, e.g.
-
- \PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.fa -- and in macOS you can use the macOS open command like this: -
- open /Applications/Jalview.app --args ~/mymemorysetting.jvl -open ~/myalignment.fa -- (put all the Jalview arguments after the --args parameter). - - - - - -
- Launching Jalview directly with a JVM is entirely possible, but is not recommended as automatic updates and some other default settings will not operate. -
-
- However by launching Jalview in this way you have full access to the Java command line arguments.
- In particular you can set the maximum allowed memory with the -Xmx... JVM argument.
-
- -Xmx should be immediately followed (no space or equals) by the maximum amount of memory that you might want to launch Jalview with. This can be specified in bytes as just a number,
- or in kilobytes, megabytes or gigabytes by following the number with a "k", "m" or "g" respectively. e.g.
-
- -Xmx8g -- -
- Jalview binaries for Windows and macOS are distributed with their own JVM which you will find in +
+ jalview.jvmmempc=50In Windows and in macOS you can then launch Jalview by + double clicking on this file, and your memory setting will be used + instead of the default value.
+ /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvlIf you want to use a memory setting like this and open a + file you can use both the jvl and alignment files as command line + arguments, but you must put the jvl file first, e.g.
+ /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.faAlternatively, you can use the standard Jalview command line + arguments with or without the jvl file (first), e.g.
+ /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour ClustalYou can use command line arguments to control memory + settings in Windows and macOS too:
+ \PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.faIn macOS you can use the macOS open command like this:
+ open /Applications/Jalview.app --args ~/mymemorysetting.jvl -open ~/myalignment.fa(put all the Jalview arguments after the --args + parameter) +
+ -Xmx8gJalview binaries for Windows and macOS are distributed + with their own JVM which you will find in +
- You will also need to reference the "appdir" release folder with all of the Jalview jar files.
-
- On Windows this will be
-
\PATH_TO_JALVIEW\release- whereas on macOS it will be -
/Applications/Jalview.app/Contents/Resources/app/release- and on linux or unix -
/PATH_TO_JALVIEW/release- -
- Assuming the java (or java.exe on Windows) commands are available to you, you can run, e.g. -
+
\PATH_TO_JALVIEW\release+
/Applications/Jalview.app/Contents/Resources/app/release+ and on linux or unix
/PATH_TO_JALVIEW/release+
java -Xmx1500m -cp "/PATH_TO_RELEASE_DIR/*" jalview.bin.Jalview -- or on Windows -
+Or on Windows
java.exe -Xmx1500m -cp "\PATH_TO_RELEASE_DIR\*" jalview.bin.Jalview -- Note that the classpath argument wildcard must be simply a '*' and not '*.jar'. This is a limitation of Java. - -
- You can also add other Jalview command line arguments as above after the jalview.bin.Jalview class name (you cannot use jvl files if launching Jalview in this way).
-
-
-
+ Note: for this to work the classpath argument wildcard must be simply
+ a '*' and not '*.jar'.
+ You can also add other Jalview
+ command line arguments as above after the jalview.bin.Jalview
+ class name, but you cannot use jvl files
+ if launching Jalview in this way.
-