Code used in Greene et al., 2019, "How tasks change whole-brain functional organization to reveal brain-phenotype relationships"
Included code:
- betaCalc_intraSubPPI.m performs intrasubject PPI, given task regressors and region x time matrix of activity (in Greene et al., used on 7 HCP tasks in 703 subjects, S1200 release)
- betaCalc_interSubPPI.m performs intersubject PPI
- ridge_wrapper_allTasks.m processes PPI betas to prepare them for use in phenotype prediction, and passes those matrices to ridgeCPM_vector_new.m, which performs ridge CPM (as described in Gao et al., 2019, Neuroimage, https://www.ncbi.nlm.nih.gov/pubmed/31336188; code for ridge CPM can be found at https://github.com/YaleMRRC/CPM/blob/master/matlab/func/ridgeCPM_vector_new.m)
- ridge_wrapper_allTasks_permTest.m - same as (3) but with permuted phenotype measures for significance testing
- ridge_visualization.m loads prediction outputs and identifies features selected x% of the time, calculating feature- and term-level contributions to predictive models (x = 100 in Greene et al., 2019)
- ridgeCanonNet_high_vs_lowSynch.m splits rCPM predictive features by their inter-subject synchrony and organizes these features into 10 canonical networks, yielding a network x network matrix of contributions
- findPPIbetaSign.m calculates mean PPI betas for each term; used in Greene et al., 2019 to separate positive and negative activation and FC
- visualize_intersubPPI_share.m processes inter-subject PPI outputs
- synch_vs_predictiveness_modeling.m performs regression analyses relating predictive utility to inter-subject synchrony
- kfold_family.m splits participants into folds based on family ID, keeping families together; takes as input n x 2 matrix with col1 = subject ID, col2 = family ID