From dfaca176cf540501970c264a9b82da2be128dea5 Mon Sep 17 00:00:00 2001 From: gurayerus Date: Wed, 11 Sep 2024 17:52:37 -0400 Subject: [PATCH] Edit --- run.py | 64 +-- src/workflow/workflows/w_sMRI/Snakefile | 439 +++++++++--------- .../workflows/w_sMRI/call_snakefile.py | 28 ++ src/workflow/workflows/w_sMRI/config.json | 21 + src/workflow/workflows/w_sMRI/info.json | 32 ++ test/test_output/tmp/config.json | 32 ++ 6 files changed, 340 insertions(+), 276 deletions(-) create mode 100644 src/workflow/workflows/w_sMRI/call_snakefile.py create mode 100644 src/workflow/workflows/w_sMRI/config.json create mode 100644 src/workflow/workflows/w_sMRI/info.json create mode 100644 test/test_output/tmp/config.json diff --git a/run.py b/run.py index 9ec80d8..02a5ec5 100644 --- a/run.py +++ b/run.py @@ -4,62 +4,32 @@ if __name__ == "__main__": parser = argparse.ArgumentParser() - parser.add_argument("--dir_input", help="Provide input folder", required=True) - parser.add_argument("--dir_output", help="Provide output folder", required=True) - parser.add_argument("--studies", type=int, help="Provide total studies", required=True) - parser.add_argument("--cores", help="Select number of cores that the workflow will use to run", required=True) - parser.add_argument("--dry_run", help="Select dry run", default=0) - parser.add_argument("--version", type=str, default="test", help="Provide version") - parser.add_argument("--conda", type=int, help="Run workflows without initializing a coda environment again", default=0) + parser.add_argument("--input_rois", help="Provide input csv name with ROIs", required=True) + parser.add_argument("--input_demog", help="Provide input csv name with demographic info", required=True) + parser.add_argument("--input_config", help="Provide input config file name", required=True) + parser.add_argument("--dir_output", help="Provide output folder name", required=True) options = parser.parse_args() - if int(options.cores) < 1: - print("Please select a valid number of cores(>=1)") - exit(0) + # Read default config file + with open(options.input_config, 'r') as f: + config = json.load(f) - if int(options.conda) == 1: - os.system("pip install -r requirements.txt") - os.system("conda install -n base -c conda-forge mamba") - os.system("mamba init") - os.system("mamba create -c conda-forge -c bioconda -n NiChart_Workflows python=3.8") - os.system("conda activate NiChart_Workflows") - os.system("mamba install -c conda-forge -c bioconda snakemake") - # generate info.json file for configuration - if not os.path.exists("info.json"): - os.system("touch info.json") + # Update the default config using the input args + config['input_rois'] = options.input_rois + config['input_demog'] = options.input_demog + config['dir_output'] = options.dir_output - config = { - "version": options.version, - "dir_input": options.dir_input, - "dir_output": options.dir_output, - "studies": options.studies, - "list_ROIs_all": "MUSE/list_MUSE_all.csv", - "list_ROIs_single": "MUSE/list_MUSE_single.csv", - "list_ROIs_primary": "MUSE/list_MUSE_primary.csv", - "list_derived_ROIs": "MUSE/list_MUSE_mapping_derived.csv", - "corr_type": "normICV", - "model_combat": "models/vISTAG1/COMBAT/combined_DLMUSE_raw_COMBATModel.pkl.gz", - "model_SPARE-AD": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-AD_Model.pkl.gz", - "model_SPARE-Age": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Age_Model.pkl.gz", - "model_SPARE-Diabetes": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Diabetes_Model.pkl.gz", - "model_SPARE-Hyperlipidemia": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hyperlipidemia_Model.pkl.gz", - "model_SPARE-Hypertension": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hypertension_Model.pkl.gz", - "model_SPARE-Obesity": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Obesity_Model.pkl.gz", - "model_SPARE-Smoking": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Smoking_Model.pkl.gz", - "studies": [f"Study{i + 1}" for i in range(options.studies)], - "SPARE_types": ["AD", "Age", "Diabetes", "Hyperlipidemia", "Hypertension", "Obesity", "Smoking"], - "seg_types": ["DLMUSE"] - } + # Create out dir + if not os.path.exists(options.dir_output): + os.makedirs(options.dir_output) + # Write config file json_config = json.dumps(config, indent=4) + out_file = os.path.join(options.dir_output, 'config.json') with open("info.json", "w") as outfile: outfile.write(json_config) - os.system("mv info.json src/workflow/workflows/") os.chdir('src/workflow/workflows/w_sMRI') - if int(options.dry_run) == 1: - os.system("snakemake -np") - else: - os.system(f"snakemake --cores {options.cores}") + os.system(f"snakemake --cores 1") diff --git a/src/workflow/workflows/w_sMRI/Snakefile b/src/workflow/workflows/w_sMRI/Snakefile index ad20273..5003d02 100755 --- a/src/workflow/workflows/w_sMRI/Snakefile +++ b/src/workflow/workflows/w_sMRI/Snakefile @@ -3,11 +3,9 @@ import pandas as pd import json import os -## Read config json file -config_file = open("../info.json") -config_data = json.load(config_file) +configfile: "config.json" -## Set path to root dir +# Set path to root dir os.chdir('../../../../') ## Flag to indicate rules that will be run locally (e.g. not submitted to slurm) @@ -16,60 +14,43 @@ os.chdir('../../../../') ### Report data #report: "report/workflow.rst" +################################## +# Read config vars and lists +dset_name = config["dset_name"] +input_rois = config["input_rois"] +input_demog = config["input_demog"] +dir_output = config["dir_output"] +derived_rois = config["list_derived_ROIs"] +rois = config["list_ROIs_all"] +rois_single = config["list_ROIs_single"] +rois_primary = config["list_ROIs_primary"] +spare_types = config["SPARE_types"] +model_combat = config["model_combat"] +seg_types = config["seg_types"] +corr_type = config["corr_type"] -################################### -## Read config vars and lists +## Set output file name +OUT_FILE = f"{dir_output}/out_combined/{{dset_name}}_All.csv" +OUT_FILE = f"{dir_output}/out_rois/{dset_name}_raw.csv" -dir_input = config_data["dir_input"] -dir_output = config_data["dir_output"] -derived_rois = config_data["list_derived_ROIs"] -rois = config_data["list_ROIs_all"] -rois_single = config_data["list_ROIs_single"] -rois_primary = config_data["list_ROIs_primary"] -spare_types = config_data["SPARE_types"] -model_combat = config_data["model_combat"] -seg_types = config_data["seg_types"] -corr_type = config_data["corr_type"] -studies = config_data["studies"] - -################################### - -## Set output file names -OUT_RESULTS = expand(f"{dir_output}/{{study}}/out_combined/{{study}}_{{stype}}_All.csv", study = studies, stype = seg_types) -OUT_FLAG = [f"{dir_output}/flag_VIEWED.csv"] -OUT_FILES = OUT_RESULTS + OUT_FLAG -################################### ## Rules rule ALL: ''' First rule: lists the final expected out files ''' - input: OUT_FILES + input: OUT_FILE -rule run_dlmuse: - ''' - Rename MUSE roi indices to roi codes - ''' - input: - f"{dir_input}/{{study}}/{{study}}_Demog.csv", - output: - f"{dir_output}/{{study}}/dlmuse/{{study}}_DLMUSE.csv" - resources: - mem_mb=32000 - shell: - "bash src/workflow/utils/dlmuse/util_dlmuse_apply.sh {input} {output}" - -ruleorder: rename_rois_user > rename_rois_computed +#ruleorder: rename_rois_user > rename_rois_computed rule rename_rois_computed: ''' Rename MUSE roi indices to roi codes ''' input: - roi=f"{dir_output}/{{study}}/dlmuse/{{study}}_{{dtype}}.csv", + roi=f"{input_rois}", dict=f"src/workflow/{rois}" output: - f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_raw.csv" + f"{dir_output}/out_rois/{dset_name}_raw.csv" params: var_from = 'Index', var_to = 'Code' @@ -78,205 +59,205 @@ rule rename_rois_computed: shell: "python src/workflow/utils/generic/util_rename_df_columns.py {input} {params} {output}" -rule rename_rois_user: - ''' - Rename MUSE roi indices to roi codes - ''' - input: - roi=f"{dir_input}/{{study}}/{{study}}_{{dtype}}.csv", - dict=f"src/workflow/{rois}" - output: - f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_raw.csv" - params: - var_from = 'Index', - var_to = 'Code' - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_rename_df_columns.py {input} {params} {output}" +#rule rename_rois_user: + #''' + #Rename MUSE roi indices to roi codes + #''' + #input: + #roi=f"{input_rois}", + #dict=f"src/workflow/{rois}" + #output: + #f"{dir_output}/out_rois/{{dtype}}_raw.csv" + #params: + #var_from = 'Index', + #var_to = 'Code' + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_rename_df_columns.py {input} {params} {output}" -rule correct_icv: - ''' - Normalize ROIs. Values are scaled either by f"../../{dir_output}/a constant factor (NormICV) or 100 (PercICV) - ''' - input: - f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_raw.csv" - params: - icv_var = 'MUSE_702', - exclude_vars = 'MRID', - suffix = 'NONE' - output: - f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_{corr_type}.csv" - resources: - mem_mb=8000 - shell: - f"python src/workflow/utils/generic/util_corr_icv.py {{input}} {corr_type} {{params}} {{output}}" +#rule correct_icv: + #''' + #Normalize ROIs. Values are scaled either by f"../../{dir_output}/a constant factor (NormICV) or 100 (PercICV) + #''' + #input: + #f"{dir_output}/out_rois/{{dtype}}_raw.csv" + #params: + #icv_var = 'MUSE_702', + #exclude_vars = 'MRID', + #suffix = 'NONE' + #output: + #f"{dir_output}/out_rois/{{dtype}}_{corr_type}.csv" + #resources: + #mem_mb=8000 + #shell: + #f"python src/workflow/utils/generic/util_corr_icv.py {{input}} {corr_type} {{params}} {{output}}" -rule merge_covars: - ''' - Merge covars to ROIs - ''' - input: - covar=f"{dir_input}/{{study}}/{{study}}_Demog.csv", - roi=f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}.csv", - params: - key_var = 'MRID' - output: - temp(f"{dir_output}/{{study}}/combined/{{study}}_{{dtype}}.csv") - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_merge_dfs.py {input} {params} {output}" +#rule merge_covars: + #''' + #Merge covars to ROIs + #''' + #input: + #covar=f"{dir_input}/Demog.csv", + #roi=f"{dir_output}/out_rois/{{dtype}}.csv", + #params: + #key_var = 'MRID' + #output: + #temp(f"{dir_output}/combined/{{dtype}}.csv") + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_merge_dfs.py {input} {params} {output}" -rule select_vars_harmonize: - ''' - Select variables for harmonization - ''' - input: - in_csv=f"{dir_output}/{{study}}/combined/{{study}}_{{dtype}}_raw.csv", - dict_csv=f"src/workflow/{rois_single}" - params: - dict_var = 'Code', - covars ='MRID,Age,Sex,SITE,DLICV', - output: - temp(f"{dir_output}/{{study}}/sel_vars/{{study}}_{{dtype}}_raw.csv") - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_select_vars.py {input} {params} {output}" +#rule select_vars_harmonize: + #''' + #Select variables for harmonization + #''' + #input: + #in_csv=f"{dir_output}/combined/{{dtype}}_raw.csv", + #dict_csv=f"src/workflow/{rois_single}" + #params: + #dict_var = 'Code', + #covars ='MRID,Age,Sex,SITE,DLICV', + #output: + #temp(f"{dir_output}/sel_vars/{{dtype}}_raw.csv") + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_select_vars.py {input} {params} {output}" -rule filter_age_harmonize: - ''' - Check that sample has age range consistent with the model - ''' - input: - f"{dir_output}/{{study}}/sel_vars/{{study}}_{{dtype}}.csv", - params: - var_name='Age', - min_val='50', - max_val='95', - output: - f"{dir_output}/{{study}}/filtered_data/{{study}}_{{dtype}}.csv" - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_filter_num_var.py {input} {params} {output}" +#rule filter_age_harmonize: + #''' + #Check that sample has age range consistent with the model + #''' + #input: + #f"{dir_output}/sel_vars/{{dtype}}.csv", + #params: + #var_name='Age', + #min_val='50', + #max_val='95', + #output: + #f"{dir_output}/filtered_data/{{dtype}}.csv" + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_filter_num_var.py {input} {params} {output}" -rule combat_apply: - input: - data=f"{dir_output}/{{study}}/filtered_data/{{study}}_{{dtype}}.csv", - mdl=f"src/workflow/{model_combat}" - output: - f"{dir_output}/{{study}}/out_combat/{{study}}_{{dtype}}_COMBAT_single.csv" - shell: - "bash src/workflow/utils/combat/util_combat_test.sh {input} {output}" +#rule combat_apply: + #input: + #data=f"{dir_output}/filtered_data/{{dtype}}.csv", + #mdl=f"src/workflow/{model_combat}" + #output: + #f"{dir_output}/out_combat/{{dtype}}_COMBAT_single.csv" + #shell: + #"bash src/workflow/utils/combat/util_combat_test.sh {input} {output}" -rule calc_derived_ROIs: - ''' - Calculate derived ROIs from harmonized data - - If the input data already includes derived ROIs, they will not be updated - ''' - input: - in_csv=f"{dir_output}/{{study}}/out_combat/{{study}}_{{dtype}}_COMBAT_single.csv", - dict=f"src/workflow/{derived_rois}" - params: - key_var='MRID', - roi_prefix='MUSE_' - output: - f"{dir_output}/{{study}}/out_combat/{{study}}_{{dtype}}_COMBAT_all.csv" - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_combine_MUSE_rois.py {input} {params} {output}" +#rule calc_derived_ROIs: + #''' + #Calculate derived ROIs from harmonized data + #- If the input data already includes derived ROIs, they will not be updated + #''' + #input: + #in_csv=f"{dir_output}/out_combat/{{dtype}}_COMBAT_single.csv", + #dict=f"src/workflow/{derived_rois}" + #params: + #key_var='MRID', + #roi_prefix='MUSE_' + #output: + #f"{dir_output}/out_combat/{{dtype}}_COMBAT_all.csv" + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_combine_MUSE_rois.py {input} {params} {output}" -rule merge_covars_to_harmonized_rois: - ''' - Merge covars to ROIs - ''' - input: - covar=f"{dir_input}/{{study}}/{{study}}_Demog.csv", - roi=f"{dir_output}/{{study}}/out_combat/{{study}}_{{dtype}}_COMBAT_single.csv" - params: - key_var = 'MRID' - output: - temp(f"{dir_output}/{{study}}/spare/{{study}}_{{dtype}}_COMBAT_withcovar.csv") - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_merge_dfs.py {input} {params} {output}" +#rule merge_covars_to_harmonized_rois: + #''' + #Merge covars to ROIs + #''' + #input: + #covar=f"{dir_input}/Demog.csv", + #roi=f"{dir_output}/out_combat/{{dtype}}_COMBAT_single.csv" + #params: + #key_var = 'MRID' + #output: + #temp(f"{dir_output}/spare/{{dtype}}_COMBAT_withcovar.csv") + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_merge_dfs.py {input} {params} {output}" -rule select_vars_spare: - ''' - Select variables for harmonization - ''' - input: - in_csv=f"{dir_output}/{{study}}/spare/{{study}}_{{dtype}}_COMBAT_withcovar.csv", - dict_csv=f"src/workflow/{rois_single}" - params: - dict_var = 'Code', - covars ='MRID,Age,Sex,DLICV', - output: - temp(f"{dir_output}/{{study}}/spare/{{study}}_{{dtype}}_COMBAT.csv") - resources: - mem_mb=8000 - shell: - "python src/workflow/utils/generic/util_select_vars.py {input} {params} {output}" +#rule select_vars_spare: + #''' + #Select variables for harmonization + #''' + #input: + #in_csv=f"{dir_output}/spare/{{dtype}}_COMBAT_withcovar.csv", + #dict_csv=f"src/workflow/{rois_single}" + #params: + #dict_var = 'Code', + #covars ='MRID,Age,Sex,DLICV', + #output: + #temp(f"{dir_output}/spare/{{dtype}}_COMBAT.csv") + #resources: + #mem_mb=8000 + #shell: + #"python src/workflow/utils/generic/util_select_vars.py {input} {params} {output}" -def get_spare_model(wildcards): - model_name = config_data["model_SPARE-" + wildcards.stype] - path_spare = "src/workflow/" + model_name - return path_spare +#def get_spare_model(wildcards): + #model_name = config["model_SPARE-" + wildcards.stype] + #path_spare = "src/workflow/" + model_name + #return path_spare -rule spare_apply: - input: - data=f"{dir_output}/{{study}}/spare/{{study}}_{{dtype}}_COMBAT.csv", - mdl=get_spare_model - output: - temp(f"{dir_output}/{{study}}/out_spare/{{study}}_{{dtype}}_COMBAT_SPARE-{{stype}}.csv") - shell: - "bash src/workflow/utils/spare/util_spare_test.sh {input} {wildcards.stype} {output}" +#rule spare_apply: + #input: + #data=f"{dir_output}/spare/{{dtype}}_COMBAT.csv", + #mdl=get_spare_model + #output: + #temp(f"{dir_output}/out_spare/{{dtype}}_COMBAT_SPARE-{{stype}}.csv") + #shell: + #"bash src/workflow/utils/spare/util_spare_test.sh {input} {wildcards.stype} {output}" -def get_spare_results(wildcards): - data_spare=expand(f"{dir_output}/{{study}}/out_spare/{{study}}_{{dtype}}_COMBAT_SPARE-{{stype}}.csv", study = wildcards.study, dtype = wildcards.dtype, stype = spare_types) - return data_spare +#def get_spare_results(wildcards): + #data_spare=expand(f"{dir_output}/out_spare/{{dtype}}_COMBAT_SPARE-{{stype}}.csv", study = wildcards.study, dtype = wildcards.dtype, stype = spare_types) + #return data_spare -rule spare_combine: - input: - get_spare_results - output: - csv=f"{dir_output}/{{study}}/out_spare/{{study}}_{{dtype}}_COMBAT_SPARE-Scores.csv" - shell: - "python src/workflow/utils/generic/util_merge_dfs_multi.py {output} MRID {input}" +#rule spare_combine: + #input: + #get_spare_results + #output: + #csv=f"{dir_output}/out_spare/{{dtype}}_COMBAT_SPARE-Scores.csv" + #shell: + #"python src/workflow/utils/generic/util_merge_dfs_multi.py {output} MRID {input}" -rule prep_output: - ''' - Merge demog data to DLMUSE - ''' - input: - demog=f"{dir_input}/{{study}}/{{study}}_Demog.csv", - rois=f"src/workflow/{rois_primary}", - out_raw=f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_raw.csv", - out_corr=f"{dir_output}/{{study}}/out_rois/{{study}}_{{dtype}}_{corr_type}.csv", - out_harm=f"{dir_output}/{{study}}/out_combat/{{study}}_{{dtype}}_raw_COMBAT_all.csv", - out_spare=f"{dir_output}/{{study}}/out_spare/{{study}}_{{dtype}}_raw_COMBAT_SPARE-Scores.csv" - output: - f"{dir_output}/{{study}}/out_combined/{{study}}_{{dtype}}_All.csv" - params: - key_var = 'MRID' - shell: - "python src/workflow/utils/generic/util_combine_all.py {output} {input}" +#rule prep_output: + #''' + #Merge demog data to DLMUSE + #''' + #input: + #demog=f"{dir_input}/Demog.csv", + #rois=f"src/workflow/{rois_primary}", + #out_raw=f"{dir_output}/out_rois/{{dtype}}_raw.csv", + #out_corr=f"{dir_output}/out_rois/{{dtype}}_{corr_type}.csv", + #out_harm=f"{dir_output}/out_combat/{{dtype}}_raw_COMBAT_all.csv", + #out_spare=f"{dir_output}/out_spare/{{dtype}}_raw_COMBAT_SPARE-Scores.csv" + #output: + #f"{dir_output}/out_combined/{{dtype}}_All.csv" + #params: + #key_var = 'MRID' + #shell: + #"python src/workflow/utils/generic/util_combine_all.py {output} {input}" -rule launch_viewer: - ''' - Launch the viewer with the output file - ''' - input: - expand(f"{dir_output}/{{study}}/out_combined/{{study}}_{{stype}}_All.csv", study = studies, stype = seg_types) - output: - touch(f"{dir_output}/flag_VIEWED.csv"), - shell: - "NiChart_Viewer --data_file {input}" +#rule launch_viewer: + #''' + #Launch the viewer with the output file + #''' + #input: + #expand(f"{dir_output}/out_combined/{{stype}}_All.csv", stype = seg_types) + #output: + #touch(f"{dir_output}/flag_VIEWED.csv"), + #shell: + #"NiChart_Viewer --data_file {input}" -## Delete flag for the viewer, so that it will launch the viewer next time -if os.path.exists(f"{dir_output}/flag_VIEWED.csv"): - os.remove(f"{dir_output}/flag_VIEWED.csv") +### Delete flag for the viewer, so that it will launch the viewer next time +#if os.path.exists(f"{dir_output}/flag_VIEWED.csv"): + #os.remove(f"{dir_output}/flag_VIEWED.csv") diff --git a/src/workflow/workflows/w_sMRI/call_snakefile.py b/src/workflow/workflows/w_sMRI/call_snakefile.py new file mode 100644 index 0000000..13ad92b --- /dev/null +++ b/src/workflow/workflows/w_sMRI/call_snakefile.py @@ -0,0 +1,28 @@ +import argparse +import json +import os + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--dset_name", help="Provide a name for your dataset", required=True) + parser.add_argument("--input_rois", help="Provide input csv name with ROIs", required=True) + parser.add_argument("--input_demog", help="Provide input csv name with demographic info", required=True) + parser.add_argument("--dir_output", help="Provide output folder name", required=True) + + options = parser.parse_args() + + # Create out dir + if not os.path.exists(options.dir_output): + os.makedirs(options.dir_output) + + # Run workflow + print('Running: snakemake') + cmd = "snakemake -np" + cmd = cmd + " --config dset_name=" + options.dset_name + cmd = cmd + " input_rois=" + options.input_rois + cmd = cmd + " input_demog=" + options.input_demog + cmd = cmd + " dir_output=" + options.dir_output + + print('Running cmd: ' + cmd) + + os.system(cmd) diff --git a/src/workflow/workflows/w_sMRI/config.json b/src/workflow/workflows/w_sMRI/config.json new file mode 100644 index 0000000..cebf291 --- /dev/null +++ b/src/workflow/workflows/w_sMRI/config.json @@ -0,0 +1,21 @@ +{ + "dset_name": "", + "input_rois": "", + "input_demog": "", + "dir_output": "", + "list_ROIs_all": "MUSE/list_MUSE_all.csv", + "list_ROIs_single": "MUSE/list_MUSE_single.csv", + "list_ROIs_primary": "MUSE/list_MUSE_primary.csv", + "list_derived_ROIs": "MUSE/list_MUSE_mapping_derived.csv", + "corr_type": "normICV", + "model_combat": "models/vISTAG1/COMBAT/combined_DLMUSE_raw_COMBATModel.pkl.gz", + "model_SPARE-AD": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-AD_Model.pkl.gz", + "model_SPARE-Age": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Age_Model.pkl.gz", + "model_SPARE-Diabetes": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Diabetes_Model.pkl.gz", + "model_SPARE-Hyperlipidemia": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hyperlipidemia_Model.pkl.gz", + "model_SPARE-Hypertension": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hypertension_Model.pkl.gz", + "model_SPARE-Obesity": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Obesity_Model.pkl.gz", + "model_SPARE-Smoking": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Smoking_Model.pkl.gz", + "SPARE_types": ["AD", "Age", "Diabetes", "Hyperlipidemia", "Hypertension", "Obesity", "Smoking"], + "seg_types": ["DLMUSE"] +} diff --git a/src/workflow/workflows/w_sMRI/info.json b/src/workflow/workflows/w_sMRI/info.json new file mode 100644 index 0000000..079f548 --- /dev/null +++ b/src/workflow/workflows/w_sMRI/info.json @@ -0,0 +1,32 @@ +{ + "version": "", + "dir_input": "", + "dir_output": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_output/tmp", + "list_ROIs_all": "MUSE/list_MUSE_all.csv", + "list_ROIs_single": "MUSE/list_MUSE_single.csv", + "list_ROIs_primary": "MUSE/list_MUSE_primary.csv", + "list_derived_ROIs": "MUSE/list_MUSE_mapping_derived.csv", + "corr_type": "normICV", + "model_combat": "models/vISTAG1/COMBAT/combined_DLMUSE_raw_COMBATModel.pkl.gz", + "model_SPARE-AD": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-AD_Model.pkl.gz", + "model_SPARE-Age": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Age_Model.pkl.gz", + "model_SPARE-Diabetes": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Diabetes_Model.pkl.gz", + "model_SPARE-Hyperlipidemia": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hyperlipidemia_Model.pkl.gz", + "model_SPARE-Hypertension": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hypertension_Model.pkl.gz", + "model_SPARE-Obesity": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Obesity_Model.pkl.gz", + "model_SPARE-Smoking": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Smoking_Model.pkl.gz", + "SPARE_types": [ + "AD", + "Age", + "Diabetes", + "Hyperlipidemia", + "Hypertension", + "Obesity", + "Smoking" + ], + "seg_types": [ + "DLMUSE" + ], + "input_rois": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_input/test2_rois/Study1/Study1_DLMUSE.csv", + "input_demog": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_input/test2_rois/Study1/Study1_Demog.csv" +} \ No newline at end of file diff --git a/test/test_output/tmp/config.json b/test/test_output/tmp/config.json new file mode 100644 index 0000000..079f548 --- /dev/null +++ b/test/test_output/tmp/config.json @@ -0,0 +1,32 @@ +{ + "version": "", + "dir_input": "", + "dir_output": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_output/tmp", + "list_ROIs_all": "MUSE/list_MUSE_all.csv", + "list_ROIs_single": "MUSE/list_MUSE_single.csv", + "list_ROIs_primary": "MUSE/list_MUSE_primary.csv", + "list_derived_ROIs": "MUSE/list_MUSE_mapping_derived.csv", + "corr_type": "normICV", + "model_combat": "models/vISTAG1/COMBAT/combined_DLMUSE_raw_COMBATModel.pkl.gz", + "model_SPARE-AD": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-AD_Model.pkl.gz", + "model_SPARE-Age": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Age_Model.pkl.gz", + "model_SPARE-Diabetes": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Diabetes_Model.pkl.gz", + "model_SPARE-Hyperlipidemia": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hyperlipidemia_Model.pkl.gz", + "model_SPARE-Hypertension": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Hypertension_Model.pkl.gz", + "model_SPARE-Obesity": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Obesity_Model.pkl.gz", + "model_SPARE-Smoking": "models/vISTAG1/SPARE/combined_DLMUSE_raw_COMBAT_SPARE-Smoking_Model.pkl.gz", + "SPARE_types": [ + "AD", + "Age", + "Diabetes", + "Hyperlipidemia", + "Hypertension", + "Obesity", + "Smoking" + ], + "seg_types": [ + "DLMUSE" + ], + "input_rois": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_input/test2_rois/Study1/Study1_DLMUSE.csv", + "input_demog": "/home/guraylab/GitHub/CBICA/NiChart_Project/test/test_input/test2_rois/Study1/Study1_Demog.csv" +} \ No newline at end of file