首页 > 解决方案 > 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 系统非常陌生,并且不知道如何使应用程序运行。感谢您提前提出任何建议和意见!

标签: .netlinuxcentos

解决方案


推荐阅读