Python workflow framework
Project description
Introduction
**GOAL: generate, from a YAML description file, workflows for Pegasus, nextflow or Snakemake. **
Existing WMS (Workflow management systems) generate specific learning curves for bioinformaticians which will also engage strategic choices of development[^1].
hpc_runner offers to directly use bash script bricks in a declarative format
to form a processing pipeline, drawing inspiration from the syntax and logic of
the .gitlab-ci file, used to run CI/CD pipeline on GitLab.
The tool is meant to be simple: there is no conversion from bash to another language.
Script bricks can be directly added simplifying the development and the sharing of workflows.
Installation
Requirements:
- Python 3.8 or above.
- graphviz package, with
dottool.
Create a Python virtual environment and install the hpc_runner package from this repository :
python -m venv venv
pip install 'hpc_runner @ git+ssh://git@gitlab.cnrgh.fr/lbi/hpc_runner.git'
Running
Once installed, you can run hpc_runner on the provided example to check that
it runs correctly:
cd examples/prepare_gisaid
hpc_runner --hpc-config prepare_gisaid.yml
In this example, hpc_runner uses the default backend.
You can also define a custom backend configuration file and
use it with the --hpc-backend option as follows :
hpc_runner --hpc-backend BACKEND_PATH --hpc-config myappconfig.yml
See the official Documentation for detailed information.
For developers
You may create a conda environment like this:
conda create -n hpc python=3.8
conda activate hpc
python3 -m pip install .[dev]
Building hpc_runner
The following commands will build the package in an isolated environment,
generating a source-distribution and wheel in the directory dist/.
pip install build
python -m build
Available scripts :
make deps: install development dependencies of thehpc_runnerpackage,make check: run checks on the source code (linter, type checker, ...),make build: build the package in an isolated environment, generating a source-distribution and wheel in the directorydist/,make install: install the package inside a virtual environment,make test: run the tests against the package, and generate a coverage report inhtmlcov/,make uninstall: uninstall the package from the virtual environment,make clean: delete all files and directories created by the other targets,make docs: generate an HTML documentation indocs/build/.
[^1]: Evaluating Workflow Management Systems: A Bioinformatics Use Case
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hpcwizard-0.1.0.tar.gz.
File metadata
- Download URL: hpcwizard-0.1.0.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Linux/6.14.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0884d583dfc5a1f4e1afaaac80b86fcc6eba5d5f936e0d27595da8f4c5050575
|
|
| MD5 |
37534c5f06ad22b16fed1f9af50f7b81
|
|
| BLAKE2b-256 |
b1a1c2401a57eb7f4b52ddf4d98647c124f4cd3df582edd50ea563ebdbef9779
|
File details
Details for the file hpcwizard-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hpcwizard-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.3 Linux/6.14.6-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b2dce962cefc18a842bd08180d6f37d73e87d943bbf3b03ac8c0bdf2ca1a34c
|
|
| MD5 |
ee9cfe8d9e9d2618ee7fb48670d1cd12
|
|
| BLAKE2b-256 |
519c26845db8b974dacf9c791c469901058f65d35e133fa4d79979bd5ef45597
|