diff --git a/rules/features.smk b/rules/features.smk index 9fc0fde3..c27db7e8 100644 --- a/rules/features.smk +++ b/rules/features.smk @@ -329,7 +329,8 @@ rule preprocess_esm: params: provider=lambda wildcards: config["PHONE_ESM"]["PROVIDERS"][wildcards.provider_key.upper()], provider_key="{provider_key}", - sensor_key="phone_esm" + sensor_key="phone_esm", + scales=lambda wildcards: config["PHONE_ESM"]["PROVIDERS"][wildcards.provider_key.upper()]["SCALES"] output: "data/interim/{pid}/phone_esm_features/phone_esm_clean_{provider_key}.csv" script: "../src/features/phone_esm/straw/preprocess.py" diff --git a/src/features/phone_esm/straw/preprocess.py b/src/features/phone_esm/straw/preprocess.py index 8eae5286..97a883ad 100644 --- a/src/features/phone_esm/straw/preprocess.py +++ b/src/features/phone_esm/straw/preprocess.py @@ -1,7 +1,7 @@ from esm_preprocess import * from esm_JCQ import reverse_jcq_demand_control_scoring -requested_scales = provider["SCALES"] +requested_scales = snakemake.params["scales"] df_esm = pd.read_csv(snakemake.input[0]) df_esm_preprocessed = preprocess_esm(df_esm) @@ -20,5 +20,6 @@ for scale in requested_scales: mask = df_esm_clean["questionnaire_id"] == questionnaire_id if scale.startswith("JCQ"): df_esm_clean.loc[mask] = reverse_jcq_demand_control_scoring(df_esm_clean.loc[mask]) + #TODO Reverse other questionnaires if needed and/or adapt esm_user_score to original scoring. -df_esm_clean.to_csv(snakemake.output[0]) +df_esm_clean.to_csv(snakemake.output[0], index=False)