edickie / ciftify

The tools of the Human Connectome Project (HCP) adapted for working with non-HCP datasets
https://edickie.github.io/ciftify/
MIT License
116 stars 157 forks source link

Yaml file #172

Closed APaulk closed 2 years ago

APaulk commented 2 years ago

Hello, I am finding something odd and I cannot figure out why it is erroring out. It's likely something I am entering incorrectly.

On Ubuntu 20, did the following install for ciftify: $ pip install https://github.com/edickie/ciftify/archive/2.0.3-beta.tar.gz And installed FSL 6.0.5.2 And entered the test "ciftify_vol_result --help" and the output indicates ciftify was installed correctly.

When we enter: $ ciftify_recon_all --ciftify-work-dir /home/cashlab/Documents/Recons/ciftifyTest --fs-subjects-dir /home/cashlab/Documents/tools/freesurfer/subjects sub-0t3i_SurferOutput

We get the following output: Cannot read yaml config file /home/cashlab/.pyenv/versions/3.7.7/lib/python3.7/site-packages/ciftify/data/ciftify_workflow_settings.yaml, check formatting.

I went a yaml parser check (https://yaml-online-parser.appspot.com/ ) and the file is fine. Has anyone else run into this issue? Thank you, Angelique Paulk

DESm1th commented 2 years ago

Hi Angelique!

You may have already solved this issue yourself, but this is because you're using an older version of ciftify that contains a bug in how it reads yaml files.

The simplest solution is to install a newer version (just pip install ciftify). But if you need your current version of ciftify for some reason open /home/cashlab/.pyenv/versions/3.7.7/lib/python3.7/site-packages/ciftify/utils.py and in the __read_settings function find the line that looks like this: config = yaml.load(yaml_stream) and change it to config = yaml.load(yaml_stream, Loader=yaml.SafeLoader)

APaulk commented 2 years ago

Hi, Thank you for getting back to me! This helps. I had actually installed the most recent ciftify with that command you list but the fix you suggested is great. Unless you mean an updated python version? Thank you, Angelique

DESm1th commented 2 years ago

The version you're installing with that command is 2.0.3. If you use plain old pip install ciftify it will install 2.3.3 which has a fix for that bug (and other bugs you may run into)