The clinical `DXSUM_PDXCONV_ADNIALL` file from ADNI has been renamed to `DXSUM_PDXCONV`
Closed this issue · 2 comments
While working on #1142 I downloaded some subjects from ADNI with the clinical data, and ran the ADNI-to-BIDS converter on them with Clinica v0.8.0
.
The converter crashed at the end with the following error message:
Traceback (most recent call last):
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/bin/clinica", line 6, in <module>
sys.exit(main())
^^^^^^
File "/Users/nicolas.gensollen/GitRepos/clinica-fork/clinica/cmdline.py", line 92, in main
cli()
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/opt/anaconda3/envs/clinica-t/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/GitRepos/clinica-fork/clinica/iotools/converters/adni_to_bids/adni_to_bids_cli.py", line 79, in cli
adni_to_bids.convert_clinical_data(
File "/Users/nicolas.gensollen/GitRepos/clinica-fork/clinica/iotools/converters/adni_to_bids/adni_to_bids.py", line 132, in convert_clinical_data
participants_df = adni_utils.correct_diagnosis_sc_adni3(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/GitRepos/clinica-fork/clinica/iotools/converters/adni_to_bids/adni_utils.py", line 634, in correct_diagnosis_sc_adni3
dxsum_df = load_clinical_csv(clinical_data_dir, "DXSUM_PDXCONV_ADNIALL").set_index(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nicolas.gensollen/GitRepos/clinica-fork/clinica/iotools/converters/adni_to_bids/adni_utils.py", line 1642, in load_clinical_csv
raise IOError(
OSError: Expecting to find exactly one file in folder /Users/nicolas.gensollen/test_dwi/clinical matching pattern DXSUM_PDXCONV_ADNIALL(_\d{1,2}[A-Za-z]{3}\d{4})?.csv. 0 files were found instead :
[- ]
Inspecting the clinical folder I downloaded, it seems indeed that there is no file DXSUM_PDXCONV_ADNIALL
, but there is a DXSUM_PDXCONV
file:
...
├── DESIKANLAB_22Apr2024.csv
├── DIAMEM_V2_08_30_22_22Apr2024.csv
├── DXSUM_PDXCONV_22Apr2024.csv
├── EBISU_22Apr2024.csv
├── ECOG12PT_22Apr2024.csv
...
This might be a recent change to the naming conventions as I don't think this bug has been reported before.
A quick and backward-compatible fix would be to try reading the DXSUM_PDXCONV_ADNIALL
file and default to reading the DXSUM_PDXCONV
file if the former is missing.
@AliceJoubert did you notice that too ?
I noticed the same kind of naming convention with files downloaded today. The files are updated with the day of download as follows :
...
├── DIAMEM_V2_08_30_22_23Apr2024.csv
├── DXSUM_PDXCONV_23Apr2024.csv
├── EBISU_23Apr2024.csv
...
Thanks @AliceJoubert
Closing the issue as being solved by #1144
Running the ADNI-to-BIDS converter with clinica 0.8.0 should give you the same error.