diff --git a/scripts/run_grn_evaluation.sh b/scripts/run_grn_evaluation.sh index f4d8a85e2..0d7f4dc70 100755 --- a/scripts/run_grn_evaluation.sh +++ b/scripts/run_grn_evaluation.sh @@ -39,6 +39,7 @@ append_entry() { - id: ${reg_type}_${1} metric_ids: ${metric_ids} perturbation_data: ${resources_dir}/grn-benchmark/perturbation_data.h5ad + multiomics_rna: ${resources_dir}/grn-benchmark/multiomics_rna.h5ad reg_type: $reg_type method_id: $1 subsample: $subsample diff --git a/src/api/comp_control_method.yaml b/src/api/comp_control_method.yaml index bab694514..3e9dcbae5 100644 --- a/src/api/comp_control_method.yaml +++ b/src/api/comp_control_method.yaml @@ -14,11 +14,6 @@ functionality: required: false direction: input default: resources/grn-benchmark/perturbation_data.h5ad - - name: --multiomics_rna - __merge__: file_multiomics_rna_h5ad.yaml - required: false - direction: input - default: resources/grn-benchmark/multiomics_rna.h5ad - name: --layer type: string direction: input diff --git a/src/control_methods/baseline_corr/config.vsh.yaml b/src/control_methods/baseline_corr/config.vsh.yaml index 38ae38955..f330d8446 100644 --- a/src/control_methods/baseline_corr/config.vsh.yaml +++ b/src/control_methods/baseline_corr/config.vsh.yaml @@ -7,6 +7,9 @@ functionality: summary: "Baseline based on Pearson corr" arguments: + - name: --multiomics_rna + required: false + direction: input - name: --causal type: boolean direction: input diff --git a/src/methods/single_omics/ennet/config.vsh.yaml b/src/methods/single_omics/ennet/config.vsh.yaml index 5a25dba07..d8dc49a99 100644 --- a/src/methods/single_omics/ennet/config.vsh.yaml +++ b/src/methods/single_omics/ennet/config.vsh.yaml @@ -34,4 +34,4 @@ platforms: - type: native - type: nextflow directives: - label: [threedaystime,midmem,midcpu] + label: [onedaytime,midmem,midcpu] diff --git a/src/methods/single_omics/pidc/config.vsh.yaml b/src/methods/single_omics/pidc/config.vsh.yaml index 3da522615..4923edbe6 100644 --- a/src/methods/single_omics/pidc/config.vsh.yaml +++ b/src/methods/single_omics/pidc/config.vsh.yaml @@ -22,4 +22,4 @@ platforms: - type: native - type: nextflow directives: - label: [threedaystime, midmem,midcpu] + label: [onedaytime, midmem,midcpu] diff --git a/src/methods/single_omics/scsgl/config.vsh.yaml b/src/methods/single_omics/scsgl/config.vsh.yaml index 723df8987..467c7bdac 100644 --- a/src/methods/single_omics/scsgl/config.vsh.yaml +++ b/src/methods/single_omics/scsgl/config.vsh.yaml @@ -22,4 +22,4 @@ platforms: - type: native - type: nextflow directives: - label: [threedaystime, midmem,midcpu] + label: [onedaytime, midmem,midcpu] diff --git a/src/methods/single_omics/tigress/config.vsh.yaml b/src/methods/single_omics/tigress/config.vsh.yaml index 8cc4ed338..b4d53854b 100644 --- a/src/methods/single_omics/tigress/config.vsh.yaml +++ b/src/methods/single_omics/tigress/config.vsh.yaml @@ -30,4 +30,4 @@ platforms: - type: native - type: nextflow directives: - label: [threedaystime, midmem, highcpu] + label: [onedaytime, midmem, highcpu] diff --git a/src/workflows/run_benchmark_single_omics/config.vsh.yaml b/src/workflows/run_benchmark_single_omics/config.vsh.yaml index 5176c5ce6..d31c17656 100644 --- a/src/workflows/run_benchmark_single_omics/config.vsh.yaml +++ b/src/workflows/run_benchmark_single_omics/config.vsh.yaml @@ -71,6 +71,16 @@ functionality: # required: true # direction: output # default: metric_configs.yaml + - name: Arguments + arguments: + - name: "--method_ids" + type: string + multiple: true + description: A list of method ids to run. If not specified, all methods will be run. + - name: "--metric_ids" + type: string + multiple: true + description: A list of metric ids to run. If not specified, all metric will be run. resources: - type: nextflow_script diff --git a/src/workflows/run_benchmark_single_omics/main.nf b/src/workflows/run_benchmark_single_omics/main.nf index 89982babe..666280d35 100644 --- a/src/workflows/run_benchmark_single_omics/main.nf +++ b/src/workflows/run_benchmark_single_omics/main.nf @@ -13,21 +13,22 @@ workflow run_wf { // construct list of methods methods = [ - // portia, - // ennet, - // genie3, - // grnboost2, - // pidc, - // ppcor, - // scsgl, - // tigress + portia + ennet + genie3 + grnboost2 + pidc + ppcor + scsgl + tigress scgpt ] // construct list of metrics metrics = [ - regression_1 + regression_1, + regression_2, ] /**************************** @@ -57,6 +58,9 @@ workflow run_wf { // run all methods | runEach( components: methods, + filter: { id, state, comp -> + !state.method_ids || state.method_ids.contains(comp.config.functionality.name) + }, // use the 'filter' argument to only run a defined method or all methods // filter: { id, state, comp -> @@ -91,6 +95,9 @@ workflow run_wf { // run all metrics | runEach( components: metrics, + filter: { id, state, comp -> + !state.metric_ids || state.metric_ids.contains(comp.config.functionality.name) + }, id: { id, state, comp -> id + "." + comp.config.functionality.name }, diff --git a/src/workflows/run_grn_evaluation/main.nf b/src/workflows/run_grn_evaluation/main.nf index f5467f789..99d639893 100644 --- a/src/workflows/run_grn_evaluation/main.nf +++ b/src/workflows/run_grn_evaluation/main.nf @@ -93,12 +93,12 @@ workflow run_wf { // run all metrics | runEach( components: metrics, - id: { id, state, comp -> - id + "." + comp.config.functionality.name - }, filter: { id, state, comp -> !state.metric_ids || state.metric_ids.contains(comp.config.functionality.name) }, + id: { id, state, comp -> + id + "." + comp.config.functionality.name + }, // use 'fromState' to fetch the arguments the component requires from the overall state fromState: [ perturbation_data: "perturbation_data",