Skip to content

Latest commit

 

History

History
60 lines (51 loc) · 7.7 KB

README.md

File metadata and controls

60 lines (51 loc) · 7.7 KB

Network Spreading and Local Biological Vulnerability in Amyotrophic Lateral Sclerosis

Authors: Asa Farahani, Justine Y. Hansen, Vincent Bazinet, Golia Shafiei, Louis D. Collins, Mahsa Dadar, Sanjay Kalra, Alain Dagher, Bratislav Misic.

This repository contains the code used to generate the results in the study "Network Spreading and Local Biological Vulnerability in Amyotrophic Lateral Sclerosis". The study investigates the intricate relationship between network spreading mechanisms and local biological vulnerability for shaping the atrophy in Amyotrophic Lateral Sclerosis (ALS).

Data Confidentiality Notice

The ALS dataset used in this study is provided by the Canadian ALS Neuroimaging Consortium (CALSNIC), and contains confidential information and cannot be publicly released. For more details and to request access to the dataset, please visit the CALSNIC website.

Repository Structure

Codes

This section outlines the functionality of each script within the repository:

  • code01_demographic_cleaning.py - Cleans the data directory (e.g. by removing subjects with incomplete structural data).
  • code02_voxelwise_w_score.py - Builds the OLS model to calculate voxel-wise w-score maps (Fig.1a).
  • code03_parcellate_w_score.py - Utilizes the 400 (/800) nodes Schaefer cortical parcellation and the Johns Hopkins University (JHU) atlas of white matter (WM) tracts (threshold = 25%) to generate parcellated atrophy maps. Results of this code are shown in Fig.1b-d and Fig.S11.
  • code03_wm_tmap_significance.py - Assesses the significance of atrophy in WM tracts (Shown in Fig.1b and Fig.S11).
  • code04_voneconomo_atrophy.py - Assesses atrophy values within each cytoarchitectonic class defined by the von-Economo parcellation (Fig.1d).
  • code05_sc_nulls.py - Computes node-neighbor correlation values to assess the role of structural connectome in shaping the ALS-related atrophy (Fig.2a).
  • code06_sc_nulls_validation.py - Computes node-neighbor correlation values to assess the role of structural connectome in shaping the ALS-related atrophy while using the Schaefer 800 nodes parcellation (Fig.S2).
  • code07_epicenter_ranking.py - Identifies cortical epicenter likelihood maps through node-neighbor assessment (Fig.2b, and Fig.6a).
  • code08_epicenter_SIR_model.py - Identifies cortical epicenter likelihood maps using the SIR model (Fig.S4, and Fig.S10).
  • code09_epicenter_compare_methods.py - Compares epicenter maps derived from different methodologies.
  • code10_epicenter_individuals.py - Examines inter-individual differences in node-neighbor correlation values and epicenter maps (Fig.S3).
  • code11_many_networks.py - Assesses node-neighbor correlations using various biologically meaningful brain networks (Fig.3 and Fig.S6).
  • code12_many_networks_R2.py - Analyzes the joint contribution of the structural connectome and inter-regional similarity matrices in shaping ALS cortical atrophy (Fig.S5).
  • code13_gene_enrichment_null_generation.py - Creates a null model to be used later by ABAnnotate (MATLAB) when performing the gene enrichment analysis (related to Fig.4).
  • code14_gene_results_GO.py & code15_gene_results_cells.py - Visualize the results obtained from gene enrichment analysis (Fig.4).
  • code16_cell_markers.py - Visualizes the cell markers for endothelial cells and pericytes (Fig.S7).
  • code17_corr_gene.py - Calculates the correlation of individual genes in AHBA with group-average atrophy and epicenter maps of ALS (included as a supplementary csv file).
  • code18_hcp_group_maps.py - Parcellates the HCP group average task-activation maps (400 nodes Schaefer parcellation) and create '.border' files for the regions in the motor cortex related to different body parts.
  • code19_pls_epicenter.py - Applies a Behavioral Partial Least Squares (PLS) model to correlate behavioral data with cortical epicenter likelihood maps in the ALS cohort (Fig.5 and Fig.S8).
  • code20_pls_atrophy.py - Applies a Behavioral Partial Least Squares (PLS) model to correlate behavioral data with cortical atrophy maps in the ALS cohort (Fig.S9).
  • code21_pls_demographic.py - Retrieves information on the number of ALS participants with missing values for the PLS analysis (Table.S7).
  • code22_subtype_differences_brain.py & code23_subtype_differences_behavior.py - Investigate differences between bulbar and spinal onset ALS patients in terms of behavior and epicenter likelihood maps (Fig.6b).
  • sTable_demographic.py - Retrieves the necessary information to create Table.S1 and Table.S5.

Utility Scripts

  • globals.py - Defines the paths to data directories and some constants used throughout the project.
  • functions.py - Contains functions utilized across various scripts in the project.
  • simulated_atrophy.py - Includes functions to run the SIR model. The code for this section is developed by Vincent Bazinet.
  • create_some_border_files.py - Generates border files necessary for figure creation when using the wb_view software.
  • download_gene_info_abagen.py - Retrieves gene data using the abagen package.
  • pls_func.py - Contains functions used to illustrate the results of the PLS analysis.

Requirements

  • Requirements.txt - Contains information about the Python version, system configurations, and the environment on which the project was developed.

Data

  • The templates folder contains a file named 'cortex.dscalar.nii', which serves as a template for saving files in the CIFTI '.dscalar.nii' format.
  • The sc_networks folder contains the consensus structural connectome derived from 327 unrelated healthy young subjects from the HCP-S900 dataset.
  • When saving a brain map as a CIFTI file, information about the vertices listed as the medial wall is required. This information is provided in the medialwall folder.
  • The parcellations folder includes von-Economo classes (based on Schaefer 400), Schaefer (400/800 nodes) functional parcellation and the JHU atlas, all in the desired space (MNI152-2009c).
  • The Schaefer (400/800 nodes) functional parcellation (7Networks_order_FSLMNI152_1mm) was originally obtained from Yeo's lab GitHub repository. It was subsequently transformed to the MNI template of interest ('MNI152-NonLinear2009cSy') using the 'antsRegistrationSyN' tool. The transformation script can be found in './transformations/script_for_atlasTransform.sh'.
  • The JHU atlas was download from this link and subsequently converted to the MNI template using 'antsRegistrationSyN' to match the specific version of interest ('MNI152-NonLinear2009cSy').
  • The biologically defined connectomes (including metabolic similarity, hemodynamic similarity, transcriptomic similarity, receptor similarity and laminar similarity) are included in the Networks folder. The biological connectomes are developed by Justine Hansen.
  • The mni_icbm152_nlin_sym_09c folder contains the template used for DBM calculations.

Contact Information

For questions, please email: [email protected].