Tedana: issue with manacc

Hi all,

I’m trying to use tedana v0.0.10 with the option --manacc specified, to force one component to be accepted. However, the manacc option doesn’t seem to have any effect, and the component is still rejected in the results.

I’m first running:

tedana -d sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-2_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-3_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-4_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-5_space-session_desc-midprep3moco_bold.nii.gz -e 14.4 33.89 53.38 72.87 92.36 --out-dir sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_tedana --mask sub-03_task-dyloc_run-05_space-session_desc-brainNonZero_mask.nii.gz --verbose --tedpca aic

Followed by:

tedana -d sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-2_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-3_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-4_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-5_space-session_desc-midprep3moco_bold.nii.gz -e 14.4 33.89 53.38 72.87 92.36 --out-dir sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_tedana --mask sub-03_task-dyloc_run-05_space-session_desc-brainNonZero_mask.nii.gz --verbose --tedpca aic --manacc 20

With the second command, the full algorithm is run again, and the results are identical to the first call, with component 20 still rejected. Any idea what’s going wrong here? Am I using manacc incorrectly? Thanks,

Ben

--manacc requires that you supply the mixing matrix as well (--mix). Otherwise, the actual components will vary based on other factors, including the random seed. In your log, do you see a warning like the following?

Argument "manacc" requires argument "mixm".

One other thing is that manacc will only set the specified components as accepted, so with your command you’d be accepting component 20 and rejecting all other components.

Got it, thanks. I assumed the components in the existing out-dir directory would be used.

At the moment, tedana overwrites files in the output directory automatically, without taking their contents into account. Inferring relevant information from existing files could be a good enhancement, but I think we may need to wait until the outputs are more stable (~0.1.0) before attempting something like that.

I tried rerunning tedana and specifying a mixing matrix as well as manacc, but I’m still getting the same result - the component classifications are the same as before, and component 20 (which I was trying to accept) remains rejected. The call is:

tedana -d sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-2_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-3_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-4_space-session_desc-midprep3moco_bold.nii.gz sub-03_task-dyloc_run-05_echo-5_space-session_desc-midprep3moco_bold.nii.gz -e 14.4 33.89 53.38 72.87 92.36 --out-dir sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_tedana2 --mask sub-03_task-dyloc_run-05_space-session_desc-brainNonZero_mask.nii.gz --verbose --manacc 6 4 9 13 12 8 10 19 7 2 0 3 1 26 21 25 24 27 20 --mix sub-03_task-dyloc_run-05_echo-1_space-session_desc-midprep3moco_tedana/ica_mixing.tsv

Any idea what’s going wrong?

Unfortunately, it looks like there’s a bug in tedana's documentation and input checking. In order to use manacc, you also need to provide the component table (--ctab) from the original run as well. This one’s definitely our fault, and I’ll open an issue about fixing our documentation.

If you add the --ctab argument, pointing to the original component table, I think your command should work.

EDIT: I’ve opened `manacc` documentation and validation is incorrect · Issue #753 · ME-ICA/tedana · GitHub.

Adding --ctab worked. Thanks!