Skip to content

Feat sklearn pca50 - #112

Merged
tonyliang19 merged 10 commits into
mainfrom
feat-sklearn-pca50
Aug 31, 2026
Merged

tonyliang19 merged 10 commits into
mainfrom
feat-sklearn-pca50

Conversation

@tonyliang19

Copy link
Copy Markdown
Contributor
  • removing staled codes
  • updating sklearn for simple baselines and allow for reduced dataset via pca

Copilot AI lite review requested due to automatic review settings August 31, 2026 07:46
@tonyliang19
tonyliang19 merged commit 67002e0 into main Aug 31, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_type and propagate it through the splitting workflow into the split script CLI.
  • Extend sklearn training to accept a --reduction option 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants