Repository navigation
Feat sklearn pca50 - #112
Merged
Merged
Conversation
tonyliang19
commented
Aug 31, 2026
Contributor
- removing staled codes
- updating sklearn for simple baselines and allow for reduced dataset via pca
There was a problem hiding this comment.
Pull request overview
This PR modernizes the pipeline by removing legacy simulation/method scaffolding, wiring an outcome_type into splitting to support survival-style outcomes, and extending the sklearn baseline to optionally run a PCA-based dimensionality reduction (e.g., pca50). It also refactors many processes to rely on label-based container selection from nextflow.config instead of inline container directives.
Changes:
- Add
params.outcome_typeand propagate it through the splitting workflow into the split script CLI. - Extend sklearn training to accept a
--reductionoption and encode reduction into model/log artifacts. - Remove stale simulation workflows/method stubs and standardize module container selection via labels in
nextflow.config.
Reviewed changes
Copilot reviewed 54 out of 66 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| subworkflows/splitting/main.nf | Passes outcome_type into split module |
| subworkflows/simulation/main.nf | Removed legacy simulation subworkflow |
| subworkflows/prepare_data/main.nf | Removes simulation include |
| subworkflows/methods/sklearn/main.nf | Adds reduction channel, passes into training |
| subworkflows/methods/sgmr/main.nf | Removed SGMR stub workflow |
| subworkflows/cross_validation/r/main.nf | Removes SGMR from R CV include list |
| subworkflows/cross_validation/python/main.nf | Removes GOAT execution path; formatting tweaks |
| subworkflows/cross_validation/main.nf | Updates shouldRunPython() gating logic |
| nextflow.config | Adds new params, updates sklearn params, centralizes containers by label |
| modules/split_train_test/resources/usr/bin/split_tr_te.py | Adds outcome_type + event_col CLI handling |
| modules/split_train_test/main.nf | Adds outcome_type input and passes CLI flag; switches to label-based container |
| modules/sklearn/train/resources/usr/bin/sklearn_train.py | Adds PCA/ColumnTransformer-based reduction pipeline |
| modules/sklearn/train/resources/usr/bin/load_classifier_class.py | Refactors classifier registry; adds MLP + HistGradientBoost |
| modules/sklearn/train/resources/usr/bin/combine_mdata2df.py | Returns modality names for downstream reduction |
| modules/sklearn/train/main.nf | Adds reduction to tagging/output identity; passes --reduction |
| modules/sklearn/select_feature/main.nf | Switches to label-based container selection |
| modules/sklearn/preprocess/main.nf | Switches to label-based container selection |
| modules/sklearn/predict/main.nf | Switches to label-based container selection |
| modules/simulation/simulate_mvn_data/resources/usr/bin/unique_matrices.R | Removed legacy simulation script |
| modules/simulation/simulate_mvn_data/resources/usr/bin/simulate_data.R | Removed legacy simulation script |
| modules/simulation/simulate_mvn_data/resources/usr/bin/gen_simul_metadata.R | Removed legacy simulation script |
| modules/simulation/simulate_mvn_data/resources/usr/bin/debug_simulate_data.R | Removed legacy simulation script |
| modules/simulation/simulate_mvn_data/main.nf | Removed MVN simulation module |
| modules/simulation/simulate_intersim/resources/usr/bin/simulate_InterSIM.R | Removed InterSIM simulation script |
| modules/simulation/simulate_intersim/resources/usr/bin/save_mudata.py | Removed InterSIM helper script |
| modules/simulation/simulate_intersim/main.nf | Removed InterSIM simulation module |
| modules/rgcca/train/main.nf | Switches to label-based container selection |
| modules/rgcca/select_feature/main.nf | Switches to label-based container selection |
| modules/rgcca/preprocess/main.nf | Switches to label-based container selection |
| modules/rgcca/predict/main.nf | Switches to label-based container selection; removes stray label |
| modules/prepare_data/uncompress_record/main.nf | Switches to label-based container selection |
| modules/prepare_data/prepare_mu_data/main.nf | Switches to label-based container selection |
| modules/prepare_data/prepare_mae_data/main.nf | Switches to label-based container selection |
| modules/prepare_data/parse_metadata/main.nf | Switches to label-based container selection |
| modules/mogonet/train/main.nf | Switches to label-based container selection |
| modules/mogonet/select_feature/main.nf | Switches to label-based container selection |
| modules/mogonet/preprocess/main.nf | Switches to label-based container selection |
| modules/mogonet/predict/main.nf | Switches to label-based container selection |
| modules/mofa/train/main.nf | Switches to label-based container selection |
| modules/mofa/select_feature/main.nf | Switches to label-based container selection |
| modules/mofa/preprocess/main.nf | Switches to label-based container selection |
| modules/mofa/predict/main.nf | Switches to label-based container selection |
| modules/merge_selected_features/main.nf | Switches to label-based container selection |
| modules/merge_result_table/main.nf | Switches to label-based container selection |
| modules/local/samplesheet_check/main.nf | Switches to label-based container selection |
| modules/integrao/train/main.nf | Switches to label-based container selection |
| modules/integrao/select_feature/main.nf | Switches to label-based container selection |
| modules/integrao/preprocess/main.nf | Switches to label-based container selection |
| modules/integrao/predict/main.nf | Switches to label-based container selection |
| modules/goat/main.nf | Removed GOAT module process |
| modules/diablo/train/main.nf | Switches to label-based container selection |
| modules/diablo/select_feature/main.nf | Switches to label-based container selection |
| modules/diablo/preprocess/main.nf | Switches to label-based container selection |
| modules/diablo/predict/main.nf | Switches to label-based container selection |
| modules/diablo/downstream/main.nf | Switches to label-based container selection |
| modules/cooperative_learning/train/main.nf | Switches to label-based container selection |
| modules/cooperative_learning/select_feature/main.nf | Switches to label-based container selection |
| modules/cooperative_learning/preprocess/main.nf | Switches to label-based container selection |
| modules/cooperative_learning/predict/main.nf | Switches to label-based container selection |
| modules/caret_multimodal/train/main.nf | Switches to label-based container selection |
| modules/caret_multimodal/select_feature/main.nf | Switches to label-based container selection |
| modules/caret_multimodal/preprocess/main.nf | Switches to label-based container selection |
| modules/caret_multimodal/predict/main.nf | Switches to label-based container selection |
| modules/calculate_metrics/resources/usr/bin/calculate_metrics.py | Expands/renames computed metric set |
| modules/calculate_metrics/main.nf | Switches to label-based container selection |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+34
to
+36
| model_name = Channel.fromList(params.sklearn_classifier_names) | ||
| // Reduction method (pca or empty) | ||
| reduction = Channel.value(params.sklearn_reduction) |
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.