PennLINC / qsiprep

Preprocessing and reconstruction of diffusion MRI
http://qsiprep.readthedocs.io
BSD 3-Clause "New" or "Revised" License
137 stars 54 forks source link

"Original files don't match" #374

Open arokem opened 2 years ago

arokem commented 2 years ago

I ran into this one:

https://github.com/PennLINC/qsiprep/blob/429afc60781b74f58aa0e5d1eb9ab7433edc14bd/qsiprep/interfaces/confounds.py#L172

working with a dataset that has a pepolar acquisition: one acquisiting has 5 AP b=0 and the other has 103 PA with four non-zero shells.

The log for that run looks like this:

Node: qsiprep_wf.single_subject_001_wf.dwi_preproc_wf.confounds_wf.concat
Working directory: /tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/confounds_wf/concat

Node inputs:

denoising_confounds = /tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/pre_hmc_wf/rpe_concat/merge__merged_confounds.csv
fd = /tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/confounds_wf/fdisp/fd_power_2012.txt
motion = /tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/confounds_wf/add_motion_headers/eddy_correctedspm_rp_motion.tsv
original_bvals = ['/tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/pre_hmc_wf/rpe_concat/merge__merged.bval']
original_bvecs = ['/tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/pre_hmc_wf/rpe_concat/merge__merged.bvec']
original_files = ['/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-PA_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-AP_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-AP_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-AP_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-AP_dwi.nii.gz', '/data/sub-001/dwi/sub-001_dir-AP_dwi.nii.gz']
sliceqc_file = /tmp/work/qsiprep_wf/single_subject_001_wf/dwi_preproc_wf/hmc_sdc_wf/eddy/eddy_corrected.eddy_outlier_n_sqr_stdev_map

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/plugins/multiproc.py", line 344, in _send_procs_to_workers
    self.procs[jobid].run(updatehash=updatehash)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 521, in run
    result = self._run_interface(execute=True)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 639, in _run_interface
    return self._run_command(execute)
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 750, in _run_command
    raise NodeExecutionError(
nipype.pipeline.engine.nodes.NodeExecutionError: Exception raised while executing Node concat.

Traceback (most recent call last):
  File "/usr/local/miniconda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 398, in run
    runtime = self._run_interface(runtime)
  File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/interfaces/confounds.py", line 53, in _run_interface
    combined_out, confounds_list = _gather_confounds(
  File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/interfaces/confounds.py", line 174, in _gather_confounds
    raise Exception("Original files don't match. File a bug report!")
Exception: Original files don't match. File a bug report!

Does it makes sense that each of the two files is replicated n_bvals times under "original_files"? Any ideas on how to debug this error? I am running version 0.15.3.

cookpa commented 2 years ago

I think if you have data like this, the AP b=0 images need to go in the fmap/ folder as _epi.nii.gz images, with a sidecar including "IntendedFor": "dwi/sub-001_dir-PA_dwi.nii.gz".

I'm not sure about the repetition of the DWI files, but I'd suggest running the data through the BIDS validator, to see if that gives any clues.