Summary of what happened:
I’m attempting to run C-PAC on a validated BIDS formatted dataset, containing only minimal data (1x of T1w, bold, sbref, and blip up/down).
I’ve tried it with the default pipeline (that is, specifying no pipeline) and a slightly modified “minimal” version of that with some extra options turned off. In both cases - C-PAC goes through intial stages and the long nipype.workflow INFO process, and reaches this point and stops
Command used (and if a helper script was used, a link to the helper script or the command generated):
I used the following command:
cpac --platform singularity -v \
-B /home/naxos2-raid34/logan-data/NeurInsight/outputs:/outputs \
run /home/naxos2-raid34/logan-data/NeurInsight/bids_HCP25/ /home/naxos2-raid34/logan-data/NeurInsight/outputs participant \
--pipeline_file /home/naxos2-raid34/logan-data/NeurInsight/cpac/pipeline_config_minimal.yml
Version:
1.8.6
Environment (Docker, Singularity / Apptainer, custom installation):
I’m using python 3.10 with cpac version 1.8.6 in a singularity container.
> cpac version
Loading \U0001f433 Docker
Loading \u24c8 Singularity
singularity pull --name /home/naxos2-raid34/logan-data/NeurInsight/c-pac:latest.sif docker://fcpindi/c-pac:latest
FATAL: Image file already exists: "/home/naxos2-raid34/logan-data/NeurInsight/c-pac:latest.sif" - will not overwrite
FATAL: Image file already exists: "/home/naxos2-raid34/logan-data/NeurInsight/c-pac:latest.sif" - will not overwrite
/home/naxos2-raid34/logan-data/NeurInsight/c-pac:latest.sif
Loading \u24c8 /home/naxos2-raid34/logan-data/NeurInsight/c-pac:latest.sif as "logan (3978)" with these directory bindings:
local Singularity mode
------------------------------------------ ------------------------------------------ ------
/etc/passwd /etc/passwd ro
/home/stone-ext4/logan/.cpac /home/stone-ext4/logan/.cpac rw
/home/naxos2-raid34/logan-data/NeurInsight /home/naxos2-raid34/logan-data/NeurInsight rw
/home/naxos2-raid34/logan- /home/naxos2-raid34/logan- rw
data/NeurInsight/log data/NeurInsight/log
/home/naxos2-raid34/logan- /home/naxos2-raid34/logan- rw
data/NeurInsight/working data/NeurInsight/working
/home/naxos2-raid34/logan- /home/naxos2-raid34/logan- rw
data/NeurInsight/outputs data/NeurInsight/outputs
Logging messages will refer to the Singularity paths.
cpac (convenience wrapper) version 1.8.6
C-PAC version v1.8.6.dev1 running on Singularity version 1.2.5-1.el7
Data formatted according to a validatable standard? Please provide the output of the validator:
(thanks for edits - hopefully this is what you meant…)
Relevant log outputs (up to 20 lines):
[...]
240227-15:53:46,402 nipype.workflow INFO:
Connecting network_centrality...
240227-15:53:49,518 nipype.workflow INFO:
Workflow cpac_sub-100307_ses-ses01 settings: ['check', 'execution', 'logging', 'monitoring']
240227-15:53:49,804 nipype.workflow INFO:
Error of subject workflow cpac_sub-100307_ses-ses01
CPAC run error:
Pipeline configuration: cpac-default-pipeline-NeurInsight
Subject workflow: cpac_sub-100307_ses-ses01
Elapsed run time (minutes): 0.10266321897506714
Timing information saved in /home/naxos2-raid34/logan-data/NeurInsight/outputs/log/cpac_individual_timing_cpac-default-pipeline-NeurInsight.csv
System time of start: 2024-02-27 15:53:47
Missing expected outputs:
anat:
- sub-100307*_ses-ses01*_desc-brain*_T1w*
- sub-100307*_ses-ses01*_desc-brain*_mask*
- sub-100307*_ses-ses01*_desc-head*_T1w*
[...]
What follows after this is a further list of the expected outputs it is missing - which of course it is, it never ran any part of the workflow. Concludes with this
- sub-100307*_ses-ses01*_space-T1w*_sbref*
Missing outputs have been logged in /home/naxos2-raid34/logan-data/NeurInsight/outputs/log/pipeline_cpac-default-pipeline-NeurInsight/sub-100307_ses-ses01/sub-100307_ses-ses01_missingOutputs.yml
Tip: Look for "crash-*.txt" files in the log directory
for more information. Usually the chronological first
crash file is the most informative.
It then goes to the next subject and does this again. No crash file is generated, and log files only show config options, etc - nothing useful. Turning on debugging (in pipeline file) does not help - reaches same point and produces the same output there.
The only difference if I use the default pipelines is that the list of missing expected outputs is much longer.
Screenshots / relevant information:
The bids dataset consist of symlinks to files that are located one directory up - these directories are bound when the singularity container starts up.
Is there an obvious mistake I am making? I will say that if I use --pipeline_config anat-only
C-PAC will actually start processing things, but fails to find the FSLDIR, despite its location being set in my terminal (and of course being within the container) - so I know what it is kind of suppose to look like when active. Feels like I have missed something essential and simple but I’m at a loss.
Thanks!