Advice on first-level model specification including ampltiude modulation

AFNI version info (afni -ver): 24.3.06

Dear AFNI team,

I hope you are well and happy new year. I am seeking advice about my first level model specifications for a task-based study.

The task involves personalised autobiographical recall of a sad/happy memory. There is a separate block for the positive and negative memory; I am analysing them separately with the aim to compare on a group level. Participants are presented with statements related to a memory they have described, for 4 seconds (retrieval phase). Then, they must judge if the statement is true or false (to ensure they are paying attention). If the statement is correct & true, it is presented for a further 12 seconds or 22 seconds (rehearsal phase; the longer statements were judged by researchers to be particularly emotional). At the end of each trial, the subject rates their emotional valence on a scale of -5 to +5 (very negative to very positive). For the negative memory block trials, they also rate the degree of self blame on a scale of -5 to +5 (do not blame to completely blame myself).

Additionally, there is a counting trial type (serial 7s task - lasting 18s) as a comparator condition, and a false trial type (false statements) - I am not interested in the false trial types, other than to ensure the subject is engaging.

The TR is 1 second. I removed the first 8 TRs as there is an 8s lag before the task starts.

Stimulus timing files include:

  • Onset times for the retrieval phase before 12s rehearsal (retr_short)
  • Onset times for the retrieval phase before 22s rehearsal (retr_long)
  • Onset times for the 12s rehearsal (rehearse_short)
  • Onset times for the 22s rehearsal (rehearse_long)
  • Onset times for the 18s counting trials
  • Onset times for the false trials
  • Amplitude modulation for emotion ratings and self-blame ratings, grouped across the 12s rehearsal and 22s rehearsal (taking the form onset*rating:duration where the rating is -5 to +5 and the duration is 12s or 22s)

Below is the afni_proc.py script I am using to analyse the negative memory blocks.

