diff --git a/Readme.md b/Readme.md index 7ee0843..08dd79f 100644 --- a/Readme.md +++ b/Readme.md @@ -4,6 +4,8 @@ Cellxgene Gateway allows you to use the Cellxgene Server provided by the Chan Zu ## Running locally +We assume your current working directory is the directory into which you've cloned this repository. + 0. This project requires python 3.6 or higher. Please check your version with ```bash @@ -23,6 +25,26 @@ source .cellxgene-gateway/bin/activate pip install -r requirements.txt ``` +1. Install the gateway: + +_To install in development mode:_ + +```bash +python setup.py develop +``` + +_To install from GitHub:_ + +```bash +pip install git+https://github.com/Novartis/cellxgene-gateway +``` + +_To install from PyPI:_ + +```bash +# NOT YET DONE, COMING! STAY TUNED +``` + 1. Prepare a folder with .h5ad files, for example ```bash @@ -30,27 +52,33 @@ mkdir ../cellxgene_data wget https://github.com/chanzuckerberg/cellxgene/raw/master/example-dataset/pbmc3k.h5ad -O ../cellxgene_data/pbmc3k.h5ad ``` -1. Copy run.sh.example to run.sh: +1. Set your environment variables correctly: ```bash -cp run.sh.example run.sh +export CELLXGENE_LOCATION=`which cellxgene` +export CELLXGENE_DATA=../cellxgene_data # change this directory if you put data in a different place. +export GATEWAY_HOST=localhost:5005 +export GATEWAY_PROTOCOL=http +export GATEWAY_IP=127.0.0.1 ``` -`run.sh` defines various environment variables: +1. Now, execute the cellxgene gateway: -* `DEPLOYMENT_ENV` - expects 'dev', 'tst' or 'prd' -* `CELLXGENE_LOCATION` - the location of the cellxgene executable, e.g. ~/anaconda2/envs/cellxgene/bin/cellxgene -* `CELLXGENE_DATA` - a directory that can contain subdirectories with .h5ad data files, *without* trailing slash, e.g. /mnt/cellxgene_data -* `GATEWAY_HOST` - the hostname and port that the gateway will run on, typically localhost:5005 if running locally +```bash +cellxgene-gateway +``` + +For convenience, you can also change `run.sh.example` and execute it. + +Here's what the environment variables mean: + +* `CELLXGENE_LOCATION` - the location of the cellxgene executable, e.g. `~/anaconda2/envs/cellxgene/bin/cellxgene` +* `CELLXGENE_DATA` - a directory that can contain subdirectories with `.h5ad` data files, *without* trailing slash, e.g. `/mnt/cellxgene_data` +* `GATEWAY_HOST` - the hostname and port that the gateway will run on, typically `localhost:5005` if running locally * `GATEWAY_PROTOCOL` - typically http when running locally, can be https when deployed if the gateway is behind a load balancer or reverse proxy. -The defaults should be fine if you set up a venv and cellxgene_data folder as above. +The defaults should be fine if you set up a venv and cellxgene_data folder as above. -1. Finally, execute run.sh: - -``` -source run.sh -``` # Customization @@ -63,29 +91,23 @@ The current paradigm for customization is to modify files during a build or depl Currently we use a build.sh that copies the gateway to a "build" directory before modifying with sed and the like. -# Development # +# Development -## Running Linters ## +## Running Linters pip install isort flake8 black -``` +```bash isort -rc . -``` - -``` flake8 . +black -l 79 . ``` -``` -black . -``` - -# Getting Help # +# Getting Help If you need help for any reason, please make a github ticket. One of the contributors should help you out. -# Contributors # +# Contributors * Niket Patel - https://github.com/NiketPatel9 * Alok Saldanha - https://github.com/alokito