.net - Linux 上的 MaxQuant:System.UnauthorizedAccessException
问题描述
我正在尝试在运行 CentOS Linux 7.6.1810 的远程服务器上使用 MaxQuant 软件。此应用程序使用 .NET(版本 2.1.818),我是从 .tar 文件手动安装的(因为我不是 root 并且不能使用现成的安装解决方案)。由于dotnet命令会返回答案,因此此过程似乎可以正常工作。使用 .NET 启动应用程序时,会出现以下错误:
System.UnauthorizedAccessException: Access to the path '/test_folder/test_out/combined/proc' is denied. ---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at System.IO.FileSystem.CreateDirectory(String fullPath)
at System.IO.Directory.CreateDirectory(String path)
at QueueingSystem.WorkDispatcher..ctor(Int32 nThreads, Func`1 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile, Int32 numInternalThreads)
at QueueingSystem.WorkDispatcher..ctor(Int32 nThreads, Int32 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile)
at MaxQuantLibS.Domains.Peptides.Work.MaxQuantWorkDispatcher..ctor(Int32 nThreads, Int32 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile)
at MaxQuantLibS.Domains.Peptides.Work.InitializeWorkflow..ctor(ExecutionParams epar)
at MaxQuantLibS.Domains.Peptides.Basic.WorkflowModel.GetJobsPhase0(ExecutionParams epar)
at MaxQuantLibS.Domains.Peptides.Basic.WorkflowModel.GetAllJobs(Int32 nThreads, String mqparFilePath)
at MaxQuantCmd.CommandLine.Run(String mqparFile, Int32 partialProcessingFrom, Int32 partialProcessingTo, Boolean isDryRun, Boolean createTemplate, String[] changeFolder)
at MaxQuantCmd.CommandLine.<>c__DisplayClass0_0.<Run>b__1(Options options)
at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
at MaxQuantCmd.CommandLine.Run(String[] args)
at MaxQuantCmd.Program.Main(String[] args)
Unhandled Exception: System.UnauthorizedAccessException: Access to the path '/test_folder/test_out/combined/proc' is denied. ---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at System.IO.FileSystem.CreateDirectory(String fullPath)
at System.IO.Directory.CreateDirectory(String path)
at QueueingSystem.WorkDispatcher..ctor(Int32 nThreads, Func`1 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile, Int32 numInternalThreads)
at QueueingSystem.WorkDispatcher..ctor(Int32 nThreads, Int32 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile)
at MaxQuantLibS.Domains.Peptides.Work.MaxQuantWorkDispatcher..ctor(Int32 nThreads, Int32 nTasks, String infoFolder, CalculationType calculationType, Boolean dotNetCore, Boolean profile)
at MaxQuantLibS.Domains.Peptides.Work.InitializeWorkflow..ctor(ExecutionParams epar)
at MaxQuantLibS.Domains.Peptides.Basic.WorkflowModel.GetJobsPhase0(ExecutionParams epar)
at MaxQuantLibS.Domains.Peptides.Basic.WorkflowModel.GetAllJobs(Int32 nThreads, String mqparFilePath)
at MaxQuantCmd.CommandLine.Run(String mqparFile, Int32 partialProcessingFrom, Int32 partialProcessingTo, Boolean isDryRun, Boolean createTemplate, String[] changeFolder)
at MaxQuantCmd.CommandLine.<>c__DisplayClass0_0.<Run>b__1(Options options)
at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
at MaxQuantCmd.CommandLine.Run(String[] args)
at MaxQuantCmd.Program.Main(String[] args)
我知道不允许应用程序在/test_folder/test_out/combined/proc创建文件夹这一事实。我 100% 确定我是此路径的所有者,并且我已授予修改它的权限,如ls path -l命令所示:
drwxrwxrwx 2 dfochtman dfochtman 4096 Sep 17 08:00 test_out
我对 Linux 系统非常陌生,并且不知道如何使应用程序运行。感谢您提前提出任何建议和意见!
解决方案
推荐阅读
- swift - URLCache.cachedResponse(for:) 和 URLCache.getCachedResponse(for:completionHandler:) 有什么区别?
- java - Java Executors 中无界队列的用例是什么?
- loopback - 存储库执行方法给出“未实现”错误 loopback4
- python-3.x - 使用自定义生成器的旋转图像顺序
- python - 当您在一列中有多个类别时如何编码
- ssl - NGINX 重定向所有 www 和非 www http 到 https://example.com 的流量?
- python - 如何将整数中的多个数字直接提取到变量中?
- javascript - React Recharts - 从不同的对象获取数据
- c# - 如何在 OpenCvSharp 库中打印矩阵值
- tensorflow - TensorFlow 不会在 GPU 上运行