我更改了我正在运行以下代码:
#!/bin/sh
#
#SBATCH --job-name psy-bkeeser_fmriprep
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=16
#SBATCH --mem=32GB
#SBATCH --output /projects/core-psy/logs/nako/stephan/slurm-%j.log
#SBATCH --error /projects/core-psy/logs/nako/stephan/slurm-%j.err
singularity run --pwd /tmp3
--home /projects/core-psy/tmp3:/home/fmriprep
--cleanenv
-B /projects/core-psy/data/nako/swunderl/pa/BIDS_DATA/:/input
-B /projects/core-psy/data/nako/bkeeser/test:/output
-B /projects/core-psy/data/nako/bkeeser/freesurfer:/freesurfer
-B /projects/core-psy/tmp:/opt/templateflow
/projects/core-psy/images/nipreps-fmriprep-21.0.1.simg /input /output participant
--fs-license-file /freesurfer/license.txt
--skip-bids-validation
--fs-no-reconall
这给了我一个错误:
Traceback (most recent call last): File "/opt/conda/lib/python3.8/pathlib.py", line 1288, in mkdir self._accessor.mkdir(self, mode) FileNotFoundError: [Errno 2] No such file or directory: '/tmp/work/20220312-010716_89e666a8-3458-4f82-9ff2-b13ef397a3b4/bids_db' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/conda/bin/fmriprep", line 8, in <module> sys.exit(main()) File "/opt/conda/lib/python3.8/site-packages/fmriprep/cli/run.py", line 38,
大体上parse_args((文件"/opt/conda/lib/python3.8/site packages/fmriprep/cli/parser.py";,线679,以parse_args为单位config.from_dict(vars(opts((文件"/opt/conda/lib/python3.8/site packages/fmriprep/config.py";,线666,在from_dict中execution.load(设置(文件"/opt/conda/lib/python3.8/site packages/fmriprep/config.py";,线238,负载中cls.init((文件"/opt/conda/lib/python3.8/site packages/fmriprep/config.py";,线465,在init_db_path.mkdir(exist_ok=True,parents=True(文件"/opt/conda/lib/python3.8/pathlib.py";,第1292行,在mkdir中self.parent.mkdir(parents=True,exist_ok=True(文件"/opt/conda/lib/python3.8/pathlib.py";,第1288行,在mkdir中自我_accessor.mkdir(self,mode(权限错误:[Erno 13]权限被拒绝:"/tmp/work/20220312-01071_89e666a8-3458-4f82-9ff2-b13ef397a3b4">
tmp文件夹似乎有什么问题?
在多行拆分命令时,不能使用这样的注释。shell将-B
解释为另一个命令,而不是singularity
的参数。
一种解决方案是删除其他注释行。可以将它们放在命令的上方或下方,但不能放在命令内部。
--pwd/tmp3参数指向的目录在运行命令的上下文中似乎不存在。如果删除此项,则可能会成功绑定其他目录。
如果这不能解决错误,您可能需要尝试从--home切换到将可写文件夹装载到/opt/templateflow,并在运行命令中设置templateflow_home变量,如下所示:https://www.nipreps.org/apps/singularity/#templateflow-和奇异