jip bash - bash command wrapper


jip bash [-P <profile>] [-t <time>] [-q <queue>] [-p <prio>]
[-A <account>] [-C <cpus>] [-m <mem>] [-n <name>] [–hold] [-O <out>] [-E <err>] [–dry] [–show] [-i <input>] [-o <output>] [-s] [–keep] [–force] -c <cmd>...

jip bash [–help]


Wraps a bash command and either executes it directly or submits it to a compute cluster

Please not that this command is indented to work on single file input/output. You can specify more that one input file and the command will run independently on all inputs. The ‘output’ options is used for pipes explicitly. If you do not want to pipe your output, but handle output yourself, use the ‘outfile’ (-f/–outfile) option. Here is a quick example:

jip bash -n 'LC ${input}' --input A.txt B.txt \
         -f '${input|ext}.count' -c 'wc -l ${input} > ${outfile}'

This will run the following two jobs:

wc -l A.txt > A.count


wc -l B.txt > B.count

Note that you can use the job options also in the jobs name, which might be usefull if you run the job on a compute cluster.


-P <profile>, --profile <profile>
 Select a job profile for resubmission
-t <time>, --time <time>
 Max wallclock time for the job
-q <queue>, --queue <queue>
 Job queue
-p <priority>, --priority <priority>
 Job priority
-A <account>, --account <account>
 The account to use for submission
-C <threads>, --threads <cpus>
 Number of CPU’s assigned to the job
-m <mem>, --mem <mem>
 Max memory assigned to the job
-n <name>, --name <name>
 Job name
-R <reload>, --reload
 Reload and rerender the job command
-E <err>, --log <err>
 Jobs stderr log file
-O <out>, --out <out>
 Jobs stdout log file
-s, --submit Submit as job to the cluster
--hold Put job on hold after submission
--keep Keep output also in case of failure
--dry Show a dry run
--show Show the command that will be executed
--force Force execution/submission
-i <input>, --input <input>
 The scripts input [default: stdin]
-o <output>, --output <output>
 The scripts output [default: stdout]
-s, --submit Submit as job to the cluster
-h, --help Show this help message
Fork me on GitHub