Bonus tips
🎱 Some extra features to maximize your isabl journey!"
Last updated
🎱 Some extra features to maximize your isabl journey!"
Last updated
When running jobs using batch systems like LSF or Slurm, many programs detect whether their output is being sent to a terminal (TTY
) or a file and may disable features like color formatting or progress bars if they detect non-interactive output.
One workaround, using it carefully, is to use the unbuffer
utility from the expect
package. unbuffer
simulates a terminal by running the program in a pseudo-terminal (PTY), tricking the program into thinking it is running interactively in a terminal, so it continues to produce colored output.
Requirements:
Have unbuffer
available. See tips on how to install on an HPC.
unbuffer: True
, in your isabl_cli
s SUBMIT_CONFIGURATION
.
>=0.3.28
version of @papaemmelab/isabl_web
8c8ad75 commit of isabl_cli
Unbuffered output will redirect both stdout/stderr to the samehead_job.log
file, causing the file head_job.err
output to be empty from errors of the running application.
By simulating a pseudo-PTY, you can gain desired colored outputs, but some outputs like progress bars print undesired characters that can clutter your logs. Be aware to disable those if possible (i.e. toil ... --disableProgress),
or for specific applications add a dummy envTERM=dumb
to tell the program there's no effective terminal attached.
unbuffer
in an HPC with miniconda. Having $OPT_DIR
where you install your packages and $BIN_DIR
where you add your executable binaries, create a runnable script called unbuffer
, where you add your miniconda env's unbuffer
executable and add its shared libraries:
Test it works: