mirror of
https://github.com/Novartis/cellxgene-gateway.git
synced 2026-09-15 12:47:59 +08:00
Merge pull request #26 from Novartis/feature/25
#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
|
||||
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_DATA` - a directory that can contain subdirectories with `.h5ad` data files, *without* trailing slash, e.g. `/mnt/cellxgene_data`
|
||||
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_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())`
|
||||
|
||||
@@ -13,6 +13,7 @@ import socket
|
||||
|
||||
cellxgene_location = os.environ.get("CELLXGENE_LOCATION")
|
||||
cellxgene_data = os.environ.get("CELLXGENE_DATA")
|
||||
cellxgene_args = os.environ.get("CELLXGENE_ARGS", None)
|
||||
gateway_port = int(os.environ.get("GATEWAY_PORT", "5005"))
|
||||
external_host = os.environ.get(
|
||||
"EXTERNAL_HOST",
|
||||
@@ -50,6 +51,7 @@ optional_env_vars = {
|
||||
"GATEWAY_ENABLE_UPLOAD": enable_upload,
|
||||
"GATEWAY_ENABLE_ANNOTATIONS": enable_annotations,
|
||||
"GATEWAY_ENABLE_BACKED_MODE": enable_backed_mode,
|
||||
"CELLXGENE_ARGS": cellxgene_args,
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -11,7 +11,11 @@ import logging
|
||||
import subprocess
|
||||
|
||||
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.dir_util import make_annotations
|
||||
from cellxgene_gateway.path_util import get_file_path, get_annotation_file_path
|
||||
@@ -35,6 +39,9 @@ class SubprocessBackend:
|
||||
extra_args = " --disable-annotations"
|
||||
if enable_backed_mode:
|
||||
extra_args += " --backed"
|
||||
if not cellxgene_args is None:
|
||||
extra_args += f" {cellxgene_args}"
|
||||
|
||||
cmd = (
|
||||
f"yes | {cellxgene_loc} launch {file_path}"
|
||||
+ " --port "
|
||||
|
||||
@@ -7,6 +7,7 @@ dependencies:
|
||||
- flask
|
||||
- psutil
|
||||
- black
|
||||
- pip
|
||||
- pip:
|
||||
- flask-api
|
||||
- cellxgene>=0.15
|
||||
|
||||
Reference in New Issue
Block a user