Repository navigation
Feat sklearn single baseline - #115
Merged
Merged
Conversation
Major change to prepare data, seed reproduce
feat: add the final samplesheet used for the pipeline
…d to sklearn logistic regressions only
There was a problem hiding this comment.
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
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 ) ) |
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.


No description provided.