Having trouble running QSIPrep

login-2:scratch$ seff 13637849
Job ID: 13637849
Cluster: zaratan
User/Group: ga2541/zt-romeo-prj
State: CANCELLED (exit code 0)
Nodes: 1
Cores per node: 6
CPU Utilized: 06:35:28
CPU Efficiency: 3.19% of 8-14:29:24 core-walltime
Job Wall-clock time: 1-10:24:54
Memory Utilized: 13.66 GB
Memory Efficiency: 58.30% of 23.44 GB

Can you please share the most recent script you are using, the BIDS validation report, and try increasing memory/cpu? Maybe try 16cpu/32gb.

Of course!

#!/bin/bash
#SBATCH --job-name=qsiprep
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=6
#SBATCH --time=50:00:00
#SBATCH --mem=24000
#SBATCH --mail-user=ga2541@umd.edu
#SBATCH --mail-type=ALL
#
Sub=$1
participant=${Sub#sub-}
bids_dir=/scratch/zt1/project/romeo-prj/shared/fact
output_dir=/scratch/zt1/project/romeo-prj/shared/fact_qsiprep_output
work_dir=/scratch/zt1/project/romeo-prj/shared/fact_qsiprep_work
module load apptainer

echo "------------------------------------------------------------------"
echo "started QSIprep"
echo ${Sub}
date
echo "------------------------------------------------------------------"

cd /home/${USER}/scratch

# >>> Add TemplateFlow support
export APPTAINERENV_TEMPLATEFLOW_HOME=/templateflow
# <<< End

apptainer exec --cleanenv --containall \
    --bind ${bids_dir}:/data:ro \
    --bind ${output_dir}:/out \
    --bind ${work_dir}:/work \
    --bind /home/${USER}/templateflow:/templateflow \
    qsiprep_1.0.1.sif \
    qsiprep /data /out participant \
    --participant-label ${participant} \
    --fs-license-file /home/${USER}/license.txt \
    --separate-all-dwis \
    --output-resolution 1.25 \
    --skip-bids-validation \
    -w /work

echo "------------------------------------------------------------------"
echo "Ended QSIprep"
echo ${Sub}
date
echo "------------------------------------------------------------------"  

bids-validator report:

login-3:fact$ bids-validator-deno /scratch/zt1/project/romeo-prj/shared/fact/sub-FACT181
	[WARNING] GZIP_HEADER_MTIME The gzip header contains a non-zero timestamp.
This may leak sensitive information or indicate a non-reproducible conversion process.

		/ses-pre/sub-FACT181_ses-pre_dir-AP_epi.nii.gz
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz

		4 more files with the same issue

	Please visit https://neurostars.org/search?q=GZIP_HEADER_MTIME for existing conversations about this issue.

	[WARNING] SIDECAR_KEY_RECOMMENDED A data file's JSON sidecar is missing a key listed as recommended.
		StimulusPresentation
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_events.tsv - Field description: Object containing key-value pairs related to the software used to present
the stimuli during the experiment.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_events.tsv - Field description: Object containing key-value pairs related to the software used to present
the stimuli during the experiment.


		1 more files with the same issue

		NumberOfVolumesDiscardedByScanner
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Number of volumes ("dummy scans") discarded by the scanner
(as opposed to those discarded by the user post hoc)
before saving the imaging file.
For example, a sequence that automatically discards the first 4 volumes
before saving would have this field as 4.
A sequence that does not discard dummy scans would have this set to 0.
Please note that the onsets recorded in the `events.tsv` file should always
refer to the beginning of the acquisition of the first volume in the
corresponding imaging file - independent of the value of
`"NumberOfVolumesDiscardedByScanner"` field.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Number of volumes ("dummy scans") discarded by the scanner
(as opposed to those discarded by the user post hoc)
before saving the imaging file.
For example, a sequence that automatically discards the first 4 volumes
before saving would have this field as 4.
A sequence that does not discard dummy scans would have this set to 0.
Please note that the onsets recorded in the `events.tsv` file should always
refer to the beginning of the acquisition of the first volume in the
corresponding imaging file - independent of the value of
`"NumberOfVolumesDiscardedByScanner"` field.


		1 more files with the same issue

		NumberOfVolumesDiscardedByUser
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Number of volumes ("dummy scans") discarded by the user before including the
file in the dataset.
If possible, including all of the volumes is strongly recommended.
Please note that the onsets recorded in the `events.tsv` file should always
refer to the beginning of the acquisition of the first volume in the
corresponding imaging file - independent of the value of
`"NumberOfVolumesDiscardedByUser"` field.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Number of volumes ("dummy scans") discarded by the user before including the
file in the dataset.
If possible, including all of the volumes is strongly recommended.
Please note that the onsets recorded in the `events.tsv` file should always
refer to the beginning of the acquisition of the first volume in the
corresponding imaging file - independent of the value of
`"NumberOfVolumesDiscardedByUser"` field.


		1 more files with the same issue

		DelayTime
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: User specified time (in seconds) to delay the acquisition of data for the
following volume.
If the field is not present it is assumed to be set to zero.
Corresponds to Siemens CSA header field `lDelayTimeInTR`.
This field is REQUIRED for sparse sequences using the `"RepetitionTime"` field
that do not have the `"SliceTiming"` field set to allowed for accurate
calculation of "acquisition time".
This field is mutually exclusive with `"VolumeTiming"`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: User specified time (in seconds) to delay the acquisition of data for the
following volume.
If the field is not present it is assumed to be set to zero.
Corresponds to Siemens CSA header field `lDelayTimeInTR`.
This field is REQUIRED for sparse sequences using the `"RepetitionTime"` field
that do not have the `"SliceTiming"` field set to allowed for accurate
calculation of "acquisition time".
This field is mutually exclusive with `"VolumeTiming"`.


		1 more files with the same issue

		AcquisitionDuration
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Duration (in seconds) of volume acquisition.
Corresponds to DICOM Tag 0018, 9073 `Acquisition Duration`.
This field is mutually exclusive with `"RepetitionTime"`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Duration (in seconds) of volume acquisition.
Corresponds to DICOM Tag 0018, 9073 `Acquisition Duration`.
This field is mutually exclusive with `"RepetitionTime"`.


		1 more files with the same issue

		DelayAfterTrigger
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Duration (in seconds) from trigger delivery to scan onset.
This delay is commonly caused by adjustments and loading times.
This specification is entirely independent of
`"NumberOfVolumesDiscardedByScanner"` or `"NumberOfVolumesDiscardedByUser"`,
as the delay precedes the acquisition.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Duration (in seconds) from trigger delivery to scan onset.
This delay is commonly caused by adjustments and loading times.
This specification is entirely independent of
`"NumberOfVolumesDiscardedByScanner"` or `"NumberOfVolumesDiscardedByUser"`,
as the delay precedes the acquisition.


		1 more files with the same issue

		Instructions
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Text of the instructions given to participants before the recording.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Text of the instructions given to participants before the recording.


		1 more files with the same issue

		TaskDescription
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Longer description of the task.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Longer description of the task.


		1 more files with the same issue

		CogAtlasID
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: [URI](SPEC_ROOT/common-principles.md#uniform-resource-indicator)
of the corresponding [Cognitive Atlas](https://www.cognitiveatlas.org/)
Task term.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: [URI](SPEC_ROOT/common-principles.md#uniform-resource-indicator)
of the corresponding [Cognitive Atlas](https://www.cognitiveatlas.org/)
Task term.


		1 more files with the same issue

		CogPOID
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: [URI](SPEC_ROOT/common-principles.md#uniform-resource-indicator)
of the corresponding [CogPO](http://www.cogpo.org/) term.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: [URI](SPEC_ROOT/common-principles.md#uniform-resource-indicator)
of the corresponding [CogPO](http://www.cogpo.org/) term.


		1 more files with the same issue

		ReceiveCoilActiveElements
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Information describing the active/selected elements of the receiver coil.
This does not correspond to a tag in the DICOM ontology.
The vendor-defined terminology for active coil elements can go in this field.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Information describing the active/selected elements of the receiver coil.
This does not correspond to a tag in the DICOM ontology.
The vendor-defined terminology for active coil elements can go in this field.


		3 more files with the same issue

		GradientSetType
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: It should be possible to infer the gradient coil from the scanner model.
If not, for example because of a custom upgrade or use of a gradient
insert set, then the specifications of the actual gradient coil should be
reported independently.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: It should be possible to infer the gradient coil from the scanner model.
If not, for example because of a custom upgrade or use of a gradient
insert set, then the specifications of the actual gradient coil should be
reported independently.


		3 more files with the same issue

		MRTransmitCoilSequence
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: This is a relevant field if a non-standard transmit coil is used.
Corresponds to DICOM Tag 0018, 9049 `MR Transmit Coil Sequence`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: This is a relevant field if a non-standard transmit coil is used.
Corresponds to DICOM Tag 0018, 9049 `MR Transmit Coil Sequence`.


		3 more files with the same issue

		MatrixCoilMode
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: (If used)
A method for reducing the number of independent channels by combining in
analog the signals from multiple coil elements.
There are typically different default modes when using un-accelerated or
accelerated (for example, `"GRAPPA"`, `"SENSE"`) imaging.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: (If used)
A method for reducing the number of independent channels by combining in
analog the signals from multiple coil elements.
There are typically different default modes when using un-accelerated or
accelerated (for example, `"GRAPPA"`, `"SENSE"`) imaging.


		3 more files with the same issue

		CoilCombinationMethod
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Almost all fMRI studies using phased-array coils use root-sum-of-squares
(rSOS) combination, but other methods exist.
The image reconstruction is changed by the coil combination method
(as for the matrix coil mode above),
so anything non-standard should be reported.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Almost all fMRI studies using phased-array coils use root-sum-of-squares
(rSOS) combination, but other methods exist.
The image reconstruction is changed by the coil combination method
(as for the matrix coil mode above),
so anything non-standard should be reported.


		3 more files with the same issue

		PulseSequenceType
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: A general description of the pulse sequence used for the scan.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: A general description of the pulse sequence used for the scan.


		3 more files with the same issue

		MTState
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Boolean stating whether the magnetization transfer pulse is applied.
Corresponds to DICOM Tag 0018, 9020 `Magnetization Transfer`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Boolean stating whether the magnetization transfer pulse is applied.
Corresponds to DICOM Tag 0018, 9020 `Magnetization Transfer`.


		3 more files with the same issue

		SpoilingState
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: Boolean stating whether the pulse sequence uses any type of spoiling
strategy to suppress residual transverse magnetization.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: Boolean stating whether the pulse sequence uses any type of spoiling
strategy to suppress residual transverse magnetization.


		3 more files with the same issue

		NumberShots
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The number of RF excitations needed to reconstruct a slice or volume
(may be referred to as partition).
Please mind that this is not the same as Echo Train Length which denotes the
number of k-space lines collected after excitation in a multi-echo readout.
The data type array is applicable for specifying this parameter before and
after the k-space center is sampled.
Please see
[`"NumberShots"` metadata field]\
(SPEC_ROOT/appendices/qmri.md#numbershots-metadata-field)
in the qMRI appendix for corresponding calculations.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The number of RF excitations needed to reconstruct a slice or volume
(may be referred to as partition).
Please mind that this is not the same as Echo Train Length which denotes the
number of k-space lines collected after excitation in a multi-echo readout.
The data type array is applicable for specifying this parameter before and
after the k-space center is sampled.
Please see
[`"NumberShots"` metadata field]\
(SPEC_ROOT/appendices/qmri.md#numbershots-metadata-field)
in the qMRI appendix for corresponding calculations.


		3 more files with the same issue

		ParallelReductionFactorInPlane
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The parallel imaging (for instance, GRAPPA) factor in plane.
Use the denominator of the fraction of k-space encoded for each slice.
For example, 2 means half of k-space is encoded.
Corresponds to DICOM Tag 0018, 9069 `Parallel Reduction Factor In-plane`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The parallel imaging (for instance, GRAPPA) factor in plane.
Use the denominator of the fraction of k-space encoded for each slice.
For example, 2 means half of k-space is encoded.
Corresponds to DICOM Tag 0018, 9069 `Parallel Reduction Factor In-plane`.


		1 more files with the same issue

		ParallelReductionFactorOutOfPlane
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The parallel imaging (for instance, GRAPPA) factor in the second phase encoding dimension of 3D sequences.
Use the denominator of the fraction of k-space encoded in the second phase encoding dimension.
For example, 2 means half of k-space is encoded.
Will typically be 1 for 2D sequences, as each slice in a 2D acquisition is usually fully encoded.
`ParallelReductionFactorOutOfPlane` should not be confused with `MultibandAccelerationFactor`,
as they imply different methods of accelerating the acquisition.
Corresponds to DICOM Tag 0018, 9155 `Parallel Reduction Factor out-of-plane`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The parallel imaging (for instance, GRAPPA) factor in the second phase encoding dimension of 3D sequences.
Use the denominator of the fraction of k-space encoded in the second phase encoding dimension.
For example, 2 means half of k-space is encoded.
Will typically be 1 for 2D sequences, as each slice in a 2D acquisition is usually fully encoded.
`ParallelReductionFactorOutOfPlane` should not be confused with `MultibandAccelerationFactor`,
as they imply different methods of accelerating the acquisition.
Corresponds to DICOM Tag 0018, 9155 `Parallel Reduction Factor out-of-plane`.


		3 more files with the same issue

		ParallelAcquisitionTechnique
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The type of parallel imaging used (for example `"GRAPPA"`, `"SENSE"`).
Corresponds to DICOM Tag 0018, 9078 `Parallel Acquisition Technique`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The type of parallel imaging used (for example `"GRAPPA"`, `"SENSE"`).
Corresponds to DICOM Tag 0018, 9078 `Parallel Acquisition Technique`.


		3 more files with the same issue

		PartialFourierDirection
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The direction where only partial Fourier information was collected.
Corresponds to DICOM Tag 0018, 9036 `Partial Fourier Direction`.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The direction where only partial Fourier information was collected.
Corresponds to DICOM Tag 0018, 9036 `Partial Fourier Direction`.


		3 more files with the same issue

		MixingTime
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: In the context of a stimulated- and spin-echo 3D EPI sequence for B1+ mapping
or a stimulated-echo MRS sequence,
corresponds to the interval between spin- and stimulated-echo pulses.
In the context of a diffusion-weighted double spin-echo sequence,
corresponds to the interval between two successive diffusion sensitizing
gradients, specified in seconds.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: In the context of a stimulated- and spin-echo 3D EPI sequence for B1+ mapping
or a stimulated-echo MRS sequence,
corresponds to the interval between spin- and stimulated-echo pulses.
In the context of a diffusion-weighted double spin-echo sequence,
corresponds to the interval between two successive diffusion sensitizing
gradients, specified in seconds.


		3 more files with the same issue

		InversionTime
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The inversion time (TI) for the acquisition, specified in seconds.
Inversion time is the time after the middle of inverting RF pulse to middle
of excitation pulse to detect the amount of longitudinal magnetization.
Corresponds to DICOM Tag 0018, 0082 `Inversion Time`
(please note that the DICOM term is in milliseconds not seconds).

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The inversion time (TI) for the acquisition, specified in seconds.
Inversion time is the time after the middle of inverting RF pulse to middle
of excitation pulse to detect the amount of longitudinal magnetization.
Corresponds to DICOM Tag 0018, 0082 `Inversion Time`
(please note that the DICOM term is in milliseconds not seconds).


		3 more files with the same issue

		SliceEncodingDirection
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The axis of the NIfTI data along which slices were acquired,
and the direction in which `"SliceTiming"` is defined with respect to.
`i`, `j`, `k` identifiers correspond to the first, second and third axis of
the data in the NIfTI file.
A `-` sign indicates that the contents of `"SliceTiming"` are defined in
reverse order - that is, the first entry corresponds to the slice with the
largest index, and the final entry corresponds to slice index zero.
When present, the axis defined by `"SliceEncodingDirection"` needs to be
consistent with the `slice_dim` field in the NIfTI header.
When absent, the entries in `"SliceTiming"` must be in the order of increasing
slice index as defined by the NIfTI header.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The axis of the NIfTI data along which slices were acquired,
and the direction in which `"SliceTiming"` is defined with respect to.
`i`, `j`, `k` identifiers correspond to the first, second and third axis of
the data in the NIfTI file.
A `-` sign indicates that the contents of `"SliceTiming"` are defined in
reverse order - that is, the first entry corresponds to the slice with the
largest index, and the final entry corresponds to slice index zero.
When present, the axis defined by `"SliceEncodingDirection"` needs to be
consistent with the `slice_dim` field in the NIfTI header.
When absent, the entries in `"SliceTiming"` must be in the order of increasing
slice index as defined by the NIfTI header.


		2 more files with the same issue

		MultibandAccelerationFactor
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz - Field description: The multiband factor, for multiband acquisitions.

		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz - Field description: The multiband factor, for multiband acquisitions.


		3 more files with the same issue

		EffectiveEchoSpacing
		/ses-pre/anat/sub-FACT181_ses-pre_T1w.nii.gz - Field description: The "effective" sampling interval, specified in seconds,
between lines in the phase-encoding direction,
defined based on the size of the reconstructed image in the phase direction.
It is frequently, but incorrectly, referred to as "dwell time"
(see the `"DwellTime"` parameter for actual dwell time).
It is required for unwarping distortions using field maps.
Note that beyond just in-plane acceleration,
a variety of other manipulations to the phase encoding need to be accounted
for properly, including partial fourier, phase oversampling,
phase resolution, phase field-of-view and interpolation.


		PhaseEncodingDirection
		/ses-pre/anat/sub-FACT181_ses-pre_T1w.nii.gz - Field description: The letters `i`, `j`, `k` correspond to the first, second and third axis of
the data in the NIFTI file.
The polarity of the phase encoding is assumed to go from zero index to
maximum index unless `-` sign is present
(then the order is reversed - starting from the highest index instead of
zero).
`PhaseEncodingDirection` is defined as the direction along which phase is was
modulated which may result in visible distortions.
Note that this is not the same as the DICOM term
`InPlanePhaseEncodingDirection` which can have `ROW` or `COL` values.


		TotalReadoutTime
		/ses-pre/anat/sub-FACT181_ses-pre_T1w.nii.gz - Field description: This is actually the "effective" total readout time,
defined as the readout duration, specified in seconds,
that would have generated data with the given level of distortion.
It is NOT the actual, physical duration of the readout train.
If `"EffectiveEchoSpacing"` has been properly computed,
it is just `EffectiveEchoSpacing * (ReconMatrixPE - 1)`.


	Please visit https://neurostars.org/search?q=SIDECAR_KEY_RECOMMENDED for existing conversations about this issue.

	[WARNING] TSV_ADDITIONAL_COLUMNS_UNDEFINED A TSV file has extra columns which are not defined in its associated JSON sidecar
		amplitude
		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_events.tsv

		TODO -- fill in rows and add more tab-separated columns if desired
		/ses-pre/func/sub-FACT181_ses-pre_task-rest_run-01_events.tsv
		/ses-pre/func/sub-FACT181_ses-pre_task-topuprest_run-01_events.tsv

	Please visit https://neurostars.org/search?q=TSV_ADDITIONAL_COLUMNS_UNDEFINED for existing conversations about this issue.

	[WARNING] EVENTS_TSV_MISSING Task scans should have a corresponding 'events.tsv' file.
If this is a resting state scan you can ignore this warning or rename the task to include the word "rest".

		/ses-pre/func/sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz

	Please visit https://neurostars.org/search?q=EVENTS_TSV_MISSING for existing conversations about this issue.

	[ERROR] MISSING_DATASET_DESCRIPTION A dataset_description.json file is required in the root of the dataset
		

	Please visit https://neurostars.org/search?q=MISSING_DATASET_DESCRIPTION for existing conversations about this issue.

	[ERROR] INVALID_LOCATION The file has a valid name, but is located in an invalid directory.
		/ses-pre/sub-FACT181_ses-pre_dir-AP_epi.nii.gz - Expected location: /sub-FACT181/ses-pre/
		/ses-pre/sub-FACT181_ses-pre_dir-AP_epi.json - Expected location: /sub-FACT181/ses-pre/

		15 more files with the same issue

	Please visit https://neurostars.org/search?q=INVALID_LOCATION for existing conversations about this issue.

Please note that re the two errors it is showing at the end:

  1. the dataset sescription file is located in the root of the directory like I showed in previous conversation
  2. the /ses-pre/sub-FACT181_ses-pre_dir-AP_epi .json and .nii.gz files are both within the /sub-FACT181/ses-pre/ directory so I don’t know why this error persists. But given that QSIPrep didn’t throw errors, we might be good. (?).

I will definitely increase the cpu and memory now when i send multiple subjects as an array.

Thanks!
Gavkhar

Hi @gavkhar_a,

Can you show the tree output of the bids root and of the subject folder? It is unclear why those errors are still occurring if you made the fixes. And print the content of your dataset description.

Best,
Steven

I didn’t have tree installed on the server that could get this output so I just copy paster how it looks (hope this is ok):

login-2:fact$ ls
dataset_description.json  sub-FACT113  sub-FACT126  sub-FACT138  sub-FACT150  sub-FACT163  sub-FACT177
sub-FACT101               sub-FACT114  sub-FACT127  sub-FACT139  sub-FACT151  sub-FACT165  sub-FACT178
sub-FACT102               sub-FACT115  sub-FACT128  sub-FACT140  sub-FACT152  sub-FACT166  sub-FACT179
sub-FACT103               sub-FACT116  sub-FACT129  sub-FACT141  sub-FACT154  sub-FACT167  sub-FACT180
sub-FACT104               sub-FACT117  sub-FACT130  sub-FACT142  sub-FACT155  sub-FACT168  sub-FACT181
sub-FACT105               sub-FACT118  sub-FACT131  sub-FACT143  sub-FACT156  sub-FACT169  sub-FACT182
sub-FACT106               sub-FACT119  sub-FACT132  sub-FACT144  sub-FACT157  sub-FACT171
sub-FACT107               sub-FACT120  sub-FACT133  sub-FACT145  sub-FACT158  sub-FACT172
sub-FACT108               sub-FACT121  sub-FACT134  sub-FACT146  sub-FACT159  sub-FACT173
sub-FACT109               sub-FACT122  sub-FACT135  sub-FACT147  sub-FACT160  sub-FACT174
sub-FACT110               sub-FACT123  sub-FACT136  sub-FACT148  sub-FACT161  sub-FACT175
sub-FACT111               sub-FACT124  sub-FACT137  sub-FACT149  sub-FACT162  sub-FACT176

Here is the subject folder:

login-2:fact$ cd sub-FACT181
login-2:sub-FACT181$ ls
ses-pre
login-2:sub-FACT181$ cd ses-pre
login-2:ses-pre$ ls
anat  dwi  fmap  func
login-2:ses-pre$ cd func
login-2:func$ ls
sub-FACT181_ses-pre_task-rest_run-01_bold.json     sub-FACT181_ses-pre_task-story_run-01_events.tsv
sub-FACT181_ses-pre_task-rest_run-01_bold.nii.gz   sub-FACT181_ses-pre_task-topuprest_run-01_bold.json
sub-FACT181_ses-pre_task-rest_run-01_events.tsv    sub-FACT181_ses-pre_task-topuprest_run-01_bold.nii.gz
sub-FACT181_ses-pre_task-story_run-01_bold.json    sub-FACT181_ses-pre_task-topuprest_run-01_events.tsv
sub-FACT181_ses-pre_task-story_run-01_bold.nii.gz
login-2:func$ cd ..
login-2:ses-pre$ cd anat
login-2:anat$ ls
sub-FACT181_ses-pre_T1w.json  sub-FACT181_ses-pre_T1w.nii.gz
login-2:anat$ cd ..
login-2:ses-pre$ cd dwi
login-2:dwi$ ls
sub-FACT181_ses-pre_dwi.bval  sub-FACT181_ses-pre_dwi.json
sub-FACT181_ses-pre_dwi.bvec  sub-FACT181_ses-pre_dwi.nii.gz
login-2:fmap$ ls 
sub-FACT181_ses-pre_dir-AP_epi.json  sub-FACT181_ses-pre_dir-AP_epi.nii.gz

content of the dataset description file:

login-2:fact$ cat dataset_description.json 
{
    "Name": "FACT dataset",
    "BIDSVersion": "1.8.0"
}
login-2:fact$ 

Thanks so much!
Gavkhar

Hi @gavkhar_a,

You can install tree in a conda environment.

It looks like your BIDS directory is missing other important files like README, participants.json/tsv, etc.

There are also more required fields expected in the dataset_description.json file.

I encourage you to look at the BIDS specification: Modality agnostic files - Brain Imaging Data Structure 1.10.0

And sorry to keep asking for this, but it still is not clear to me what these topup files (for DWI or fMRI) are. Are they single-volume reverse phase encoded b0 maps straight from the scanner that are meant to be put into topup? Or are they some derivative of topup processing? It just seems odd that they would have the same phase encoding direction as the primary DWI series.

Best,
Steven

Best,
Steven

Thanks! I realize that there is no participants.json/tsv etc missing. A curiosity question though: We were able to run full fmriprep on all these participants recently. I know QSIPrep works similarly to FMRIprep so I wonder why we didn’t’ have any issues when runnign fmriprep previously? Just curious.

And now, considering that I might be missing a few files, would I still be able to run qsiprep (given that I increase the memory and cpu)?

Re the topup runs, I am honestly not sure as this is the dataset I was given and the raw dicoms for this data are no longer available to us so I can’t run the bids conversion by latest standards even if I wanted to unfortunately.
The phase encoding for those says j-- which is why I labeled/renamed them as AP accordingly.

A heads up, I doubt SDC was performed correctly if your topupbold files were in your func folder (if that is indeed what the topup files are meant for).

Those files (e.g., README) aren’t explicitly used by the softwares, but are still good to make your dataset BIDS compliant.

Is there anyone you can ask?

The file naming doesn’t matter as much as the metadata in the JSON. If it is not reverse phase encoded, it will not do SDC.

Best,
Steven