Where to add GOFORIT for 3dREMLfit?

Hello AFNI word!

I’m hoping you can help me make sense of an error I’m getting. I’ve specified GOFORIT and similar in several places in the proc script (see below) but I’m still getting errors. Essentially, we have an empty regressor for some participants (we’re modeling missed trials and some participants didn’t miss any trials)…could you point out where else GOFORIT belongs in this script? My understanding is that regress_reml_exec takes the same matrix as 3dDeconvolve–why can I pass GOFORIT to 3dDeconvolve but not 3dREMLfit using this command? (see below).

Additionally, what concessions do I have to make at the group analysis level if I only use 3dDeconvolve and not 3dREMLfit? If that is the part of the script that’s failing it might be easier to remove -regress_reml_exec but do I lose some important information for corrections, etc. if I do?

For reference, here is the error we’re getting: ** ERROR: matrix column #23 is all zero!?
** FATAL ERROR: Can’t continue with all zero column without -GOFORIT option!

afni_proc.py -subj_id sub-002 -test_stim_files no -script \

/data1/psychology/narps/ds001205/sub-002/afni_proc.002 -scr_overwrite \

-out_dir /data1/psychology/narps/results/sub-002 -blocks tshift align \

tlrc volreg blur mask scale regress -copy_anat \

/data1/psychology/narps/ds001205/sub-002/anat/sub-002_T1w.nii.gz \

-tcat_remove_first_trs 0 -tlrc_base \

/usr/local/afni-16.2.16/MNI152_T1_2009c+tlrc -dsets \

/data1/psychology/narps/ds001205/sub-002/func/sub-002_task-MGT_run-01_bold.nii.gz \

/data1/psychology/narps/ds001205/sub-002/func/sub-002_task-MGT_run-02_bold.nii.gz \

/data1/psychology/narps/ds001205/sub-002/func/sub-002_task-MGT_run-03_bold.nii.gz \

/data1/psychology/narps/ds001205/sub-002/func/sub-002_task-MGT_run-04_bold.nii.gz \

-volreg_align_to MIN_OUTLIER -volreg_align_e2a -align_opts_aea -cost \

lpc+ZZ -ginormous_move -check_flip -volreg_tlrc_warp -tlrc_NL_warp \

-blur_size 6 -regress_stim_times \

/data1/psychology/narps/ds001205/sub-002/sub-002stimTime.1D \

/data1/psychology/narps/ds001205/sub-002/sub-002missedTonset.1D \

/data1/psychology/narps/ds001205/sub-002/sub-002button.1D \

-regress_stim_types AM2 times times -regress_stim_labels Trial Missed \

Button -regress_basis_multi ‘dmBLOCK(0)’ GAM GAM -regress_censor_motion \

1.5 -regress_reml_exec -regress_compute_fitts -regress_opts_3dD -GOFORIT -gltsym \

'SYM: +Trial ’ -glt_label 1 Positive_Control -allzero_OK -GOFORIT 5 \

-jobs 12 -GOFORIT -regress_make_ideal_sum sum_ideal.1D \

-regress_est_blur_epits -regress_est_blur_errts

Thanks so much!

Hi Andrew,

Note that the -opts_ options in afni_proc.py (like your -regress_opts_3dD, which contains -GOFORIT) are for passing options that are unprocessed by afni_proc.py directly to sub-programs. That is to say, afni_proc.py does not know that you passed -GOFORIT to 3dDeconvolve. So since you are also running 3dREMLfit, -GOFORIT needs to be passed along there, too.

On the filp side, it would probably make sense for that option to be automatically passed along by 3dDeconvolve. But as it stands, that is not done.

So for now, add “-regress_opts_reml -GOFORIT” to the afni_proc.py command.

  • rick

Thank you so much for the help! Just looking at the proc generated by the command, everything looks good. Will update if any issues upon actually running the script.

Great, thanks for the update!

  • rick