afni afni_proc.py \
    -subj_id ${subj}_neg \
    -copy_anat ${subj}/anat/anatSS.${subj}.nii \
    -anat_has_skull no \
    -dsets ${subj}/func/${subj}_neg.nii \
    -blocks tshift align tlrc volreg mask blur scale regress \
    -tcat_remove_first_trs 8 \
    -align_unifize_epi local \
    -align_opts_aea -cost nmi -ginormous_move -deoblique on -check_flip \
    -tlrc_base /data/project/templates/MNI152_2009_template_SSW.nii.gz \
    -tlrc_NL_warp \
    -tlrc_NL_warped_dsets ${subj}/anat/anatQQ.${subj}.nii ${subj}/anat/anatQQ.${subj}.aff12.1D ${subj}/anat/anatQQ.${subj}_WARP.nii \
    -volreg_align_to MIN_OUTLIER \
    -volreg_align_e2a \
    -volreg_tlrc_warp \
    -volreg_compute_tsnr yes \
    -mask_epi_anat yes \
    -blur_size 6 \
    -regress_stim_times \
        stim/retr_neg_short_${subj}.txt \
        stim/rehearse_neg_short_${subj}.txt \
        stim/retr_neg_long_${subj}.txt \
        stim/rehearse_neg_long_${subj}.txt \
        stim/retr_neg_false_${subj}.txt \
        stim/counting_neg_${subj}.txt \
        stim/amplitude_modulation_neg_${subj}.txt \
	stim/amplitude_modulation_self_blame_${subj}.txt \
    -regress_stim_labels \
        retr_neg_short rehearse_neg_short retr_neg_long rehearse_neg_long \
        false_neg counting_neg emotion_ratings self_blame_ratings \
    -regress_stim_types times times times times times times AM2 AM2 \
    -regress_basis_multi \
    	'TENTzero(0,4,4)' 'TENT(0,12,12)' 'TENTzero(0,4,4)' 'TENT(0,22,22)' 'TENTzero(0,4,4)' 'TENTzero(0,18,18)' 'dmBLOCK' 'dmBLOCK' \
    -regress_est_blur_errts \
    -regress_est_blur_epits \
    -regress_opts_3dD -jobs 8 \
    -num_glt 15 \
        -gltsym "SYM: 0.5*retr_neg_short 0.5*retr_neg_long" -glt_label 1 Retrieval_All \
        -gltsym "SYM: 0.5*rehearse_neg_long 0.5*rehearse_neg_short" -glt_label 2 Rehearse_All \
        -gltsym "SYM: +rehearse_neg_long" -glt_label 3 Rehearse_Long \
        -gltsym "SYM: +rehearse_neg_short" -glt_label 4 Rehearse_Short \
        -gltsym "SYM: +counting_neg" -glt_label 5 Counting \
        -gltsym "SYM: 0.5*retr_neg_short 0.5*retr_neg_long -1.0*counting_neg" -glt_label 6 Retrieval_neg_All_vs_Counting \
        -gltsym "SYM: +rehearse_neg_long -counting_neg" -glt_label 7 Rehearse_neg_Long_vs_Counting \
        -gltsym "SYM: +rehearse_neg_short -counting_neg" -glt_label 8 Rehearse_neg_Short_vs_Counting \
        -gltsym "SYM: 0.5*rehearse_neg_short 0.5*rehearse_neg_long -1.0*counting_neg" -glt_label 9 Rehearse_neg_All_vs_Counting \
        -gltsym "SYM: 0.5*rehearse_neg_short 0.5*rehearse_neg_long -0.5*retr_neg_short -0.5*retr_neg_long" -glt_label 10 neg_All_Rehearse_vs_Retrieval \
        -gltsym "SYM: +rehearse_neg_short -retr_neg_short" -glt_label 11 neg_Short_Rehearse_vs_Retrieval \
        -gltsym "SYM: +rehearse_neg_long -retr_neg_long" -glt_label 12 neg_Long_Rehearse_vs_Retrieval \
        -gltsym "SYM: +rehearse_neg_long[4..21] -rehearse_neg_long[0..3]" -glt_label 13 neg_Long_LateReh_vs_EarlyReh \
        -gltsym "SYM: +rehearse_neg_short[4..11] -rehearse_neg_short[0..3]" -glt_label 14 neg_Short_LateReh_vs_EarlyReh \
        -gltsym "SYM: 0.5*rehearse_neg_long[4..21] 0.5*rehearse_neg_short[4..11] -0.5*rehearse_neg_long[0..3] -0.5*rehearse_neg_short[0..3]" -glt_label 15 neg_All_LateReh_vs_EarlyReh \
        -GOFORIT 10 \
    -regress_opts_reml -GOFORIT \
    -regress_apply_mot_types demean deriv \
    -regress_censor_motion 0.5 \
    -regress_censor_outliers 0.05 \
    -regress_make_ideal_sum sum_ideal_${subj}_neg.1D \
    -regress_reml_exec \
    -regress_run_clustsim yes \
    -out_dir derivatives/${subj}_neg \
    -html_review_style pythonic

