From 52e2ff2a6da867d007b9893767eef90028571c09 Mon Sep 17 00:00:00 2001 From: Robrecht Cannoodt Date: Tue, 29 Sep 2026 18:54:09 +0200 Subject: [PATCH 1/3] Compare senkin_tmp predictions by name, not index dtype --- CHANGELOG.md | 2 ++ src/methods/senkin_tmp/senkin_tmp_predict/script.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cf2a082..9e6562b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -112,6 +112,8 @@ * `senkin_tmp_train`, `senkin_tmp_predict`: Store the model bundle (the test predictions, as the solution is transductive) as an h5ad file in a directory instead of a pickle. The train image is built from `nvidia/cuda` with the current pandas 3, the predict image `openproblems/base_pytorch_nvidia:1` ships pandas 2, and unpickling the bundled `var` DataFrame raised `NotImplementedError` in `NDArrayBacked.__setstate__`, so senkin_tmp finished both CITE training runs of run_2026-09-23 but never produced a prediction. The predict step still reads the old pickle until the test resources are regenerated (PR #73). +* `senkin_tmp_predict`: Compare the cell and protein names of the stored predictions as lists. The train and predict images run different pandas versions, so the same names were read back with a different index dtype and `Index.equals()` failed on every dataset. + # task_predict_modality 0.1.1 ## NEW FUNCTIONALITY diff --git a/src/methods/senkin_tmp/senkin_tmp_predict/script.py b/src/methods/senkin_tmp/senkin_tmp_predict/script.py index f6af47f4..67b6fd43 100644 --- a/src/methods/senkin_tmp/senkin_tmp_predict/script.py +++ b/src/methods/senkin_tmp/senkin_tmp_predict/script.py @@ -46,8 +46,8 @@ def read_predictions(model_dir): logger.info("Loading the predictions of the train step...") adata_predictions = read_predictions(par["input_model"]) # The train step predicted the test cells of input_test_mod1 in their order; make sure nothing changed -assert adata_predictions.obs_names.equals(adata_rna_test.obs_names), "test cells do not match the trained model" -assert adata_predictions.var_names.equals(adata_prot_train.var_names), "proteins do not match the trained model" +assert adata_predictions.obs_names.tolist() == adata_rna_test.obs_names.tolist(), "test cells do not match the trained model" +assert adata_predictions.var_names.tolist() == adata_prot_train.var_names.tolist(), "proteins do not match the trained model" logger.info("Writing predictions...") adata_out = ad.AnnData( From 978d8a5f1b1e2d80da986fc24eec0d1e8040c0c2 Mon Sep 17 00:00:00 2001 From: Robrecht Cannoodt Date: Tue, 29 Sep 2026 19:08:15 +0200 Subject: [PATCH 2/3] Add PR number to changelog --- CHANGELOG.md | 2 +- scripts/run_benchmark/run_full_denbi.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e6562b0..a43f83c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -112,7 +112,7 @@ * `senkin_tmp_train`, `senkin_tmp_predict`: Store the model bundle (the test predictions, as the solution is transductive) as an h5ad file in a directory instead of a pickle. The train image is built from `nvidia/cuda` with the current pandas 3, the predict image `openproblems/base_pytorch_nvidia:1` ships pandas 2, and unpickling the bundled `var` DataFrame raised `NotImplementedError` in `NDArrayBacked.__setstate__`, so senkin_tmp finished both CITE training runs of run_2026-09-23 but never produced a prediction. The predict step still reads the old pickle until the test resources are regenerated (PR #73). -* `senkin_tmp_predict`: Compare the cell and protein names of the stored predictions as lists. The train and predict images run different pandas versions, so the same names were read back with a different index dtype and `Index.equals()` failed on every dataset. +* `senkin_tmp_predict`: Compare the cell and protein names of the stored predictions as lists. The train and predict images run different pandas versions, so the same names were read back with a different index dtype and `Index.equals()` failed on every dataset (PR #75). # task_predict_modality 0.1.1 diff --git a/scripts/run_benchmark/run_full_denbi.sh b/scripts/run_benchmark/run_full_denbi.sh index 3dcdb890..2b197848 100755 --- a/scripts/run_benchmark/run_full_denbi.sh +++ b/scripts/run_benchmark/run_full_denbi.sh @@ -21,11 +21,11 @@ publish_dir: "$publish_dir" HERE tw launch https://github.com/openproblems-bio/task_predict_modality.git \ - --revision build/main \ + --revision v0.2.0-rc6 \ --pull-latest \ --main-script target/nextflow/workflows/run_benchmark/main.nf \ --workspace 53907369739130 \ - --compute-env 3qstFmP9lNwdzutSNuJq7c \ + --compute-env denbi_bibigrid_cpu \ --params-file /tmp/params.yaml \ --entry-name auto \ --config common/nextflow_helpers/labels_denbi.config \ From 1b09e7836ac3d4dfb21ec43806f71de8c7d56332 Mon Sep 17 00:00:00 2001 From: Robrecht Cannoodt Date: Tue, 29 Sep 2026 19:08:40 +0200 Subject: [PATCH 3/3] Revert unrelated change to run_full_denbi.sh --- scripts/run_benchmark/run_full_denbi.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/run_benchmark/run_full_denbi.sh b/scripts/run_benchmark/run_full_denbi.sh index 2b197848..3dcdb890 100755 --- a/scripts/run_benchmark/run_full_denbi.sh +++ b/scripts/run_benchmark/run_full_denbi.sh @@ -21,11 +21,11 @@ publish_dir: "$publish_dir" HERE tw launch https://github.com/openproblems-bio/task_predict_modality.git \ - --revision v0.2.0-rc6 \ + --revision build/main \ --pull-latest \ --main-script target/nextflow/workflows/run_benchmark/main.nf \ --workspace 53907369739130 \ - --compute-env denbi_bibigrid_cpu \ + --compute-env 3qstFmP9lNwdzutSNuJq7c \ --params-file /tmp/params.yaml \ --entry-name auto \ --config common/nextflow_helpers/labels_denbi.config \