- This is pipeline controller(SnakeMake) for pipeline container by using Flask, Jinja2 and Bootstrap. This controller provides config.yaml form for executing snakemake and it will execute the workflow after submission.
- Docker location: https://github.com/OpenKBC/snakemake-gui-controller-image
- Images status:
- Current version has a problem with CSRF token. If you have BAD REQUEST error, click refresh button on your browser(Sorry!)
- version(v1.0.5) Updated DAG function for testing purpose
- version(v1.0.4) Updated log process
- version(v1.0.3) bug fix
- version(v1.0.2) docker-compose
- version(v1.0.1) imported celery-redis for workers and communication, loading spinner
- version(v1.0.0) Initial launch
- The controller should be located to same root folder with pipeline folders
- All pipelines should have same snakefile name(Snakemake) and configuration(config.yaml)
- Don't change Dockerfile in pipelines
- Requirements of pipeline(requirements.txt) needs to be copied to pipelines/ folder(copy to requirements.txt inside pipelines/ folder)
- Structure example:
(root)
|---pipeline_controller/
|---pipelines/
|---|---test-pipeline1/
|---|---test-pipeline2/
- Before running docker, please change path(Line 9 and Line 34) in docker-compose.yaml
# Line 9 and 34
# Change volumes to your path
# /your-git-clone-folder/snakemake-gui-controller/pipelines:/pipeline_controller/pipelines
volumes:
- /Users/junheeyoon/Desktop/OpenKBC/snakemake-gui-controller/pipelines:/pipeline_controller/pipelines
- Docker-compose:
docker-compose up --build
- Using docker-compose is highly recommended, but you can run pipeline manually by modifying snakefile and launching flask, celery in local
- After
docker-compose -f docker-compose.yaml up --build
, go to the browser and http://localhost for pipeline
- Create your pipeline folder inside
pipelines
directory - Make snakefile and check all the path is based on your pipeline folder(treat your pipeline folder as root)
- Make config.yaml for template