python Snakemake:无法为已启动的作业设置标记文件([WinError 3]系统找不到指定的路径:

q3qa4bjr  于 2023-01-19  发布在  Python
关注(0)|答案(1)|浏览(205)

我是新的Snakemake,我刚刚开始使用它为我的项目。我试图运行一个软件包,使用Snakemake,但工作流失败,问题似乎是由windows无法找到一些文件[请参阅下面的完整错误报告]。有人能请给予我一些想法可能的解决方案吗?谢谢

snakemake -s U:\Lab\Bereket_public\custom_merfish_rig\Merlin_test\test_data\results\data\snakemake\SnakeFile.Snakefile --cores 4 U:\Lab\Bereket_public\custom_merfish_rig\Merlin_test\test_data\results\data\GenerateMosaic\tasks\GenerateMosaic.done
Building DAG of jobs...
Provided cores: 4
Rules claiming more threads will be scaled down.
Job stats:
job                            count    min threads    max threads
---------------------------  -------  -------------  -------------
FiducialCorrelationWarp            2              1              1
FiducialCorrelationWarpDone        1              1              1
GenerateMosaic                     1              1              1
SimpleGlobalAlignment              1              1              1
total                              5              1              1

Select jobs to execute...

[Tue Jan 17 10:51:28 2023]
Job 1: Running SimpleGlobalAlignment
Reason: Missing output files: U:/Lab/Bereket_public/custom_merfish_rig/Merlin_test/test_data/results/data/SimpleGlobalAlignment/tasks/SimpleGlobalAlignment.done

[Tue Jan 17 10:51:28 2023]
Job 3: Running FiducialCorrelationWarp 0
Reason: Missing output files: U:/Lab/Bereket_public/custom_merfish_rig/Merlin_test/test_data/results/data/FiducialCorrelationWarp/tasks/FiducialCorrelationWarp_0.done

Failed to set marker file for job started ([WinError 3] The system cannot find the path specified: 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\incomplete\\tmp72nkj4zo.VTovTGFi' -> 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\incomplete\\VTovTGFiL0JlcmVrZXRfcHVibGljL2N1c3RvbV9tZXJmaXNoX3JpZy9NZXJsaW5fdGVzdC90ZXN0X2RhdGEvcmVzdWx0cy9kYXRhL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwL3Rhc2tzL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwXzAuZG9uZQ=='). Snakemake will work, but cannot ensure that output files are complete in case of a kill signal or power loss. Please ensure write permissions for the directory U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\.snakemake

[Tue Jan 17 10:51:28 2023]
Job 4: Running FiducialCorrelationWarp 1
Reason: Missing output files: U:/Lab/Bereket_public/custom_merfish_rig/Merlin_test/test_data/results/data/FiducialCorrelationWarp/tasks/FiducialCorrelationWarp_1.done

Failed to set marker file for job started ([WinError 3] The system cannot find the path specified: 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\incomplete\\tmpo2nxcdd7.VTovTGFi' -> 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\incomplete\\VTovTGFiL0JlcmVrZXRfcHVibGljL2N1c3RvbV9tZXJmaXNoX3JpZy9NZXJsaW5fdGVzdC90ZXN0X2RhdGEvcmVzdWx0cy9kYXRhL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwL3Rhc2tzL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwXzEuZG9uZQ=='). Snakemake will work, but cannot ensure that output files are complete in case of a kill signal or power loss. Please ensure write permissions for the directory U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\.snakemake
MERlin - the MERFISH decoding pipeline
MERlin - the MERFISH decoding pipeline
MERlin - the MERFISH decoding pipeline
Running SimpleGlobalAlignment
[Tue Jan 17 10:51:34 2023]
Finished job 1.
1 of 5 steps (20%) done
Running FiducialCorrelationWarp
Running FiducialCorrelationWarp
U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\merlin\analysis\warp.py:143: FutureWarning: The input object of type 'SimilarityTransform' is an array-like implementing one of the corresponding protocols (`__array__`, `__array_interface__` or `__array_struct__`); but not a sequence (or 0-D). In the future, this object will be coerced as if it was first converted using `np.array(obj)`. To retain the old behaviour, you have to either modify the type 'SimilarityTransform', or assign to an empty array created with `np.empty(correct_shape, dtype=object)`.
  np.array(transformationList,dtype = object), 'offsets',
U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\merlin\analysis\warp.py:143: FutureWarning: The input object of type 'SimilarityTransform' is an array-like implementing one of the corresponding protocols (`__array__`, `__array_interface__` or `__array_struct__`); but not a sequence (or 0-D). In the future, this object will be coerced as if it was first converted using `np.array(obj)`. To retain the old behaviour, you have to either modify the type 'SimilarityTransform', or assign to an empty array created with `np.empty(correct_shape, dtype=object)`.
  np.array(transformationList,dtype = object), 'offsets',
WorkflowError:
Error recording metadata for finished job ([WinError 3] The system cannot find the path specified: 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\tmplptve0_x.VTovTGFi' -> 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\VTovTGFiL0JlcmVrZXRfcHVibGljL2N1c3RvbV9tZXJmaXNoX3JpZy9NZXJsaW5fdGVzdC90ZXN0X2RhdGEvcmVzdWx0cy9kYXRhL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwL3Rhc2tzL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwXzAuZG9uZQ=='). Please ensure write permissions for the directory U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\.snakemake
Removing output files of failed job FiducialCorrelationWarp since they might be corrupted:
U:/Lab/Bereket_public/custom_merfish_rig/Merlin_test/test_data/results/data/FiducialCorrelationWarp/tasks/FiducialCorrelationWarp_0.done
WorkflowError:
Error recording metadata for finished job ([WinError 3] The system cannot find the path specified: 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\tmpl6y_8x_q.VTovTGFi' -> 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\VTovTGFiL0JlcmVrZXRfcHVibGljL2N1c3RvbV9tZXJmaXNoX3JpZy9NZXJsaW5fdGVzdC90ZXN0X2RhdGEvcmVzdWx0cy9kYXRhL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwL3Rhc2tzL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwXzEuZG9uZQ=='). Please ensure write permissions for the directory U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\.snakemake
Removing output files of failed job FiducialCorrelationWarp since they might be corrupted:
U:/Lab/Bereket_public/custom_merfish_rig/Merlin_test/test_data/results/data/FiducialCorrelationWarp/tasks/FiducialCorrelationWarp_1.done
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: .snakemake\log\2023-01-17T105128.126829.snakemake.log
8hhllhi2

8hhllhi21#

从你的问题,我假设你不是开发软件包使用snakemake,但你只是使用它。
你可能会遇到一个问题,snakemake内部创建的路径对于windows来说太长了,并且超过了Windows uses by default的**最大路径长度260个字符。
具有长路径的非常长的线是对此的指示:

Error recording metadata for finished job ([WinError 3] The system cannot find the path specified: 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\tmplptve0_x.VTovTGFi' -> 'U:\\Lab\\Bereket_public\\custom_merfish_rig\\MERlin_epigen_UCSD\\.snakemake\\metadata\\VTovTGFiL0JlcmVrZXRfcHVibGljL2N1c3RvbV9tZXJmaXNoX3JpZy9NZXJsaW5fdGVzdC90ZXN0X2RhdGEvcmVzdWx0cy9kYXRhL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwL3Rhc2tzL0ZpZHVjaWFsQ29ycmVsYXRpb25XYXJwXzAuZG9uZQ=='). Please ensure write permissions for the directory U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD\.snakemake

有三种常见的解决方案可解决此问题:
1.重写Snakemake的工作流程,即你正在使用的软件,以使用更短的路径。或者向开发人员寻求帮助。(实现解决方案缓慢,不一定稳定和可持续,但永久,它有助于所有用户)。
1.将软件和工作流程移动到路径较短的目录。例如,在您的情况下,从U:\Lab\Bereket_public\custom_merfish_rig\MERlin_epigen_UCSD移动到U:\Merlin_epigen_UCSD。这可能会有帮助,但不保证有帮助。(易于快速实现,不保证有效)
1.你也可以在Windows中允许更长的路径,请参阅this article了解详细信息。我发现这个解决方案在过去工作可靠。(需要一些技术知识和提升的用户权限,不会转移到其他用户或机器)。
不幸的是,我不知道任何基于snakemake的解决方案来处理这个问题。

相关问题