diff --git a/CHANGELOG.md b/CHANGELOG.md index 55e9ee63..b1d08aa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ * `process_dataset`: Add the `--seed` argument the API and README already advertised, and pass it through from the `process_datasets` workflow. Without it `par$seed` was `NULL`, and `set.seed(NULL)` re-seeds from the clock -- so the test-cell and ATAC-peak subsampling were not reproducible (PR #27). +* `novel`: Record every all-zero training feature in `uns["removed_vars"]`, not just the first. With more than one such feature, `novel_predict` left extra columns in the test matrix and the model dimensions no longer lined up (PR #33). + # task_predict_modality 0.1.1 ## NEW FUNCTIONALITY diff --git a/src/methods/novel/novel_train/script.py b/src/methods/novel/novel_train/script.py index 0cd94124..4b24f527 100644 --- a/src/methods/novel/novel_train/script.py +++ b/src/methods/novel/novel_train/script.py @@ -150,7 +150,7 @@ # Add model dim for use in predict part adata.uns["model_dim"] = {"mod1": n_vars_mod1, "mod2": n_vars_mod2} if rem_var is not None: - adata.uns["removed_vars"] = [rem_var[0]] + adata.uns["removed_vars"] = list(rem_var) adata.write_h5ad(output_h5ad, compression="gzip") if mod1 != 'ADT':