13.2.5. Yang et al. (2021). Different activation signatures in the primary sensorimotor …

Introduction

Here we present commands used in the following paper:

  • Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima Y, Wu J, Bandettini PA (2021). Different activation signatures in the primary sensorimotor and higher-level regions for haptic three-dimensional curved surface exploration. Neuroimage 231:117754.

Abstract: Haptic object perception begins with continuous exploratory contact, and the human brain needs to accumulate sensory information continuously over time. However, it is still unclear how the primary sensorimotor cortex (PSC) interacts with these higher-level regions during haptic exploration over time. This functional magnetic resonance imaging (fMRI) study investigates time-dependent haptic object processing by examining brain activity during haptic 3D curve and roughness estimations. For this experiment, we designed sixteen haptic stimuli (4 kinds of curves x 4 varieties of roughness) for the haptic curve and roughness estimation tasks. Twenty participants were asked to move their right index and middle fingers along the surface twice and to estimate one of the two features-roughness or curvature-depending on the task instruction. We found that the brain activity in several higher-level regions (e.g., the bilateral posterior parietal cortex) linearly increased as the number of curves increased during the haptic exploration phase. Surprisingly, we found that the contralateral PSC was parametrically modulated by the number of curves only during the late exploration phase but not during the early exploration phase. In contrast, we found no similar parametric modulation activity patterns during the haptic roughness estimation task in either the contralateral PSC or in higher-level regions. Thus, our findings suggest that haptic 3D object perception is processed across the cortical hierarchy, whereas the contralateral PSC interacts with other higher-level regions across time in a manner that is dependent upon the features of the object.

Study keywords: task-block, EPI, MPRAGE, human, adult, surface, blip up/down correction,

Main programs: afni_proc.py, gen_group_command.py, 3dttest++, 3dANOVA2, 3dMVM

Download scripts

To download, either:

  • ... click the link(s) in the following table (perhaps Rightclick -> “Save Link As…”):

    s1.2021_YangEtal_ap.tcsh

    run afni_proc.py for task analysis on a surface (FreeSurfer’s recon-all was run prior to this); blip up/down correction is also used

    s2.2021_YangEtal_ap.tcsh

    run afni_proc.py for task analysis on a surface (FreeSurfer’s recon-all was run prior to this); blip up/down correction is also used

    s3.2021_YangEtal_gen_ttest++.tcsh

    run gen_group_command.py to build 3dttest++ commands

    s4.2021_YangEtal_gen_ANOVA2.tcsh

    run gen_group_command.py to build 3dANOVA2 commands for each hemisphere

    s5.2021_YangEtal_MVM.tcsh

    run 3dMVM

  • ... or copy+paste into a terminal:

    curl -O https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/codex/fmri/media/2021_YangEtal/s1.2021_YangEtal_ap.tcsh
    curl -O https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/codex/fmri/media/2021_YangEtal/s2.2021_YangEtal_ap.tcsh
    curl -O https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/codex/fmri/media/2021_YangEtal/s3.2021_YangEtal_gen_ttest++.tcsh
    curl -O https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/codex/fmri/media/2021_YangEtal/s4.2021_YangEtal_gen_ANOVA2.tcsh
    curl -O https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/codex/fmri/media/2021_YangEtal/s5.2021_YangEtal_MVM.tcsh
    

View scripts

s1.2021_YangEtal_ap.tcsh

Comment: One would probably add -html_review_style pythonic here, to have the fancier version of the automatically generated QC HTML.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/tcsh

# The afni_proc.py command used to process the curve and roughness
# estimation runs in the present study. In the stimulus timing files
# and general linear tests (GLTs), the following abbreviations are
# used to specify task types: CE = curve estimation tasks; RE =
# roughness estimation tasks; HMVC = hand motion and visual control
# task.
#
# Used for processing in: 
#
#    Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima
#    Y, Wu J, Bandettini PA (2021).  Different activation signatures
#    in the primary sensorimotor and higher-level regions for haptic
#    three-dimensional curved surface exploration. Neuroimage
#    231:117754.  https://pubmed.ncbi.nlm.nih.gov/33454415/
#
# To run for a single subject, type (while providing actual values for
# SUBJ_ID and TOP_DIR):
#
#   tcsh s1.2021_YangEtal_ap.tcsh  SUBJ_ID  TOP_DIR
#
# =========================================================================

