-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Hello,
Hopefully I am posting my issues/questions in the right place - since they are very specific to NiBetaSeries it seems appropriate to post them here. Alternatively, I can re-post at e.g. Neurostars.
Unfortunately I am stuck, trying to run NiBetaSeries using Singularity (on HPCs). In our HPC environment we have personal and a shared, more powerful (main) VM. Up until now we have used singularity to run fmriprep (successfully) on both VMs.
After pulling NiBetaSeries image on my personal VM, I receive the following error when attempting to run:
Traceback (most recent call last):
File "/opt/miniconda-latest/bin/nibs", line 8, in
sys.exit(main())
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/cli/run.py", line 163, in main
from ..workflows.base import init_nibetaseries_participant_wf
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/base.py", line 26, in
from .model import init_betaseries_wf
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/model.py", line 16, in
from nistats import version as nistats_ver
File "/home/leovb/.local/lib/python3.7/site-packages/nistats/init.py", line 32, in
import nilearn
File "/home/leovb/.local/lib/python3.7/site-packages/nilearn/init.py", line 67, in
_check_module_dependencies()
File "/home/leovb/.local/lib/python3.7/site-packages/nilearn/version.py", line 118, in _check_module_dependencies
install_info=module_metadata.get('install_info'))
File "/home/leovb/.local/lib/python3.7/site-packages/nilearn/version.py", line 64, in _import_module_with_version_check
module = import(module_name)
ModuleNotFoundError: No module named 'joblib'. Module "joblib" could not be found. See http://nilearn.github.io/introduction.html#installation for installation information.
This seems strange to me, because the singularity image should contain all that is required?
When trying to run the same image on the main VM, I get stuck at the following:
/opt/miniconda-latest/lib/python3.7/site-packages/bids/layout/models.py:157: UserWarning: Accessing entities as attributes is deprecated as of 0.7. Please use the .entities dictionary instead (i.e., .entities['task'] instead of .task.
% (attr, attr))
/opt/miniconda-latest/lib/python3.7/site-packages/bids/layout/models.py:157: UserWarning: Accessing entities as attributes is deprecated as of 0.7. Please use the .entities dictionary instead (i.e., .entities['space'] instead of .space.
% (attr, attr))
Traceback (most recent call last):
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/utils.py", line 300, in _exec_query
res = layout.get(**query)[0]
IndexError: list index out of rangeThe above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/miniconda-latest/bin/nibs", line 8, in
sys.exit(main())
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/cli/run.py", line 282, in main
work_dir=work_dir,
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/base.py", line 160, in init_nibetaseries_participant_wf
description=description_label)
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/utils.py", line 276, in collect_data
for modality, query in file_queries.items()}
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/utils.py", line 276, in
for modality, query in file_queries.items()}
File "/opt/miniconda-latest/lib/python3.7/site-packages/nibetaseries/workflows/utils.py", line 303, in _exec_query
raise Exception(msg) from e
Exception: could not find file matching these criteria: {'datatype': 'func', 'subject': '02', 'task': 'nnip', 'run': None, 'session': None, 'suffix': 'regressors', 'desc': 'confounds', 'extension': '.tsv'}
In both cases, I attempt to run NiBetaSeries using the following shell script:
#!/bin/bash
LC_ALL=C
INDIR="/data/leo/NNIP/NNIP_Bids/"
OUTDIR="/data/leo/NNIP/NNIP_Bids/derivatives"
WORKDIR="/data/leo/working"
IMAGE="/data/leo/nibetaseries/nibetaseries-v0.6.0.simg"
singularity run --cleanenv -B /data -B /run/shm:/run/shm $IMAGE \
nibs -c csf \
--participant-label 02 \
-w $WORKDIR \
$INDIR \
fmriprep \
$OUTDIR \
participant`
Which is a modification from the script we use for fmriprep.
As far as I know, the data is structured correctly. fmriprep preprocessing has been done with version 20.2.0. All data consists of a single run/session and single task.
Ideally I would be able to run NiBetaSeries on my personal VM (thus solving the joblib issue), but I imagine I would eventually run into the the same error as on the main VM here, so that may be a better one to tackle first?
Any help or thoughts are very much appreciated.
Leo