jhclark / ducttape

A workflow management system for researchers who heart Unix.
http://jhclark.github.com/ducttape
Other
119 stars 14 forks source link

Inner branch graft overrides plan setting #153

Open ghanneman opened 11 years ago

ghanneman commented 11 years ago

I have a branch point PE that can take the values yes and no, and in my workflow plan I select (PE: no) only. The following task line causes the PE.yes branch to be also run anyway, incorrectly:

task pack < pe_tune_scores=(PE: yes=$scores@eval[PE:yes,DecodeSet:tune] no="")

But it correctly doesn't run if I modify the line to take the PE graft out:

task pack < pe_tune_scores=(PE: yes=$scores@eval[DecodeSet:tune] no="")

I can see why the second version might be the preferred syntax -- it's shorter, and you could say that the outer (PE: yes) in round brackets will already select for the [PE:yes] branch in square brackets. But I feel like the first one should also work -- unless the plan explicitly requests the yes branch, why should the inner graft trigger it on its own?