pepkit / peppy

Project metadata manager for PEPs in Python
https://pep.databio.org/peppy
BSD 2-Clause "Simplified" License
37 stars 12 forks source link

implement project_modifiers.imply #342

Open stolarczyk opened 4 years ago

stolarczyk commented 4 years ago

Say peppy offered a project_modifiers.imply, which is exactly the same as the sample_modifiers version but operates on a project. Then, I could do:

name: global looper pipeline interfaces
pep_config: 2.0.0
project_modifiers:
  imply:
    if:
      pep_type: [ATAC, ATAC-seq, DNAse, blah, blah, blah]
    then:
       looper.pipeline_interfaces: [x.yaml, y.yaml, z.yaml]

Originally posted by @nsheff in https://github.com/pepkit/looper/issues/244#issuecomment-611026530

nsheff commented 4 years ago

One complexity: referring to things with looper.pipeline_interfaces, or implying structured attributes instead of just strings...

nsheff commented 4 years ago

another thought: if we go this route, do you think you'd want amendments and imports to fall under project_modifiers ?

the it'd be:

project_modifiers:
  amend: ...
  imply: ...
  import: ...
sample_modifiers:
  append: ...
  imply: ...
  derive: ...
  ...