Command-Line Help Text

RMS executes pipeline scripts on the current machine or across a cluster. Similar to perl and python, the script can be run either as “rms myscript …” or just “myscript” (if the first line of the script file is “#!/usr/bin/env rms”).

rmsScript [conditional processing]
rms [options] rmsScript [conditional processing]

The command line arguments after the script file are “conditionally processed”, meaning that if the script defines command line processing, the arguments are processed by the script. If the script does not define command line processing, the following default command line processing occurs:

myscript sheet...
rms [options] myscript sheet...

where “sheet” is one or more tab-, comma- or space-delimited spreadsheet files (see scriptbasic for more details).

The following options tell RMS where to execute the script commands [default mode: cluster]:

-t, --test Test the script for syntax errors (by compiling only)
-s, --single Run the script sequentially on the current computer
-p, --parallel Execute the script just on the current computer (like GNU parallel)
-c, --cluster Execute the script across the cluster

In parallel and cluster mode, the number of cluster compute nodes or number of cores can be set using these options, to limit how many commands are executed at the same time [parallel default: 0, cluster default: defined in ~/.rmsrc file, or “default:0” if no ~/.rmsrc file]:

-n N, --num=N Limit for the number of nodes to use (cluster mode) or the number of cores to use (parallel mode), where 0 specifies no limit.
-n queuestr, --num=queuestr
 The queues to use and node limits for each queue, as a comma-separated list of “queue[:N]” strings (queue name, plus optional number limit).

For example “-n default:6,highcore:4” tells RMS it can use up to 6 nodes of the default queue and 4 nodes of the highcore queue, if needed.

The following options limit the steps that are executed (so that a part of the script can be run, instead of the whole script):

-S step, --start step
 Start the pipeline with step “step” (skipping initial steps)
-E step, --end step
 End the pipeline with step “step” (skipping later steps)
-O step, --only step
 Only run step “step” (equivalent to “-S step -E step”)

And these options provide additional miscellaneous functions:

-f, --force Ignore existing files and force the pipeline commands to run
-o dir, --output=dir
 Set the output directory (and current working directory for the script) to “dir”. [default: .]
-l prefix, --log=prefix
 Log the script execution stdout and stderr to “prefix.stdout” and “prefix.stderr”. Passing “-” outputs the execution stdout/stderr to the command’s stdout/stderr. [default: RMS_myscript_YMD_HMS]

When the command-line explicitly begins with “rms”, as in “rms [options] myscript …”, all of the above options may be specified between “rms” and “myscript” (so that you can specify the runtime execution of the program, even if the script redefines its command-line processing).