-
Notifications
You must be signed in to change notification settings - Fork 3
Complete params file syntax
Wise, Aaron edited this page Mar 28, 2018
·
7 revisions
(As ZIPPY is still evolving, this page is a work in progress. Features may be added, but all of this syntax should be forwards compatible.)
Here is all of the special syntax that can be used in a params file.
- wildcards: A dictionary of wildcards. Wildcards are variables for your parameters file. For example, if you set "path" : "/path/to/file", then anywhere in your parameters file, you can use the "{path}" macro. It will be automatically substituted to "/path/to/file" by ZIPPY.
- imports: Contains a list of module names. These modules will be imported by ZIPPY, and all classes that end in Runner will be available for use as pipeline stages.
- stages: Contains a list of dictionaries. Each dictionary contains all the parameters needed for a stage
- docker: A dictionary of docker names to docker dictionaries
Each dictionary in the 'docker' section of the parameters file defines the configuration of a single docker image.
- image: the server location of your docker image
- image_file_path: the local path to your docker image
- pull: If true, uses docker pull from <image>, else, uses docker load from <image_file_path>
- mount_points: a list of docker mount points. Follows docker syntax (e.g., "/home:/home" is mount point mapping home to home)
- intercept_mounts: if true, global variables containing mount strings will be intercepted and moved into the docker namespace. For example, if params.output_dir is '/home/aaron/my_output', but there is a docker mount of '/home/aaron:/aaron', if intercept_mounts is true, then params.output_dir will be overridden to '/aaron/my_output'
- engine: What execution platform to run the image on. Currently either 'singularity' or 'docker' are supported.
Stage dictionaries contain either Stages or Subworkflows
- skip: If skip: true, the stage's workflow is not executed. This can be used for debugging, or when a downstream stage has failed for whatever reason.
- stage: what workflow step will be run.
- identifier: a unique name for disambiguating this instance of the stage.
- output_dir: virtually all stages result in output. Output_dir is the directory where the stage should place its output.
- use_docker: a string containing a docker name. If this parameter is set, the stage will automatically be run in a docker image.
- subworkflow: path to the subworkflow json file.
- identifier: a unique suffix identifying the subworkflow. The subworkflow identifier will be suffixed to all sub-stage identifiers and all sub-stage output directories
- previous_stage. Dictionary. Map from sub-stage identifiers to the identifiers of the stages they depend on. The dictionary values may be strings (if the stage depends only on a single previous stage) or lists (if the stage depends on multiple previous stages) -zippy_do_not_append_identifier_to_paths: Boolean, default=False. By default, subworkflow output directories are suffixed by the subworkflow identifier. If this is true, subworkflow output directories will not be suffixed.
Certain parameters will affect the behavior of zippy:
- zippy_fix_duplicate_sample_names: By default, zippy will raise an error if sample names are identical. If this variable is true, zippy will, if a run has non-unique sample names, replace them with the sample ids.