A command and control node for a microservice that runs multiple nextflow workflows.
This does not interact with users and should not be exposed to the public internet. It handles LAUNCHING and MONITORING of (many) separate workflow processes. It is the job of the web application to translate user inputs into the options expected by nextflow.
Initial installation
python3 -mvenv .venv
pip3 install -r requirements/local.txt
Then run the database migrations to create the DB and schema:
python manage.py migrate --settings=config.settings.local
For local development, you will need Nextflow installed. This demo was written using Nextflow version > 23.04.2 and Python 3.11.
In the initial prototype, you may need to explicitly edit some settings in config.settings
(local and base). Particularly referencing file locations.
Currently, only a basic development mode is implemented (for prototyping purposes). In the future, local and production containers will be provided.
python manage.py runserver --settings=config.settings.local
python manage.py test --settings=config.settings.local
Database migrations:
python manage.py makemigrations --settings=config.settings.local
python manage.py migrate --settings=config.settings.local
Interactive debugging shell:
python manage.py shell --settings=config.settings.local