From 18b63127deefb7cee0061ed741af179a4d6fdb01 Mon Sep 17 00:00:00 2001 From: Primoz Date: Mon, 19 Sep 2022 06:16:26 +0000 Subject: [PATCH] Removed all standardizaton rules and configurations. --- Snakefile | 122 +-------------------------------------- config.yaml | 38 ------------ rules/common.smk | 21 ------- rules/features.smk | 141 +-------------------------------------------- 4 files changed, 4 insertions(+), 318 deletions(-) diff --git a/Snakefile b/Snakefile index 7c5749d7..538a5382 100644 --- a/Snakefile +++ b/Snakefile @@ -33,12 +33,6 @@ for provider in config["PHONE_DATA_YIELD"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_data_yield.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_DATA_YIELD"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_data_yield.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_MESSAGES"]["PROVIDERS"].keys(): if config["PHONE_MESSAGES"]["PROVIDERS"][provider]["COMPUTE"]: @@ -48,12 +42,6 @@ for provider in config["PHONE_MESSAGES"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_messages.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_MESSAGES"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_messages.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_CALLS"]["PROVIDERS"].keys(): if config["PHONE_CALLS"]["PROVIDERS"][provider]["COMPUTE"]: @@ -68,12 +56,6 @@ for provider in config["PHONE_CALLS"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_calls.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_CALLS"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_calls.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_BLUETOOTH"]["PROVIDERS"].keys(): if config["PHONE_BLUETOOTH"]["PROVIDERS"][provider]["COMPUTE"]: @@ -83,12 +65,6 @@ for provider in config["PHONE_BLUETOOTH"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_bluetooth.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_BLUETOOTH"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_bluetooth.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_ACTIVITY_RECOGNITION"]["PROVIDERS"].keys(): if config["PHONE_ACTIVITY_RECOGNITION"]["PROVIDERS"][provider]["COMPUTE"]: @@ -101,12 +77,6 @@ for provider in config["PHONE_ACTIVITY_RECOGNITION"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_activity_recognition.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_ACTIVITY_RECOGNITION"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_activity_recognition.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_BATTERY"]["PROVIDERS"].keys(): if config["PHONE_BATTERY"]["PROVIDERS"][provider]["COMPUTE"]: @@ -118,12 +88,6 @@ for provider in config["PHONE_BATTERY"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_battery.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_BATTERY"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_battery.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_SCREEN"]["PROVIDERS"].keys(): if config["PHONE_SCREEN"]["PROVIDERS"][provider]["COMPUTE"]: @@ -140,12 +104,6 @@ for provider in config["PHONE_SCREEN"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_screen.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_SCREEN"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_screen.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_LIGHT"]["PROVIDERS"].keys(): if config["PHONE_LIGHT"]["PROVIDERS"][provider]["COMPUTE"]: @@ -155,12 +113,6 @@ for provider in config["PHONE_LIGHT"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_light.csv", pid=config["PIDS"],)) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_LIGHT"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_light.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_ACCELEROMETER"]["PROVIDERS"].keys(): if config["PHONE_ACCELEROMETER"]["PROVIDERS"][provider]["COMPUTE"]: @@ -184,12 +136,6 @@ for provider in config["PHONE_APPLICATIONS_FOREGROUND"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_applications_foreground.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_APPLICATIONS_FOREGROUND"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_applications_foreground.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_WIFI_VISIBLE"]["PROVIDERS"].keys(): if config["PHONE_WIFI_VISIBLE"]["PROVIDERS"][provider]["COMPUTE"]: @@ -199,12 +145,6 @@ for provider in config["PHONE_WIFI_VISIBLE"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_wifi_visible.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_WIFI_VISIBLE"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_wifi_visible.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["PHONE_WIFI_CONNECTED"]["PROVIDERS"].keys(): if config["PHONE_WIFI_CONNECTED"]["PROVIDERS"][provider]["COMPUTE"]: @@ -233,12 +173,6 @@ for provider in config["PHONE_ESM"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_esm.csv", pid=config["PIDS"])) # files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv",pid=config["PIDS"])) # files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_ESM"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_esm.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") # We can delete these if's as soon as we add feature PROVIDERS to any of these sensors if isinstance(config["PHONE_APPLICATIONS_CRASHES"]["PROVIDERS"], dict): @@ -304,12 +238,6 @@ for provider in config["PHONE_LOCATIONS"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/phone_locations.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["LIST"] and config["STANDARDIZATION"]["PROVIDERS"]["OTHER"]["COMPUTE"] \ - and config["PHONE_LOCATIONS"]["PROVIDERS"][provider]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_phone_locations.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["FITBIT_CALORIES_INTRADAY"]["PROVIDERS"].keys(): if config["FITBIT_CALORIES_INTRADAY"]["PROVIDERS"][provider]["COMPUTE"]: @@ -400,13 +328,6 @@ for provider in config["EMPATICA_ACCELEROMETER"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/empatica_accelerometer.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"] and config["STANDARDIZATION"]["PROVIDERS"][provider]["COMPUTE"] \ - and config["EMPATICA_ACCELEROMETER"]["PROVIDERS"][provider]["WINDOWS"]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/interim/{pid}/empatica_accelerometer_features/z_empatica_accelerometer_{language}_{provider_key}_windows.csv", pid=config["PIDS"], language=get_script_language(config["STANDARDIZATION"]["PROVIDERS"][provider]["SRC_SCRIPT"]), provider_key=provider.lower())) - files_to_compute.extend(expand("data/processed/features/{pid}/z_empatica_accelerometer.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["EMPATICA_HEARTRATE"]["PROVIDERS"].keys(): if config["EMPATICA_HEARTRATE"]["PROVIDERS"][provider]["COMPUTE"]: @@ -426,13 +347,6 @@ for provider in config["EMPATICA_TEMPERATURE"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/empatica_temperature.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"] and config["STANDARDIZATION"]["PROVIDERS"][provider]["COMPUTE"] \ - and config["EMPATICA_TEMPERATURE"]["PROVIDERS"][provider]["WINDOWS"]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/interim/{pid}/empatica_temperature_features/z_empatica_temperature_{language}_{provider_key}_windows.csv", pid=config["PIDS"], language=get_script_language(config["STANDARDIZATION"]["PROVIDERS"][provider]["SRC_SCRIPT"]), provider_key=provider.lower())) - files_to_compute.extend(expand("data/processed/features/{pid}/z_empatica_temperature.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["EMPATICA_ELECTRODERMAL_ACTIVITY"]["PROVIDERS"].keys(): if config["EMPATICA_ELECTRODERMAL_ACTIVITY"]["PROVIDERS"][provider]["COMPUTE"]: @@ -442,13 +356,6 @@ for provider in config["EMPATICA_ELECTRODERMAL_ACTIVITY"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/empatica_electrodermal_activity.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"] and config["STANDARDIZATION"]["PROVIDERS"][provider]["COMPUTE"] \ - and config["EMPATICA_ELECTRODERMAL_ACTIVITY"]["PROVIDERS"][provider]["WINDOWS"]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/interim/{pid}/empatica_electrodermal_activity_features/z_empatica_electrodermal_activity_{language}_{provider_key}_windows.csv", pid=config["PIDS"], language=get_script_language(config["STANDARDIZATION"]["PROVIDERS"][provider]["SRC_SCRIPT"]), provider_key=provider.lower())) - files_to_compute.extend(expand("data/processed/features/{pid}/z_empatica_electrodermal_activity.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["EMPATICA_BLOOD_VOLUME_PULSE"]["PROVIDERS"].keys(): if config["EMPATICA_BLOOD_VOLUME_PULSE"]["PROVIDERS"][provider]["COMPUTE"]: @@ -458,13 +365,6 @@ for provider in config["EMPATICA_BLOOD_VOLUME_PULSE"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/empatica_blood_volume_pulse.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"] and config["STANDARDIZATION"]["PROVIDERS"][provider]["COMPUTE"] \ - and config["EMPATICA_BLOOD_VOLUME_PULSE"]["PROVIDERS"][provider]["WINDOWS"]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/interim/{pid}/empatica_blood_volume_pulse_features/z_empatica_blood_volume_pulse_{language}_{provider_key}_windows.csv", pid=config["PIDS"], language=get_script_language(config["STANDARDIZATION"]["PROVIDERS"][provider]["SRC_SCRIPT"]), provider_key=provider.lower())) - files_to_compute.extend(expand("data/processed/features/{pid}/z_empatica_blood_volume_pulse.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") for provider in config["EMPATICA_INTER_BEAT_INTERVAL"]["PROVIDERS"].keys(): if config["EMPATICA_INTER_BEAT_INTERVAL"]["PROVIDERS"][provider]["COMPUTE"]: @@ -474,13 +374,6 @@ for provider in config["EMPATICA_INTER_BEAT_INTERVAL"]["PROVIDERS"].keys(): files_to_compute.extend(expand("data/processed/features/{pid}/empatica_inter_beat_interval.csv", pid=config["PIDS"])) files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"])) files_to_compute.append("data/processed/features/all_participants/all_sensor_features.csv") - if provider in config["STANDARDIZATION"]["PROVIDERS"] and config["STANDARDIZATION"]["PROVIDERS"][provider]["COMPUTE"] \ - and config["EMPATICA_INTER_BEAT_INTERVAL"]["PROVIDERS"][provider]["WINDOWS"]["STANDARDIZE_FEATURES"]: - files_to_compute.extend(expand("data/interim/{pid}/empatica_inter_beat_interval_features/z_empatica_inter_beat_interval_{language}_{provider_key}_windows.csv", pid=config["PIDS"], language=get_script_language(config["STANDARDIZATION"]["PROVIDERS"][provider]["SRC_SCRIPT"]), provider_key=provider.lower())) - files_to_compute.extend(expand("data/processed/features/{pid}/z_empatica_inter_beat_interval.csv", pid=config["PIDS"])) - if config["STANDARDIZATION"]["MERGE_ALL"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"])) - files_to_compute.append("data/processed/features/all_participants/z_all_sensor_features.csv") if isinstance(config["EMPATICA_TAGS"]["PROVIDERS"], dict): for provider in config["EMPATICA_TAGS"]["PROVIDERS"].keys(): @@ -517,24 +410,15 @@ for provider in config["ALL_CLEANING_INDIVIDUAL"]["PROVIDERS"].keys(): if config["ALL_CLEANING_INDIVIDUAL"]["PROVIDERS"][provider]["COMPUTE"]: if provider == "STRAW": files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features_cleaned_" + provider.lower() + "_py.csv", pid=config["PIDS"])) - if config["ALL_CLEANING_INDIVIDUAL"]["CLEAN_STANDARDIZED"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features_cleaned_" + provider.lower() + "_py.csv", pid=config["PIDS"])) - else: + else: files_to_compute.extend(expand("data/processed/features/{pid}/all_sensor_features_cleaned_" + provider.lower() + "_R.csv", pid=config["PIDS"])) - if config["ALL_CLEANING_INDIVIDUAL"]["CLEAN_STANDARDIZED"]: - files_to_compute.extend(expand("data/processed/features/{pid}/z_all_sensor_features_cleaned_" + provider.lower() + "_R.csv", pid=config["PIDS"])) for provider in config["ALL_CLEANING_OVERALL"]["PROVIDERS"].keys(): if config["ALL_CLEANING_OVERALL"]["PROVIDERS"][provider]["COMPUTE"]: if provider == "STRAW": files_to_compute.extend(expand("data/processed/features/all_participants/all_sensor_features_cleaned_" + provider.lower() +"_py.csv")) - if config["ALL_CLEANING_OVERALL"]["CLEAN_STANDARDIZED"]: - files_to_compute.extend(expand("data/processed/features/all_participants/z_all_sensor_features_cleaned_" + provider.lower() +"_py.csv")) - else: - files_to_compute.extend(expand("data/processed/features/all_participants/all_sensor_features_cleaned_" + provider.lower() +"_R.csv")) - if config["ALL_CLEANING_OVERALL"]["CLEAN_STANDARDIZED"]: - files_to_compute.extend(expand("data/processed/features/all_participants/z_all_sensor_features_cleaned_" + provider.lower() +"_R.csv")) - + else: + files_to_compute.extend(expand("data/processed/features/all_participants/all_sensor_features_cleaned_" + provider.lower() +"_R.csv")) # Baseline features if config["PARAMS_FOR_ANALYSIS"]["BASELINE"]["COMPUTE"]: diff --git a/config.yaml b/config.yaml index 202abe48..6cab1667 100644 --- a/config.yaml +++ b/config.yaml @@ -93,7 +93,6 @@ PHONE_ACTIVITY_RECOGNITION: STATIONARY: ["still", "tilting"] MOBILE: ["on_foot", "walking", "running", "on_bicycle"] VEHICLE: ["in_vehicle"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_activity_recognition/rapids/main.py # See https://www.rapids.science/latest/features/phone-applications-crashes/ @@ -134,7 +133,6 @@ PHONE_APPLICATIONS_FOREGROUND: APP_EPISODES: ["countepisode", "minduration", "maxduration", "meanduration", "sumduration"] IGNORE_EPISODES_SHORTER_THAN: 0 # in minutes, set to 0 to disable IGNORE_EPISODES_LONGER_THAN: 300 # in minutes, set to 0 to disable - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_applications_foreground/rapids/main.py # See https://www.rapids.science/latest/features/phone-applications-notifications/ @@ -155,7 +153,6 @@ PHONE_BATTERY: RAPIDS: COMPUTE: True FEATURES: ["countdischarge", "sumdurationdischarge", "countcharge", "sumdurationcharge", "avgconsumptionrate", "maxconsumptionrate"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_battery/rapids/main.py # See https://www.rapids.science/latest/features/phone-bluetooth/ @@ -165,7 +162,6 @@ PHONE_BLUETOOTH: RAPIDS: COMPUTE: True FEATURES: ["countscans", "uniquedevices", "countscansmostuniquedevice"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_bluetooth/rapids/main.R DORYAB: @@ -183,7 +179,6 @@ PHONE_BLUETOOTH: DEVICES: ["countscans", "uniquedevices", "meanscans", "stdscans"] SCANS_MOST_FREQUENT_DEVICE: ["withinsegments", "acrosssegments", "acrossdataset"] SCANS_LEAST_FREQUENT_DEVICE: ["withinsegments", "acrosssegments", "acrossdataset"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_bluetooth/doryab/main.py # See https://www.rapids.science/latest/features/phone-calls/ @@ -198,7 +193,6 @@ PHONE_CALLS: missed: [count, distinctcontacts, timefirstcall, timelastcall, countmostfrequentcontact] incoming: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] outgoing: [count, distinctcontacts, meanduration, sumduration, minduration, maxduration, stdduration, modeduration, entropyduration, timefirstcall, timelastcall, countmostfrequentcontact] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_calls/rapids/main.R # See https://www.rapids.science/latest/features/phone-conversation/ @@ -238,7 +232,6 @@ PHONE_DATA_YIELD: COMPUTE: True FEATURES: [ratiovalidyieldedminutes, ratiovalidyieldedhours] MINUTE_RATIO_THRESHOLD_FOR_VALID_YIELDED_HOURS: 0.5 # 0 to 1, minimum percentage of valid minutes in an hour to be considered valid. - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_data_yield/rapids/main.R PHONE_ESM: @@ -248,7 +241,6 @@ PHONE_ESM: COMPUTE: True SCALES: ["PANAS_positive_affect", "PANAS_negative_affect", "JCQ_job_demand", "JCQ_job_control", "JCQ_supervisor_support", "JCQ_coworker_support"] FEATURES: [mean] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_esm/straw/main.py # See https://www.rapids.science/latest/features/phone-keyboard/ @@ -267,7 +259,6 @@ PHONE_LIGHT: RAPIDS: COMPUTE: True FEATURES: ["count", "maxlux", "minlux", "avglux", "medianlux", "stdlux"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_light/rapids/main.py # See https://www.rapids.science/latest/features/phone-locations/ @@ -292,7 +283,6 @@ PHONE_LOCATIONS: MINIMUM_DAYS_TO_DETECT_HOME_CHANGES: 3 CLUSTERING_ALGORITHM: DBSCAN # DBSCAN, OPTICS RADIUS_FOR_HOME: 100 - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_locations/doryab/main.py BARNETT: @@ -300,7 +290,6 @@ PHONE_LOCATIONS: FEATURES: ["hometime","disttravelled","rog","maxdiam","maxhomedist","siglocsvisited","avgflightlen","stdflightlen","avgflightdur","stdflightdur","probpause","siglocentropy","circdnrtn","wkenddayrtn"] IF_MULTIPLE_TIMEZONES: USE_MOST_COMMON MINUTES_DATA_USED: False # Use this for quality control purposes, how many minutes of data (location coordinates gruped by minute) were used to compute features - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_locations/barnett/main.R # See https://www.rapids.science/latest/features/phone-log/ @@ -320,7 +309,6 @@ PHONE_MESSAGES: FEATURES: received: [count, distinctcontacts, timefirstmessage, timelastmessage, countmostfrequentcontact] sent: [count, distinctcontacts, timefirstmessage, timelastmessage, countmostfrequentcontact] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_messages/rapids/main.R # See https://www.rapids.science/latest/features/phone-screen/ @@ -334,7 +322,6 @@ PHONE_SCREEN: IGNORE_EPISODES_LONGER_THAN: 360 # in minutes, set to 0 to disable FEATURES: ["countepisode", "sumduration", "maxduration", "minduration", "avgduration", "stdduration", "firstuseafter"] # "episodepersensedminutes" needs to be added later EPISODE_TYPES: ["unlock"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_screen/rapids/main.py # See https://www.rapids.science/latest/features/phone-wifi-connected/ @@ -353,7 +340,6 @@ PHONE_WIFI_VISIBLE: RAPIDS: COMPUTE: True FEATURES: ["countscans", "uniquedevices", "countscansmostuniquedevice"] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/phone_wifi_visible/rapids/main.R @@ -455,7 +441,6 @@ FITBIT_SLEEP_INTRADAY: UNIFIED: [awake, asleep] SLEEP_TYPES: [main, nap, all] SRC_SCRIPT: src/features/fitbit_sleep_intraday/rapids/main.py - PRICE: COMPUTE: False FEATURES: [avgduration, avgratioduration, avgstarttimeofepisodemain, avgendtimeofepisodemain, avgmidpointofepisodemain, stdstarttimeofepisodemain, stdendtimeofepisodemain, stdmidpointofepisodemain, socialjetlag, rmssdmeanstarttimeofepisodemain, rmssdmeanendtimeofepisodemain, rmssdmeanmidpointofepisodemain, rmssdmedianstarttimeofepisodemain, rmssdmedianendtimeofepisodemain, rmssdmedianmidpointofepisodemain] @@ -528,7 +513,6 @@ EMPATICA_ACCELEROMETER: COMPUTE: True WINDOW_LENGTH: 15 # specify window length in seconds SECOND_ORDER_FEATURES: ['mean', 'median', 'sd', 'nlargest', 'nsmallest', 'count_windows'] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/empatica_accelerometer/cr/main.py @@ -557,7 +541,6 @@ EMPATICA_TEMPERATURE: COMPUTE: True WINDOW_LENGTH: 300 # specify window length in seconds SECOND_ORDER_FEATURES: ['mean', 'median', 'sd', 'nlargest', 'nsmallest', 'count_windows'] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/empatica_temperature/cr/main.py # See https://www.rapids.science/latest/features/empatica-electrodermal-activity/ @@ -579,7 +562,6 @@ EMPATICA_ELECTRODERMAL_ACTIVITY: COMPUTE: True WINDOW_LENGTH: 60 # specify window length in seconds SECOND_ORDER_FEATURES: ['mean', 'median', 'sd', 'nlargest', 'nsmallest', count_windows, eda_num_peaks_non_zero] - STANDARDIZE_FEATURES: True IMPUTE_NANS: True SRC_SCRIPT: src/features/empatica_electrodermal_activity/cr/main.py @@ -599,7 +581,6 @@ EMPATICA_BLOOD_VOLUME_PULSE: COMPUTE: True WINDOW_LENGTH: 300 # specify window length in seconds SECOND_ORDER_FEATURES: ['mean', 'median', 'sd', 'nlargest', 'nsmallest', 'count_windows', 'hrv_num_windows_non_nan'] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/empatica_blood_volume_pulse/cr/main.py # See https://www.rapids.science/latest/features/empatica-inter-beat-interval/ @@ -619,7 +600,6 @@ EMPATICA_INTER_BEAT_INTERVAL: COMPUTE: True WINDOW_LENGTH: 300 # specify window length in seconds SECOND_ORDER_FEATURES: ['mean', 'median', 'sd', 'nlargest', 'nsmallest', 'count_windows', 'hrv_num_windows_non_nan'] - STANDARDIZE_FEATURES: True SRC_SCRIPT: src/features/empatica_inter_beat_interval/cr/main.py # See https://www.rapids.science/latest/features/empatica-tags/ @@ -667,7 +647,6 @@ HEATMAP_FEATURE_CORRELATION_MATRIX: ######################################################################################################################## ALL_CLEANING_INDIVIDUAL: - CLEAN_STANDARDIZED: True PROVIDERS: RAPIDS: COMPUTE: True @@ -702,7 +681,6 @@ ALL_CLEANING_INDIVIDUAL: SRC_SCRIPT: src/features/all_cleaning_individual/straw/main.py ALL_CLEANING_OVERALL: - CLEAN_STANDARDIZED: True PROVIDERS: RAPIDS: COMPUTE: True @@ -737,22 +715,6 @@ ALL_CLEANING_OVERALL: SRC_SCRIPT: src/features/all_cleaning_overall/straw/main.py -######################################################################################################################## -# Z-score standardization # -######################################################################################################################## - -STANDARDIZATION: # Standardization for both providers is executed if only one of two providers is marked COMPUTE: TRUE - MERGE_ALL: True # Creates the joint standardized file for each participant and all participants. Similar to merge_sensor_features_for_all_participants rule - PROVIDERS: - CR: - COMPUTE: True - SRC_SCRIPT: src/features/standardization/main.py - OTHER: - COMPUTE: True - LIST: [RAPIDS, DORYAB, BARNETT, STRAW] - SRC_SCRIPT: src/features/standardization/main.py - - ######################################################################################################################## # Baseline # ######################################################################################################################## diff --git a/rules/common.smk b/rules/common.smk index a470012f..80b18485 100644 --- a/rules/common.smk +++ b/rules/common.smk @@ -40,15 +40,6 @@ def find_features_files(wildcards): feature_files.extend(expand("data/interim/{{pid}}/{sensor_key}_features/{sensor_key}_{language}_{provider_key}.csv", sensor_key=wildcards.sensor_key.lower(), language=get_script_language(provider["SRC_SCRIPT"]), provider_key=provider_key.lower())) return(feature_files) -def find_empaticas_standardized_features_files(wildcards): - feature_files = [] - if "empatica" in wildcards.sensor_key: - for provider_key, provider in config[(wildcards.sensor_key).upper()]["PROVIDERS"].items(): - if provider["COMPUTE"] and provider.get("WINDOWS", False) and provider["WINDOWS"]["COMPUTE"]: - if "empatica" in wildcards.sensor_key: - feature_files.extend(expand("data/interim/{{pid}}/{sensor_key}_features/z_{sensor_key}_{language}_{provider_key}.csv", sensor_key=wildcards.sensor_key.lower(), language=get_script_language(provider["SRC_SCRIPT"]), provider_key=provider_key.lower())) - return(feature_files) - def find_joint_non_empatica_sensor_files(wildcards): joined_files = [] for config_key in config.keys(): @@ -82,18 +73,6 @@ def input_merge_sensor_features_for_individual_participants(wildcards): break return feature_files -def input_merge_standardized_sensor_features_for_individual_participants(wildcards): - feature_files = [] - for config_key in config.keys(): - if config_key.startswith(("PHONE", "FITBIT", "EMPATICA")) and "PROVIDERS" in config[config_key] and isinstance(config[config_key]["PROVIDERS"], dict): - for provider_key, provider in config[config_key]["PROVIDERS"].items(): - if "COMPUTE" in provider.keys() and provider["COMPUTE"] and ("STANDARDIZE_FEATURES" in provider.keys() and provider["STANDARDIZE_FEATURES"] or - "WINDOWS" in provider.keys() and "STANDARDIZE_FEATURES" in provider["WINDOWS"].keys() and provider["WINDOWS"]["STANDARDIZE_FEATURES"]): - feature_files.append("data/processed/features/{pid}/z_" + config_key.lower() + ".csv") - break - - return feature_files - def get_phone_sensor_names(): phone_sensor_names = [] for config_key in config.keys(): diff --git a/rules/features.smk b/rules/features.smk index 5331d827..6aa2c150 100644 --- a/rules/features.smk +++ b/rules/features.smk @@ -796,20 +796,6 @@ rule empatica_accelerometer_python_features: script: "../src/features/entry.py" -rule empatica_accelerometer_python_features_standardization: - input: - windows_features_data = "data/interim/{pid}/empatica_accelerometer_features/empatica_accelerometer_python_{provider_key}_windows.csv" - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["CR"], - provider_key = "{provider_key}", - sensor_key = "empatica_accelerometer", - provider_main = config["EMPATICA_ACCELEROMETER"]["PROVIDERS"]["CR"] - output: - "data/interim/{pid}/empatica_accelerometer_features/z_empatica_accelerometer_python_{provider_key}.csv", - "data/interim/{pid}/empatica_accelerometer_features/z_empatica_accelerometer_python_{provider_key}_windows.csv" - script: - "../src/features/standardization/main.py" - rule empatica_accelerometer_r_features: input: sensor_data = "data/raw/{pid}/empatica_accelerometer_with_datetime.csv", @@ -864,20 +850,6 @@ rule empatica_temperature_python_features: script: "../src/features/entry.py" -rule empatica_temperature_python_features_standardization: - input: - windows_features_data = "data/interim/{pid}/empatica_temperature_features/empatica_temperature_python_{provider_key}_windows.csv" - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["CR"], - provider_key = "{provider_key}", - sensor_key = "empatica_temperature", - provider_main = config["EMPATICA_TEMPERATURE"]["PROVIDERS"]["CR"] - output: - "data/interim/{pid}/empatica_temperature_features/z_empatica_temperature_python_{provider_key}.csv", - "data/interim/{pid}/empatica_temperature_features/z_empatica_temperature_python_{provider_key}_windows.csv" - script: - "../src/features/standardization/main.py" - rule empatica_temperature_r_features: input: sensor_data = "data/raw/{pid}/empatica_temperature_with_datetime.csv", @@ -905,20 +877,6 @@ rule empatica_electrodermal_activity_python_features: script: "../src/features/entry.py" -rule empatica_electrodermal_activity_python_features_standardization: - input: - windows_features_data = "data/interim/{pid}/empatica_electrodermal_activity_features/empatica_electrodermal_activity_python_{provider_key}_windows.csv" - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["CR"], - provider_key = "{provider_key}", - sensor_key = "empatica_electrodermal_activity", - provider_main = config["EMPATICA_ELECTRODERMAL_ACTIVITY"]["PROVIDERS"]["CR"] - output: - "data/interim/{pid}/empatica_electrodermal_activity_features/z_empatica_electrodermal_activity_python_{provider_key}.csv", - "data/interim/{pid}/empatica_electrodermal_activity_features/z_empatica_electrodermal_activity_python_{provider_key}_windows.csv" - script: - "../src/features/standardization/main.py" - rule empatica_electrodermal_activity_r_features: input: sensor_data = "data/raw/{pid}/empatica_electrodermal_activity_with_datetime.csv", @@ -946,20 +904,6 @@ rule empatica_blood_volume_pulse_python_features: script: "../src/features/entry.py" -rule empatica_blood_volume_pulse_python_cr_features_standardization: - input: - windows_features_data = "data/interim/{pid}/empatica_blood_volume_pulse_features/empatica_blood_volume_pulse_python_{provider_key}_windows.csv" - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["CR"], - provider_key = "{provider_key}", - sensor_key = "empatica_blood_volume_pulse", - provider_main = config["EMPATICA_BLOOD_VOLUME_PULSE"]["PROVIDERS"]["CR"] - output: - "data/interim/{pid}/empatica_blood_volume_pulse_features/z_empatica_blood_volume_pulse_python_{provider_key}.csv", - "data/interim/{pid}/empatica_blood_volume_pulse_features/z_empatica_blood_volume_pulse_python_{provider_key}_windows.csv" - script: - "../src/features/standardization/main.py" - rule empatica_blood_volume_pulse_r_features: input: sensor_data = "data/raw/{pid}/empatica_blood_volume_pulse_with_datetime.csv", @@ -987,20 +931,6 @@ rule empatica_inter_beat_interval_python_features: script: "../src/features/entry.py" -rule empatica_inter_beat_interval_python_features_standardization: - input: - windows_features_data = "data/interim/{pid}/empatica_inter_beat_interval_features/empatica_inter_beat_interval_python_{provider_key}_windows.csv" - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["CR"], - provider_key = "{provider_key}", - sensor_key = "empatica_inter_beat_interval", - provider_main = config["EMPATICA_INTER_BEAT_INTERVAL"]["PROVIDERS"]["CR"] - output: - "data/interim/{pid}/empatica_inter_beat_interval_features/z_empatica_inter_beat_interval_python_{provider_key}.csv", - "data/interim/{pid}/empatica_inter_beat_interval_features/z_empatica_inter_beat_interval_python_{provider_key}_windows.csv" - script: - "../src/features/standardization/main.py" - rule empatica_inter_beat_interval_r_features: input: sensor_data = "data/raw/{pid}/empatica_inter_beat_interval_with_datetime.csv", @@ -1048,38 +978,6 @@ rule merge_sensor_features_for_individual_participants: script: "../src/features/utils/merge_sensor_features_for_individual_participants.R" -rule join_standardized_features_from_empatica: - input: - sensor_features = find_empaticas_standardized_features_files - wildcard_constraints: - sensor_key = '(empatica).*' - output: - "data/processed/features/{pid}/z_{sensor_key}.csv" - script: - "../src/features/utils/join_features_from_providers.R" - -rule standardize_features_from_providers_no_empatica: - input: - sensor_features = find_joint_non_empatica_sensor_files - wildcard_constraints: - sensor_key = '(phone|fitbit).*' - params: - provider = config["STANDARDIZATION"]["PROVIDERS"]["OTHER"], - provider_key = "OTHER", - sensor_key = "{sensor_key}" - output: - "data/processed/features/{pid}/z_{sensor_key}.csv" - script: - "../src/features/standardization/main.py" - -rule merge_standardized_sensor_features_for_individual_participants: - input: - feature_files = input_merge_standardized_sensor_features_for_individual_participants - output: - "data/processed/features/{pid}/z_all_sensor_features.csv" - script: - "../src/features/utils/merge_sensor_features_for_individual_participants.R" - rule merge_sensor_features_for_all_participants: input: feature_files = expand("data/processed/features/{pid}/all_sensor_features.csv", pid=config["PIDS"]) @@ -1088,14 +986,6 @@ rule merge_sensor_features_for_all_participants: script: "../src/features/utils/merge_sensor_features_for_all_participants.R" -rule merge_standardized_sensor_features_for_all_participants: - input: - feature_files = expand("data/processed/features/{pid}/z_all_sensor_features.csv", pid=config["PIDS"]) - output: - "data/processed/features/all_participants/z_all_sensor_features.csv" - script: - "../src/features/utils/merge_standardized_sensor_features_for_all_participants.R" - rule clean_sensor_features_for_individual_participants: input: sensor_data = rules.merge_sensor_features_for_individual_participants.output @@ -1107,7 +997,7 @@ rule clean_sensor_features_for_individual_participants: script_extension = "{script_extension}", sensor_key = "all_cleaning_individual" output: - "data/processed/features/{pid}/all_sensor_features_cleaned_{provider_key}_{script_extension}.csv" # bo predstavljalo probleme za naprej (kako iskati datoteke + standardizacija itd.) + "data/processed/features/{pid}/all_sensor_features_cleaned_{provider_key}_{script_extension}.csv" script: "../src/features/entry.{params.script_extension}" @@ -1123,32 +1013,3 @@ rule clean_sensor_features_for_all_participants: "data/processed/features/all_participants/all_sensor_features_cleaned_{provider_key}_{script_extension}.csv" script: "../src/features/entry.{params.script_extension}" - -rule clean_standardized_sensor_features_for_individual_participants: - input: - sensor_data = rules.merge_standardized_sensor_features_for_individual_participants.output - wildcard_constraints: - pid = "("+"|".join(config["PIDS"])+")" - params: - provider = lambda wildcards: config["ALL_CLEANING_INDIVIDUAL"]["PROVIDERS"][wildcards.provider_key.upper()], - provider_key = "{provider_key}", - script_extension = "{script_extension}", - sensor_key = "all_cleaning_individual" - output: - "data/processed/features/{pid}/z_all_sensor_features_cleaned_{provider_key}_{script_extension}.csv" - script: - "../src/features/entry.{params.script_extension}" - -rule clean_standardized_sensor_features_for_all_participants: - input: - sensor_data = rules.merge_standardized_sensor_features_for_all_participants.output - params: - provider = lambda wildcards: config["ALL_CLEANING_OVERALL"]["PROVIDERS"][wildcards.provider_key.upper()], - provider_key = "{provider_key}", - script_extension = "{script_extension}", - sensor_key = "all_cleaning_overall" - output: - "data/processed/features/all_participants/z_all_sensor_features_cleaned_{provider_key}_{script_extension}.csv" - script: - "../src/features/entry.{params.script_extension}" -