Skip to content

Feat sklearn single baseline - #115

Merged
tonyliang19 merged 24 commits into
devfrom
feat-sklearn-single-baseline
Sep 29, 2026
Merged

tonyliang19 merged 24 commits into
devfrom
feat-sklearn-single-baseline

Conversation

@tonyliang19

Copy link
Copy Markdown
Contributor

No description provided.

Major change to prepare data, seed reproduce
feat: add the final samplesheet used for the pipeline
Copilot AI balanced review requested due to automatic review settings September 29, 2026 14:20
@tonyliang19
tonyliang19 merged commit 86c1816 into dev Sep 29, 2026
1 check passed

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.

Copilot review overview

🟡 Changes recommended

The baseline is skipped by default, and independently generated modality folds may compare different subjects.

Review effort: Balanced
Findings: 2 High severity · 1 Medium severity

Open (3)
What changed in this PR

This PR adds single-modality sklearn baselines to the MESSI benchmark pipeline and reorganizes related method and container configuration.

Changes:

  • Creates per-modality MuData datasets and routes them through splitting and cross-validation.
  • Adds sklearn reduction and classifier options, shared Python utilities, and revised metrics.
  • Centralizes container selection and removes simulation and unfinished method code.
File Description
workflows/​messi_benchmark.nf Routes per-modality datasets into splitting and validation.
subworkflows/​splitting/​main.nf Passes outcome type to splitting.
subworkflows/​simulation/​main.nf Removes the simulation workflow.
subworkflows/​prepare_data/​main.nf Emits per-modality MuData datasets.
subworkflows/​methods/​sklearn/​main.nf Adds reduction choices to sklearn training.
subworkflows/​methods/​sgmr/​main.nf Removes the SGMR workflow.
subworkflows/​cross_validation/​r/​main.nf Removes the SGMR import.
subworkflows/​cross_validation/​python/​main.nf Routes per-modality data to sklearn; removes GOAT routing.
subworkflows/​cross_validation/​main.nf Joins per-modality data with split indices.
nextflow.config Adds mode, reduction, outcome, and container settings.
modules/​split_train_test/​resources/​usr/​bin/​split_tr_te.py Adds outcome-aware splitting input.
modules/​split_train_test/​main.nf Passes outcome type and uses a container label.
modules/​sklearn/​train/​resources/​usr/​bin/​sklearn_train.py Adds modality-wise PCA training.
modules/​sklearn/​train/​resources/​usr/​bin/​load_classifier_class.py Removes the local classifier registry.
modules/​sklearn/​train/​resources/​usr/​bin/​combine_mdata2df.py Removes the local MuData converter.
modules/​sklearn/​train/​main.nf Passes reduction settings into training.
modules/​sklearn/​select_feature/​resources/​usr/​bin/​sklearn_select_features.py Uses the shared converter and fitted search result.
modules/​sklearn/​select_feature/​resources/​usr/​bin/​run_random_search_cv.py Searches over a scaling pipeline.
modules/​sklearn/​select_feature/​resources/​usr/​bin/​combine_mdata2df.py Removes the local MuData converter.
modules/​sklearn/​select_feature/​main.nf Uses a sklearn container label.
modules/​sklearn/​preprocess/​main.nf Uses a sklearn container label.
modules/​sklearn/​predict/​resources/​usr/​bin/​sklearn_predict.py Uses the shared MuData converter.
modules/​sklearn/​predict/​resources/​usr/​bin/​combine_mdata2df.py Removes the local MuData converter.
modules/​sklearn/​predict/​main.nf Uses a sklearn container label.
modules/​simulation/​simulate_mvn_data/​resources/​usr/​bin/​unique_matrices.R Removes an MVN simulation helper.
modules/​simulation/​simulate_mvn_data/​resources/​usr/​bin/​simulate_data.R Removes the MVN simulation script.
modules/​simulation/​simulate_mvn_data/​resources/​usr/​bin/​gen_simul_metadata.R Removes an MVN metadata helper.
modules/​simulation/​simulate_mvn_data/​resources/​usr/​bin/​debug_simulate_data.R Removes an MVN debugging script.
modules/​simulation/​simulate_mvn_data/​main.nf Removes the MVN simulation process.
modules/​simulation/​simulate_intersim/​resources/​usr/​bin/​simulate_InterSIM.R Removes the InterSIM script.
modules/​simulation/​simulate_intersim/​resources/​usr/​bin/​save_mudata.py Removes an InterSIM output helper.
modules/​simulation/​simulate_intersim/​main.nf Removes the InterSIM process.
modules/​rgcca/​train/​main.nf Uses an RGCCA container label.
modules/​rgcca/​select_feature/​main.nf Uses an RGCCA container label.
modules/​rgcca/​preprocess/​main.nf Uses an RGCCA container label.
modules/​rgcca/​predict/​main.nf Uses an RGCCA container label.
modules/​prepare_data/​uncompress_record/​main.nf Uses a generic container label.
modules/​prepare_data/​split_modality/​resources/​usr/​bin/​split_modalities.py Writes single-modality MuData files.
modules/​prepare_data/​split_modality/​main.nf Adds the modality-splitting process.
modules/​prepare_data/​prepare_mu_data/​main.nf Uses a generic container label.
modules/​prepare_data/​prepare_mae_data/​main.nf Uses a generic container label.
modules/​prepare_data/​parse_metadata/​main.nf Uses a generic container label.
modules/​mogonet/​train/​main.nf Uses a MOGONET container label.
modules/​mogonet/​select_feature/​main.nf Uses a MOGONET container label.
modules/​mogonet/​preprocess/​main.nf Uses a MOGONET container label.
modules/​mogonet/​predict/​main.nf Uses a MOGONET container label.
modules/​mofa/​train/​main.nf Uses a MOFA container label.
modules/​mofa/​select_feature/​main.nf Uses a MOFA container label.
modules/​mofa/​preprocess/​main.nf Uses a MOFA container label.
modules/​mofa/​predict/​main.nf Uses a MOFA container label.
modules/​merge_selected_features/​main.nf Uses a CODIA container label.
modules/​merge_result_table/​main.nf Uses a CODIA container label.
modules/​local/​samplesheet_check/​main.nf Uses a MOGONET container label.
modules/​integrao/​train/​main.nf Uses an INTEGRAO container label.
modules/​integrao/​select_feature/​main.nf Uses an INTEGRAO container label.
modules/​integrao/​preprocess/​main.nf Uses an INTEGRAO container label.
modules/​integrao/​predict/​main.nf Uses an INTEGRAO container label.
modules/​goat/​resource/​usr/​bin/​run_goat.py No textual diff was provided for this path.
modules/​goat/​main.nf Removes the GOAT process.
modules/​diablo/​train/​main.nf Uses a CODIA container label.
modules/​diablo/​select_feature/​main.nf Uses a CODIA container label.
modules/​diablo/​preprocess/​main.nf Uses a CODIA container label.
modules/​diablo/​predict/​main.nf Uses a CODIA container label.
modules/​diablo/​downstream/​main.nf Uses a CODIA container label.
modules/​cooperative_learning/​train/​main.nf Uses a CODIA container label.
modules/​cooperative_learning/​select_feature/​main.nf Uses a CODIA container label.
modules/​cooperative_learning/​preprocess/​main.nf Uses a CODIA container label.
modules/​cooperative_learning/​predict/​main.nf Uses a CODIA container label.
modules/​caret_multimodal/​train/​main.nf Uses a caret container label.
modules/​caret_multimodal/​select_feature/​main.nf Uses a caret container label.
modules/​caret_multimodal/​preprocess/​main.nf Uses a caret container label.
modules/​caret_multimodal/​predict/​main.nf Uses a caret container label.
modules/​calculate_metrics/​resources/​usr/​bin/​calculate_metrics.py Revises classification metrics.
modules/​calculate_metrics/​main.nf Uses a MOGONET container label.
conf/​real_data.config Corrects the feature-selection parameter name.
bin/​python_utils/​load_classifier_class.py Expands the shared classifier registry.
bin/​python_utils/​combine_mdata2df.py Adds a shared MuData converter.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +2 to +3
include { CARET_MULTIMODAL } from "${subworkflowDir}/methods/caret_multimodal"
include { DEMO_LOGIT } from "${subworkflowDir}/methods/demo_logit"
//

SPLITTING (
PREPARE_DATA.out.mu_data.mix ( PREPARE_DATA.out.mu_data_unimodal ),
Comment on lines 51 to +53
if (!skip_sklearn) {
SKLEARN ( mu_copy )
// Mix inputs of mudata and unimodal
SKLEARN ( mu_copy.mix( mu_copy_unimodal ) )
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