Fmriprep: nipype deprecated interface error

Hi there,

I’m setting up fmriprep for the first time and I encounter some issues I hope you can help me with. when running fmriprep on my data (in BIDS format) I get the following error:
traits.trait_errors.TraitError: Input testing in interface RobustMNINormalization is deprecated. Will be removed or raise an error as of release 0.0.7.
the code then terminates.

we have the latest nipype version installed on our server.
Do you have any idea what might be the cause of this error and how can I fix it?

Thank you very much!
Tom.

I’ll try to replicate this error, but my best guess is that the wrong version of niworkflows was installed. You can avoid this and many other dependency struggles by using Docker or Singularity which are the recommended ways to use FMRIPREP (see http://fmriprep.readthedocs.io/en/stable/installation.html for details).

This is unfortunately an issue with installing natively right now.

The problem is that fmriprep/niworkflows needed to deprecate part of an interface, which led us to discover that nipype deprecation tests against nipype versions, not that of the defining software package. The bug (if it was actually a bug) has been fixed in nipype, but post-0.13.1. This is my fault for not insisting it go in before the latest release; I thought it was more a book-keeping issue, and didn’t realize this would have consequences for users.

If you’re running fmriprep natively, we recommend installing the specific versions of niworkflows and nipype that are specified in the requirements.txt file for the specific version of fmriprep. But even more so, if possible we recommend using Docker/Singularity images to ensure that each instance of fmriprep v0.4.4 is actually running in the same environment. We provide a wrapper script for docker to make this as straightforward as possible.

Thank you very much!

Working with Singularty actually did solve this issue.

Hi there,

I am new as well playing with fmriprep so I was trying a similar approach than Tom did and ended up facing the same issues but managed to make it work following this thread.

For anyone willing to follow that path (natively running fmriprep installed via pip), just remove (or create a virtual environment aside) niworkflows and pybids packages from pypi and re-install them as suggested by effigies above.

pybids usage in the current fmriprep latest version is slightly different from the pypi one and will throw an error due to mismatching calls.

The nipype version that worked for me however is v.0.13.1 and not the one stated in the ‘requirements.txt’ file (0.12.1).

cheers,
Jordi

2 Likes