Building Analysis Templates for Functional Connectivity on Chronic Low Back Pain (CLBP) patients for my lab and myself
Here is my project for the Brain Hack School 2019.
This repository provides the basics (and relevant ressources) on how to use Compute Canada Servers, fMRIprep pre-processing pipeline as well as doing various standard functional connectivity measures on nilearn, explained through a jupyter notebook.
My project will be to introduce Compute Canada and fMRIprep to my fellow lab members. This includes the necessary informations et ressources to create an account, connect to the cluster, to know how to use a terminal, to import fMRIprep and run jobs with fMRIprep.
Additionally, I will also include in a few jupyter notebook presenting the necessary basics to run the following analyses & visualization:
- Present two differents ways to load (slow with structure vs fast without structure)
- Fetching parcellations (Yeo's and Schaefer's; and how to plot them)
- Derive ICA networks from the groups & plot them together/individually
- Extract spheres from specific coordinates
- Apply masks on the nifti files for region-of-interest
- Run time-series, and make correlations/partial correlation/tangent between the ROIs
- Extract summary measures as numpy array for the group or each participant.
As explained in this infographic, chronic pain is a worldwide disability. Using brain imaging, we hope to derive objective markers of pain and suffering using the brain
This notebook will use the Placebo_1 Dataset, freely available from OpenPain (see: http://www.openpain.org/index.html). NOTE: The structural data are currently not available on OpenPain (only functional data), but they will be in the 10th of September.
- You will need to create an account on Compute Canada. See the following folder ( https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/1.%20UsefulCodeForBeluga.md ).
I would like to say everything. During a single month, I tripled or quadripuled the amount of knowledge I had on computer science-related and neuroimaging knowledge I had.
Not only I had the occasion to learn in a supportive environment how to implement open tools in my own projects, but I also learned what else exist out there. I was thought tools that I might not immediately use on my current thesis, but I now have a familiarity with them, can refers them to some of my collegues or implement them in future projects.
-
Jupyter Notebook, as my notebook for codes, visualizations and narratives.
-
Numpy is & Panda, for data management
- Conda (Computer; localy) or virtualenv (Beluga; remotely), to create seperate virtual environment for every projects I run
(Now that I was familarized with them through Brain Hack) One of my personal goal in research would be develop a platform from which brain imaging could be used more easily in the clinic. This woull be particularly useful in the long run if it provides insight from objective physiological measurements for the diagnostic or the severity assessments of certain diseases. This is especially true for pain, where there exist no objective measurements.
-
Docker, as my container to import the processing and analyses tools necessary.
-
Deep Learning, as a proxy for pre-processing. Within the context of increasing sample sizes, it would be now possible to develop a deep-learning algorithm that mimic pre-processing. This would result a significant reduction in the pre-processing power as well as a reduction in the size of the files
-
Machine Learning, for clinical assessment/diagnostic As shown with various studies, the complexity captured from DL often leads to overfit in clinical design and does not provide increased performance over simpler ML
- [ Code & Analysis ] Python script of functional connectivity analyses
- [ Data ] Present my output data obtained from fmriprep
- [ Notebook ] Make the script on a Jupyter Notebook, with all the relevant explanations of the analysis.
- [fMRIprep on Beluga]
Part 1: Useful code on Beluga https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/1.%20UsefulCodeForBeluga.md
Part 2: fmriprep on Beluga https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/2.%20fmriprepOnBeluga.md
Part 3: Sbatch Template https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/3.%20sbatchOnBeluga.md
Part 4: Running a jupyter notebook remotely https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/4.%20JupyterNotebookOnBeluga.md
& Other additional scripts, which includes:
-
Bash script to select my confounds of interest https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/ConfoundsSelect.txt
-
Bash script to convert SVG to PDF (very useful for fmriprep on clusters, to know why see link) https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/SVGtoPDF.md
-
Requirements necessary for my projects https://github.com/mtl-brainhack-school-2019/Christophe_FunctionalConnectivity_CLBP/blob/master/requirements.txt