Runs pipelines configured in YAML
Project description
Pipeline Runner
When running, the configuration folder should have the following structure
example_configuration_folder
├── pipelines.yaml
├── variables.yaml
├── functions.py
├── templates
│ ├── script.jinja2
│ ├── singularity.jinja2
│ ├── etc.jinja2
pipelines.yaml
The root element should be a dictionary in which the keys = pipeline names, the values = an array of tasks to run.
You can use the variables within the values by prefixing with a dollar sign
($
), similar to shell expansions. You can escape $
by doubling it to $$
For a full example look at example/pipelines.yaml. The possible tasks are:
set_from_env: dict
Typically used in the beginning, used to define variables based on values from environment variables. Example:
- set_variables:
USER: steve
HOME: /scratch/$USER/home/
set_variables: dict
Directly define or override specific variables. Example:
- set_variables:
NEW_VARIABLE: Superman
VAR2: True
load_variables: str
This will load the flat dictionary of key str. Example:
- load_variables: pipeline_one
dump_variables: filename
This will dump all of the current variables into a file, specified by filename. Example:
- dump_variables: $SUBJECT/${SESSION}.sh
# Assumming SUBJECT + SESSION have been defined in a prior step
generate_file: dict
Create a file from a Jinja2 template. This step accepts a yaml dictionary with the following key-value pairs:
- template
- The Jinja2 template file to use relative to the configuration_dir/templates/
- filepath
- The full path onto which the new file should be saved to.
- variable
- The dynamic value of filepath is converted to a static absolute path and saved to the specifed variable. The default value = "OUTPUT_FILE".
Example:
- generate_file:
template: script.jinja2
filepath: $WORKING_DIR/$SUBJECT/$SESSION_PROCESSING.sh
variable: PROCESSING_SCRIPT
# now $PROCESSING_SCRIPT can be used in a future step
# for example, a function that adds the script on the PBS queue
function: str
The function to call. Note: The functions must be defined in configuration_dir/functions.py
Example:
- function: load_scripts_onto_pbs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file prunner-0.6.4.tar.gz
.
File metadata
- Download URL: prunner-0.6.4.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 147de8b37f35088a7553b0f9e95586fc30243ff1f30abf3193c6f6cf567cb521 |
|
MD5 | d39949c222acc15aa864d7ed993cf12e |
|
BLAKE2b-256 | 4e669aa03e012f3a119f348223f44cfcd44269fd8bf9937fb4e25cba57101ce0 |
File details
Details for the file prunner-0.6.4-py3-none-any.whl
.
File metadata
- Download URL: prunner-0.6.4-py3-none-any.whl
- Upload date:
- Size: 21.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0249b84fe2c2f03876fe49c458b47f56b91ffb7d740ff39c2c97c34d7e91ce30 |
|
MD5 | 6a744e3b76d352e5dbc4cc52c900da4e |
|
BLAKE2b-256 | d73af50914466f1a0b0f918385c651494ed47f9793f50d415612cdd079be1c14 |