Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
NGPhylogeny_fr
account
data
docker
galaxy
static
surveys
templates
tools
workflows
workspace
.dockerignore
.gitignore
Dockerfile
LICENSE
README.md
manage.py
requirement.txt
startup.sh
toolfields.txt
toolflags.txt
toollinks.txt
uwsgi_params
wfnames.txt

README.md

NGPhylogeny.fr

A Django web application to make Phylogeny analysis.

Installation

NGPhylogeny.fr requires python 2.7.

To install it:

  • You may first install and activate a new conda environment:
conda create --name ngphylo python=2.7
source activate ngphylo
  • Install all NGPhylogeny.fr dependencies:
pip install -r requirements.txt
apt-get install redis-server # Ubuntu / Debian
  • Create Django databases
python manage.py makemigrations
python manage.py migrate
  • Create admin user
python manage.py createsuperuser
  • Load tool categories (flags)
python manage.py loaddata tool_flags
  • Link NGPhylogeny.fr to a running Galaxy server
python manage.py creategalaxyserver --url=http://url_galaxy:port --activate
  • Import existing tools from Galaxy to NGPhylogeny.fr
python manage.py importtools --galaxyurl=http://url_galaxy:port \
                             --query="phylogeny" \
                             --flags=toolflags.txt \
                             --inputfields=toolfields.txt
  • Two possibilities to link tools inputs and outputs

    1. Already computed links (preferable):
    python manage.py import_links --linkfile=toollinks.txt
    
    1. Links computed on the fly (based on extension compatiblity, deprecated)
    python manage.py compute_tools_links --ignore=txt
    
  • Import Phylogeny workflows from the Galaxy Instance

It will import all workflows with name containing "oneclick" (case insensitive):

python manage.py importworkflows --galaxyurl=http://url_galaxy:port
  • Run Celery task queue

    1. Add following lines to NGPhylogeny_fr/settings/local.py:
     EMAIL_HOST = 'smtp.server.url'
     EMAIL_PORT = 587
     EMAIL_HOST_USER = 'smtp.user'
     EMAIL_HOST_PASSWORD = 'smtp.pass'
     EMAIL_USE_TLS=<True|False>
    
    1. Start celery
     export PYTHONPATH=$PWD:$PYTHONPATH
     celery --app=NGPhylogeny_fr.celery:app worker --loglevel=INFO &
    
  • Run the django server

python manage.py runserver

Docker

You can run NGPhylogeny.fr via its docker image:

Using a remote galaxy instance:

Note: The remote galaxy instance must contain all necessary tools (listed here).

docker run -p 8080:8000 evolbioinfo/ngphylogeny django_admin_username django_admin_password django_admin_email galaxy_url galaxy_api_key

Using a custom local docker galaxy instance

We provide a galaxy docker image with all tools and workflows already installed (see this github repo):

# Starting Docker image of Galaxy
docker run --privileged=true  \
           -p 8080:80 -p 8121:21 -p 8122:22 \
           evolbioinfo/ngphylogeny-galaxy
# MacOS => Starting NGPhylogeny.fr 
docker run -p 8000:8000 evolbioinfo/ngphylogeny admin admin@admin http://host.docker.internal:8080 admin
# Linux => Starting NGPhylogeny.fr
docker run -p 8000:8000 --net=host evolbioinfo/ngphylogeny admin admin@admin http://localhost:8080 admin