Skip to content

MaikeWeb/nf-cloud

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nextflow Cloud

Nextflow Cloud or NF-Cloud is a web interface to run nextflow workflows in a cloud environment.
NF-Cloud has three compontents

Backend

A web API written in Flask for managing/scheduling workflows.

Frontend

A web interface written in NuxtJS. This is basically a GUI for the web interface.

Worker

A worker witten in python which runs the scheduled workflows.

NF-Cloud structure

Developing

Make sure the dependencies in

are installed.

Prepare development environment

# Create environment
pipenv shell

# Upgrade pip and setuptools
pip install --upgrade pip setuptools

# Install dependencies
pipenv install -d

# Install node requirements
yarn --cwd ./nf_cloud_frontend install

Start

# Shell 1
docker-compose up
# Shell 2
pipenv run db:migrate 'postgresql://postgres:developer@127.0.0.1:5434/nf_cloud'
pipenv run dev
Component Access User Password
Frontend http://localhost:5000
API http://localhost:3001
Fusionauth http://localhost:9011 developer@example.com developer

For development, Flask is configured to add CORS-Headers by default.

Database migrations

To keep track of database changes, this project uses peewee_migrate. Migrations are located in nf_cloud_backend/migrations/. For now this needs to be added manually when using pw_migrate.

Production

Still work in progress.

RabbitMQ

Set the consumer_timeout to a high value. Otherwise scheduled workflows can't be acknowledged after finishing and getting rescheduled.

ToDos

  • Try to move Nextflow intermediate result folders into a subfolder.
  • Add some more inputs
    • Radio
    • Select
  • Add description to workflows
  • Improve logging
    • Save Nextflow stdout/stderr
    • Enable report and show resulting HTML in web interface
  • Rework docker deployment
    • Investigate if the worker is able to run Nextflow in Docker containers when running in container itself

About

A web interface for Nextflow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 50.2%
  • Vue 35.7%
  • JavaScript 7.4%
  • Nextflow 2.9%
  • Sass 2.6%
  • Shell 0.7%
  • Other 0.5%