set subj    = $1  # provide subject ID
set top_dir = $2  # provide top directory location, e.g., for group

afni_proc.py                                                                  \
    -subj_id               ${subj}                                            \
    -script                proc.${subj}                                       \
    -scr_overwrite                                                            \
    -blocks                tshift align volreg surf blur scale regress        \
    -copy_anat             ${top_dir}/${subj}/anat_00/t1w_ns.nii.gz           \
    -anat_has_skull        no                                                 \
    -tcat_remove_first_trs 2                                                  \
    -blip_reverse_dset     ${top_dir}/${subj}/blip/blip+orig.HEAD             \
    -dsets                 ${top_dir}/${subj}/task/run?+orig.HEAD             \
    -volreg_align_to       third                                              \
    -volreg_align_e2a                                                         \
    -align_opts_aea        -cmass cmass                                       \
    -surf_anat             ${top_dir}/${subj}/SUMA/${subj}_SurfVol.nii        \
    -surf_spec             ${top_dir}/${subj}/SUMA/std.141.${subj}_?h.spec    \
    -blur_size             6.0                                                \
    -regress_stim_types    IM                                                 \
    -regress_stim_times                                                       \
        ${top_dir}/${subj}/onset/CE1.txt                                      \
        ${top_dir}/${subj}/onset/CE2.txt                                      \
        ${top_dir}/${subj}/onset/CE3.txt                                      \
        ${top_dir}/${subj}/onset/CE4.txt                                      \
        ${top_dir}/${subj}/onset/HMVC.txt                                     \
        ${top_dir}/${subj}/onset/RE1.txt                                      \
        ${top_dir}/${subj}/onset/RE2.txt                                      \
        ${top_dir}/${subj}/onset/RE3.txt                                      \
        ${top_dir}/${subj}/onset/RE4.txt                                      \
    -regress_stim_labels     CE1 CE2 CE3 CE4 HMVC RE1 RE2 RE3 RE4             \
    -regress_basis           'BLOCK(5,1)'                                     \
    -regress_censor_motion   0.3                                              \
    -regress_opts_3dD                                                         \
        -gltsym 'SYM: 0.25*RE1 +0.25*RE2 +0.25*RE3 +0.25*RE4 -HMVC' -glt_label 1 RE-HMVC \
        -gltsym 'SYM: 0.25*CE1 +0.25*CE2 +0.25*CE3 +0.25*CE4 -HMVC' -glt_label 2 CE-HMVC \
        -gltsym 'SYM: RE1 -HMVC' -glt_label 3  RE1-HMVC                       \
        -gltsym 'SYM: RE2 -HMVC' -glt_label 4  RE2-HMVC                       \
        -gltsym 'SYM: RE3 -HMVC' -glt_label 5  RE3-HMVC                       \
        -gltsym 'SYM: RE4 -HMVC' -glt_label 6  RE4-HMVC                       \
        -gltsym 'SYM: CE1 -HMVC' -glt_label 7  CE1-HMVC                       \
        -gltsym 'SYM: CE2 -HMVC' -glt_label 8  CE2-HMVC                       \
        -gltsym 'SYM: CE3 -HMVC' -glt_label 9  CE3-HMVC                       \
        -gltsym 'SYM: CE4 -HMVC' -glt_label 10 CE4-HMVC                       \
    -regress_make_ideal_sum  sum_ideal.1D

s2.2021_YangEtal_ap.tcsh

Comment: One would probably add -html_review_style pythonic here, to have the fancier version of the automatically generated QC HTML.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/tcsh

# The afni_proc.py command used to process the somatotopic finger
# mapping runs in the present study. In the stimulus timing files and
# general linear tests (GLTs), the following abbreviations are used to
# specify task types: D1 = index finger; D2 = middle finger; D3 = ring
# finger; D4 = pinky finger.
#
# Used for processing in: 
#
#    Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima
#    Y, Wu J, Bandettini PA (2021).  Different activation signatures
#    in the primary sensorimotor and higher-level regions for haptic
#    three-dimensional curved surface exploration. Neuroimage
#    231:117754.  https://pubmed.ncbi.nlm.nih.gov/33454415/
#
# To run for a single subject, type (while providing actual values for
# SUBJ_ID and TOP_DIR):
#
#   tcsh s2.2021_YangEtal_ap.tcsh  SUBJ_ID  TOP_DIR
#
# =========================================================================

