Configuring the pipeline
Executing the pipeline
The pipeline can be configured through creating a config file
Basic invocation (adjust paths and options as needed):
A farily minimal execute script could look like this, but a more fully featured option can be found under 'tglow-pipeline' in the root.
See parameters.md for all configuration parameters.
Tips
- You can symlink plates/wells to use as input which can be handy for organizing pipeline runs or analyzing subsets of data in a seperate instance
Monitoring progress
If running with these scripts, a logs/<date>_<HH:MM> folder is created. I strongly reccomend keeping this as it makes it
much easier to parse logs, debug and avoids over-writing of log files.
Nextflow logs to .nextflow.log. The latest run is always in .nextflow.log (older logs get appended with numbers).
If successful, .nextflow.log will finish with an "Execution complete" message.
This script will also produce a .nextflow.trace upon completion, which can be handy to find failed / completed jobs and their hash.
Wrapper scripts
The repo contains example wrapper scripts that place logs in ./logs. See examples/nextflow in the repo for wrappers.
Debugging
Each Nextflow process has a work directory named by its hash. To find a jobs specific log output and see why if failed, find the short hash of the job that failed like e4/dh29qs, cd into '../workdir/e4/dh29qs' then press tab to complete to the full hash and press enter. This will take you into the workdir for that specific job.
If a process crashes, inspect the workdir and the .command.log / .command.sh files to reproduce the failure locally. For debugging set rn_scratch=false to keep staging folders on shared storage instead of on the local nodes scratch space.
Allowing errors
If CellProfiler crashes and you want the pipeline to continue, run with an ignore-errors profile (e.g. -profile lsf_ignore_errors) so Nextflow retires failing tasks 3 times but instead of crashing the main runner, it keeps the run active and submits new jobs. You may need to create your own 'ignore errors' profile, see the install instructions for details on creating a profile.