We have data, we have some code we want to run on the data.
What is the simplest possible way we could do this?
What could go wrong?
How could we help ourselves to reduce mistakes?
In my own experience, error is ubiquitous in scientific computing, and one needs to work very diligently and energetically to eliminate it. One needs a very clear idea of what has been done in order to know where to look for likely sources of error. I often cannot really be sure what a student or colleague has done from his/her own presentation, and in fact often his/her description does not agree with my own understanding of what has been done, once I look carefully at the scripts. Actually, I find that researchers quite generally forget what they have done and misrepresent their computations.
Computing results are now being presented in a very loose, “breezy” way—in journal articles, in conferences, and in books. All too often one simply takes computations at face value. This is spectacularly against the evidence of my own experience. I would much rather that at talks and in referee reports, the possibility of such error were seriously examined.
-- David L. Donoho. An invitation to reproducible computational research. Biostatistics Volume 11, Issue 3 Pp. 385-388
Is absolutely essential.
No - seriously.
See the notebook "roll your own CMS"
Install git
Get the course notebooks and files
%%bash
cd
mkdir practical_fmri
cd practical_fmri
git clone git://github.com/practical-neuroimaging/pna-notebooks.git
ls ~/practical_fmri/pna-notebooks
Cloning into 'pna-notebooks'... Makefile README.md Using nipy transforms.ipynb awesome.py bold_QC_again.ipynb check_openfmri.py checkhash.py finding_outliers_reprise.ipynb images interpolation-padding.ipynb introduction_to_python.ipynb loading_images.ipynb more_awesome.py openfmri.py outlier_detect.ipynb outliers.py python_libraries.ipynb roll_your_own_cms.ipynb slice_timing.ipynb slice_timing_full.ipynb spline_interpolation.ipynb test_awesome_more.py test_checkhash.py test_openfmri.py test_outliers.py visualization.ipynb what_are_my_times.ipynb what_is_an_image.ipynb workflow.ipynb
Assuming your downloaded data file is in ~/Downloads
:
%%bash
cd
mkdir data
cd data
unzip ~/Downloads/ds105_trimmed.zip
ls ds105
Archive: /Users/mb312/Downloads/ds105_trimmed.zip extracting: README.rst creating: ds105/ extracting: ds105/license.txt creating: ds105/models/ creating: ds105/models/model001/ extracting: ds105/models/model001/condition_key.txt extracting: ds105/models/model001/task_contrasts.txt extracting: ds105/README extracting: ds105/references.txt extracting: ds105/release_history.txt extracting: ds105/scan_key.txt extracting: ds105/study_key.txt creating: ds105/sub001/ creating: ds105/sub001/anatomy/ extracting: ds105/sub001/anatomy/highres001.nii.gz extracting: ds105/sub001/anatomy/highres001_brain.nii.gz extracting: ds105/sub001/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub001/behav/ creating: ds105/sub001/BOLD/ creating: ds105/sub001/BOLD/task001_run001/ extracting: ds105/sub001/BOLD/task001_run001/bold.nii.gz creating: ds105/sub001/BOLD/task001_run002/ extracting: ds105/sub001/BOLD/task001_run002/bold.nii.gz creating: ds105/sub001/BOLD/task001_run003/ extracting: ds105/sub001/BOLD/task001_run003/bold.nii.gz creating: ds105/sub001/BOLD/task001_run004/ extracting: ds105/sub001/BOLD/task001_run004/bold.nii.gz creating: ds105/sub001/BOLD/task001_run005/ extracting: ds105/sub001/BOLD/task001_run005/bold.nii.gz creating: ds105/sub001/BOLD/task001_run006/ extracting: ds105/sub001/BOLD/task001_run006/bold.nii.gz creating: ds105/sub001/BOLD/task001_run007/ extracting: ds105/sub001/BOLD/task001_run007/bold.nii.gz creating: ds105/sub001/BOLD/task001_run008/ extracting: ds105/sub001/BOLD/task001_run008/bold.nii.gz creating: ds105/sub001/BOLD/task001_run009/ extracting: ds105/sub001/BOLD/task001_run009/bold.nii.gz creating: ds105/sub001/BOLD/task001_run010/ extracting: ds105/sub001/BOLD/task001_run010/bold.nii.gz creating: ds105/sub001/BOLD/task001_run011/ extracting: ds105/sub001/BOLD/task001_run011/bold.nii.gz creating: ds105/sub001/BOLD/task001_run012/ extracting: ds105/sub001/BOLD/task001_run012/bold.nii.gz creating: ds105/sub001/model/ creating: ds105/sub001/model/model001/ creating: ds105/sub001/model/model001/onsets/ creating: ds105/sub001/model/model001/onsets/task001_run001/ extracting: ds105/sub001/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run002/ extracting: ds105/sub001/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run003/ extracting: ds105/sub001/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run004/ extracting: ds105/sub001/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run005/ extracting: ds105/sub001/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run006/ extracting: ds105/sub001/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run007/ extracting: ds105/sub001/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run008/ extracting: ds105/sub001/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run009/ extracting: ds105/sub001/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run010/ extracting: ds105/sub001/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run011/ extracting: ds105/sub001/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub001/model/model001/onsets/task001_run012/ extracting: ds105/sub001/model/model001/onsets/task001_run012/cond001.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond002.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond003.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond004.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond005.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond006.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond007.txt extracting: ds105/sub001/model/model001/onsets/task001_run012/cond008.txt creating: ds105/sub002/ creating: ds105/sub002/anatomy/ extracting: ds105/sub002/anatomy/highres001.nii.gz extracting: ds105/sub002/anatomy/highres001_brain.nii.gz extracting: ds105/sub002/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub002/behav/ creating: ds105/sub002/BOLD/ creating: ds105/sub002/BOLD/task001_run001/ extracting: ds105/sub002/BOLD/task001_run001/bold.nii.gz creating: ds105/sub002/BOLD/task001_run002/ extracting: ds105/sub002/BOLD/task001_run002/bold.nii.gz creating: ds105/sub002/BOLD/task001_run003/ extracting: ds105/sub002/BOLD/task001_run003/bold.nii.gz creating: ds105/sub002/BOLD/task001_run004/ extracting: ds105/sub002/BOLD/task001_run004/bold.nii.gz creating: ds105/sub002/BOLD/task001_run005/ extracting: ds105/sub002/BOLD/task001_run005/bold.nii.gz creating: ds105/sub002/BOLD/task001_run006/ extracting: ds105/sub002/BOLD/task001_run006/bold.nii.gz creating: ds105/sub002/BOLD/task001_run007/ extracting: ds105/sub002/BOLD/task001_run007/bold.nii.gz creating: ds105/sub002/BOLD/task001_run008/ extracting: ds105/sub002/BOLD/task001_run008/bold.nii.gz creating: ds105/sub002/BOLD/task001_run009/ extracting: ds105/sub002/BOLD/task001_run009/bold.nii.gz creating: ds105/sub002/BOLD/task001_run010/ extracting: ds105/sub002/BOLD/task001_run010/bold.nii.gz creating: ds105/sub002/BOLD/task001_run011/ extracting: ds105/sub002/BOLD/task001_run011/bold.nii.gz creating: ds105/sub002/BOLD/task001_run012/ extracting: ds105/sub002/BOLD/task001_run012/bold.nii.gz creating: ds105/sub002/model/ creating: ds105/sub002/model/model001/ creating: ds105/sub002/model/model001/onsets/ creating: ds105/sub002/model/model001/onsets/task001_run001/ extracting: ds105/sub002/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run002/ extracting: ds105/sub002/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run003/ extracting: ds105/sub002/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run004/ extracting: ds105/sub002/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run005/ extracting: ds105/sub002/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run006/ extracting: ds105/sub002/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run007/ extracting: ds105/sub002/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run008/ extracting: ds105/sub002/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run009/ extracting: ds105/sub002/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run010/ extracting: ds105/sub002/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run011/ extracting: ds105/sub002/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub002/model/model001/onsets/task001_run012/ extracting: ds105/sub002/model/model001/onsets/task001_run012/cond001.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond002.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond003.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond004.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond005.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond006.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond007.txt extracting: ds105/sub002/model/model001/onsets/task001_run012/cond008.txt creating: ds105/sub003/ creating: ds105/sub003/anatomy/ extracting: ds105/sub003/anatomy/highres001.nii.gz extracting: ds105/sub003/anatomy/highres001_brain.nii.gz extracting: ds105/sub003/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub003/behav/ creating: ds105/sub003/BOLD/ creating: ds105/sub003/BOLD/task001_run001/ extracting: ds105/sub003/BOLD/task001_run001/bold.nii.gz creating: ds105/sub003/BOLD/task001_run002/ extracting: ds105/sub003/BOLD/task001_run002/bold.nii.gz creating: ds105/sub003/BOLD/task001_run003/ extracting: ds105/sub003/BOLD/task001_run003/bold.nii.gz creating: ds105/sub003/BOLD/task001_run004/ extracting: ds105/sub003/BOLD/task001_run004/bold.nii.gz creating: ds105/sub003/BOLD/task001_run005/ extracting: ds105/sub003/BOLD/task001_run005/bold.nii.gz creating: ds105/sub003/BOLD/task001_run006/ extracting: ds105/sub003/BOLD/task001_run006/bold.nii.gz creating: ds105/sub003/BOLD/task001_run007/ extracting: ds105/sub003/BOLD/task001_run007/bold.nii.gz creating: ds105/sub003/BOLD/task001_run008/ extracting: ds105/sub003/BOLD/task001_run008/bold.nii.gz creating: ds105/sub003/BOLD/task001_run009/ extracting: ds105/sub003/BOLD/task001_run009/bold.nii.gz creating: ds105/sub003/BOLD/task001_run010/ extracting: ds105/sub003/BOLD/task001_run010/bold.nii.gz creating: ds105/sub003/BOLD/task001_run011/ extracting: ds105/sub003/BOLD/task001_run011/bold.nii.gz creating: ds105/sub003/BOLD/task001_run012/ extracting: ds105/sub003/BOLD/task001_run012/bold.nii.gz creating: ds105/sub003/model/ creating: ds105/sub003/model/model001/ creating: ds105/sub003/model/model001/onsets/ creating: ds105/sub003/model/model001/onsets/task001_run001/ extracting: ds105/sub003/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run002/ extracting: ds105/sub003/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run003/ extracting: ds105/sub003/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run004/ extracting: ds105/sub003/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run005/ extracting: ds105/sub003/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run006/ extracting: ds105/sub003/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run007/ extracting: ds105/sub003/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run008/ extracting: ds105/sub003/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run009/ extracting: ds105/sub003/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run010/ extracting: ds105/sub003/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run011/ extracting: ds105/sub003/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub003/model/model001/onsets/task001_run012/ extracting: ds105/sub003/model/model001/onsets/task001_run012/cond001.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond002.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond003.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond004.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond005.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond006.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond007.txt extracting: ds105/sub003/model/model001/onsets/task001_run012/cond008.txt creating: ds105/sub004/ creating: ds105/sub004/anatomy/ extracting: ds105/sub004/anatomy/highres001.nii.gz extracting: ds105/sub004/anatomy/highres001_brain.nii.gz extracting: ds105/sub004/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub004/behav/ creating: ds105/sub004/BOLD/ creating: ds105/sub004/BOLD/task001_run001/ extracting: ds105/sub004/BOLD/task001_run001/bold.nii.gz creating: ds105/sub004/BOLD/task001_run002/ extracting: ds105/sub004/BOLD/task001_run002/bold.nii.gz creating: ds105/sub004/BOLD/task001_run003/ extracting: ds105/sub004/BOLD/task001_run003/bold.nii.gz creating: ds105/sub004/BOLD/task001_run004/ extracting: ds105/sub004/BOLD/task001_run004/bold.nii.gz creating: ds105/sub004/BOLD/task001_run005/ extracting: ds105/sub004/BOLD/task001_run005/bold.nii.gz creating: ds105/sub004/BOLD/task001_run006/ extracting: ds105/sub004/BOLD/task001_run006/bold.nii.gz creating: ds105/sub004/BOLD/task001_run007/ extracting: ds105/sub004/BOLD/task001_run007/bold.nii.gz creating: ds105/sub004/BOLD/task001_run008/ extracting: ds105/sub004/BOLD/task001_run008/bold.nii.gz creating: ds105/sub004/BOLD/task001_run009/ extracting: ds105/sub004/BOLD/task001_run009/bold.nii.gz creating: ds105/sub004/BOLD/task001_run010/ extracting: ds105/sub004/BOLD/task001_run010/bold.nii.gz creating: ds105/sub004/BOLD/task001_run011/ extracting: ds105/sub004/BOLD/task001_run011/bold.nii.gz creating: ds105/sub004/BOLD/task001_run012/ extracting: ds105/sub004/BOLD/task001_run012/bold.nii.gz creating: ds105/sub004/model/ creating: ds105/sub004/model/model001/ creating: ds105/sub004/model/model001/onsets/ creating: ds105/sub004/model/model001/onsets/task001_run001/ extracting: ds105/sub004/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run002/ extracting: ds105/sub004/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run003/ extracting: ds105/sub004/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run004/ extracting: ds105/sub004/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run005/ extracting: ds105/sub004/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run006/ extracting: ds105/sub004/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run007/ extracting: ds105/sub004/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run008/ extracting: ds105/sub004/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run009/ extracting: ds105/sub004/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run010/ extracting: ds105/sub004/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run011/ extracting: ds105/sub004/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub004/model/model001/onsets/task001_run012/ extracting: ds105/sub004/model/model001/onsets/task001_run012/cond001.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond002.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond003.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond004.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond005.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond006.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond007.txt extracting: ds105/sub004/model/model001/onsets/task001_run012/cond008.txt creating: ds105/sub005/ creating: ds105/sub005/anatomy/ extracting: ds105/sub005/anatomy/highres001.nii.gz extracting: ds105/sub005/anatomy/highres001_brain.nii.gz extracting: ds105/sub005/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub005/behav/ creating: ds105/sub005/BOLD/ creating: ds105/sub005/BOLD/task001_run001/ extracting: ds105/sub005/BOLD/task001_run001/bold.nii.gz creating: ds105/sub005/BOLD/task001_run002/ extracting: ds105/sub005/BOLD/task001_run002/bold.nii.gz creating: ds105/sub005/BOLD/task001_run003/ extracting: ds105/sub005/BOLD/task001_run003/bold.nii.gz creating: ds105/sub005/BOLD/task001_run004/ extracting: ds105/sub005/BOLD/task001_run004/bold.nii.gz creating: ds105/sub005/BOLD/task001_run005/ extracting: ds105/sub005/BOLD/task001_run005/bold.nii.gz creating: ds105/sub005/BOLD/task001_run006/ extracting: ds105/sub005/BOLD/task001_run006/bold.nii.gz creating: ds105/sub005/BOLD/task001_run007/ extracting: ds105/sub005/BOLD/task001_run007/bold.nii.gz creating: ds105/sub005/BOLD/task001_run008/ extracting: ds105/sub005/BOLD/task001_run008/bold.nii.gz creating: ds105/sub005/BOLD/task001_run009/ extracting: ds105/sub005/BOLD/task001_run009/bold.nii.gz creating: ds105/sub005/BOLD/task001_run010/ extracting: ds105/sub005/BOLD/task001_run010/bold.nii.gz creating: ds105/sub005/BOLD/task001_run011/ extracting: ds105/sub005/BOLD/task001_run011/bold.nii.gz creating: ds105/sub005/model/ creating: ds105/sub005/model/model001/ creating: ds105/sub005/model/model001/onsets/ creating: ds105/sub005/model/model001/onsets/task001_run001/ extracting: ds105/sub005/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run002/ extracting: ds105/sub005/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run003/ extracting: ds105/sub005/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run004/ extracting: ds105/sub005/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run005/ extracting: ds105/sub005/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run006/ extracting: ds105/sub005/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run007/ extracting: ds105/sub005/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run008/ extracting: ds105/sub005/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run009/ extracting: ds105/sub005/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run010/ extracting: ds105/sub005/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub005/model/model001/onsets/task001_run011/ extracting: ds105/sub005/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub005/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub006/ creating: ds105/sub006/anatomy/ extracting: ds105/sub006/anatomy/highres001.nii.gz extracting: ds105/sub006/anatomy/highres001_brain.nii.gz extracting: ds105/sub006/anatomy/highres001_brain_mask.nii.gz creating: ds105/sub006/behav/ creating: ds105/sub006/BOLD/ creating: ds105/sub006/BOLD/task001_run001/ extracting: ds105/sub006/BOLD/task001_run001/bold.nii.gz creating: ds105/sub006/BOLD/task001_run002/ extracting: ds105/sub006/BOLD/task001_run002/bold.nii.gz creating: ds105/sub006/BOLD/task001_run003/ extracting: ds105/sub006/BOLD/task001_run003/bold.nii.gz creating: ds105/sub006/BOLD/task001_run004/ extracting: ds105/sub006/BOLD/task001_run004/bold.nii.gz creating: ds105/sub006/BOLD/task001_run005/ extracting: ds105/sub006/BOLD/task001_run005/bold.nii.gz creating: ds105/sub006/BOLD/task001_run006/ extracting: ds105/sub006/BOLD/task001_run006/bold.nii.gz creating: ds105/sub006/BOLD/task001_run007/ extracting: ds105/sub006/BOLD/task001_run007/bold.nii.gz creating: ds105/sub006/BOLD/task001_run008/ extracting: ds105/sub006/BOLD/task001_run008/bold.nii.gz creating: ds105/sub006/BOLD/task001_run009/ extracting: ds105/sub006/BOLD/task001_run009/bold.nii.gz creating: ds105/sub006/BOLD/task001_run010/ extracting: ds105/sub006/BOLD/task001_run010/bold.nii.gz creating: ds105/sub006/BOLD/task001_run011/ extracting: ds105/sub006/BOLD/task001_run011/bold.nii.gz creating: ds105/sub006/BOLD/task001_run012/ extracting: ds105/sub006/BOLD/task001_run012/bold.nii.gz creating: ds105/sub006/model/ creating: ds105/sub006/model/model001/ creating: ds105/sub006/model/model001/onsets/ creating: ds105/sub006/model/model001/onsets/task001_run001/ extracting: ds105/sub006/model/model001/onsets/task001_run001/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run001/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run002/ extracting: ds105/sub006/model/model001/onsets/task001_run002/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run002/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run003/ extracting: ds105/sub006/model/model001/onsets/task001_run003/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run003/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run004/ extracting: ds105/sub006/model/model001/onsets/task001_run004/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run004/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run005/ extracting: ds105/sub006/model/model001/onsets/task001_run005/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run005/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run006/ extracting: ds105/sub006/model/model001/onsets/task001_run006/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run006/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run007/ extracting: ds105/sub006/model/model001/onsets/task001_run007/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run007/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run008/ extracting: ds105/sub006/model/model001/onsets/task001_run008/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run008/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run009/ extracting: ds105/sub006/model/model001/onsets/task001_run009/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run009/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run010/ extracting: ds105/sub006/model/model001/onsets/task001_run010/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run010/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run011/ extracting: ds105/sub006/model/model001/onsets/task001_run011/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run011/cond008.txt creating: ds105/sub006/model/model001/onsets/task001_run012/ extracting: ds105/sub006/model/model001/onsets/task001_run012/cond001.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond002.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond003.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond004.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond005.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond006.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond007.txt extracting: ds105/sub006/model/model001/onsets/task001_run012/cond008.txt extracting: ds105/task_key.txt README license.txt models references.txt release_history.txt scan_key.txt study_key.txt sub001 sub002 sub003 sub004 sub005 sub006 task_key.txt
mkdir: data: File exists
Our library code we want to keep in a separate place from the code specific to our project; maybe someone wants it? Maybe we want to use it ourselves in another analysis not tied to this one.
Here I'm going to use a very basic code organization, just a single directory for the code and the tests. More on this later, but for now:
%%bash
cd
mkdir code
cd code
mkdir datacheck
!cp ~/practical_fmri/pna-notebooks/checkhash.py ~/code/datacheck
!cp ~/practical_fmri/pna-notebooks/test_checkhash.py ~/code/datacheck
We need to tell Python where to find these scripts:
%%bash
# On OSX, Linux
export PYTHONPATH=~/code/datacheck:$PYTHONPATH
Here's what the same thing looks like in Windows Powershell. This sets PYTHONPATH for all future sessions:
$my_py_path = [Environment]::GetEnvironmentVariable("PYTHONPATH","User") $my_py_path += ";" + $env:USERPROFILE + "\code\datacheck" [Environment]::SetEnvironmentVariable("PYTHONPATH", $my_py_path, "User")
You'll need to quit Powershell and restart to set the setting in your shell.
Check the tests work
!nosetests ~/code/datacheck
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] test_checkhash.test_check_store_hash ... ok ---------------------------------------------------------------------- Ran 1 test in 0.781s OK
We want these under version control!
%%bash
cd ~/code/datacheck
git init
git add *.py
git commit -m "Initial import of library code"
Initialized empty Git repository in /Users/mb312/code/datacheck/.git/ [master (root-commit) b0dcf9f] Initial import of library code 2 files changed, 97 insertions(+) create mode 100644 checkhash.py create mode 100644 test_checkhash.py
%%bash
cd
mkdir projects
cd projects
mkdir haxby2001
cd haxby2001
mkdir scripts
mkdir notebooks
!ls ~/projects/haxby2001
notebooks scripts
Copy some analysis-specific files into the scripts directory
%%bash
cp ~/practical_fmri/pna-notebooks/openfmri.py ~/projects/haxby2001/scripts
cp ~/practical_fmri/pna-notebooks/test_openfmri.py ~/projects/haxby2001/scripts
cp ~/practical_fmri/pna-notebooks/check_openfmri.py ~/projects/haxby2001/scripts
We want these under version control!
%%bash
cd ~/projects/haxby2001
git init
git add .
git commit -m "Initial import of scripts"
Initialized empty Git repository in /Users/mb312/projects/haxby2001/.git/ [master (root-commit) 7764dbe] Initial import of scripts 3 files changed, 147 insertions(+) create mode 100755 scripts/check_openfmri.py create mode 100644 scripts/openfmri.py create mode 100644 scripts/test_openfmri.py
No - never use git commit -m
- it's bad. I did it because this I wanted this to run as a script, rather than a command line; thats really the only use for this.
%%bash
cd ~/projects/haxby2001
git log
commit 7764dbe22acc138b39d2a5345d8cd1ec8901126e Author: Matthew Brett <matthew.brett@gmail.com> Date: Fri May 3 09:50:19 2013 -0700 Initial import of scripts
Check the tests are working:
!nosetests ~/projects/haxby2001/scripts
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] nose.selector: INFO: /Users/mb312/projects/haxby2001/scripts/check_openfmri.py is executable; skipped test_openfmri.test_big_picture ... ok ---------------------------------------------------------------------- Ran 1 test in 1.951s OK
!python ~/projects/haxby2001/scripts/check_openfmri.py /home/mb312/data/ds105
Traceback (most recent call last): File "/Users/mb312/projects/haxby2001/scripts/check_openfmri.py", line 3, in <module> from checkhash import check_store_hash ImportError: No module named checkhash
What did I do wrong here?