.\
│
├── custom_epitran_files\
# custom mapping files used for the phonological analysis in supp mat
│ ├── deu-Latn-nar_custom.csv
│ └── deu-Latn-nar_custom.txt
|
├── eeg\
# raw EEG in BIDS format will be stored in here
│ └── download_raw_eeg.sh # script that uses curl to download the BIDS repository
│
├── env\
# .yml files for the conda environments (files prefixed with -vague give general requirements but are less constrained)
│ ├── environment-mne-vague.yml
│ ├── environment-mne.yml
│ ├── environment-r-vague.yml
│ ├── environment-r.yml
│ ├── environment-rdms-vague.yml
│ └── environment-rdms.yml
│
├── epo\
# preprocessed epoch files from 02_preprocessing.py
│ ├── sub-01-epo.fif
│ ├── sub-02-epo.fif
│ ├── sub-03-epo.fif
│ ├── sub-04-epo.fif
│ ├── sub-06-epo.fif
│ ├── sub-07-epo.fif
│ ├── sub-08-epo.fif
│ ├── sub-09-epo.fif
│ ├── sub-10-epo.fif
│ ├── sub-11-epo.fif
│ ├── sub-12-epo.fif
│ ├── sub-13-epo.fif
│ ├── sub-14-epo.fif
│ ├── sub-15-epo.fif
│ └── sub-16-epo.fif
│
├── estimates\
# .rds files for estimates and posterior samples (draws) saved from Bayesian models
│ ├── ANNs_p1_draws.rds
│ ├── ANNs_poi_draws.rds
│ ├── ANNs_time_resolved.rds
│ ├── controls_all_chs_cor_samps_long.rds
│ ├── controls_all_chs_timecourse.rds
│ ├── controls_cor_samps_long.rds
│ ├── controls_timecourse.rds
│ ├── jacc_geom_p1_draws.rds
│ ├── jacc_geom_poi_draws.rds
│ ├── jacc_geom_time_resolved.rds
│ ├── ot_geom_p1_draws.rds
│ ├── ot_geom_poi_draws.rds
│ ├── ot_geom_time_resolved.rds
│ ├── planned_timecourse.rds
│ ├── prereg_cor_samps_long.rds
│ └── sensitivity_lkj_prior.rds
│
├── fig\
# contains all figures
│ │
│ ├── ica\
│ │ ├── ica_Hz_100_example.pdf
│ │ ├── ica_Hz_40_example.pdf
│ │ ├── ica_Hz_example_impact.pdf
│ │ ├── ica_N_32_example.pdf
│ │ ├── ica_N_64_example.pdf
│ │ └── ica_N_example_impact.pdf
│ │
│ ├── optimisation_illustration\
│ │ ├── j_example_0.svg
│ │ ├── j_example_1.svg
│ │ ├── j_example_2.svg
│ │ ├── j_example_3.svg
│ │ ├── j_example_4.svg
│ │ ├── mats_jacc.svg
│ │ ├── mats_ot.svg
│ │ ├── optimisation_illustration.png
│ │ ├── optimisation_illustration.svg
│ │ ├── spaces.svg
│ │ ├── w_example_0.svg
│ │ ├── w_example_1.svg
│ │ ├── w_example_2.svg
│ │ ├── w_example_3.svg
│ │ └── w_example_4.svg
│ │
│ ├── pattern_examples\
│ │ ├── a.svg
│ │ ├── b.svg
│ │ ├── c.svg
│ │ ├── colorbar.svg
│ │ ├── d.svg
│ │ ├── e.svg
│ │ ├── f.svg
│ │ ├── g.svg
│ │ ├── h.svg
│ │ ├── i.svg
│ │ ├── j.svg
│ │ ├── k.svg
│ │ ├── l.svg
│ │ ├── m.svg
│ │ ├── n.svg
│ │ ├── o.svg
│ │ ├── p.svg
│ │ ├── q.svg
│ │ ├── r.svg
│ │ ├── s.svg
│ │ ├── t.svg
│ │ ├── u.svg
│ │ ├── v.svg
│ │ ├── w.svg
│ │ ├── x.svg
│ │ ├── y.svg
│ │ ├── z.svg
│ │ ├── ß.svg
│ │ ├── ä.svg
│ │ ├── ö.svg
│ │ └── ü.svg
│ │
│ ├── rank_rdm_examples\
│ │ ├── colorbar.svg
│ │ ├── rank_rdm_0.svg
│ │ ├── rank_rdm_1.svg
│ │ ├── rank_rdm_10.svg
│ │ ├── rank_rdm_11.svg
│ │ ├── rank_rdm_12.svg
│ │ ├── rank_rdm_13.svg
│ │ ├── rank_rdm_14.svg
│ │ ├── rank_rdm_2.svg
│ │ ├── rank_rdm_3.svg
│ │ ├── rank_rdm_4.svg
│ │ ├── rank_rdm_5.svg
│ │ ├── rank_rdm_6.svg
│ │ ├── rank_rdm_7.svg
│ │ ├── rank_rdm_8.svg
│ │ └── rank_rdm_9.svg
│ │
│ ├── rdm_examples\
│ │ ├── colorbar.svg
│ │ ├── rdm_0.svg
│ │ ├── rdm_1.svg
│ │ ├── rdm_10.svg
│ │ ├── rdm_11.svg
│ │ ├── rdm_12.svg
│ │ ├── rdm_13.svg
│ │ ├── rdm_14.svg
│ │ ├── rdm_2.svg
│ │ ├── rdm_3.svg
│ │ ├── rdm_4.svg
│ │ ├── rdm_5.svg
│ │ ├── rdm_6.svg
│ │ ├── rdm_7.svg
│ │ ├── rdm_8.svg
│ │ └── rdm_9.svg
│ │
│ ├── ANN_joined.pdf
│ ├── ANN_joined.png
│ ├── ERP.svg
│ ├── RDM_illustration.pdf
│ ├── RDM_illustration.svg
│ ├── avg_neural_rdm.png
│ ├── channels.pdf
│ ├── controls.pdf
│ ├── controls.png
│ ├── illustrate_controls.pdf
│ ├── illustrate_controls.png
│ ├── intro_jaccard_examples.pdf
│ ├── intro_jaccard_examples.png
│ ├── intro_jaccard_examples.svg
│ ├── intro_ot_examples.pdf
│ ├── intro_ot_examples.png
│ ├── intro_stim_rdms.pdf
│ ├── intro_stim_rdms.png
│ ├── intro_stim_rdms.svg
│ ├── intro_stim_rdms_plus_ot_illustration.pdf
│ ├── intro_stim_rdms_plus_ot_illustration.svg
│ ├── intro_stim_rdms_rank_only.pdf
│ ├── intro_stim_rdms_rank_only.png
│ ├── jacc_ot_geom_poi_joined.pdf
│ ├── jacc_ot_geom_poi_joined.png
│ ├── jacc_ot_geom_poi_p1_joined.pdf
│ ├── jacc_ot_geom_poi_p1_joined.png
│ ├── main_analysis.pdf
│ ├── main_analysis.svg
│ ├── model_rdm_jacc.png
│ ├── model_rdm_ot.png
│ ├── neural_rdm.png
│ ├── posterior_poi_partial.pdf
│ ├── posterior_poi_partial.png
│ ├── posterior_poi_partial.svg
│ ├── sensitivity_analysis.pdf
│ ├── sensitivity_analysis.png
│ ├── tc_joined_CrI.pdf
│ ├── tc_joined_CrI.png
│ ├── tc_joined_CrI.svg
│ └── tc_joined_CrI_bf.pdf
│
├── fig_code\
# code used to generate figures in the fig/ directory
│ ├── 99_estimate_spaces.py
│ ├── 99_estimate_spaces_illustrate.py
│ ├── 99_estimate_spaces_jaccard.npy
│ ├── 99_estimate_spaces_wasserstein.npy
│ ├── 99_illustrate_control_rdms.py
│ ├── 99_jaccard_distance_figure.py
│ ├── 99_make_all_ggplots.R
│ ├── 99_optimal_transport_figure.py
│ ├── 99_plot_ica_N_change_examples.py
│ ├── 99_plot_ica_filter_change_examples.py
│ ├── 99_rdms_corr.py
│ ├── ggplot2_theme.R
│ └── mpl_setup_fonts.py
│
├── noise_ceiling\
# noise ceiling estimates output by 03_get_neural_rdms.py
│ ├── noise_ceiling_p1.csv
│ ├── noise_ceiling_poi.csv
│ ├── noise_ceiling_poi_all_chs.csv
│ ├── noise_ceiling_time.csv
│ └── noise_ceiling_time_all_chs.csv
│
├── rdm_data\
# per-paricipant neural dissimilarity matrices (RDMs) output by 03_get_neural_rdms.py
│ │
│ ├── p1_period\
│ │ ├── sub-01.csv
│ │ ├── sub-02.csv
│ │ ├── sub-03.csv
│ │ ├── sub-04.csv
│ │ ├── sub-06.csv
│ │ ├── sub-07.csv
│ │ ├── sub-08.csv
│ │ ├── sub-09.csv
│ │ ├── sub-10.csv
│ │ ├── sub-11.csv
│ │ ├── sub-12.csv
│ │ ├── sub-13.csv
│ │ ├── sub-14.csv
│ │ ├── sub-15.csv
│ │ └── sub-16.csv
│ │
│ ├── period_of_interest\
│ │ ├── sub-01.csv
│ │ ├── sub-02.csv
│ │ ├── sub-03.csv
│ │ ├── sub-04.csv
│ │ ├── sub-06.csv
│ │ ├── sub-07.csv
│ │ ├── sub-08.csv
│ │ ├── sub-09.csv
│ │ ├── sub-10.csv
│ │ ├── sub-11.csv
│ │ ├── sub-12.csv
│ │ ├── sub-13.csv
│ │ ├── sub-14.csv
│ │ ├── sub-15.csv
│ │ └── sub-16.csv
│ │
│ ├── period_of_interest_all_chs\
│ │ ├── sub-01.csv
│ │ ├── sub-02.csv
│ │ ├── sub-03.csv
│ │ ├── sub-04.csv
│ │ ├── sub-06.csv
│ │ ├── sub-07.csv
│ │ ├── sub-08.csv
│ │ ├── sub-09.csv
│ │ ├── sub-10.csv
│ │ ├── sub-11.csv
│ │ ├── sub-12.csv
│ │ ├── sub-13.csv
│ │ ├── sub-14.csv
│ │ ├── sub-15.csv
│ │ └── sub-16.csv
│ │
│ ├── time_resolved\
│ │ ├── sub-01.csv
│ │ ├── sub-02.csv
│ │ ├── sub-03.csv
│ │ ├── sub-04.csv
│ │ ├── sub-06.csv
│ │ ├── sub-07.csv
│ │ ├── sub-08.csv
│ │ ├── sub-09.csv
│ │ ├── sub-10.csv
│ │ ├── sub-11.csv
│ │ ├── sub-12.csv
│ │ ├── sub-13.csv
│ │ ├── sub-14.csv
│ │ ├── sub-15.csv
│ │ └── sub-16.csv
│ │
│ └── time_resolved_all_chs\
│ ├── sub-01.csv
│ ├── sub-02.csv
│ ├── sub-03.csv
│ ├── sub-04.csv
│ ├── sub-06.csv
│ ├── sub-07.csv
│ ├── sub-08.csv
│ ├── sub-09.csv
│ ├── sub-10.csv
│ ├── sub-11.csv
│ ├── sub-12.csv
│ ├── sub-13.csv
│ ├── sub-14.csv
│ ├── sub-15.csv
│ └── sub-16.csv
│
│
├── scold\
# custom python functions used to calculate model RDMs
│ ├── arr_sim.py
│ ├── bubbles.py
│ ├── draw.py
│ ├── phase.py
│ ├── rumelhart.py
│ ├── string_sim.py
│ ├── text_arr_sim.py
│ ├── text_arr_sim_wasserstein.py
│ └── utils.py
│
├── stim_sim\
# model RDMs output by 00_get_orth_model_rdms.py and 01_get_corpus_model_rdms.py
│ │
│ ├── ANNs\
│ │ │
│ │ ├── cornet-z_imagenet\
│ │ │ ├── IT.csv
│ │ │ ├── IT.npy
│ │ │ ├── V1.csv
│ │ │ ├── V1.npy
│ │ │ ├── V2.csv
│ │ │ ├── V2.npy
│ │ │ ├── V4.csv
│ │ │ └── V4.npy
│ │ │
│ │ ├── cornet-z_imagenet_letters\
│ │ │ ├── IT.csv
│ │ │ ├── IT.npy
│ │ │ ├── V1.csv
│ │ │ ├── V1.npy
│ │ │ ├── V2.csv
│ │ │ ├── V2.npy
│ │ │ ├── V4.csv
│ │ │ └── V4.npy
│ │ │
│ │ ├── cornet-z_letters\
│ │ │ ├── IT.csv
│ │ │ ├── IT.npy
│ │ │ ├── V1.csv
│ │ │ ├── V1.npy
│ │ │ ├── V2.csv
│ │ │ ├── V2.npy
│ │ │ ├── V4.csv
│ │ │ └── V4.npy
│ │ │
│ │ ├── resnet50_imagenet\
│ │ │ ├── layer1.0.csv
│ │ │ ├── layer1.0.npy
│ │ │ ├── layer1.1.csv
│ │ │ ├── layer1.1.npy
│ │ │ ├── layer1.2.csv
│ │ │ ├── layer1.2.npy
│ │ │ ├── layer2.0.csv
│ │ │ ├── layer2.0.npy
│ │ │ ├── layer2.1.csv
│ │ │ ├── layer2.1.npy
│ │ │ ├── layer2.2.csv
│ │ │ ├── layer2.2.npy
│ │ │ ├── layer2.3.csv
│ │ │ ├── layer2.3.npy
│ │ │ ├── layer3.0.csv
│ │ │ ├── layer3.0.npy
│ │ │ ├── layer3.1.csv
│ │ │ ├── layer3.1.npy
│ │ │ ├── layer3.2.csv
│ │ │ ├── layer3.2.npy
│ │ │ ├── layer3.3.csv
│ │ │ ├── layer3.3.npy
│ │ │ ├── layer3.4.csv
│ │ │ ├── layer3.4.npy
│ │ │ ├── layer3.5.csv
│ │ │ ├── layer3.5.npy
│ │ │ ├── layer4.0.csv
│ │ │ ├── layer4.0.npy
│ │ │ ├── layer4.1.csv
│ │ │ ├── layer4.1.npy
│ │ │ ├── layer4.2.csv
│ │ │ └── layer4.2.npy
│ │ │
│ │ ├── resnet50_imagenet_letters\
│ │ │ ├── layer1.0.csv
│ │ │ ├── layer1.0.npy
│ │ │ ├── layer1.1.csv
│ │ │ ├── layer1.1.npy
│ │ │ ├── layer1.2.csv
│ │ │ ├── layer1.2.npy
│ │ │ ├── layer2.0.csv
│ │ │ ├── layer2.0.npy
│ │ │ ├── layer2.1.csv
│ │ │ ├── layer2.1.npy
│ │ │ ├── layer2.2.csv
│ │ │ ├── layer2.2.npy
│ │ │ ├── layer2.3.csv
│ │ │ ├── layer2.3.npy
│ │ │ ├── layer3.0.csv
│ │ │ ├── layer3.0.npy
│ │ │ ├── layer3.1.csv
│ │ │ ├── layer3.1.npy
│ │ │ ├── layer3.2.csv
│ │ │ ├── layer3.2.npy
│ │ │ ├── layer3.3.csv
│ │ │ ├── layer3.3.npy
│ │ │ ├── layer3.4.csv
│ │ │ ├── layer3.4.npy
│ │ │ ├── layer3.5.csv
│ │ │ ├── layer3.5.npy
│ │ │ ├── layer4.0.csv
│ │ │ ├── layer4.0.npy
│ │ │ ├── layer4.1.csv
│ │ │ ├── layer4.1.npy
│ │ │ ├── layer4.2.csv
│ │ │ └── layer4.2.npy
│ │ │
│ │ └── resnet50_letters\
│ │ ├── layer1.0.csv
│ │ ├── layer1.0.npy
│ │ ├── layer1.1.csv
│ │ ├── layer1.1.npy
│ │ ├── layer1.2.csv
│ │ ├── layer1.2.npy
│ │ ├── layer2.0.csv
│ │ ├── layer2.0.npy
│ │ ├── layer2.1.csv
│ │ ├── layer2.1.npy
│ │ ├── layer2.2.csv
│ │ ├── layer2.2.npy
│ │ ├── layer2.3.csv
│ │ ├── layer2.3.npy
│ │ ├── layer3.0.csv
│ │ ├── layer3.0.npy
│ │ ├── layer3.1.csv
│ │ ├── layer3.1.npy
│ │ ├── layer3.2.csv
│ │ ├── layer3.2.npy
│ │ ├── layer3.3.csv
│ │ ├── layer3.3.npy
│ │ ├── layer3.4.csv
│ │ ├── layer3.4.npy
│ │ ├── layer3.5.csv
│ │ ├── layer3.5.npy
│ │ ├── layer4.0.csv
│ │ ├── layer4.0.npy
│ │ ├── layer4.1.csv
│ │ ├── layer4.1.npy
│ │ ├── layer4.2.csv
│ │ └── layer4.2.npy
│ │
│ │
│ ├── complexity\
│ │ ├── complexity.csv
│ │ ├── complexity.npy
│ │ └── complexity_features.csv
│ │
│ ├── frequency\
│ │ ├── frequency.csv
│ │ ├── frequency.npy
│ │ └── frequency_features.csv
│ │
│ ├── jacc_geom\
│ │ ├── jacc_T0_S0_R0_Flr0_Fud0.csv
│ │ ├── jacc_T0_S0_R0_Flr0_Fud0.npy
│ │ ├── jacc_T0_S0_R1_Flr0_Fud0.csv
│ │ ├── jacc_T0_S0_R1_Flr0_Fud0.npy
│ │ ├── jacc_T0_S1_R0_Flr0_Fud0.csv
│ │ ├── jacc_T0_S1_R0_Flr0_Fud0.npy
│ │ ├── jacc_T0_S1_R1_Flr0_Fud0.csv
│ │ ├── jacc_T0_S1_R1_Flr0_Fud0.npy
│ │ ├── jacc_T1_S0_R0_Flr0_Fud0.csv
│ │ ├── jacc_T1_S0_R0_Flr0_Fud0.npy
│ │ ├── jacc_T1_S0_R1_Flr0_Fud0.csv
│ │ ├── jacc_T1_S0_R1_Flr0_Fud0.npy
│ │ ├── jacc_T1_S1_R0_Flr0_Fud0.csv
│ │ ├── jacc_T1_S1_R0_Flr0_Fud0.npy
│ │ ├── jacc_T1_S1_R1_Flr0_Fud0.csv
│ │ └── jacc_T1_S1_R1_Flr0_Fud0.npy
│ │
│ ├── ot_geom\
│ │ ├── ot_T0_S0_R0_Flr0_Fud0.csv
│ │ ├── ot_T0_S0_R0_Flr0_Fud0.npy
│ │ ├── ot_T0_S0_R1_Flr0_Fud0.csv
│ │ ├── ot_T0_S0_R1_Flr0_Fud0.npy
│ │ ├── ot_T0_S1_R0_Flr0_Fud0.csv
│ │ ├── ot_T0_S1_R0_Flr0_Fud0.npy
│ │ ├── ot_T0_S1_R1_Flr0_Fud0.csv
│ │ ├── ot_T0_S1_R1_Flr0_Fud0.npy
│ │ ├── ot_T1_S0_R0_Flr0_Fud0.csv
│ │ ├── ot_T1_S0_R0_Flr0_Fud0.npy
│ │ ├── ot_T1_S0_R1_Flr0_Fud0.csv
│ │ ├── ot_T1_S0_R1_Flr0_Fud0.npy
│ │ ├── ot_T1_S1_R0_Flr0_Fud0.csv
│ │ ├── ot_T1_S1_R0_Flr0_Fud0.npy
│ │ ├── ot_T1_S1_R1_Flr0_Fud0.csv
│ │ ├── ot_T1_S1_R1_Flr0_Fud0.npy
│ │ ├── ot_pgw.csv
│ │ └── ot_pgw.npy
│ │
│ ├── ot_variants\
│ │ ├── ot_sq0_tcrosscor.csv
│ │ ├── ot_sq0_tcrosscor.npy
│ │ ├── ot_sq0_topt.csv
│ │ ├── ot_sq0_topt.npy
│ │ ├── ot_sq1_tcrosscor.csv
│ │ ├── ot_sq1_tcrosscor.npy
│ │ ├── ot_sq1_topt.csv
│ │ └── ot_sq1_topt.npy
│ │
│ ├── phonology\
│ │ ├── dominant_phonemes.csv
│ │ ├── dominant_phonemes.npy
│ │ ├── dominant_phonemes_features.csv
│ │ ├── letter_names.csv
│ │ ├── letter_names.npy
│ │ └── letter_names_features.csv
│ │
│ └── preregistered\
│ ├── jacc.csv
│ ├── jacc.npy
│ ├── ot.csv
│ └── ot.npy
│
│
├── 00_get_orth_model_rdms.py # get model RDMs related to orthography
├── 01_get_corpus_model_rdms.py # get other model RDMs (including supp mat analysis)
├── 02_preprocessing.py # preprocess and epoch the EEG data
├── 03_get_neural_rdms.py # get neural RDMs from epoched EEG data
├── 04_rsa.R # run the main analysis and
├── 05_ot_geom.R # run the analysis on geometric invariance for Wasserstein distance
├── 06_jacc_geom.R # run the analysis on geometric invariance for Jaccard distance
├── 07_rsa_anns.R # run the analysis on alignment with the artificial neural networks
├── 08_controls_rsa.R # run the analysis with the control RDMs, analysing data from the posterior region of interest
├── 09_controls_rsa_all_chs.R # run the analysis with the control RDMs, analysing data from all channels
├── 10_sensitivity_analysis.R # run the sensitivity analysis
# Miscellanious files from here
├── AC-64.bvef # channel locations file
├── Arial-Lgt.ttf
├── Dockerfile # specifies the docker container
├── Helvetica.ttf
├── README.md
├── SUBTLEX-DE_cleaned_with_Google00_frequencies.csv # SUBTLEX-DE word frequencies used in the letter frequency RDM
├── arial.ttf
├── project_tree.md # you are here
├── run.sh # maps scripts to expected environments (designed to run in docker container)
└── transcribed_phonological_letter_name_vectors.csv # the custom-transcribed letter name vectors for the phonological letter-name RDM