set subj    = $1  # provide subject ID
set top_dir = $2  # provide top directory location, e.g., for group

afni_proc.py                                                                \
    -subj_id               ${subj}                                          \
    -script                proc.${subj}                                     \
    -scr_overwrite                                                          \
    -blocks                tshift align volreg surf blur scale regress      \
    -copy_anat             ${top_dir}/${subj}/anat_00/t1w_ns.nii.gz         \
    -anat_has_skull        no                                               \
    -tcat_remove_first_trs 2                                                \
    -blip_reverse_dset     ${top_dir}/${subj}/blip/blip+orig.HEAD           \
    -dsets                 ${top_dir}/${subj}/task/lcrun+orig.HEAD          \
    -volreg_align_to       third                                            \
    -volreg_align_e2a                                                       \
    -align_opts_aea        -cmass cmass                                     \
    -surf_anat             ${top_dir}/${subj}/SUMA/${subj}_SurfVol.nii      \
    -surf_spec             ${top_dir}/${subj}/SUMA/std.141.${subj}_?h.spec  \
    -blur_size             6.0                                              \
    -regress_stim_times                                                     \
        ${top_dir}/${subj}/onset/D1.txt                                     \
        ${top_dir}/${subj}/onset/D2.txt                                     \
        ${top_dir}/${subj}/onset/D3.txt                                     \
        ${top_dir}/${subj}/onset/D4.txt                                     \
    -regress_stim_labels    D1 D2 D3 D4                                     \
    -regress_basis          'BLOCK(18,1)'                                   \
    -regress_censor_motion  0.3                                             \
    -regress_opts_3dD                                                       \
        -gltsym 'SYM: D1 +D2 +D3 +D4' -glt_label 1 all_digits               \
    -regress_make_ideal_sum sum_ideal.1D

s3.2021_YangEtal_gen_ttest++.tcsh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/tcsh

# The command to generate t-tests for group analysis to localize
# specific S1 sub-regions for the index and middle fingers in the
# present study.  The following abbreviations are used: lh = left
# hemisphere; rh = right hemisphere; D1 = index finger; D2 = middle
# finger; D3 = ring finger; D4 = pinky finger.
#
# Used for processing in: 
#
#    Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima
#    Y, Wu J, Bandettini PA (2021).  Different activation signatures
#    in the primary sensorimotor and higher-level regions for haptic
#    three-dimensional curved surface exploration. Neuroimage
#    231:117754.  https://pubmed.ncbi.nlm.nih.gov/33454415/
#
# To run, type (while providing actual values for TOP_DIR):
#
#   tcsh s3.2021_YangEtal_ap.tcsh  TOP_DIR
#
# =========================================================================

set top_dir  = $1
set res_path = ${top_dir}/subject_results/group.LC
set out_path = ${res_path}/GROUP.LC/ttest

\mkdir -p ${out_path}

# generate t-test scripts and run each to generate dsets.
foreach hemi ( lh rh )
    foreach digit ( D1 D2 D3 D4 )

        gen_group_command.py                                              \
            -command      3dttest++                                       \
            -write_script ${out_path}/LC.ttest.${digit}.${hemi}.proc      \
            -prefix       ${out_path}/group.LC.${digit}.${hemi}           \
            -dsets        ${res_path}/*/*/stats.*.${hemi}.niml.dset       \
            -subs_betas   "${digit}#0_Coef"                               \
            -set_labels   ${digit}

        cd ${out_path}
        tcsh -exf LC.ttest.${digit}.${hemi}.proc
    end
end

s4.2021_YangEtal_gen_ANOVA2.tcsh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/tcsh

