Structural covariance networks

59 views
Skip to first unread message

Gershon Spitz

unread,
Jun 3, 2020, 1:50:25 AM6/3/20
to brainGr...@googlegroups.com
Dear Chris,

First, this is a great package, thank you for the hard work!

I have a couple of questions that pertain to structural covariance
analysis I am thinking of conducting:

1) In the most recent brain graph user guide, 2.7.0, you mention that
you are intending to integrating the Schaefer parcellation atlas, but
have not yet done so. Although I can add this as a custom atlas, I was
wondering whether there was any intention of still adding this?

2) I intend to run a structural covariance analysis between two groups
in two general conceptual steps: i) examine edge and vertex differences
between groups, ii) examine relationship between individual
contributions and behaviour. It seems as though NBS may be a good way of
first examining differences between SCN. However, my understanding is
that NBS requires each subject to have their own subject-level
network. Is there a way of circumventing this approach and using
a group-level network as in SCN. If this is not possible, is it possible
to derive similar edge and vertex differences of SCN between groups
using permutation testing?

Please do let me know if you require additional information.

Kind regards

Chris Watson

unread,
Jun 3, 2020, 12:39:55 PM6/3/20
to brainGr...@googlegroups.com
Thanks for the kind words.

1. I have actually decided not to because I couldn't get the information I need easily enough. I found a couple different sources, and I know there is a lot of information in Dr. Thomas Yeo's lab GitHub, but:
a. There are 10 parcellations (100, 200, ..., 1000 regions) for each of the 7- and 17-network functional atlases; so I would potentially have to either add 20 separate data tables, or add a couple based on user interest.
b. There isn't any extra information (e.g., lobe membership). Hemisphere membership and functional network membership are in the region labels but would have to be pulled out (which isn't terribly difficult to do).
c. The region names are generic (e.g., "7Networks_LH_Vis_1", "7Networks_LH_Vis_2", etc.). This isn't a problem per se, though.
If there was particular interest in me adding them, though, I am happy to work on it. One user provided me with a data table for a 100 region parcellation (for help debugging), although in that case the "lobe" column contained functional networks. Again, this is not a problem necessarily but it isn't consistent with the other atlases/parcellations.

2. You are correct that NBS requires subject-level networks; there is no work-around. I do not know of a straightforward way of generating subject-level networks for structural covariance networks, but there are a couple ways (that I can think of) to make this kind of thing possible:
a. Use an atlas/parcellation in which all regions have exactly the same size (same # of voxels or vertices). Then you can get correlations between region pairs *within* subjects.
b. Correlate "feature vectors" between region pairs within subjects. For example, you may have i) cortical thickness, ii) cortical volume, iii) surface area, iv) curvature, etc. Then the SCN values would be the (Pearson or other) correlation between these feature vectors between region pairs. However, correlations with a small # of observations (in this example, only 4) is not reliable and in the "rcorr" function (Hmisc package) is not possible.
For the second approach, see e.g. https://pubmed.ncbi.nlm.nih.gov/29276055/
There is also something like this paper which uses Euclidean distance between regions. I don't have any code for that, and am not sure how difficult it would be to write up.

I'm not sure what you mean by "similar edge and vertex differences". NBS is essentially a cluster-wise inference method (like the method used in fMRI) of edge weights, and is unable to make inferences on individual edges (only components). Perhaps the closest thing you could do is permutation testing of vertex strength (which is the sum of edge weights). But if you let me know what you were hoping to do, I can help.

Chris

--
You received this message because you are subscribed to the Google Groups "brainGraph-help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brainGraph-he...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/brainGraph-help/E2BD25E8-41F5-45A3-A932-0AD6B6F8FEC1%40monash.edu.

Gershon Spitz

unread,
Jun 3, 2020, 10:59:17 PM6/3/20
to brainGr...@googlegroups.com
Hi Chris,

Thank you for the quick response.

With respect to:

1. I understand that it might not be very efficient adding atlases that only a few users might be interested in. I suppose for now I can just use one of the Schafer atlases, say 400 parcels, by adding it as a custom atlas. Just to confirm, do most other brainpgraph functions allow custom atlases?

2. My understanding is also that NBS obtains ’networks’/components of connections that, for example, differ between groups. I would like to do the same thing for thresholded, undirected, structural covariance networks, where only 2 group-level matrices exist. I would like to examine which connections (ie., between two parcels) differ between healthy and clinical group. I would then like to see whether such connections are more prevalent in certain brain regions or are more likely to belong to core vs periphery, for example. My understanding is that NBS and permutation-testing both derive connection differences, but NBS does so cluster-wise, rather than for each connection. In short, in your opinion, what would be the best way of determining which connections differ within a SCN context using braingraph?

Kind regards,

Jonatan Ottino-González

unread,
Jun 9, 2020, 10:30:56 PM6/9/20
to brainGraph-help
Hi,

for what it's worth, I've seen some papers creating individual-level matrices for structural covariance networks. Some of them (i.e., first two links) seem more straight-forward than others (e.g., PSI or SBE, last two), like subtracting the subject's value for ROI-a to the control-derived average of ROI-b divided by the standard deviation of ROI-b. 





I don't have a code for the example above. My guess is, and once you have SCN individual-level graphs, follow the NBS pipeline just as you would do with fMRI/DTI data.

Best,
J

Kind regards,

To unsubscribe from this group and stop receiving emails from it, send an email to brainGr...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "brainGraph-help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to brainGr...@googlegroups.com.

Chris Watson

unread,
Jun 12, 2020, 4:16:24 PM6/12/20
to brainGr...@googlegroups.com
1. Any functions that "use" an atlas should accept a custom one as long as it is loaded into your workspace. There should be no errors as long as all the necessary columns are present in the data.table (see the User Guide for requirements).

2. Yes, the results of NBS would be a connected component that was deemed significant based on permutations of the observed data. As I said previously, you cannot make inferences about individual edges (same as with cluster-based fMRI analysis). There are a few questions within this one, I think:
a) "Which connections between pairs of regions differ between groups": this would require edge-level inference, and would be slightly different from NBS. Instead of the statistic-of-interest being the size of the largest connected component, it would have to be more like a voxelwise fMRI analysis and you would have to use the distribution of maximum T-statistics from the null distribution (generated by permutations/randomization).
b) "...whether such connections are more prevalent in certain brain regions": I am not sure what you mean by "certain brain regions" (do you mean, for example, whether there are more differences in the frontal lobe?). This would also be a different inference; I think the statistic of interest would be the number of significant differences per "region group" (e.g., lobe). I am not sure about this, though, and a statistician might be able to help with this.
c) "...whether such connections are more likely to belong to core vs. periphery": this requires a definition of "core" and "periphery" regions, of which there are several I think. This might be the same as "b)" above if you substitute "core/periphery" for "lobe", but again I am not sure.

Each of these would still require that you have individual-level networks. There might be a way to do it in a way that is somewhat similar to "brainGraph_permute", which shuffles the subjects (while keeping group sizes the same as the observed group sizes), then generate the group-level networks of these shuffled data, then calculate the statistics of interest. However, I can't think of a simple/straightforward way to do so. You might find some inspiration in the literature and if you send me some examples, I might be able to help.

Chris

Gershon Spitz

unread,
Jun 15, 2020, 10:30:33 PM6/15/20
to brainGr...@googlegroups.com
Dear Chris and Jonatan,

Thank you for your very helpful replies.

Jonatan, the articles are particularly helpful and may prove useful in creating individual-level graphs in order to look at edge components.

Best wishes,

Reply all
Reply to author
Forward
0 new messages