MICA-MNI / micapipe

micapipe from the Multimodal imaging and connectome analysis lab (http://mica-mni.github.io) at the Montreal Neurological Institute. Read The Docs documentation below
http://micapipe.readthedocs.io
GNU General Public License v3.0
86 stars 29 forks source link

-QC fails #81

Closed araikes closed 1 year ago

araikes commented 1 year ago

For single session data, the QC module is looking for ses-SINGLE rather than no session sub-folder.

https://github.com/MICA-MNI/micapipe/blob/d9c730d1b0b3f6c21c770d12dd9c3dba94d479f0/functions/QC.sh#L138

micapipe -bids /nifti -out /xdisk/adamraikes/cornell/derivatives/micapipe -sub 087 -tmpDir /tmp -fs_licence /license.txt -QC_subj -ses

-------------------------------------------------------------
    MICA pipeline - (Version v0.2.0 'Northern flicker') 
        Subject: 087 Session: SINGLE
-------------------------------------------------------------
        Freesurfer licence: /license.txt

-------------------------------------------------------------

[ ERROR ]..... 087 was not found on the OUTPUT directory
     Check ls /xdisk/adamraikes/cornell/derivatives/micapipe/micapipe_v0.2.0/sub-087/ses-SINGLE

-------------------------------------------------------------
rcruces commented 1 year ago

could you please provide the command you ran. if you used -ses SINGLE the pipeline will use the string SINGLE as session. If you do not include the flag -ses SINGLE it wi;; assume that there is no session under the subject directory.

araikes commented 1 year ago

See below:

For reference, this is the exact same call used for structural, surf, post_structural, dwi, and SC running, just swapping out the step used.

[adamraikes@gpu56 cornell]$ singularity run --cleanenv -B /xdisk/adamraikes/cornell/nifti:/nifti:ro -B $PWD/derivatives:$PWD/derivatives -B /tmp:/tmp -B /groups/adamraikes/license.txt:/license.txt /groups/adamraikes/singularity_images/micapipe_v0.2.0.sif -bids /nifti -out $PWD/derivatives/micapipe -sub 087 -tmpDir /tmp -fs_licence /license.txt -QC_subj
Some packages in this Docker container are non-free
If you are considering commercial use of this container, please consult the relevant license:
https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Licence

micapipe -bids /nifti -out /xdisk/adamraikes/cornell/derivatives/micapipe -sub 087 -tmpDir /tmp -fs_licence /license.txt -QC_subj

-------------------------------------------------------------
    MICA pipeline - (Version v0.2.0 'Northern flicker') 
        Subject: 087 Session: SINGLE
-------------------------------------------------------------
        Freesurfer licence: /license.txt

-------------------------------------------------------------

[ ERROR ]..... 087 was not found on the OUTPUT directory
     Check ls /xdisk/adamraikes/cornell/derivatives/micapipe/micapipe_v0.2.0/sub-087/ses-SINGLE

-------------------------------------------------------------

-------------------------------------------------------------
    GLOBAL micapipe running time with container_micapipe-v0.2.0 processing: 0.017 minutes 
-------------------------------------------------------------
rcruces commented 1 year ago

Thank, for the observation. This might be a bug. I'll have a look at it.

rcruces commented 1 year ago

Special characters from the bids dataset_description.json

This is a different issue related to the file dataset_description.json generated by the pipeline that should be here: $PWD/derivatives/micapipe/micapipe_v0.2.0/dataset_description.json. It has an error due to an incompatibility with the json encoding in one character at: line 2 column 43 (char 44). That corresponds to the argument of the key "Name".

It is inherited from the key "Name" from your file /xdisk/adamraikes/cornell/nifti/dataset_description.json. If it is a special character I would suggest to change it from there.

[adamraikes@gpu56 cornell]$ singularity run --cleanenv -B /xdisk/adamraikes/cornell/nifti:/nifti:ro -B $PWD/derivatives:$PWD/derivatives -B /tmp:/tmp -B /groups/adamraikes/license.txt:/license.txt /groups/adamraikes/singularity_images/micapipe_v0.2.0.sif -bids /nifti -out $PWD/derivatives/micapipe -sub 087 -tmpDir /tmp -fs_licence /license.txt -QC          
Some packages in this Docker container are non-free
If you are considering commercial use of this container, please consult the relevant license:
https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Licence

adamraikes @ gpu56.elgato.hpc.arizona.edu Fri Jun 16 14:47:21 MST 2023:
COMMAND -->   python /opt/micapipe/functions/QC_group.py -out /xdisk/adamraikes/cornell/derivatives/micapipe  
Traceback (most recent call last):
  File "/opt/micapipe/functions/QC_group.py", line 129, in <module>
    data_json = json.load(f)
  File "/opt/miniconda-22.11.1/envs/micapipe/lib/python3.9/json/__init__.py", line 293, in load
    return loads(fp.read(),
  File "/opt/miniconda-22.11.1/envs/micapipe/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/opt/miniconda-22.11.1/envs/micapipe/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/opt/miniconda-22.11.1/envs/micapipe/lib/python3.9/json/decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid control character at: line 2 column 43 (char 44)
rcruces commented 1 year ago

Hello, the issues regarding the SINGLE session -QC and -QC_subj were properly addressed and tested on the latest version release v0.2.1, which is already tagged on the github repository bbc4eabeea4fd83b8f28adb743d6b6da212af2ec and online on the dockerhub dockerhub.

We thank you for your comments