Questions:

  • Does my specification of the TENT and TENTzero functions seem reasonable here? Following the 4s retrieval phase, and then the true/false judgement, the rehearsal phase occurs - I expect there could be some anticipatory effect from the prior retrieval, that's why I've used TENT for the rehearsal but TENTzero for the retrieval (and other trial types where I don't expect an anticipatory effect).
  • I specified GLTs to look at the early vs. later phase of rehearsal (the TENT functions allow me to do this in the final three GLTs), because there is evidence to suggest hippocampal activation is particular to the earlier phase of rehearsal (when there is some overlap with the retrival). Do the GLTs specified in the final part of my specification seem reasonable?
  • I have a subject whose amplitude modulation is constant (they rated the same emotion valence for each stimulus). I can see from the QC that the AM2 regressor is fixed at 0 as a result. Is this necessarily problematic?
  • I was trying to get a bit of a better understanding of the AM2 subbricks #0 and #1 - from looking at the QC output, it seems to me that the 0th subbrick is what I would be interested in to understand which voxels show amplitdue and duration modulation?

Many thanks for all your help. Do let me know if you require me to clarify anything.

Could you please clarify the following:

  • Interval Between Trials: Is there an interval between two consecutive trials? If so, is the interval jittered?

  • Interval Between Phases: For trials that include both a retrieval phase and a rehearsal phase, is there an interval separating the two phases? If so, is the interval jittered?

  • Ratings and Causal Relationships: Regarding the two ratings—emotional valence and the degree of self-blame—what is your primary focus? Are you examining the effect of each rating independently, or are the ratings treated as covariates? Additionally, what are the hypothesized causal relationships among the two ratings, the rehearsal phase, and BOLD responses (e.g., rehearsal \rightarrow emotional valence \rightarrow BOLD)?

Gang Chen

Dear Gang,

Thank you for the reply. Here goes.

  • Interval Between Trials: Is there an interval between two consecutive trials? If so, is the interval jittered?

There is an interval between consecutive trials: a fixation cross appears for two seconds at the end of the subject's rating, indicating the start of the next trial. It isn't jittered.

  • Interval Between Phases: For trials that include both a retrieval phase and a rehearsal phase, is there an interval separating the two phases? If so, is the interval jittered?

In between the retrieval phase and the rehearsal phase, the subjects have a 4 second 'true/false' judgement phase where they have to judge if the statement was true or false. If they judge a true statement as true, then the rehearsal phase commences; in any other case, the trial would skip forward to the next one (i.e. correct judgement of false as false, or incorrect judgement of true as false). Also not jittered.

  • Ratings and Causal Relationships: Regarding the two ratings—emotional valence and the degree of self-blame—what is your primary focus? Are you examining the effect of each rating independently, or are the ratings treated as covariates? Additionally, what are the hypothesized causal relationships among the two ratings, the rehearsal phase, and BOLD responses (e.g., rehearsal → emotional valence → BOLD)?

I want to examine the effects of each rating independently, and the causal relationship would be exactly that - the rehearsal generates an emotional state of a particular intensity, which should lead to the BOLD response.

Thank you.

Even with an instantaneous stimulus, the evoked BOLD response typically peaks around 3–5 seconds and can persist for over 15 seconds. In such cases, the BOLD response with TR = 1 would be captured through, for example, TENTzero(0,15,16). In your case, a basis set such as TENTzero(0,4,4) (though it should actually be TENTzero(0,4,5)) may fail to capture the majority of the BOLD response for the retrieval phase. Similar challenges apply to other phases as well. Furthermore, the fixed 4-second interval between the retrieval and rehearsal phases may limit effective separation of their respective responses. In addition, the 2-second fixed interval between consecutive trials could further complicate efficient modeling by introducing overlap and ambiguity in the temporal dynamics.

Gang Chen

Dear Gang,

Thank you for the comments, that's helpful. I've had a careful think about it.

The primary period I am interesting in analysing is the rehearsal phase, i.e. understanding the brain regions active during the 22 seconds or the 12 seconds. I thought the 4s 'retrieval' could be interesting to model, but its primary purpose in the design was to present the subject with the statement so they can judge it true or false, prior to the main rehearsal phase.

Given that, temporally, the BOLD response of 'retrieval' likely builds into the rehearsal phase, I wonder if I could split the rehearsal phase into an 'early' and 'late' rehearsal, to better understand if there are separate areas involved in the early and late periods. If so, could there be a way of modelling the response up to the ending of the trials i.e. TENT(0,12,12) or TENT(0,22,22) to capture the peak response without overlapping onto the next trial type? And then splitting this up into the build [0..3] and the peak [4..21]/[4..11].

In terms of overlap from the trial types, in some ways, given the statements within a block refer to the same memory, this might mitigate the issue slightly, as overlapping 'true' statements refer to the same memory and therefore I anticipate that similar brain regions should be activated. It may become an issue with the counting trial types, but I could use the TENT to model the later period of the counting trial too.

I am conscious of making the analysis slightly overcomplicated... but eager to hear your thoughts.
Hope that makes sense.

To partially address the issue of overlapping BOLD responses, you could take an exploratory step by combining the retrieval and rehearsal phases into a single condition. Evaluate the estimated BOLD response profile, which may inform your next steps.

Gang Chen

Thanks Gang, I'll try that. Would you recommend TENT or TENTzero for that, and should I extend it to 15s beyond the end of the rehearsal phase?

If no BOLD response is expected at the start of each phase, you can use TENTzero(0,n,n+1), where n represents the duration of the covered period in TRs. If different trial conditions are randomized, consider extending each condition by, for example, 15 seconds to account for the slow recovery.

Gang Chen

If the new model performs reasonably well, consider modeling the retrieval and rehearsal phases separately to determine if this approach leads to meaningful results.

Gang Chen

Hi Gang,

That's really helpful. I'll give that a go.