evoldoers / biomake

GNU-Make-like utility for managing builds and complex workflows
BSD 3-Clause "New" or "Revised" License
100 stars 9 forks source link

Multiple outputs - correct pattern #78

Open samwalrus opened 4 years ago

samwalrus commented 4 years ago

Hi this is just a question, but maybe an example in the documentation would be helpful.

If I have a command that produces multiple output files what is the best way to write this. I think If am using the pattern :

['file_00','file01'] <-- ['starting.file'],'split -l 8 -d -a 2 starting.file file'.

'go' <-- ['file_01','file_00'].

Running 'biomake -Q pbs go', will I think in the case means that' split' is run twice.

But In the following running 'biomake -Q pbs go2' I think split is only run once.

['file_method2_00'] <-- ['starting.file'],'split -l 8 -d -a 2 starting.file filemethod2'.

['file_method2_01'] <-- ['file_method2_00']. 'go2' <-- ['file_method2_01'].

I think when either of these are run locally biomake is smart enough not to run twice. This is okay for when there is only two outputs but if I have many outputs it becomes in elegant, I think we should be able to get Prolog to infer the correct way to submit the jobs?

rulatir commented 3 years ago

81 might be related.