Add SenKin CITE-seq method (LightGBM + GRU ensemble) - #18
Merged
rcannood merged 10 commits intoJul 30, 2026
Conversation
VladimirShitov
self-requested a review
July 1, 2026 13:22
VladimirShitov
left a comment
Contributor
There was a problem hiding this comment.
Thanks! Looks very good overall, but some functionality should be moved to https://github.com/lueckenlab/senkin-tmp-cite-pred and imported from there for better reusability
3 tasks
Contributor
|
Could you update this one with the updated code from senkin-tmp repo and then merge (or tell me to merge)? |
Replace the inline _lognorm and _clr_tsvd_fitted duplicates in senkin_train with the now-published library functions log_normalize() and clr_tsvd() from senkin_tmp_cite_pred.preprocess. Behaviour is unchanged: log_normalize uses target_sum=1e4 (CP10K + log1p) matching the old _lognorm, and clr_tsvd uses random_state=42 for reproducible components. The previously-kept fitted TSVD object was unused and is dropped.
Contributor
Author
|
Replaced the inline _lognorm and _clr_tsvd_fitted duplicates in senkin_train Ready to merge @VladimirShitov |
log_normalize() preserves the input sparsity, so on the sparse counts layer it returns a sparse matrix. np.asarray() on a sparse matrix yields a 0-d object array, which crashed at X_lognorm_all[train_mask] with an IndexError. Use the existing _to_dense() helper (and restore float64) so the downstream boolean-mask slicing and concatenation work, matching the previous inline _lognorm behaviour. Verified: viash test src/methods/senkin/senkin_train passes (1/1). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jul 29, 2026
This comment was marked as resolved.
This comment was marked as resolved.
This was referenced Jul 29, 2026
* Add methods/senkin to run_benchmark's dependencies -- it was in the methods list but not declared, so the generated workflow referenced an undefined variable and the whole run died at startup * Report "senkin" as the method id rather than senkin_predict; the metrics copy uns["method_id"] straight into the score * Drop the gpu label: measured on a T4, senkin runs entirely on CPU (LightGBM's pip wheel is CPU-only and dominates the runtime, and TensorFlow cannot load CUDA in this image) * Give senkin_predict a test_setup and generate its model in test_resources.sh, so viash test has an --input_model to use
rcannood
force-pushed
the
add-senkin-clean
branch
from
July 30, 2026 07:17
8823133 to
0e81678
Compare
* Rename the method and both sub-components to `senkin_tmp`, so the name credits both team members * Point the doi at the 2026 competition paper (10.64898/2026.02.24.707614) Co-authored-by: Vladimir Shitov <35199218+VladimirShitov@users.noreply.github.com>
rcannood
force-pushed
the
add-senkin-clean
branch
from
July 30, 2026 07:23
0e81678 to
ec20b3c
Compare
Member
|
@benjaminfreyuu @VladimirShitov Can we expect this method to be runnable on pairs other than GEX -> PROT, or will it always fail? |
* Cap the boosting rounds, early stopping patience and nn epochs with `info.test_default`, the way openproblems-bio#57 did for the other two train components * Fold the senkin_tmp fixture into the skip-if-up-to-date structure that came in with openproblems-bio#57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe your changes
Checklist before requesting a review
[x ] I have performed a self-review of my code
Check the correct box. Does this PR contain:
Proposed changes are described in the CHANGELOG.md
[ x] CI Tests succeed and look good!