[Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1) plot the relationship of thickness to behavioral variable data by group in that cluster, 2) conduct post hoc tests to examine the interaction, and 3) calculate the Rsquare and partial correlations for each variable in the glm (i.e. how much variation in thickness is explained by my behavioral variable). To extract the beta values from a cluster identified by mc-z would I treat the cluster like a label and use mri_segstats to extract the beta weights from the cluster? Would I need to make a label of all the clusters that I want to do this for first? Is there a way to calculate the basic statistics for the glm and extract in table form? i.e. Fs and ps for peaks of each cluster? What about Rsquare, or the correlation between thickness and my behavioral variable in the clusters? or would I need to compute these outside of freesurfer using the extracted betas? Thank you! Laura. On Mon, Mar 18, 2013 at 5:05 PM, Laura M. Tully tully.la...@googlemail.comwrote: Hi Freesurfer experts, I'm hoping you can help me understand how to interpret interactions in clusters identified in whole brain analysis using glmfit and glmfit-sim. Below I describe what I've done and what I'd like to be able to do. Any suggestions would be most appreciated! - I have two groups (patients, controls) and a behavioral variable of interest (social functioning). I am interested in cortical thickness differences between groups (main effect of group), whether cortical thickness relate to social functioning across the group (main effect of social functioning), and whether this relationship differs by group (group x social functioning interaction). - I ran whole brain analysis using mri_glmfit with group and functioning as variables of interest whilst controlling for/regressing out gender, age, and mean thickness. i.e. 4 classes (conmale,confemale, ptmale, ptfemale) and 3 continuous variables (age, AvgThickness, Functioning) = 16 regressors. - I tested the group x functioning interaction with the following contrast - is it correct? 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0.5 -0.5 -0.5 - I then ran mri_glmfit-sim to identify clusters that survive multiple comparisons. This revealed 4 clusters (3 in LH; 1 in RH) that represent regions showing significant group x functioning interaction. - I visualized the clusters in tksurfer, and by loading the y.fsgd file was able to visualize the plotted data to get a sense of the interaction, but this is as much as I know in terms of how to examine interactions in the cluster data.. My specifc questions include: - I understand that the values in xxx.sig.cluster.mgh overlay reflect log10 p values, the signs of which indicate the direction of the relationship (i.e. -3 = negative correlation between thickness variable) but I'm not sure how to interpret this in the context of an interaction with group? - I understand that the values in xxx.y.ocn.dat contain the average thickness value for each subject in that cluster and that in a simple between groups test this data could be used to conduct post hoc t-tests to show the direction of the difference, but again I'm not sure how to use this data in the context of the interaction. What do the values represent in a group x variable interaction? Ideally, I'd like to extract the contrast estimates for each subject in the group x functioning contrast and plot it in another program and conduct pairwise comparisons (t-tests) in order to get a better understanding of the interaction). I'm not sure how to do this - is it possible? My thinking is that I do something similar in fMRI analysis in spm where I can plot the contrasts in a significant cluster and then extract both the average contrast estimates for each group and the contrast estimates for each individual subject. Thanks in advance! Laura. -- -- Laura M. Tully, MA Social Neuroscience Psychopathology, Harvard University Center for the Assessment and Prevention of Prodromal States, UCLA Semel Institute of Neuroscience ltu...@mednet.ucla.edu ltu...@fas.harvard.edu 310-267-0170 -- My musings as a young clinical scientist: http://theclinicalbrain.blogspot.com/ Follow me on Twitter: @tully_laura -- -- Laura M. Tully, MA Social Neuroscience Psychopathology, Harvard University Center for the Assessment and Prevention of Prodromal States, UCLA Semel Institute of Neuroscience ltu...@mednet.ucla.edu ltu...@fas.harvard.edu 310-267-0170 -- My musings as a young clinical scientist: http://theclinicalbrain.blogspot.com/ Follow me on Twitter: @tully_laura
Re: [Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
On 03/20/2013 10:17 AM, Laura M. Tully wrote: Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1) plot the relationship of thickness to behavioral variable data by group in that cluster, 2) conduct post hoc tests to examine the interaction, and 3) calculate the Rsquare and partial correlations for each variable in the glm (i.e. how much variation in thickness is explained by my behavioral variable). To extract the beta values from a cluster identified by mc-z would I treat the cluster like a label and use mri_segstats to extract the beta weights from the cluster? Would I need to make a label of all the clusters that I want to do this for first? You can do it label by label. Or, if the annotation created by mri_glmfit-sim has all the clusters you want, you can use that (also in mri_segstats). You can also create an annotation from individual labels with mris_label2annot. Is there a way to calculate the basic statistics for the glm and extract in table form? i.e. Fs and ps for peaks of each cluster? What about Rsquare, or the correlation between thickness and my behavioral variable in the clusters? or would I need to compute these outside of freesurfer using the extracted betas? You will need to do it outside of FS. What are Fs and ps? doug Thank you! Laura. On Mon, Mar 18, 2013 at 5:05 PM, Laura M. Tully tully.la...@googlemail.com mailto:tully.la...@googlemail.com wrote: Hi Freesurfer experts, I'm hoping you can help me understand how to interpret interactions in clusters identified in whole brain analysis using glmfit and glmfit-sim. Below I describe what I've done and what I'd like to be able to do. Any suggestions would be most appreciated! * I have two groups (patients, controls) and a behavioral variable of interest (social functioning). I am interested in cortical thickness differences between groups (main effect of group), whether cortical thickness relate to social functioning across the group (main effect of social functioning), and whether this relationship differs by group (group x social functioning interaction). * I ran whole brain analysis using mri_glmfit with group and functioning as variables of interest whilst controlling for/regressing out gender, age, and mean thickness. i.e. 4 classes (conmale,confemale, ptmale, ptfemale) and 3 continuous variables (age, AvgThickness, Functioning) = 16 regressors. * I tested the group x functioning interaction with the following contrast - is it correct? 0.50.5-0.5-0.5 * I then ran mri_glmfit-sim to identify clusters that survive multiple comparisons. This revealed 4 clusters (3 in LH; 1 in RH) that represent regions showing significant group x functioning interaction. * I visualized the clusters in tksurfer, and by loading the y.fsgd file was able to visualize the plotted data to get a sense of the interaction, but this is as much as I know in terms of how to examine interactions in the cluster data.. My specifc questions include: * I understand that the values in xxx.sig.cluster.mgh overlay reflect log10 p values, the signs of which indicate the direction of the relationship (i.e. -3 = negative correlation between thickness variable) but I'm not sure how to interpret this in the context of an interaction with group? * I understand that the values in xxx.y.ocn.dat contain the average thickness value for each subject in that cluster and that in a simple between groups test this data could be used to conduct post hoc t-tests to show the direction of the difference, but again I'm not sure how to use this data in the context of the interaction. What do the values represent in a group x variable interaction? Ideally, I'd like to extract the contrast estimates for each subject in the group x functioning contrast and plot it in another program and conduct pairwise comparisons (t-tests) in order to get a better understanding of the interaction). I'm not sure how to do this - is it possible? My thinking is that I do something similar in fMRI analysis in spm where I can plot the contrasts in a significant cluster and then extract both the average contrast estimates for each group and the contrast estimates for each individual subject. Thanks in advance! Laura. -- -- Laura M. Tully, MA Social Neuroscience Psychopathology, Harvard University
Re: [Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
Sorry - meant to respond to list. Thanks for the response Doug - I have a few follow up questions I hope you can clarify: - is the xxx.ocn.annot file created by mri_glmfit-sim considered a label by freesurfer? or does it need to be converted to a label before I can use mri_segstats to extract the betas from the cluster(s) in the xxx.ocn.annot? I tried using the following command line to attempt to extract the betas from the cluster annotation file created by mri_glmfit-sim, but received an error: mri_segstats --i beta.mgh --annot fsaverage hemi contrast/xxx.ocn.annot --avgwf avgwf.dat - how does one convert an xxx.ocn.annot file to a label? - If I have run 3 different glms looking at the relationship between thickness and 3 different behavioral variables, and found 1 (or more) cluster in each glm using mri_glmfit-sim can I create 1 annotation/label with all the clusters from the separate glms and then extract the betas from that one annotation using mri_segstats? Or do I need to treat each glm separately? - I saw on the listserv some references to matlab functions that can calculate r square and partial correlations for glms with more than one predictor variable (e.g pcc between thickness and behavioral variable 1; pcc between thickness and behavioral variable2; Rsq for overall model) but I could not find the .m scripts for the functions (MRIread or fast_glm_pcc?) - would these functions be appropriate and if so where might I find them? Thanks in advance for your help! Laura. On Wed, Mar 20, 2013 at 8:29 AM, Douglas N Greve gr...@nmr.mgh.harvard.edu wrote: On 03/20/2013 10:17 AM, Laura M. Tully wrote: Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1) plot the relationship of thickness to behavioral variable data by group in that cluster, 2) conduct post hoc tests to examine the interaction, and 3) calculate the Rsquare and partial correlations for each variable in the glm (i.e. how much variation in thickness is explained by my behavioral variable). To extract the beta values from a cluster identified by mc-z would I treat the cluster like a label and use mri_segstats to extract the beta weights from the cluster? Would I need to make a label of all the clusters that I want to do this for first? You can do it label by label. Or, if the annotation created by mri_glmfit-sim has all the clusters you want, you can use that (also in mri_segstats). You can also create an annotation from individual labels with mris_label2annot. Is there a way to calculate the basic statistics for the glm and extract in table form? i.e. Fs and ps for peaks of each cluster? What about Rsquare, or the correlation between thickness and my behavioral variable in the clusters? or would I need to compute these outside of freesurfer using the extracted betas? You will need to do it outside of FS. What are Fs and ps? doug Thank you! Laura. On Mon, Mar 18, 2013 at 5:05 PM, Laura M. Tully tully.la...@googlemail.com mailto:tully.la...@googlemail.com wrote: Hi Freesurfer experts, I'm hoping you can help me understand how to interpret interactions in clusters identified in whole brain analysis using glmfit and glmfit-sim. Below I describe what I've done and what I'd like to be able to do. Any suggestions would be most appreciated! * I have two groups (patients, controls) and a behavioral variable of interest (social functioning). I am interested in cortical thickness differences between groups (main effect of group), whether cortical thickness relate to social functioning across the group (main effect of social functioning), and whether this relationship differs by group (group x social functioning interaction). * I ran whole brain analysis using mri_glmfit with group and functioning as variables of interest whilst controlling for/regressing out gender, age, and mean thickness. i.e. 4 classes (conmale,confemale, ptmale, ptfemale) and 3 continuous variables (age, AvgThickness, Functioning) = 16 regressors. * I tested the group x functioning interaction with the following contrast - is it correct? 0.50.5-0.5-0.5 * I then ran mri_glmfit-sim to identify clusters that survive multiple comparisons. This revealed 4 clusters (3 in LH; 1 in RH) that represent regions showing significant group x functioning interaction. * I visualized the clusters in tksurfer, and by loading the y.fsgd
Re: [Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
On 03/20/2013 12:09 PM, Laura M. Tully wrote: Sorry - meant to respond to list. Thanks for the response Doug - I have a few follow up questions I hope you can clarify: * is the xxx.ocn.annot file created by mri_glmfit-sim considered a label by freesurfer? It is an annotation * or does it need to be converted to a label before I can use mri_segstats to extract the betas from the cluster(s) in the xxx.ocn.annot? No * I tried using the following command line to attempt to extract the betas from the cluster annotation file created by mri_glmfit-sim, but received an error: mri_segstats --i beta.mgh --annot fsaverage hemi contrast/xxx.ocn.annot --avgwf avgwf.dat That looks correct. Did it work? Add --excludeid 0 to keep it from reporting on non-clusters * how does one convert an xxx.ocn.annot file to a label? If needed, use mri_annotation2label * If I have run 3 different glms looking at the relationship between thickness and 3 different behavioral variables, and found 1 (or more) cluster in each glm using mri_glmfit-sim can I create 1 annotation/label with all the clusters from the separate glms and then extract the betas from that one annotation using mri_segstats? Or do I need to treat each glm separately? It is probably easiest if you treat each glm separately. You can break the annotations into separate labels, then recombine the labels into another annotation (mris_label2annot), but it is a lot of work. * * I saw on the listserv some references to matlab functions that can calculate r square and partial correlations for glms with more than one predictor variable (e.g pcc between thickness and behavioral variable 1; pcc between thickness and behavioral variable2; Rsq for overall model) but I could not find the .m scripts for the functions (MRIread or fast_glm_pcc?) - would these functions be appropriate and if so where might I find them? Yes. They are in $FREESURFER_HOME/matlab and $FREESURFER_HOME/fsfast/toolbox doug * Thanks in advance for your help! Laura. On Wed, Mar 20, 2013 at 8:29 AM, Douglas N Greve gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.edu wrote: On 03/20/2013 10:17 AM, Laura M. Tully wrote: Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1) plot the relationship of thickness to behavioral variable data by group in that cluster, 2) conduct post hoc tests to examine the interaction, and 3) calculate the Rsquare and partial correlations for each variable in the glm (i.e. how much variation in thickness is explained by my behavioral variable). To extract the beta values from a cluster identified by mc-z would I treat the cluster like a label and use mri_segstats to extract the beta weights from the cluster? Would I need to make a label of all the clusters that I want to do this for first? You can do it label by label. Or, if the annotation created by mri_glmfit-sim has all the clusters you want, you can use that (also in mri_segstats). You can also create an annotation from individual labels with mris_label2annot. Is there a way to calculate the basic statistics for the glm and extract in table form? i.e. Fs and ps for peaks of each cluster? What about Rsquare, or the correlation between thickness and my behavioral variable in the clusters? or would I need to compute these outside of freesurfer using the extracted betas? You will need to do it outside of FS. What are Fs and ps? doug Thank you! Laura. On Mon, Mar 18, 2013 at 5:05 PM, Laura M. Tully tully.la...@googlemail.com mailto:tully.la...@googlemail.com mailto:tully.la...@googlemail.com mailto:tully.la...@googlemail.com wrote: Hi Freesurfer experts, I'm hoping you can help me understand how to interpret interactions in clusters identified in whole brain analysis using glmfit and glmfit-sim. Below I describe what I've done and what I'd like to be
Re: [Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
the mri_segstats command did not work - below is the command and output. It looks like it is searching for the .annot file in fsaverage directory. How do I tell it to use fsaverage and to look for the .annot elsewhere? cd glmdir mri_segstats --i beta.mgh --annot fsaverage lh ./SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot --avgwf lh.SZ_CPT_area_betas.dat --excludeid 0 $Id: mri_segstats.c,v 1.75.2.2 2011/04/27 22:18:58 nicks Exp $ cwd cmdline mri_segstats --i beta.mgh --annot fsaverage lh ./SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot --avgwf lh.SZ_CPT_area_betas.dat --excludeid 0 sysname Linux hostname ncfws12.rc.fas.harvard.edu machine x86_64 user ltully Constructing seg from annotation could not read annot file /ncf/snp/04/SCORE/freesurfer_analysis/fsaverage/label/lh../SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot.annot No such file or directory Thanks! LT On Wed, Mar 20, 2013 at 9:54 AM, Douglas N Greve gr...@nmr.mgh.harvard.eduwrote: On 03/20/2013 12:09 PM, Laura M. Tully wrote: Sorry - meant to respond to list. Thanks for the response Doug - I have a few follow up questions I hope you can clarify: * is the xxx.ocn.annot file created by mri_glmfit-sim considered a label by freesurfer? It is an annotation * or does it need to be converted to a label before I can use mri_segstats to extract the betas from the cluster(s) in the xxx.ocn.annot? No * I tried using the following command line to attempt to extract the betas from the cluster annotation file created by mri_glmfit-sim, but received an error: mri_segstats --i beta.mgh --annot fsaverage hemi contrast/xxx.ocn.annot --avgwf avgwf.dat That looks correct. Did it work? Add --excludeid 0 to keep it from reporting on non-clusters * how does one convert an xxx.ocn.annot file to a label? If needed, use mri_annotation2label * If I have run 3 different glms looking at the relationship between thickness and 3 different behavioral variables, and found 1 (or more) cluster in each glm using mri_glmfit-sim can I create 1 annotation/label with all the clusters from the separate glms and then extract the betas from that one annotation using mri_segstats? Or do I need to treat each glm separately? It is probably easiest if you treat each glm separately. You can break the annotations into separate labels, then recombine the labels into another annotation (mris_label2annot), but it is a lot of work. * * I saw on the listserv some references to matlab functions that can calculate r square and partial correlations for glms with more than one predictor variable (e.g pcc between thickness and behavioral variable 1; pcc between thickness and behavioral variable2; Rsq for overall model) but I could not find the .m scripts for the functions (MRIread or fast_glm_pcc?) - would these functions be appropriate and if so where might I find them? Yes. They are in $FREESURFER_HOME/matlab and $FREESURFER_HOME/fsfast/** toolbox doug * Thanks in advance for your help! Laura. On Wed, Mar 20, 2013 at 8:29 AM, Douglas N Greve gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.**edugr...@nmr.mgh.harvard.edu wrote: On 03/20/2013 10:17 AM, Laura M. Tully wrote: Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1) plot the relationship of thickness to behavioral variable data by group in that cluster, 2) conduct post hoc tests to examine the interaction, and 3) calculate the Rsquare and partial correlations for each variable in the glm (i.e. how much variation in thickness is explained by my behavioral variable). To extract the beta values from a cluster identified by mc-z would I treat the cluster like a label and use mri_segstats to extract the beta weights from the cluster? Would I need to make a label of all the clusters that I want to do this for first? You can do it label by label. Or, if the annotation created by mri_glmfit-sim has all the clusters you want, you can use that (also in mri_segstats). You can also create an annotation from individual labels with mris_label2annot. Is there a way to calculate the basic statistics for the
Re: [Freesurfer] Reposting: interpreting clusters from 2 and 3 way interactions
Try using this version of mri_segstats ftp://surfer.nmr.mgh.harvard.edu/transfer/outgoing/flat/greve/mri_segstats doug On 03/20/2013 01:10 PM, Laura M. Tully wrote: the mri_segstats command did not work - below is the command and output. It looks like it is searching for the .annot file in fsaverage directory. How do I tell it to use fsaverage and to look for the .annot elsewhere? cd glmdir mri_segstats --i beta.mgh --annot fsaverage lh ./SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot --avgwf lh.SZ_CPT_area_betas.dat --excludeid 0 $Id: mri_segstats.c,v 1.75.2.2 2011/04/27 22:18:58 nicks Exp $ cwd cmdline mri_segstats --i beta.mgh --annot fsaverage lh ./SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot --avgwf lh.SZ_CPT_area_betas.dat --excludeid 0 sysname Linux hostname ncfws12.rc.fas.harvard.edu http://ncfws12.rc.fas.harvard.edu machine x86_64 user ltully Constructing seg from annotation could not read annot file /ncf/snp/04/SCORE/freesurfer_analysis/fsaverage/label/lh../SZcontrast_oneGrp_oneBehVar_4CVs/cache.th13.abs.sig.ocn.annot.annot No such file or directory Thanks! LT On Wed, Mar 20, 2013 at 9:54 AM, Douglas N Greve gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.edu wrote: On 03/20/2013 12:09 PM, Laura M. Tully wrote: Sorry - meant to respond to list. Thanks for the response Doug - I have a few follow up questions I hope you can clarify: * is the xxx.ocn.annot file created by mri_glmfit-sim considered a label by freesurfer? It is an annotation * or does it need to be converted to a label before I can use mri_segstats to extract the betas from the cluster(s) in the xxx.ocn.annot? No * I tried using the following command line to attempt to extract the betas from the cluster annotation file created by mri_glmfit-sim, but received an error: mri_segstats --i beta.mgh --annot fsaverage hemi contrast/xxx.ocn.annot --avgwf avgwf.dat That looks correct. Did it work? Add --excludeid 0 to keep it from reporting on non-clusters * how does one convert an xxx.ocn.annot file to a label? If needed, use mri_annotation2label * If I have run 3 different glms looking at the relationship between thickness and 3 different behavioral variables, and found 1 (or more) cluster in each glm using mri_glmfit-sim can I create 1 annotation/label with all the clusters from the separate glms and then extract the betas from that one annotation using mri_segstats? Or do I need to treat each glm separately? It is probably easiest if you treat each glm separately. You can break the annotations into separate labels, then recombine the labels into another annotation (mris_label2annot), but it is a lot of work. * * I saw on the listserv some references to matlab functions that can calculate r square and partial correlations for glms with more than one predictor variable (e.g pcc between thickness and behavioral variable 1; pcc between thickness and behavioral variable2; Rsq for overall model) but I could not find the .m scripts for the functions (MRIread or fast_glm_pcc?) - would these functions be appropriate and if so where might I find them? Yes. They are in $FREESURFER_HOME/matlab and $FREESURFER_HOME/fsfast/toolbox doug * Thanks in advance for your help! Laura. On Wed, Mar 20, 2013 at 8:29 AM, Douglas N Greve gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.edu mailto:gr...@nmr.mgh.harvard.edu wrote: On 03/20/2013 10:17 AM, Laura M. Tully wrote: Hi, I wanted to re-post my questions from a couple of days ago below, but with some more specific questions following a search through the archives. I want to be able to extract the beta values from a cluster identified using mc-z in a group by behavioral variable interaction so that I can 1)