[RESOLVED] Setting up HCP MSMALL Pipeline

Hi all,

I am trying to run HCP MSMALL Pipeline. Everything works well until running “hcp_msmall” command. Could you help me find out the problems?

I have two subjects as example data, which are HCP001 and HCP002. Here is my commands:

	qunex_container hcp_icafix \
            --sessionsfolder="${WORK_DIR}/${STUDY_NAME}/sessions" \
	    --batchfile="${WORK_DIR}/${STUDY_NAME}/processing/batch.txt" \
	    --parsessions="${PARSES}" \
            --sessions="${SUBJ}" \
            --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" \
            --bind="${WORK_DIR}:${WORK_DIR}" \
            --container="${QUNEX_CONTAINER}"
	

	qunex_container hcp_post_fix \
            --sessionsfolder="${WORK_DIR}/${STUDY_NAME}/sessions" \
	    --batchfile="${WORK_DIR}/${STUDY_NAME}/processing/batch.txt" \
	    --parsessions="${PARSES}" \
            --hcp_matlab_mode="compiled" \
            --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" \
            --bind="${WORK_DIR}:${WORK_DIR}" \
            --container="${QUNEX_CONTAINER}"


	qunex_container hcp_reapply_fix \
            --sessionsfolder="${WORK_DIR}/${STUDY_NAME}/sessions" \
	    --batchfile="${WORK_DIR}/${STUDY_NAME}/processing/batch.txt" \
	    --parsessions="${PARSES}" \
            --sessions="${SUBJ}" \
            --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" \
            --bind="${WORK_DIR}:${WORK_DIR}" \
            --container="${QUNEX_CONTAINER}" 

	qunex_container hcp_msmall \
            --sessionsfolder="${WORK_DIR}/${STUDY_NAME}/sessions" \
	    --batchfile="${WORK_DIR}/${STUDY_NAME}/processing/batch.txt" \
            --bind="${WORK_DIR}:${WORK_DIR}" \
            --hcp_matlab_mode="compiled" \
            --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" \
            --container="${QUNEX_CONTAINER}";
		

And the error is:



---> QuNex will run the command over 2 sessions. It will utilize:

    Maximum sessions run in parallel for a job: 1.
    Maximum elements run in parallel for a session: 1.
    Up to 1 processes will be utilized for a job.

    Job #1 will run sessions: HCP001,HCP002
---> unsetting the following environment variables: PATH MATLABPATH PYTHONPATH QUNEXVer TOOLS QUNEXREPO QUNEXPATH QUNEXEXTENSIONS QUNEXLIBRARY QUNEXLIBRARYETC TemplateFolder FSL_FIXDIR FREESURFERDIR FREESURFER_HOME FREESURFER_SCHEDULER FreeSurferSchedulerDIR WORKBENCHDIR DCMNIIDIR DICMNIIDIR MATLABDIR MATLABBINDIR OCTAVEDIR OCTAVEPKGDIR OCTAVEBINDIR RDIR HCPWBDIR AFNIDIR PYLIBDIR FSLDIR FSLBINDIR PALMDIR QUNEXMCOMMAND HCPPIPEDIR CARET7DIR GRADUNWARPDIR HCPPIPEDIR_Templates HCPPIPEDIR_Bin HCPPIPEDIR_Config HCPPIPEDIR_PreFS HCPPIPEDIR_FS HCPPIPEDIR_FS_CUSTOM HCPPIPEDIR_PostFS HCPPIPEDIR_fMRISurf HCPPIPEDIR_fMRIVol HCPPIPEDIR_tfMRI HCPPIPEDIR_dMRI HCPPIPEDIR_dMRITract HCPPIPEDIR_Global HCPPIPEDIR_tfMRIAnalysis HCPCIFTIRWDIR MSMBin HCPPIPEDIR_dMRITractFull HCPPIPEDIR_dMRILegacy AutoPtxFolder EDDYCUDA USEOCTAVE QUNEXENV CONDADIR MSMBINDIR MSMCONFIGDIR R_LIBS FSL_FIX_CIFTIRW FSFAST_HOME SUBJECTS_DIR MINC_BIN_DIR MNI_DIR MINC_LIB_DIR MNI_DATAPATH FSF_OUTPUT_FORMAT ANTSDIR CUDIMOT

