Skip to content
Zaixu Cui edited this page Jan 21, 2021 · 16 revisions

Welcome to the pncControlEnergy wiki!

Abstract:

Executive function develops rapidly during adolescence, and failures of executive function are associated with both risk-taking behaviors and psychopathology. However, it remains relatively unknown how structural brain networks mature during this critical period to facilitate energetically demanding transitions to activate the fronto-parietal system, which is critical for executive function. In a sample of 946 human youths (ages 8-23 yr) who completed diffusion imaging as part of the Philadelphia Neurodevelopment Cohort, we capitalized upon recent advances in linear dynamical network control, which combine the structural network and simulated brain activation in one framework. Using this framework, we calculated the energetic cost necessary to activate the fronto-parietal system through the distributed control of multiple brain regions given the existing structural network topology. We found that the energy required to activate the fronto-parietal system declined with development, and the multivariate pattern of regional energetic cost contains sufficient information to accurately predict previously unseen individuals’ brain maturity. Finally, participants with better performance on executive tasks had required less energy in the bilateral cingulate cortex to reach the fronto-parietal activation target. Our results reveal a mechanism by which structural networks develop during adolescence to facilitate the instantiation of activation states necessary for executive function with lower theoretical energetic cost.

Run the codes according to the order:

1st_SubjectFilter.R:

Selecting our sample (i.e., 946 subjects).
Inclusion criteria: fsFinalExclude = 0; dti64ProtocolValidationStatus = 1; b0ProtocolValidationStatus = 1; dti64Exclude = 0; healthExcludev2 = 0; ltnExcludev2 = 0. Or the remaining 949 subjects, 3 subjects were excluded because one brain region was missing during the brain parcellation. Finally, a sample of 946 subjects was created.

2nd_Matrix_Extraction_Remove_BrainStem.m

Copying probabilistic matrices and removing the 192th region (i.e., lateraloccipital_2_L) from the matrix for all 946 subjects, resulting in a 232*232 matrix for each subject. We removed this region because it was missing in 18 subjects' brain parcellation map.

3th_BehaviorExtract.m

We extracted the demographics, total brain volume, head motion during diffusion scanning and executive function performance.

4rd_Energy_Calculation:

Matlab codes to calculate the control energy. Fronto-parietal system activation, which was specified a priori (Yeo et al., 2011, J Neurophysioi), was used as all subjects' target state. Connection probabilistic matrices based on FSL's probabilistic tractography were used, which allowed us to model up to two crossing fibers per voxel compared to tensor-based deterministic approaches (Behrens et al., Nature Neuroscience, 2003; Behrens et al., NeuroImage, 2007; Graham et al., NeuroImage, 2018; Gong et al., Cerebral Cortex, 2009).

  1. EnergyCal_All0Ini_TargetFP.m
    Initial state: all 0 in whole brain; Target state: fronto-parietal activation.
    Finally, a 949*232 energy matrix was created, representing the energy each region needed to transition from initial state to target state for all subjects.
  2. EnergyCal_All0Ini_TargetFP_NullNetworks.m
    Compared to script 1, here we used null networks that simultaneously preserves the degree and strength distribution. We Repeated 100 times. Null networks were created using function null_model_und_sign.m of BCT (https://sites.google.com/site/bctnet/). The script for generating null networks is in folder 'NullNetworks'.
  3. EnergyCal_All0Ini_TargetMotor.m:
    Motor system activation was used as target state here.
  4. EnergyCal_InitialRandNoise_TargetFP.m
    Compared to script 1, here we created initial state with noise added. The value of fronto-parietal regions is Gaussian with a mean value of 0 and a standard deviation of 0.1. We repeated 100 times.
  5. EnergyCal_All0Ini_TargetFPRandNoise.m
    Compared to script 1, here we created target state with noise added. The value of fronto-parietal regions is Gaussian with a mean value of 1 and a standard deviation of 0.1. We repeated 100 times.

5th_Energy_CompareToNullNetworks.R

Comparing the control energy with real networks to those obtained from the corresponding null networks at whole brain average level.
We hypothesized that the real brain network need less energy compared to the null network, because of the optimised topological structure.

6th_NetworkStrength.m

Extracting the regional nodal connectivity strength and total network strength of the probabilistic network.

7th_Energy_AgeCognitionEffects.R

  1. Age effects of control energy to activate fronto-parietal system at whole-brain, Yeo system and nodal level across all subjects. Generalized additive model, which assesses a penalty with increasing nonlinearity to avoid overfitting the data, was used for statistics, because age effect is non-linear.
    As 8-23 ages is characterized rapid development of executive control, we expect the control energy needed for the transition decreases with development.
  2. Cognition effects of control energy to activate fronto-parietal system. We controlled for the age here.
    We expect subjects with better executive function performance need less control energy to activate fronto-parietal system.

8th_MediationAnalysis

Having identified a significant relationship between control energy in the bilateral middle cingulate cortex and both age and executive function, we conducted mediation analyses to investigate the extent to which control energy accounted for the association between age and executive function.

9th_AgeEffects_Validation

Controlling for confounding factors

  1. 1st_Energy_Effects_NullNetworks.R
    Test whether the age effects exist in the null networks that preserves distribution of degree and strength, to demonstrate the age effects were related to the topological structure of brain networks.
  2. 2nd_Energy_Effects_InitialRandNoise.R
    Test whether the age effects exist for a range of different initial baseline states.
  3. 3rd_Energy_Effects_TargetRandNoise.R
    Test whether the age effects exist for a range of different FP activation target states.
  4. 4th_RegressModCon
    Test whether the age effects results exist after controlling for modal controllability.
  5. 5th_Energy_AgeEffects_TargetMotor.R
    Age effects of control energy to reach the motor system activation.

10th_PredictAge

Individualized prediction of brain maturity using the pattern of whole-brain control energy.

  1. 1st_EnergyAgeCognition_SaveMat.R:
    Extracting energy, demographics, and total network strength, etc. for prediction analysis.
  2. 2nd_AgePrediction_Energy_2Fold.py
    Predict brain maturity using whole-brain control energy pattern, 2-fold cross-validation/split-half was used here. We first sorted the subjects according to the age and split the subjects into two halves, the first one is (1st, 3rd, 5th, ...) and the second one is (2nd, 4th, 6th, ...).
    We applied permutation testing (i.e., 1,000 times) to evaluate the significance of the prediction accuracy.
  3. 3th_Prediction_Specificity_Sig.m
    Calculating the significance of the prediction accuracy based on the results of permutation testing. We controlled the covariates while calculating the correlation between actual and predicted scores.
  4. 5th_Weight_AllSubjects.py
    Using all subjects to calculate a contribution map of prediction.
  5. 6th_AgePrediction_Energy_2Fold_RandomCV.py
    Validate the prediction using random split half, which was repeated 100 times and then averaged.
  6. 7th_Prediction_Specificity_Sig_RandomCV.m
    Calculating the correlation and MAE between actual and predicted scores for Random CV.

Note:

g_ls.m is a funtion that will be used in the Maltab scripts here. PSOM (http://psom.simexp-lab.org/) is used for parallelization when calculating all subjects' energy metrics. I recommend to set path /data/jux/BBL/projects/pncControlEnergy/scripts/MatlabToolbox/PANDA_1.3.1_64. g_ls.m and PSOM are included in this folder.