Open smeisler opened 2 years ago
I wonder if the database is made w/ an distinct version of fitlins/pybids or the arguments are not identical upon creation.
I'm guessing you are trying to make the db "offline" (i.e. not in singularity) to save compute? If you were to let FitLins create the db that would be more likely that it could re-use it (as a workaround).
Regardless what you're trying to do should work in principle.
Something that may also relate to this is that I made my db before running fmriprep, and I believe FitLin indexes the fmriprep directory. Should the db passed into FitLins index fmriprep too?
Yes, it should. That is what I meant in terms of "identical" parameters. I doubt that's what leads to this error though, but it's possible.
The code FitLins uses to create a BIDSLayout
looks like:
indexer = bids.BIDSLayoutIndexer(ignore=ignore, force_index=force_index)
layout = bids.BIDSLayout(
opts.bids_dir,
derivatives=derivatives,
database_path=database_path,
reset_database=reset_database,
indexer=indexer,
)
so actually I don't see much difference except the derivatives (the rest of the arguments, such as force_index
come from teh CLI arguments.
Try to create a layout that indexes derivatives as well and see if you can load it w/ FitLins.
Also, FitLins currently uses pybids v0.15, so that's another possible divergence.
Environment
Expected Behavior
fitlins to begin running
Observed Behavior
Error (log below)
Steps to Reproduce
pybids layout --index-metadata --reset-db $bids $db_dir
(PyBids 0.14.0)singularity run -e -B ${scratch},${bids_dir} $IMG ${bids_dir} ${output_dir} run -m ${bids_dir}/models/phono-model.json -d ${output_dir}/fmriprep -w $scratch --database-path ${bids_dir}/code/pybids_db --participant-label ${subject:4} --space MNI152NLin2009cAsym -s 5