This code repository contains preprocessing and basic code to load and access preprocessed code from the MDTB data set
For usage on Yale's CRC Grace cluster (http://cluster.ycrc.yale.edu/grace/)
Note that files will be read-only access, so it's recommended to copy template code to one's own directory on Grace and read-in data from your local project repo
Base directory: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/
Raw BIDS formatted data: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/bids/
QuNex preprocessed data: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/qunex_mdtb/sessions
Fully preprocessed data: Includes QuNex preprocessed + post-processed nuisance regression (including removal of white matter, ventricle and motion time series). This includes processed data for both task and rest data at parcellated and vertex-wise time series: /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/derivatives/postprocessing/
Local code repo (which is synced to this GitHub repo): /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/docs/
Note that processed task-state fMRI data has been processed using finite impulse response modeling (FIR) for task-state correlation/functional connectivity analyses, following procedures in Cole et al. (2019) NeuroImage http://www.sciencedirect.com/science/article/pii/S1053811918322043
Task conditions that are modeled in FIR are at the block-level, and so there are only 26 conditions for each task-specific time series.
Processed data is in parcellated time series (vertex-wise data to come) using the Glasser et al. (2016) parcellation scheme (http://www.nature.com/doifinder/10.1038/nature18933)
Demo code (Grace): /gpfs/loomis/pi/n3/Studies/MurrayLab/taku/mdtb_data/docs/scripts/rest_task_fMRI_demo.ipynb
Demo code (This repo): scripts/rest_task_fMRI_demo.ipynb (https://github.com/ito-takuya/mdtb_data/blob/main/scripts/rest_task_fMRI_demo.ipynb)
Code requires nibabel, nipy, h5py
For those who wish to preprocess and run GLMs themselves, the following code can be used as templates. A good knowledge of shell-scripting and python is required, along with best practices for preprocessing.
See QuNex documentation for preprocessing, and recommended post-processing/nuisance regression references:
Ciric, R., Wolf, D.H., Power, J.D., Roalf, D.R., Baum, G.L., Ruparel, K., Shinohara, R.T., Elliott, M.A., Eickhoff, S.B., Davatzikos, C., Gur, R.C., Gur, R.E., Bassett, D.S., Satterthwaite, T.D., 2017. Benchmarking of participant-level confound regression strategies for the control of motion artifact in studies of functional connectivity. NeuroImage 154, 174–187. https://doi.org/10.1016/j.neuroimage.2017.03.020
Cole, M.W., Ito, T., Schultz, D., Mill, R., Chen, R., Cocuzza, C., 2019. Task activations produce spurious but systematic inflation of task functional connectivity estimates. NeuroImage 189, 1–18. https://doi.org/10.1016/j.neuroimage.2018.12.054
Qunex shell script: scripts/preproc_qunex_turnkey_v2.sh
Postprocessing (i.e., nuisance regression for resting-state data and task GLMs) were implemented with custom python code.
Resting-state nuisance regression: scripts/glm_scripts/postproc_rest.py
Task-state FIR regression (for FC and timescale analyses): scripts/glm_scripts/postproc_taskFIR.py
Task-state GLM activation estimation (uses a beta series type model, see Rissman et al. (2004), NeuroImage 10.1016/j.neuroimage.2004.06.035: scripts/glm_scripts/postproc_taskbetaseries.py
Generic post-processing tools: scripts/glm_scripts/postproc_tools.py