Main content

Home

Menu

Loading wiki pages...

View
Wiki Version:
Data and code for the following preprint: https://www.biorxiv.org/content/10.1101/2022.12.15.520554v1 **Contents of this directory:** **CSV_files:** CSV files containing behavioral tapping and counting rates, as well as prospective duration estimates **MEG:** MEG data for all participants in fif format - raw data from all runs SUBXX_rX_raw.fif - cleaned epochs SUBXX_DeltaWaves_OL_cleaned-epo.fif (prepocessed° - tapping epochs: SUBXX_DeltaWaves__tapping-epo.fif - peak dictionaries, as the output of the k-means clustering procedure for all frequency bands NOTE: due to storage limitations for private repositories, the MEG data is split across several components. Before running the analyses, all participants' folders have to be put into one directory, named "MEG". Raw fif files will be added once the repository is made public (paper accepted). **peak_sorting_dicts:** python dictionary (numpy file) per frequency band, which contains the peak statistics for all participants **system_calibration_files:** MEG machine specific files required for the Maxfilter algorithm **SCRIPTS:** Python code using MNE-python to perform all analyses. Preprocessing scripts are adapted from [https://github.com/brainthemind/CogBrainDyn_MEG_Pipeline][1] **config.py** - contains all parameters for the analysis, - e.g. filtering, epoch times, bad sensors per participant **00_export_tap_and_count_rate.py** --> FIGURE 4 - Analyze behavioral tapping and counting rates - Tapping rates: spectral analysis of registered button presses - Counting rates: Final number / run duration - export both to csv file: beh_freqs_tap_count.csv ---------- **01-import_and_maxwell_filter.py** - imports raw data from each run and applies signal-space correction ---------- **02-apply_frequency_filter.py** - applies frequency filter and resampling to continous data ---------- **03-extract_events_artificial.py** - extracts the start and stop events for each run and creates artificial events for 10s epochs with overlap ---------- **04-make_epochs.py** - reads data from 02 and events from 03 and creates the epochs ---------- **05a-run_ica_4EOG.py** - runs first ICA, identifies occular artifacts and removes the related components ---------- **05b-run_ica_4ECG.py** - runs second ICA, iterating over different decompositions to find the solution that reduces the cardiac artifact most thoroughly ---------- **05c-apply_ica_4ECG.py** - applies the best ICA solution after projecting out cardiac artifacts -saves cleaned epochs ---------- **06-make_epochs_tapping.py** - makes epochs from the tapping runs, time-locked to participant's button presses during tapping ---------- **07_SPECTRA.py** - Load the cleaned epochs - Compute spectra per condition - Compute IRASA to obtain full, 1/f, and oscillatory spectra - Save all spectra to dict per participant ---------- **08_load_spectra_and_plot.py --> FIGURE 2** - plot exemplary power spectra for one condition and one participant including topographies ---------- **09_find_peaks_k_means.py** --> FIGURE 3, supplementary figures S1, S2, S3 - Import numpy arrays of PSDs computed previously - find spectral peaks per participant, canonical frequency band, condition ---------- **10a_DELTA_peak_sorting.py** --> FIGURE 7 - Peak sorting, delta band: - peak closest to tapping rate, higher delta, closest to counting rate - save all peaks (frequency, power) in one dict: peak_sorting_dicts/DELTA_PEAK_SORTING_dict.npy **10b_THETA_ALPHA_peak_sorting.py** - Peak sorting, delta/alpha bands: take strongest (first cluster only) - save all peaks (frequency, power) in one dict: peak_sorting_dicts/THETA_PEAK_SORTING_dict.npy, peak_sorting_dicts/ALPHA_PEAK_SORTING_dict.npy **10c_BETA_peak_sorting.py** - Peak sorting, beta band: sort into low and high beta - save all peaks (frequency, power) in one dict: peak_sorting_dicts/BETA_PEAK_SORTING_dict.npy ---------- **11a_group_peak_plotting.py** --> FIGURE 5, Supplementary Figure S4 - plot group results for the peaks **11b_group_peak_summary_table.py** --> TABLE 1 - collect peak frequencies, power and channels and print a csv summary table **11c_group_peak_summary_violin.py** --> Figure 6, Supplementary Figure 5; Table 2 - produce violin plots of power and frequency per peak and condition - do t-tests for power and frequencies between conditions ---------- **12_prospective_duration.py** Analyze prospective timing estimates for tapping and counting runs check for correlations with oscillatory peaks ---------- **13_tapping_topo_comparison.py** --> FIGURE 8 - Compare the topogrophy of the tapping evoked response and the oscillatory peaks in the delta band ---------- **14_DeltaWaves_BYCYCLE.py** - apply bycycle method to test for oscillatory bursts in the time domain - compute for all participants, one frequency band, one condition, one peak type ---------- **15_plot_exemplary_burst.py** --> FIGURE 9A - plot a bursty episode as an example ---------- **16_DeltaWaves_BYCYCLE_group_results.py** --> Figure 9 B - read previously computed results for one frequency band, condition, peak - for all participants perform t-tests between burst statistics from peak-sensors versus no-peak-sensors plot burst stats [1]: https://github.com/brainthemind/CogBrainDyn_MEG_Pipeline
OSF does not support the use of Internet Explorer. For optimal performance, please switch to another browser.
Accept
This website relies on cookies to help provide a better user experience. By clicking Accept or continuing to use the site, you agree. For more information, see our Privacy Policy and information on cookie use.
Accept
×

Start managing your projects on the OSF today.

Free and easy to use, the Open Science Framework supports the entire research lifecycle: planning, execution, reporting, archiving, and discovery.