========================================================================
Generated by QuNex
------------------------------------------------------------------------
Version: 1.0.4 [QIO]
User: root
System: f888cd86a1cc
OS: Debian Linux #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2
------------------------------------------------------------------------

        ██████\                  ║      ██\   ██\
       ██  __██\                 ║      ███\  ██ |
       ██ /  ██ |██\   ██\       ║      ████\ ██ | ██████\ ██\   ██\
       ██ |  ██ |██ |  ██ |      ║      ██ ██\██ |██  __██\\██\ ██  |
       ██ |  ██ |██ |  ██ |      ║      ██ \████ |████████ |\████  /
       ██ ██\██ |██ |  ██ |      ║      ██ |\███ |██   ____|██  ██\
       \██████ / \██████  |      ║      ██ | \██ |\███████\██  /\██\
        \___███\  \______/       ║      \__|  \__| \_______\__/  \__|
            \___|                ║


                       DEVELOPED & MAINTAINED BY:

               Mind & Brain Lab, University of Ljubljana
                       Cho Lab, Yale University

                      COPYRIGHT & LICENSE NOTICE:

Use of this software is subject to the terms and conditions defined in
QuNex LICENSES which can be found in the LICENSES folder of the QuNex
repository or at https://qunex.yale.edu/qunex-registration
========================================================================

---> Setting up Octave


.......................... Running QuNex v1.0.4 [QIO] ..........................


--- Full QuNex call for command: hcp_msmall

qunex hcp_msmall --sessionsfolder="/home/yumingz/qunex/TRY/sessions" --hcp_matlab_mode="compiled" --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" --batchfile="/home/yumingz/qunex/TRY/processing/batch.txt" --sessions="HCP001,HCP002"

---------------------------------------------------------


# Generated by QuNex 1.0.4 [QIO] on 2025-03-16_07.08.06.792386#
=================================================================
qunex hcp_msmall \
  --sessionsfolder="/home/yumingz/qunex/TRY/sessions" \
  --hcp_matlab_mode="compiled" \
  --hcp_icafix_bolds="GROUP_1:BOLD_1,BOLD_2" \
  --sessions="/home/yumingz/qunex/TRY/processing/batch.txt" \
  --sessionids="HCP001,HCP002" \
=================================================================

Starting multiprocessing sessions in /home/yumingz/qunex/TRY/processing/batch.txt with a pool of 1 concurrent processes


Starting processing of sessions HCP001 at Sunday, 16. March 2025 07:08:06

------------------------------------------------------------
Session id: HCP001
[started on Sunday, 16. March 2025 07:08:06]
Running HCP MSMAll pipeline [HCPStyleData] ...

Comparing bolds with those specifed via parameters
     ... all bolds specified via hcp_icafix_bolds are present

Multi-run HCP ICAFix on 1 groups

------------------------------------------------------------
---> Processing MSMAll rfMRI_REST
     ... bold image BOLD_1 present
     ... bold image BOLD_2 present
     ... ICA GROUP_1 present
 --- Failed during processing of group GROUP_1 with error:
 Traceback (most recent call last):
  File "/opt/qunex/python/qx_utilities/hcp/process_hcp.py", line 9237, in executeHCPMultiMSMAll
    fixnamestouse = "@".join(group["msmall_bolds"])
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, tuple found



HCP MSMAll completed on Sunday, 16. March 2025 07:08:06
------------------------------------------------------------

Starting processing of sessions HCP002 at Sunday, 16. March 2025 07:08:06

------------------------------------------------------------
Session id: HCP002
[started on Sunday, 16. March 2025 07:08:06]
Running HCP MSMAll pipeline [HCPStyleData] ...

Comparing bolds with those specifed via parameters
     ... all bolds specified via hcp_icafix_bolds are present

Multi-run HCP ICAFix on 1 groups

------------------------------------------------------------
---> Processing MSMAll rfMRI_REST
     ... bold image BOLD_1 present
     ... bold image BOLD_2 present
     ... ICA GROUP_1 present
 --- Failed during processing of group GROUP_1 with error:
 Traceback (most recent call last):
  File "/opt/qunex/python/qx_utilities/hcp/process_hcp.py", line 9237, in executeHCPMultiMSMAll
    fixnamestouse = "@".join(group["msmall_bolds"])
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, tuple found



HCP MSMAll completed on Sunday, 16. March 2025 07:08:06
------------------------------------------------------------


---> Final report for command hcp_msmall
... HCP001 ---> HCP MSMAll: bolds GROUP_1 failed
... HCP002 ---> HCP MSMAll: bolds GROUP_1 failed
---> Not all tasks completed fully!

My qunex_container is:QUNEX_CONTAINER=“gitlab.qunex.yale.edu:5002/qunex/qunexcontainer:1.0.4”

Best,
Acacius

Hi Acacius,

This was a bug in the 1.0.4 version that was already fixed. Please update to the latest version (1.1.1).

Also, I think you can skip some steps. hcp_post_fix is automatically executed after hcp_icafix unless manually disabled, as you are not doint this in the hcp_icafix call, the hcp_post_fix call that follows is redundant. Also hcp_reapply_fix is used when you manually tweak components or train your own models. I assume you are not doing this? If this is true, that you can skip this as well. In other words, you can jump to hcp_msmall right after hcp_icafix.

Best, Jure