Summary of what happened:
Hi Experts,
On my universities HPC with a singularity container, I’m trying to run resting state functional connectivity analysis on the output of fmriprep that are BIDS validated.
XCP-D selects the appropriate participant’s T1w and Bold images. Then, despite finding the desired participant’s surface file (sub-1001_hemi-L_pial.surf.gii), it also retrieves all other participants surface files, and returns the below error.
I tried including a --bids-filter-file (below) to process only mni space and ignore surface files, but I get the same error.
{
“bold”: {
“task”: [“rest”],
“space”: [“MNI152NLin2009cAsym”]
}
}
Command used (and if a helper script was used, a link to the helper script or the command generated):
singularity run \
-B $HOME:/home/xcp \
--home /home/xcp \
--cleanenv \
/work/cglab/containers/xcp_d-0.7.0.sif /work/cglab/projects/DORRY/BIDS/RS/derivatives /work/cglab/projects/DORRY/BIDS/RS/derivatives_xcpd/ \
participant \
--participant-label 1001 \
-w /work/cglab/projects/DORRY/work/xcpd \
--input-type fmriprep \
--motion-filter-type notch \
--band-stop-min 15 \
--band-stop-max 25 \
--nuisance-regressors 36P \
--despike \
--smoothing 4 \
--exact-time 30 \
--nthreads 16 \
--fs-license-file /work/cglab/containers/.licenses/freesurfer/license.txt \
--bids-filter-file /work/cglab/projects/DORRY/BIDS/filters/xcpd_bids_filter_dorry_W1_rs.json
Version:
xcp_d = 0.7.0
fmriprep = 23.2.1
Environment (Docker, Singularity / Apptainer, custom installation):
Singularity ContainerData formatted according to a validatable standard? Please provide the output of the validator: Yes
PASTE VALIDATOR OUTPUT HERE
Relevant log outputs (up to 20 lines):
240415-12:14:16,230 nipype.utils IMPORTANT:
Collected data:
anat_brainmask: /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_desc-brain_mask.nii.gz
anat_dseg: /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_dseg.nii.gz
anat_to_template_xfm: /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_from-T1w_to-MNI152NLin2009cAsym_mode-image_xfm.h5
bold:
- /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/func/sub-1001_task-rest_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz
t1w: /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_desc-preproc_T1w.nii.gz
t2w: null
template_to_anat_xfm: /work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_from-MNI152NLin2009cAsym_to-T1w_mode-image_xfm.h5
Process Process-2:
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.10/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/cli/run.py", line 1056, in build_workflow
retval["workflow"] = init_xcpd_wf(
File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/workflows/base.py", line 207, in init_xcpd_wf
single_subj_wf = init_subject_wf(
File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/workflows/base.py", line 394, in init_subject_wf
mesh_available, standard_space_mesh, mesh_files = collect_mesh_data(
File "/usr/local/miniconda/lib/python3.10/site-packages/xcp_d/utils/bids.py", line 461, in collect_mesh_data
raise ValueError(
ValueError: More than one surface found.
Surfaces found:
/work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1001/anat/sub-1001_hemi-L_pial.surf.gii
/work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1002/anat/sub-1002_hemi-L_pial.surf.gii
/work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1006/anat/sub-1006_hemi-L_pial.surf.gii
...
/work/cglab/projects/DORRY/BIDS/RS/derivatives/sub-1155/anat/sub-1155_hemi-L_pial.surf.gii
Query: {'datatype': 'anat', 'hemi': 'L', 'desc': None, 'suffix': 'pial', 'extension': '.surf.gii', 'space': None}