Maltcms currently has no automatic installation script. In order to set everything up correctly, please follow the instructions for your operating system.
Extract the downloaded zip archive to a directory of your choice. In order to have maltcms.sh available on your command prompt, set the following in your $HOME/.profile or $HOME/.bashrc (or in any other appropriate shell configuration file)
export PATH=$PATH:/path/to/extracted/maltcms/bin
Maltcms can be launched via the maltcms.sh script in its bin directory. This will use the java executable available via the environment variable JAVA_HOME or the java executable found first on the path.
Extract the downloaded zip archive to a directory of your choice. In order to have maltcms.bat available on your command prompt, please follow the instructions appropriate for your installed operating system. You may need system administrator privileges to change system variables!
Select 'Computer' from the Start menu and choose 'System Properties' from the top level actions bar or from the context menu. Click on 'Advanced system settings' and select the 'Advanced' tab in the dialog. Click on 'Environment Variables' and under 'System Variables' or 'User Variables', locate the 'PATH' variable, and double-click to edit it. If no variable named 'PATH' is available in the 'User Variables' section, select new, name the variable 'PATH'.
Right click on your 'My Computer' icon on the desktop and select 'Properties' from the popup-menu. Click on 'Advanced system settings' and select the 'Advanced' tab in the dialog. Click on 'Environment Variables' and under 'System Variables' or 'User Variables', locate the 'PATH' variable, and double-click to edit it. If now variable named 'PATH' is available in the 'User Variables' section, select new, name the variable 'PATH'.
Select 'Start' and click 'Control Panel'. Then go to 'System' and click on 'Advanced'. Click on 'Environment Variables' and under 'System Variables' or 'User Variables', locate the 'PATH' variable, and double-click to edit it. If now variable named 'PATH' is available in the 'User Variables' section, select new, name the variable 'PATH'.
Add the absolute path of the Maltcms directory to the end of the 'Variable value' like so:
Old:
C:\Program Files;C:\Winnt;C:\Winnt\System32
New:
C:\Program Files;C:\Winnt;C:\Winnt\System32;C:\path\to\maltcms\bin
Click 'OK' will close the dialog and set the variable.
Finally, open a new command prompt by typing the 'Windows' or 'Meta' key on your keyboard. Then type 'cmd.com' and hit enter. A new command prompt will open. Type 'maltcms', hit 'Enter' and you should see maltcms' help appear. It may be necessary to log out and back in before the changed settings take effect.
The following section requires a command prompt (shell), indicated by the prefixed '>', which should not be typed into the prompt. We assume, that you have installed Maltcms as described in the previous section. Windows users should substitute 'maltcms.sh' with 'maltcms.bat' in the following examples.
You can start the 32 bit commandline version by typing
>maltcms.sh
, which will print out the input options that you can supply.
Alternatively, on a 64 bit system and with 64 bit VM you can call
>maltcms.sh -d64
Sometimes, the default amount of memory used by the JAVA VM is not sufficient. You can then call
>maltcms.sh -Xms1G -Xmx2G
where -Xms1G sets the minimum amount of memory used by the VM to 1GByte of Ram and -Xmx2G sets the limit of the maximum amount of memory available to maltcms to 2GBytes. If you have more RAM installed, you can always increase the latter limit.
If you use java on a 32 bit architecture and a 32 bit VM, more than 2G might not be available. Using java on 64 bit architectures and with a 64 bit VM allows larger amounts of memory to be allocated.
Recommended arguments for Maltcms are:
-i <INPUTDIR> (e.g. /vol/data) -o <OUTPUTDIR> (e.g. /vol/output) -f <FILES> (e.g. "*.cdf")
If no INPUTDIR is given, FILES are resolved against the current working directory. If no OUTPUTDIR is given, processing results will be created below the current working directory in a directory following the convention 'maltcmsOutput/USERNAME/DATETIME/'.
In order to recurse into the INPUTDIR, you can add '-r' to the command line. As an alternative to defining the input directory explicitly and using a file glob expression (only *.EXT expressions will currently work), you can also define a comma separated list of absolute or relative file paths. Relative paths are resolved from the current working directory. Please note that paths containing spaces can only be handled, if the whole argument (all paths separated by commas) is flanked in '"'s.
Example data for maltcms in netcdf format along with alignment anchors can be downloaded individually from here.
Alternatively, 1D and 2D chromatogram data can be downloaded here.
ChromA: To execute the standard pipeline for GC- and LC-MS, use
>maltcms.sh -c cfg/chroma.properties -i <INPUTDIR> -o <OUTPUTDIR> -f <FILES>
ChromA4D: To execute the available pipelines for GCxGC-MS, use
>maltcms.sh -c cfg/chroma4D.properties -i <INPUTDIR> -o <OUTPUTDIR> -f <FILES>
If you do not supply any arguments, Maltcms will print all available arguments with a short explanation.
>maltcms.sh -?
prints command-line options for maltcms with explanations.
Maltcms allows to add functionality by adding custom jar files to the runtime classpath or to the lib/ directory.
The classpath in maltcms.jar is created at build time and will not contain those jars, so you need to add them manually to the runtime classpath with the '-cp' option supplied to java, or by using the 'maltcms.sh' script, which will pick these up automatically.
To simply use Maltcms in a higher level workflow, you can easily write scripts in the Groovy programming language. These scripts can be executed by calling
maltcms.sh -exec path/to/script.groovy <ARGS>
from the Maltcms installation base directory, where ARGS are optional parameters to your script.
Currently, netCDF compatible input and output is supported, mzXML input works reliably for MS1 data, output is currently redirected to netCDF format. Additionally, mzData is supported as input format, but again, output is redirected to netCDF format. Recently, read support for mzML has been added via the jmzml library.
To get some insight into the parameters used by Maltcms and possible alternatives, consult the properties files in cfg/, especially * alignment.properties * preprocessing.properties * graphics.properties
Properties and settings for individual commands in a processing pipeline are located in the respective xml file below cfg/xml/.
Custom configuration files can be provided to maltcms.sh/maltcms.bat, as well as to maltcms.jar using the -c option. Those custom options then override the default values.
Anchor files start with a file designation in their first line: Path can be omitted, if ORIGINAL_DATA_FILE and anchor file are both located in input base directory (cmdline option -i). Otherwise, the absolute path to the original file has to be given.
>NAME_OF_ORIGINAL_DATA_FILE.cdf
The second line defines the column names:
Name RI RT Scan
All following lines contain information for one anchor each:
RI1 - - 230 RI2 - - 430
etc.
Note that columns RI and RT are optional, Scan and Name are required. Anchor names should be identical for matched compounds.