UCSF-Costello-Lab / LG3_Pipeline

The original LG3 pipeline
https://github.com/UCSF-Costello-Lab/LG3_Pipeline
0 stars 0 forks source link

ROBUSTNESS: `./lg3.conf` must not be edited while running pipeline #131

Open HenrikBengtsson opened 5 years ago

HenrikBengtsson commented 5 years ago

If the ./lg3.conf file is edited while running the pipeline, then the changes will affect any scripts that are launched after the edit. In other words, the settings in ./lg3.conf are not frozen when the run script is called.

Suggestion

A few alternatives exist:

  1. Only import the ./lg3.conf file in the run script and pass settings as environment variables.
  2. Have the run script create a unique temporary copy of ./lg3.conf and have succeeding scripts use that.

I think the first approach is the best. It's a bit more tedious because it requires us to identify all env vars needed to be passed to qsub etc. OTH, that's a good thing and we already do this (somewhere or everywhere?).

ivan108 commented 5 years ago

Let's consider alternative scenario:

Both lg3.conf files are sourced by launching script and by PBS script using source_lg3_conf function. All those variables are exported into child processes using EXPORT. So, no need to source lg3.conf files any more by downstream scripts, nor pass any of those variables as arguments.

HenrikBengtsson commented 3 years ago

Let's punt on this one for now. We can get back to it later, after the C4 migration.