From mboxrd@z Thu Jan 1 00:00:00 1970 References: <20190613034821.1705513-1-kyle@kyleam.com> <874l4ft7gl.fsf@elephly.net> <874l4effs5.fsf@kyleam.com> From: Ricardo Wurmus Subject: Re: [PATCH] workflow: Consider unspecified free inputs when checking cache. In-reply-to: Date: Tue, 25 Jun 2019 20:33:10 +0200 Message-ID: <87imstseft.fsf@elephly.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable To: zimoun Cc: Kyle Meyer , gwl-devel@gnu.org List-ID: zimoun writes: > On Tue, 25 Jun 2019 at 06:30, Kyle Meyer wrote: >> >> Ricardo Wurmus writes: > >> > I=E2=80=99m not sure if we should keep picking >> > inputs from the environment silently and by default, but your patch is >> > anyway more correct than what we had before. >> >> Hmm, for my use case, taking free inputs from the file system based on >> the current directory is the only method that I'm actually interested in >> (i.e. I don't see myself having any use for --input). Perhaps my >> thinking is too shaped by make/snakemake, and I don't fully grasp the >> approach GWL is trying to take. > > I am not sure to fully understand the issue and all the recent changes. > > One idea of GWL is to have a functional workflow: the > multi-composition of functions/processes. And free inputs > are--say--the argument of this function. Therefore, if you have many > samples and you need to apply the same workflow, then you just apply > the function to each sample with --input. That=E2=80=99s right. It=E2=80=99s also used for when you have a shared stash of input files (e.g. genomes) and you simply want to inform the GWL about where those files are and that they correspond to inputs in the workflow =E2=80=94 with= out having to copy them first. For a complicated workflow with lots of inputs specifying inputs can be really tedious. For this reason the GWL will also pick up appropriately named files in the current working directory. My only concern is whether this dual behaviour should be the default or if it should be switchable. (E.g. passing =E2=80=9C--pure=E2=80=9D would f= orce the user to specify all inputs with =E2=80=9C--input=E2=80=9D.) -- Ricardo