Skip to content

Nipype looks for node results in wrong folders #2689

Closed
@achetverikov

Description

@achetverikov

Summary

I get errors like this:

Traceback (most recent call last):

  File "<ipython-input-2-4d0fd1617f36>", line 1, in <module>
    runfile('/home/visual/andche/MRI_DATA/andche_pipeline_v1.py', wdir='/home/visual/andche/MRI_DATA')

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 668, in runfile
    execfile(filename, namespace)

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 100, in execfile
    builtins.execfile(filename, *where)

  File "/home/visual/andche/MRI_DATA/andche_pipeline_v1.py", line 629, in <module>
    flow.run('PBS', plugin_args={'max_jobs':100, 'qsub_args' : '-l walltime=00:20:00,mem=8g', 'template':'#!/bin/sh\necho `date "+%Y%m%d-%H%M%S"`\nsource activate /project/3019005.02/conda_env/nipype_v1x\n', 'max_tries':3,'retry_timeout': 5, 'max_jobname_len': 15})

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/workflows.py", line 595, in run
    runner.run(execgraph, updatehash=updatehash, config=self.config)

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 162, in run
    self._clean_queue(jobid, graph, result=result))

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 224, in _clean_queue
    raise RuntimeError("".join(result['traceback']))

RuntimeError: Traceback (most recent call last):
  File "/project/3019005.02/MT_localizers/TMP/preproc_flow_v1/batch/pyscript_20180902_190106_preproc_flow_v1.mc_and_detrend_motion_correct_post_check.b2.py", line 33, in <module>
    result = info['node'].run(updatehash=info['updatehash'])
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 471, in run
    result = self._run_interface(execute=True)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 1250, in _run_interface
    self.config['execution']['stop_on_first_crash'])))
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 1125, in _collate_results
    for i, nresult, err in nodes:
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/utils.py", line 106, in nodelist_runner
    result = node.run(updatehash=updatehash)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 424, in run
    updatehash=updatehash and not updated)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 555, in _run_interface
    return self._run_command(execute)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 589, in _run_command
    result = self._load_results()
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 569, in _load_results
    needed_outputs=self.needed_outputs)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/interfaces/base/core.py", line 620, in aggregate_outputs
    raise error
TraitError: The trait 'std_img' of a MCFLIRTOutputSpec instance is an existing file name, but the path  '/home/visual/andche/20180810_121603fMRIrestcmrrmb4TR1500128vols003a001_warp4D_mcf.nii.gz_sigma.nii.gz' does not exist.

or this:


Traceback (most recent call last):

  File "<ipython-input-1-4d0fd1617f36>", line 1, in <module>
    runfile('/home/visual/andche/MRI_DATA/andche_pipeline_v1.py', wdir='/home/visual/andche/MRI_DATA')

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 668, in runfile
    execfile(filename, namespace)

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/spyder_kernels/customize/spydercustomize.py", line 100, in execfile
    builtins.execfile(filename, *where)

  File "/home/visual/andche/MRI_DATA/andche_pipeline_v1.py", line 629, in <module>
    flow.run('PBS', plugin_args={'max_jobs':100, 'qsub_args' : '-l walltime=00:20:00,mem=8g', 'template':'#!/bin/sh\necho `date "+%Y%m%d-%H%M%S"`\nsource activate /project/3019005.02/conda/nipype\n', 'max_tries':3,'retry_timeout': 5, 'max_jobname_len': 15})

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/workflows.py", line 595, in run
    runner.run(execgraph, updatehash=updatehash, config=self.config)

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 162, in run
    self._clean_queue(jobid, graph, result=result))

  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/plugins/base.py", line 224, in _clean_queue
    raise RuntimeError("".join(result['traceback']))

RuntimeError: Traceback (most recent call last):
  File "/project/3019005.02/MT_localizers/TMP/preproc_flow_v1/batch/pyscript_20180902_202027_preproc_flow_v1.mc_and_detrend_meanBold.b2.py", line 34, in <module>
    result = info['node'].run(updatehash=info['updatehash'])
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 471, in run
    result = self._run_interface(execute=True)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 1250, in _run_interface
    self.config['execution']['stop_on_first_crash'])))
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 1125, in _collate_results
    for i, nresult, err in nodes:
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/utils.py", line 106, in nodelist_runner
    result = node.run(updatehash=updatehash)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 424, in run
    updatehash=updatehash and not updated)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 555, in _run_interface
    return self._run_command(execute)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 589, in _run_command
    result = self._load_results()
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/pipeline/engine/nodes.py", line 569, in _load_results
    needed_outputs=self.needed_outputs)
  File "/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype/interfaces/base/core.py", line 620, in aggregate_outputs
    raise error
TraitError: The trait 'out_file' of a MathsOutput instance is an existing file name, but the path  '/project/3019005.02/MT_localizers/TMP/preproc_flow_v1/batch/20180810_121603fMRIrestcmrrmb4TR1500128vols007a001_warp4D_mean.nii.gz' does not exist.

The files in question exist in node working directories. Apparently, nipype forgets to change the working directory to node directory somewhere, but I'm not able to find out where.

Platform details:

{'commit_hash': '%h',
 'commit_source': 'archive substitution',
 'networkx_version': '2.1',
 'nibabel_version': '2.3.0',
 'nipype_version': '1.1.2',
 'numpy_version': '1.15.0',
 'pkg_path': '/project/3019005.02/conda/nipype/lib/python2.7/site-packages/nipype',
 'scipy_version': '1.1.0',
 'sys_executable': '/project/3019005.02/conda/nipype/bin/python',
 'sys_platform': 'linux2',
 'sys_version': '2.7.15 | packaged by conda-forge | (default, Jul 27 2018, 10:26:36) \n[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)]',
 'traits_version': '4.6.0'}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions