Skip to content

Installation Option A: Pull a Prebuilt Image (Recommended)

robinpaul85 edited this page May 22, 2024 · 20 revisions

This may be the easiest option to get started. However, it may require more Docker know-how. for customization.

Installation

Make sure, the docker client is running.

TAG=latest # can change to a version number like 2.11.2
IMAGE_NAME=ghcr.io/stjude/ppfull:$TAG # may use ppserver:$TAG for server-only image
docker pull $IMAGE_NAME

# download the run helper scripts
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/run.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/createPPNetwork.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/verify.sh
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/container/validateConfig.js
wget https://raw.githubusercontent.com/stjude/proteinpaint/master/utils/public-support-files-download.sh
chmod a+x *

Download support files (such as appropriate reference genome files) using the command ./public-support-files-download.sh.

Test serverconfig.json

  {
       "debugmode": true,
       "genomes": [
        {
           "name": "hg19",
           "species": "human",
           "file": "./genome/hg19.js",
           "blat": {
              "host": "127.0.0.1",
              "port": "1235"
           }
        },
        {
           "name": "hg38",
           "species": "human",
           "file": "./genome/hg38.js",
           "blat": {
              "host": "127.0.0.1",
              "port": "1235"
           }
        }
     ],
     "tpmasterdir": "path/to/tp_dir_path",
     "cachedir": "path/to/tp_dir_cache",
     "port": 3000,
     "URL": "http://localhost:3456",
     "backend_only": false
  }

Usage

To test, make sure that your current working directory has

  • a serverconfig.json which has
    • a tpmasterdir entry, for the absolute path to the data directory
    • a "URL": "http://localhost:[PORT]" entry (default PORT=3456, can be set to any valid, non-conflicting numeric port value)
  • an optional dataset folder, containing js files of any serverconfig.genomes.datasets[] entryvthat is not already included in proteinpaint/server/dataset
./run.sh $IMAGE_NAME

# open the browser to your serverconfig.URL entry
# example routes to check, assuming serverconfig.URL=http://localhost:3456
# http://localhost:3456/healthcheck
# http://localhost:3456/genomes
# http://localhost:3456 should open the Proteinpaint landing page

# Hints:
# - inspect logs with 'docker logs pp'
# - ssh into the container with 'docker exec -it pp'
# - stop the container with 'docker stop pp'