-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
divvy adapters #47
Comments
In my testing of looper I'm missing how to use the new adapters on rivanna. I need an example.
|
I put these adapters into my divvy config file:
It correctly populated the {CODE} variable, but not none of the others:
|
it's because it's looking for the exact keys in the template, uppercase CODE: looper.command
LOGFILE: looper.log_file
JOBNAME: looper.job_name
CORES: compute.cores
TIME: compute.time
MEM: compute.mem
DOCKER_ARGS: compute.docker_args
DOCKER_IMAGE: compute.docker_image
SINGULARITY_IMAGE: compute.singularity_image
SINGULARITY_ARGS: compute.singularity_args |
got it!. code worked lowercase... |
great, those |
I've added an adapter version here: https://github.com/pepkit/divcfg/blob/master/uva_rivanna_adapters.yaml will later integrate into the main config (should be backwards compatible) |
it works for me in looper, hmmm.. maybe we're doing sth differently? How are you testing it? |
|
have you specified |
I didn't make it backwards compatible. Only the TSV way is supported now |
worked for me this way:
|
perfect -- can you push those changes to sra_convert ? I got mixed up between the adapter changes and the compute changes :) |
nm I got it. works! thanks. |
adapters allow you to use divvy with any source of variables.
divvy originally was part of looper. therefore, the default divvy variables (like
{CODE}
, etc) are from looper. removing divvy from looper decoupled the software, but the variables are still tightly coupled. To make it more flexible, we need to remove this coupling. divvy adapters do that.here's a config file with adapters:
adapters are simple variable mappings from one name to another. they can just be straight-up var:var mappings, but they can also include namespaces (on the supply side; divvy variables aren't namespaced).
This system would allow us to include a 'divvy-looper' adapter. this adapter could be modified either for a universal divvy config, or for a particular compute package, which would enable divvy templates to be used with multiple variable sources.
under this system, looper would simply provide to divvy all available namespaces, the same as it does for command templates. the adapter would convert these into the divvy variables. the advantages is now divvy templates are useful beyond looper. it also simplifies what looper has to do: nothing.
divvy should ship with looper adapters, something like the above example.
what do you think @stolarczyk ?
The text was updated successfully, but these errors were encountered: