-
-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 [fmriprep-ingress] pipeline failed to start #2144
Comments
Hi @suxpert, thanks for reaching out. In terms of the command you are running, it will depend on what’s in your Specifically, the timeseries for the ingress pipeline is not being pulled in.
For some first steps, I can direct you to some documentation specific to pulling regressors from the fMRIPrep Output directory. The derivatives C-PAC should run with this config are listed here . In your case, it looks like the fmriprep outputs either don’t have regressors or the regressors aren’t named how C-PAC expects them to be. Depending on what you have and what you want, you should be able to run with a custom pipeline config like one of these: (Create regressors instead of ingressing them, don’t write them out):
(Create regressors instead of ingressing them, do write them out):
(Replace
(Use different regressors from frmiprep than
Looking at your C-PAC-generated data config, this looks to be causing an issue - you will need a data config (until this in progress feature is completed). Looking at the issue you linked to, here is the documentation on how to format the config with fmriprep ingress. The data config should look similar to this for one subject:
I'd also recommend taking a look at a recently developed C-PAC feature that allows for the ability to ingress FMRIPrep output data directly into the C-PAC resource pool. This feature allows users to perform further processing on that data. There is some additional explanation regarding the ingress process and fMRIPrep regressors in this PR, and a similar issue that may be good to have as a reference point was resolved here. Could you clarify exactly what kind of additional post-processing you are looking for C-PAC to do in this instance? Any additional information you can provide will help us point you in the right direction here as we continue to compile answers to your questions in Acceptance Criteria. |
It is weird because the regressors
Is |
Since the I tried my best to keep the - site: site-1
subject_id: 01
unique_id: 02
derivatives_dir: /fprep/sub-0151 and run docker run -it --rm -u $(id -u) \
-v $BIDS:/bids:ro \
-v $BIDS/derivatives/fprep-24.0.1:/fprep:ro \
-v $PWD/data_config.yml:/data_config.yml:ro \
-v $BIDS/derivatives/cpca-1.8.7:/out \
fcpindi/c-pac:release-v1.8.7 \
--data-config-file /data_config.yml \
--preconfig fmriprep-ingress --tracking-opt-out \
/fprep /out test_config Then I got the following error:
The first error seems to related to the numbers of In response to the first exception, I changed those IDs such that they are - site: site-1
subject_id: s1
unique_id: s2
derivatives_dir: /fprep/sub-0151 Then I got the exact same issue as the attactment logs:
At least in my current tests, the custom data config file do not solve this issue. |
Hi @suxpert thank you for the update and for providing some more information! Regarding the issue with your
or
to make sure those values are being read in as strings. The subject and session IDs in the data config also need to match the ones in the data. Regarding your question about the
instead of
should fix that issue. |
I've tried for the new - site: site-1
subject_id: sub-0151
unique_id: ses-1
derivatives_dir: /fprep/sub-0151 with args re-ordered, I still got the same error:
You've mentioned that
So am I understanding correctly, that the Since in BIDS, the
So I tried setting - site: site-1
subject_id: sub-0151
unique_id: ""
derivatives_dir: /fprep/sub-0151 But the issue persists!
NOTE that |
I tried one more time from scratch, that the BIDS contains $ tree -L 3 bids
bids
├── ChangeLog
├── dataset_description.json
├── derivatives
│ ├── cpac-1.8.7
│ │ ├── log
│ │ └── working
│ └── fprep-24.0.1
│ ├── dataset_description.json
│ ├── logs
│ ├── sub-0151
│ └── sub-0151.html
├── participants.json
├── participants.tsv
├── README.md
└── sub-0151
└── ses-01
├── anat
├── fmap
└── func
13 directories, 7 files
$ tree -L 3 bids/derivatives/fprep-24.0.1
bids/derivatives/fprep-24.0.1
├── dataset_description.json
├── logs
│ ├── CITATION.bib
│ ├── CITATION.html
│ ├── CITATION.md
│ └── CITATION.tex
├── sub-0151
│ ├── figures
│ │ ├── sub-0151_ses-01_acq-highres_desc-conform_T1w.html
│ │ ├── sub-0151_ses-01_acq-highres_dseg.svg
│ │ ├── sub-0151_ses-01_acq-highres_space-MNI152NLin2009cAsym_T1w.svg
│ │ ├── sub-0151_ses-01_desc-about_T1w.html
│ │ ├── sub-0151_ses-01_desc-summary_T1w.html
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-carpetplot_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-compcorvar_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-confoundcorr_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-coreg_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-rois_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-summary_bold.html
│ │ ├── sub-0151_ses-01_task-rest_run-01_desc-validation_bold.html
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-carpetplot_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-compcorvar_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-confoundcorr_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-coreg_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-rois_bold.svg
│ │ ├── sub-0151_ses-01_task-rest_run-02_desc-summary_bold.html
│ │ └── sub-0151_ses-01_task-rest_run-02_desc-validation_bold.html
│ ├── log
│ │ └── 20240904-082316_3fa9555a-0668-412d-916b-a2742c26fd9e
│ └── ses-01
│ ├── anat
│ └── func
└── sub-0151.html
9 directories, 25 files The required columns DO exists: $ head -1 bids/derivatives/fprep-24.0.1/**/*_desc-confounds_timeseries.tsv | tr '\t' '\n' | grep -n '\<global_signal\>\|\<white_matter\>'
2:global_signal
10:white_matter
318:global_signal
326:white_matter Then with - site: site-1
subject_id: sub-0151
unique_id: ses-01
derivatives_dir: /fprep/sub-0151/ses-01 or - site: site-1
subject_id: sub-0151
unique_id: ses-01
derivatives_dir: /fprep/sub-0151 and with command docker run -it --rm -u $(id -u) \
-v $BIDS/derivatives/fprep-24.0.1:/fprep:ro \
-v $BIDS/data_config.yml:/data_config.yml:ro \
-v $BIDS/derivatives/cpac-1.8.7:/out \
fcpindi/c-pac:release-v1.8.7 \
/fprep /out test_config \
--data-config-file /data_config.yml \
--preconfig fmriprep-ingress --tracking-opt-out I always get the same error as previously reported:
|
Hi @suxpert, Thank you for your response. We are replicating this issue on our end and will get back to you.
|
I ran into the same issue. Any update on this one? |
There's some fragility with regards to versions of both fMRIPrep and C-PAC when using the Apart from that bit of (probably less than helpful) information, unfortunately, no, no update here yet. |
Thank you for the clarification. |
Describe the bug
C-PAC seems too complex (for me) to correctly config, and after going through the not-well-written document, I still have no idea how could I run C-PAC on top of derivated data from fmriprep.
Since the docker image print almost all its pipeline/config options as optional, I tried calling it as a BIDS-app with only nessesary arguments (see command below). Then C-PAC crashed saying C-PAC failed to start, see log for details.
I've checked for #2085, which show the same error as I met, but from #2085, I still do not know how to makes C-PAC run correctly.
To reproduce
docker pull fcpindi/c-pac
docker pull nipreps/fmriprep
docker run .... nipreps/fmriprep --fs-no-reconall $BIDS $BIDS/derivatives/fprep participant
docker run .... fcpindi/c-pac -preconfig fmriprep-ingress $BIDS/derivatives/fprep $BIDS/derivatives/cpac test_config
Preconfig
Custom pipeline configuration
No response
Run command
Expected behavior
This command specified nothing but a pre-configured pipeline
fmriprep-ingress
, since the output of fmriprep is clear enough for any post-processing tools to understand, I would expect any BIDS-apps that said to be compatible with fmriprep be good to run without any issue.Acceptance criteria
data_config.yml
, is the given sample everything we need in the file, or should I include such a snippet in some data_config file that have been generated viautils data-config
? It seems those config files differs a lot!C-PAC
have--participant-label
etc to filtering the BIDS, and for BIDS-apps likefmriprep
,XCP-D
, they all accept the--bids-filter-file
for filtering, why doC-PAC
use a different syntax?Screenshots
logs and generated config files:
C-PAC version
v1.8.7
Container platform
Docker
Docker and/or Singularity version(s)
Docker version 26.1.5-ce
Additional context
No response
The text was updated successfully, but these errors were encountered: