Add error message and exit if reembeddings is enabled and scanpy is n… (#1812)

* Add error message and exit if reembeddings is enabled and scanpy is not installed

  fixes #1811
This commit is contained in:
bmccandless
2020-09-02 15:35:50 -07:00
committed by GitHub
parent 437fd5feda
commit 0a27b2923a

View File

@@ -9,6 +9,7 @@ import yaml
from flatten_dict import flatten, unflatten
import server.compute.diffexp_cxg as diffexp_tiledb
import server.compute.scanpy
from server import display_version as cellxgene_display_version
from server.auth.auth import AuthTypeFactory
from server.common.annotations.hosted_tiledb import AnnotationsHostedTileDB
@@ -898,16 +899,21 @@ class DatasetConfig(BaseConfig):
self.check_attr("embeddings__enable_reembedding", bool)
server_config = self.app_config.server_config
if server_config.single_dataset__datapath:
if self.embeddings__enable_reembedding:
if self.embeddings__enable_reembedding:
if server_config.single_dataset__datapath:
matrix_data_loader = MatrixDataLoader(
server_config.single_dataset__datapath, app_config=self.app_config
)
if matrix_data_loader.matrix_data_type != MatrixDataType.H5AD:
raise ConfigurationError("'enable-reembedding is only supported with H5AD files.")
raise ConfigurationError("enable-reembedding is only supported with H5AD files.")
if server_config.adaptor__anndata_adaptor__backed:
raise ConfigurationError("enable-reembedding is not supported when run in --backed mode.")
try:
server.compute.scanpy.get_scanpy_module()
except NotImplementedError:
raise ConfigurationError("Please install scanpy to enable UMAP re-embedding")
def handle_diffexp(self, context):
self.check_attr("diffexp__enable", bool)
self.check_attr("diffexp__lfc_cutoff", float)