exceptImportErrorase:# Check if the error is related to scvi or other required dependenciesif"scvi"instr(e)or"torch_geometric"instr(e)or"torch"instr(e):importwarningswarnings.warn("MERFISHVI could not be imported due to missing dependencies. ""To use MERFISHVI functionality, please install the required packages: ""pip install scvi-tools torch torch-geometric",ImportWarning,stacklevel=2,)_MERFISHVI_AVAILABLE=False# Create a dummy MERFISHVI module that raises an informative error when accessedclass_MERFISHVIPlaceholder:def__getattr__(self,name):raiseImportError(f"Cannot access {name} from MERFISHVI. ""MERFISHVI requires additional dependencies. ""Please install them with: pip install scvi-tools torch torch-geometric")MERFISHVI=_MERFISHVIPlaceholder()else:# Re-raise if it's a different import errorraise
[docs]defis_merfishvi_available():""" Check if MERFISHVI and its dependencies are available. Returns ------- bool True if MERFISHVI can be imported successfully, False otherwise. """return_MERFISHVI_AVAILABLE
[docs]defget_merfishvi_requirements():""" Get the list of required packages for MERFISHVI functionality. Returns ------- list List of required package names. """return["scvi-tools","torch","torch-geometric","scipy","sklearn"]