Report
Description Hello, I recently tried running popV (v0.6.0) with a modern environment (scvi-tools v1.3.3, scanpy v1.10+), and encountered multiple critical errors due to API changes in scvi-tools.
Environment
popV version: 0.6.0
scvi-tools version: 1.3.3
Hardware: NVIDIA A100 (High core count causing OpenBLAS issues)
Errors Encountered
AttributeError in SCVI class: The SCVI class in popv.algorithms._scvi is missing methods like compute_integration, predict, and compute_umap.
scVI API Mismatch: The old popV code calls SCVI initialization in a way that is no longer supported by scvi-tools v1.0+ (missing _adata_manager, incorrect train arguments).
Multiprocessing Crash: On high-performance servers (e.g., 128 cores), KNN and RandomForest cause Segmentation Faults due to OpenBLAS thread contention.
Temporary Workaround I managed to fix these issues by monkey-patching the popv.algorithms classes at runtime. Key fixes included:
Rewriting SCVI.train to use scvi.model.SCVI(adata).train().
Manually injecting result_key and seen_result_key attributes after prediction.
Setting os.environ["OPENBLAS_NUM_THREADS"] = "4" to prevent segfaults.
Suggestion It seems popV needs a major update to align with the current scvi-tools API. The internal SCVI wrapper class needs to be refactored to wrap the new scvi.model.SCVI correctly.
Version information
No response
Report
Description Hello, I recently tried running popV (v0.6.0) with a modern environment (scvi-tools v1.3.3, scanpy v1.10+), and encountered multiple critical errors due to API changes in scvi-tools.
Environment
popV version: 0.6.0
scvi-tools version: 1.3.3
Hardware: NVIDIA A100 (High core count causing OpenBLAS issues)
Errors Encountered
AttributeError in SCVI class: The SCVI class in popv.algorithms._scvi is missing methods like compute_integration, predict, and compute_umap.
scVI API Mismatch: The old popV code calls SCVI initialization in a way that is no longer supported by scvi-tools v1.0+ (missing _adata_manager, incorrect train arguments).
Multiprocessing Crash: On high-performance servers (e.g., 128 cores), KNN and RandomForest cause Segmentation Faults due to OpenBLAS thread contention.
Temporary Workaround I managed to fix these issues by monkey-patching the popv.algorithms classes at runtime. Key fixes included:
Rewriting SCVI.train to use scvi.model.SCVI(adata).train().
Manually injecting result_key and seen_result_key attributes after prediction.
Setting os.environ["OPENBLAS_NUM_THREADS"] = "4" to prevent segfaults.
Suggestion It seems popV needs a major update to align with the current scvi-tools API. The internal SCVI wrapper class needs to be refactored to wrap the new scvi.model.SCVI correctly.
Version information
No response