Giter Site home page Giter Site logo

docker-potage's Introduction

Supported tags and respective Dockerfile links

What is POTAGE?

POTAGE (pronounced "pəʊˈtɑːʒ") is a web-based tool for integrating genetic map location with gene expression data and inferred functional annotation in wheat.

POTAGE Web Server

You can access the public POTAGE web server (http://crobiad.agwine.adelaide.edu.au/potage) which contains a limited number of published gene expression data sets.

How to deploy this image using Singularity

Build a local, writable image based on the image from docker hub

singularity build --sandbox potage/ docker://crobiad/potage

Optional: for sequence similarity search fuctionallity to be available in POTAGE, reference sequences need to be downloaded and indexed in a BLAST database

singularity exec --writable --pwd /var/tomcat/persist/potage_data potage setup_db

Deploy

singularity run --writable --pwd /var/tomcat/persist/potage_data potage

The running instance of POTAGE should now be available under http://localhost:8080/potage

How to deploy this image using Docker

Quick Start

We assume you are running docker >= v1.9.0. If not, the docker volume command will not work

# Create a volume for persistent storage of the BLAST databases
$ docker volume create --name potage_blastdb
# Create a log file on the host for the persistent storage of POTAGE visitor information
$ sudo touch /var/log/potage_visits.log
# Create a running container from the POTAGE image
#   It will be accessible from http://host-ip/potage
$ docker run --detach \
  --name POTAGE  \
  --publish 80:8080 \
  --volume "potage_blastdb:/var/tomcat/persist/potage_data/global/blast_db" \
  --volume "/var/log/potage_visits.log:/var/tomcat/persist/potage_data/visits.txt" \
  crobiad/potage
# Download and setup the BLAST database
#   Getting files from URGI by default
$ docker exec POTAGE \
  setup_db

You should now be able to access POTAGE by visiting http://hostname/potage

start a POTAGE instance

$ docker run --detach --name POTAGE crobiad/potage

You can test if it running by visiting http://container-ip:8080/potage in your browser. To find the IP address of the container run this:

$ docker inspect \
  --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' POTAGE

If you need access to the container from outside the host running docker, on port 8888 for example:

$ docker run --detach --name POTAGE --publish 8888:8080 crobiad/potage

You can then go to http://localhost:8888/potage or http://host-ip:8888/potage or http://hostname:8888/potage

start with persistent storage

Data created and written by a container is not persistent. That is, once the container ceases to exist any data/files created by the container no longer exist. This presents a problem for POTAGE since it needs to download a large amount of data and setup a BLAST database. If this information was lost each time a container was stopped, you could waste a lot of time and network bandwidth re-downloading and formatting this data.

To get around this issue, we will use docker volumes. Docker takes care of managing the location of the files written to the volume, all we need to do is to create the volume and then tell docker where to mount the volume in the container:

$ docker volume create --name potage_blastdb
$ docker run --detach \
  --name POTAGE \
  --volume "potage_blastdb:/var/tomcat/persist/potage_data/global/blast_db" \
  crobiad/potage

setup the BLAST database

POTAGE uses a BLAST database of the International Wheat Genome Sequencing Consortium's (IWGSC) Chromosomal Survey Sequences (CSS). Once you have a POTAGE container running, preferably with persistent storage attached you can download and setup the required BLAST database:

$ docker exec POTAGE setup_db

By default, the data will be retrieved directly from URGI. This can be slow for a variety of reasons, including your geographic location, load on the URGI network etc. For this reason we have created a copy of this data on the NeCTAR Research Cloud in Australia. To use this mirror, simply specify a BASE_URL:

$ docker exec POTAGE \
  setup_db \
  BASE_URL=https://swift.rc.nectar.org.au:8888/v1/AUTH_33065ff5c34a4652aa2fefb292b3195a/IWGSC_CSS/

License

User Feedback

Issues

Contributing

For information on conributing, please see our Contribution Guidelines.

Documentation

docker-potage's People

Contributors

nathanhaigh avatar rsuchecki avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.