mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-10-10 03:40:56 +08:00
#25 added CELLXGENE_ARGS environment variable
This commit is contained in:
@@ -39,7 +39,7 @@ Note: you may need to downgrade h5py with `pip install h5py==2.9.0` due to an [i
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir ../cellxgene_data
|
mkdir ../cellxgene_data
|
||||||
wget https://github.com/chanzuckerberg/cellxgene/raw/master/example-dataset/pbmc3k.h5ad -O ../cellxgene_data/pbmc3k.h5ad
|
wget https://raw.githubusercontent.com/chanzuckerberg/cellxgene/master/example-dataset/pbmc3k.h5ad -O ../cellxgene_data/pbmc3k.h5ad
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -61,6 +61,7 @@ Here's what the environment variables mean:
|
|||||||
* `CELLXGENE_LOCATION` - the location of the cellxgene executable, e.g. `~/anaconda2/envs/cellxgene/bin/cellxgene`
|
* `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`
|
* `CELLXGENE_DATA` - a directory that can contain subdirectories with `.h5ad` data files, *without* trailing slash, e.g. `/mnt/cellxgene_data`
|
||||||
Optional environment variables:
|
Optional environment variables:
|
||||||
|
* `CELLXGENE_ARGS` - catch-all variable that can be used to pass additional command line args to cellxgene server
|
||||||
* `EXTERNAL_HOST` - the hostname and port from the perspective of the web browser, typically `localhost:5005` if running locally. Defaults to "localhost:{GATEWAY_PORT}"
|
* `EXTERNAL_HOST` - the hostname and port from the perspective of the web browser, typically `localhost:5005` if running locally. Defaults to "localhost:{GATEWAY_PORT}"
|
||||||
* `EXTERNAL_PROTOCOL` - typically http when running locally, can be https when deployed if the gateway is behind a load balancer or reverse proxy that performs https termination. Default value "http"
|
* `EXTERNAL_PROTOCOL` - typically http when running locally, can be https when deployed if the gateway is behind a load balancer or reverse proxy that performs https termination. Default value "http"
|
||||||
* `GATEWAY_IP` - ip addess of instance gateway is running on, mostly used to display SSH instructions. Defaults to `socket.gethostbyname(socket.gethostname())`
|
* `GATEWAY_IP` - ip addess of instance gateway is running on, mostly used to display SSH instructions. Defaults to `socket.gethostbyname(socket.gethostname())`
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import socket
|
|||||||
|
|
||||||
cellxgene_location = os.environ.get("CELLXGENE_LOCATION")
|
cellxgene_location = os.environ.get("CELLXGENE_LOCATION")
|
||||||
cellxgene_data = os.environ.get("CELLXGENE_DATA")
|
cellxgene_data = os.environ.get("CELLXGENE_DATA")
|
||||||
|
cellxgene_args = os.environ.get("CELLXGENE_ARGS", None)
|
||||||
gateway_port = int(os.environ.get("GATEWAY_PORT", "5005"))
|
gateway_port = int(os.environ.get("GATEWAY_PORT", "5005"))
|
||||||
external_host = os.environ.get(
|
external_host = os.environ.get(
|
||||||
"EXTERNAL_HOST",
|
"EXTERNAL_HOST",
|
||||||
@@ -50,6 +51,7 @@ optional_env_vars = {
|
|||||||
"GATEWAY_ENABLE_UPLOAD": enable_upload,
|
"GATEWAY_ENABLE_UPLOAD": enable_upload,
|
||||||
"GATEWAY_ENABLE_ANNOTATIONS": enable_annotations,
|
"GATEWAY_ENABLE_ANNOTATIONS": enable_annotations,
|
||||||
"GATEWAY_ENABLE_BACKED_MODE": enable_backed_mode,
|
"GATEWAY_ENABLE_BACKED_MODE": enable_backed_mode,
|
||||||
|
"CELLXGENE_ARGS": cellxgene_args,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ import logging
|
|||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from flask_api import status
|
from flask_api import status
|
||||||
from cellxgene_gateway.env import enable_annotations, enable_backed_mode
|
from cellxgene_gateway.env import (
|
||||||
|
enable_annotations,
|
||||||
|
enable_backed_mode,
|
||||||
|
cellxgene_args,
|
||||||
|
)
|
||||||
from cellxgene_gateway.process_exception import ProcessException
|
from cellxgene_gateway.process_exception import ProcessException
|
||||||
from cellxgene_gateway.dir_util import make_annotations
|
from cellxgene_gateway.dir_util import make_annotations
|
||||||
from cellxgene_gateway.path_util import get_file_path, get_annotation_file_path
|
from cellxgene_gateway.path_util import get_file_path, get_annotation_file_path
|
||||||
@@ -35,6 +39,9 @@ class SubprocessBackend:
|
|||||||
extra_args = " --disable-annotations"
|
extra_args = " --disable-annotations"
|
||||||
if enable_backed_mode:
|
if enable_backed_mode:
|
||||||
extra_args += " --backed"
|
extra_args += " --backed"
|
||||||
|
if not cellxgene_args is None:
|
||||||
|
extra_args += f" {cellxgene_args}"
|
||||||
|
|
||||||
cmd = (
|
cmd = (
|
||||||
f"yes | {cellxgene_loc} launch {file_path}"
|
f"yes | {cellxgene_loc} launch {file_path}"
|
||||||
+ " --port "
|
+ " --port "
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ dependencies:
|
|||||||
- flask
|
- flask
|
||||||
- psutil
|
- psutil
|
||||||
- black
|
- black
|
||||||
|
- pip
|
||||||
- pip:
|
- pip:
|
||||||
- flask-api
|
- flask-api
|
||||||
- cellxgene>=0.15
|
- cellxgene>=0.15
|
||||||
|
|||||||
Reference in New Issue
Block a user