====== Habit Task Data Parsing ====== [[:tools:habittask]] EEG, MR, and Behave data is coalesced by scripts in the task directory ''/Volumes/Hera/Projects/Habit/task/results'' but relies on task parsing scripts in ''/Volumes/Hera/Projects/Habit/mr/habit'' (MR directory, but parsing behave and eeg too). Age (when available) is pulled from yet another location, ''../../redcap/data/ages.tsv'' (''make -C /Volumes/Hera/Projects/Habit/redcap data/ages.tsv'') Task files of interest are ''lab.data.tsv'' and ''lab.summary.csv'' trial_file=/Volumes/Hera/Projects/Habit/task/results/lab.data.tsv # also see lab.summary.csv wc -l < $trial_file # 80279 head -n 3 $trial_file id initials age sex task vdate timepoint run ver avatar trial block left_pos left_prob up_pos up_prob right_pos right_prob score rt n_keys first_key_rt first_key picked picked_prob picked_step avoided avoided_prob avoided_step iti_onset chose_onset waiting_onset feedback_onset timeout_onset trial_choices survey_age pick_dist optimal_choice blocknum blocktype picked_unified avoid_unified 11885 NA 24 NA habit_eeg NA 20221012 1 eeg_1 shark 1 Lc20Uc50Rf100 c 20 c 50 f 100 true 557 1 510 39 right 100 2 up 50 1 211415.96 212424.14 212980.92 213243.78 NA up-right 24 far TRUE 1 init first100 first50 11885 NA 24 NA habit_eeg NA 20221012 1 eeg_1 shark 2 Lc20Uc50Rf100 c 20 c 50 f 100 false 450 1 430 37 left 20 1 up 50 1 213536.44 214554.2 215004.04 215236.92 NA left-up 24 close FALSE 1 init first20 first50 ===== Data ===== JSON files are exported from the browser at the end of the task. They're on bea_res like: /Volumes/L/bea_res/Data/Tasks/Habit/MR/11734_20221111/sub-11734_task-mr_habit_ses-20221005_run-1_1668193517800.json ===== Scripts ===== ==== Session information ==== Age is pulled from redcap and qualtrics. Fallback db query fills for ages know via other studies. ''/Volumes/Hera/Projects/Habit/behave/redcap/02_visit_ages.R'' does all of this. Despite living in the [[tools:redcap]] scripts dir, it pulls to [[tools:qualtrics]] and DB). ==== Task data ==== Extracting and coalescing data happens with MR scripts. See ''make json2tsv'' (tsv per task file) and ''txt/all_habit.json'' (single large file). cd /Volumes/Hera/Projects/Habit/mr/habit make json2tsv # runs eg. # ./read_idv_task.bash "/Volumes/L/bea_res/Data/Tasks/Habit/MR/12010_20251124/12010_mr_habit_20251001_1_nover.json" "/Volumes/L/bea_res/Data/Tasks/Habit/MR/12010_20251124/12010_mr_habit_20251001_1_nover.tsv" ==== Unifying task conditions ==== ''read.R'' adds ''picked_unified'' ''avoid_unified''. All trials are put into one long file. These transformation and scoring scripts are * on rhea as ''/Volumes/Hera/Projects/Habit/task/results'' * symlinked as ''/Volumes/Hera/Projects/Habit/mr/habit/task-results'' * tracked with task presentation code: https://github.com/LabNeuroCogDevel/choice-landscape/tree/master/results ===== Automated ===== Scripts from age extraction to final ''lab.data.tsv'' should run unattended nightly using [[:tools:cron]] and [[:tools:make]]. crontab -l|grep habit -i # foranw 30 2 * * * make -C /Volumes/Hera/Projects/Habit/behave/redcap 00 4 * * * make -C /Volumes/Hera/Projects/Habit/mr 00 5 * * * make -C /Volumes/Hera/Projects/Habit/task results/lab.summary.csv