# The command to generate ANOVAs for group analysis to generate ANOVAs
# for group analysis to observe the whole-brain activity pattern of CE
# and RE tasks in the present study.  The following abbreviations are
# used: lh = left hemisphere; rh = right hemisphere; CE = curve
# estimation task; RE = roughness estimation task; HMVC = hand motion
# and visual control task.
#
# Used for processing in: 
#
#    Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima
#    Y, Wu J, Bandettini PA (2021).  Different activation signatures
#    in the primary sensorimotor and higher-level regions for haptic
#    three-dimensional curved surface exploration. Neuroimage
#    231:117754.  https://pubmed.ncbi.nlm.nih.gov/33454415/
#
# To run, type (while providing actual values for TOP_DIR):
#
#   tcsh s4.2021_YangEtal_ap.tcsh  TOP_DIR
#
# =========================================================================

set top_dir  = $1
set res_path = ${top_dir}/subject_results/group.HR
set out_path = ${res_path}/GROUP.HR/group.blur6

\mkdir -p ${out_path}

# --------------------------------------------------------------

foreach hemi ( lh rh )
    gen_group_command.py                                                  \
        -command       3dANOVA2                                           \
        -write_script  ${out_path}/HR.ANOVA.RCvsM.${hemi}.proc            \
        -prefix        ${out_path}/HR.ANOVA.RCvsM.${hemi}                 \
        -dsets         ${res_path}/*/*/stats.mean.*.${hemi}.niml.dset     \
        -subs_betas    'RE-HMVC_GLT#0_Coef' 'CE-HMVC_GLT#0_Coef'          \
        -options                                                          \
            -amean 1   RE_HMVC                                            \
            -amean 2   CE_HMVC                                            \
            -adiff 1 2 RE_HMVC_CE_HMVC                                    \
            -adiff 2 1 CE_HMVC_RE_HMVC
end

s5.2021_YangEtal_MVM.tcsh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/tcsh

# The command for MVM analysis with 3dMVM for group analysis to
# observe the brain regions parametrically modulated by CE and RE
# tasks in the present study. The following abbreviations are used: lh
# = left hemisphere; rh = right hemisphere; CE = curve estimation
# task; RE = roughness estimation task; HMVC = hand motion and visual
# control task; L1 = degree level one (and similar for L2, etc.).
#
# Used for processing in: 
#
#    Yang J, Molfese PJ, Yu Y, Handwerker DA, Chen G, Taylor PA, Ejima
#    Y, Wu J, Bandettini PA (2021).  Different activation signatures
#    in the primary sensorimotor and higher-level regions for haptic
#    three-dimensional curved surface exploration. Neuroimage
#    231:117754.  https://pubmed.ncbi.nlm.nih.gov/33454415/
#
# To run, type (while providing actual values for TOP_DIR):
#
#   tcsh s4.2021_YangEtal_ap.tcsh  TOP_DIR
#
# =========================================================================


set top_dir  = $1
set res_path = ${top_dir}/subject_results/group.HR
set out_path = ${res_path}/GROUP.MVM

\mkdir -p ${out_path}

foreach hemi ( lh rh ) 
    3dMVM                                                                \
        -prefix   ${out_path}/mvm.${hemi}.niml.dset                      \
        -jobs     6                                                      \
        -wsVars   "task*degree"                                          \
        -SS_type  3                                                      \
        -num_glt  2                                                      \
            -gltLabel 1 roughness -gltCode  1                            \
                'task : 1*Roughness degree : -3*L1 -1*L2 1*L3 3*L4'      \
            -gltLabel 2 curve -gltCode 2                                 \
                'task : 1*Curve degree : -3*L1 -1*L2 1*L3 3*L4'          \
        -dataTable  ${res_path}/data_table_mvm.${hemi}.txt  
end

# --- COMMENT ---
# The '-dataTable ..' input text file contains 4 columns, with the
# following column labels:
#    Subj  condition  degree     InputFile      
# where
#    Subj      = subject ID (sub01, sub02, sub03, etc.)
#    condition = Roughness|Curve
#    degree    = L1|L2|L3|L4
#    InputFile = surface dataset of stats results (stats*.lh.niml.dset
#                or stats*.rh.niml.dset, for the respective data_table*), 
#                with the appropriate effect estimate selected by 
#                specifying the contrast of interest, e.g.:
#                "[RE1-HMVC_GLT#0_Coef]", "[RE2-HMVC_GLT#0_Coef]", 
#                "[CE1-HMVC_GLT#0_Coef]", "[CE2-HMVC_GLT#0_Coef]", etc.