cox-labs / CoxLab_Bug_Reporting

MaxQuant and Perseus Bug Reporting
6 stars 1 forks source link

Error when running MaxQuant version 2.0.3.1: _Input string was not in a correct format._ #64

Open RicardoFong opened 6 months ago

RicardoFong commented 6 months ago

Error when running MaxQuant in Linux

I am running a set of raw files in Linux with mono and xml files, as it should be run according to official video tutorials, and personal communication with peers that have experience with it. I have had different types of errors related to memory allocation that I have been able to solve. This time, when running one of this set of runs I get this error that seems to not be related to memory, but rather with some formatting of file, nevertheless, the file format that it points to is the raw file. I don't know if it could be related to the functioning of MaxQuant's code that yields this error due to memory usage, or if it is actually something wrong with the format of my raw file, which would mean that it is corrupted, since I have not manipulated it at all. Only manipulations have been in the xml file, which are exactly the same as in runs that have actually finished successfully.

The error file in my combined folder is called "Reading_search_engine_results 11.error.txt"

This is the content of the file, as I understand it is describing that there is an input string comming from the raw file that is not in a correct format (that's where I am confused, since the raw file comes directly from the proteomics facility):

''' id 0 start 21-02-2024 02:41:26 title Reading_search_engine_results (1/1) description /project/proteomics/outputs/MaxQuantRuns/s2885_BPP_014_02/LDB-001_MQv1_INIT/LDB-001_s2885_MQv1.raw error /project/proteomics/outputs/MaxQuantRuns/s2885_BPP_014_02/LDB-001_MQv1_INIT/LDB-001_s2885_MQv1.rawInput string was not in a correct format. at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x0001a] in :0 at System.Number.ParseInt32 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x00016] in :0 at System.Int32.Parse (System.String s) [0x00016] in :0 at MsLib.Search.AndromedaQueryStandard.FromString (System.String line, System.String[] fixedMods) [0x0002b] in :0 at MaxQuantLibS.Domains.Peptides.Search.ResParser.ParseRes (System.IO.TextReader reader, System.Int32 minPepLen, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet) [0x000a1] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Search.ResParser.ParseRes (System.String resFile, System.Int32 minPepLen, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet) [0x00012] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Search.ResParser+<>c__DisplayClass7_0.b_0 (System.String resFile) [0x00000] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at System.Linq.Enumerable+SelectArrayIterator2[TSource,TResult].MoveNext () [0x0003a] in <3e5de7278d3f47efb15f21c626ff08dc>:0 _ at MaxQuantLibS.Domains.Peptides.Search.ResParser.ParseRes (System.Collections.Generic.IEnumerable1[T] rawFiles, System.Collections.Generic.IEnumerable1[T] resFiles, System.Int32 minPepLen, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet) [0x0015c] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 _ at MaxQuantLibS.Domains.Peptides.Search.ResParser.ParseFiles (System.Collections.Generic.IEnumerable1[T] rawFiles, System.Collections.Generic.IEnumerable1[T] resFile, System.Int32 minPepLen, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet, System.Int32 splitIndex, MaxQuantLibS.Domains.Peptides.Search.AndromedaResultInfo info) [0x00001] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 _ at MaxQuantLibS.Domains.Peptides.Search.ResParser.Parse (System.Collections.Generic.IList1[T] rawFiles, System.Collections.Generic.IList`1[T] resFiles, System.Int32 minPepLen, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet, System.Int32 index) [0x0001d] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Search.ReadAndromedaResults.ReadSearchEngineResultsNormal (MaxQuantLibS.Domains.Peptides.Basic.MaxQuantParams mqpar, System.String combinedFolder, System.Int32 index, BaseLibS.Ms.Data.Protein.ProteinSet proteinSet) [0x0001d] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Search.ReadAndromedaResults.ReadSearchEngineResultsNormalTask (System.String mqparFile, System.String combinedFolder, System.Int32 index) [0x0003c] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Work.ResultsReader.Calculation (System.String[] args, BaseLibS.Util.Responder responder) [0x0000f] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Domains.Peptides.Work.MaxQuantWorkDispatcherUtil.PerformTask (System.Int32 taskType, System.String[] args, BaseLibS.Util.Responder responder) [0x00007] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantLibS.Base.MaxQuantUtils.Run (System.Int32 softwareId, System.Int32 taskType, System.String[] args, BaseLibS.Util.Responder responder) [0x0002d] in <6a6754cab5cf48c89c9c64e9dafc7e21>:0 at MaxQuantTaskCore.Program.Function (System.String[] args, BaseLibS.Util.Responder responder) [0x0001c] in <1c54eed30d1e45488ee6c9e61d204782>:0 _ at Utils.Util.ExternalProcess.Run (System.String[] args, System.Boolean debug) [0x000af] in <94cd7968dc654c259fccb9053e84841e>:0 end 21-02-2024 02:41:33 '''

To Reproduce

  1. I am working at a High Performance Computing cluster
  2. I give 20 cores with 10G per core of memory resources
  3. Load dotnet-core/3.1.8 and mono: $ module load dotnet-core/3.1.8 mono
  4. I run maxquant version 2.0.3.1 $ mono /path/to/MQ/MaxQuant_2.0.3.1/bin/MaxQuantCmd.exe /project/proteomics/outputs/MaxQuantRuns/s2885_BPP_014_02/LDB-001_MQv1_INIT/LDB-001_s2885_MQv1.xml
    1. after 2 days of execution I get the described error.

Expected behavior I would expect that the run finishes, building the complete combined directory with the txt directory with built *.txt files Otherwise, I would expect it to fail with an issue memory-related, like Garbage collector issue, or some memory failing

Desktop (please complete the following information):

Thank you in advance for your support

bi-MPIB commented 6 months ago

Could you please try out with the newest version (2.4.14.0) and let us know if the problem is still there? You could directly use dotnet in the same way: dotnet path_MQ/bin/MaxQuantCmd.exe path_mqpar.xml

RicardoFong commented 5 months ago

Hello, thank you for your answer. I already tried your suggestion, I now tried with the 2.4.14 version of MQ, and the job died after a couple of minutes. Parameters in the XML file are all exactly the same. Before, I got 2 days of execution and died, with the original error posted in this thread. Now it dies immediately, with the following error: (executing in Linx HPC, 20 cores, 20G per core)

''' Unhandled exception. System.Exception: Exception during execution of external process: 2753045 Unhandled exception. System.OverflowException: Arithmetic operation resulted in an overflow. at BaseLibS.Util.FileUtils.ReadDoubleArray(BinaryReader reader) at BaseLibS.Num.CubicSpline..ctor(BinaryReader reader) at MaxQuantLibS.Domains.Peptides.Data.PlistData.GenericPeakListLayerData.ReadCalibration() at MaxQuantLibS.Domains.Peptides.Search.MsmsFileWriting.PrepareMsms(RunLayer run, RawFileLayer rawFile, PeakListLayerData peakList, GroupParams param, Boolean firstSearch, MaxQuantParams mqpar, Int32 fileIndex, Int32 sliceIndex, Responder responder) at MaxQuantLibS.Domains.Peptides.Features.FeatureDetectionUtil.ProcessMsms(MaxQuantParams mqpar, GroupParams param, RunLayer run, RawFileLayer rawFile, Int32 fileIndex, Int32 sliceIndex, Responder responder) at MaxQuantLibS.Domains.Peptides.Features.FeatureDetectionUtil.MsmsPreparation(String mqparFile, Int32 taskIndex, Boolean positiveMode, Responder responder) at MaxQuantLibS.Domains.Peptides.Work.MsmsPreparation.Calculation(String[] args, Responder responder) at MaxQuantLibS.Domains.Peptides.Work.MaxQuantWorkDispatcherUtil.PerformTask(Int32 taskType, String[] args, Responder responder) at MaxQuantLibS.Base.MaxQuantUtils.Run(Int32 softwareId, Int32 taskType, String[] args, Responder responder) at MaxQuantTaskCore.Program.Function(String[] args, Responder responder) at Utils.Util.ExternalProcess.Run(String[] args, Boolean debug) at MaxQuantTaskCore.Program.Main(String[] args)

at QueueingSystem.WorkDispatcher.ProcessSingleRunExternalProcess(Int32 taskIndex, Int32 threadIndex) at QueueingSystem.WorkDispatcher.DoWork(Int32 taskIndex, Int32 threadIndex) at QueueingSystem.WorkDispatcher.Work(Object threadIndex) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() /localscratch/spool/slurmd/job26873152/slurm_script: line 27: 2749287 Aborted (core dumped) dotnet /path/to/MQ/MaxQuant_v2.4.14.0/bin/MaxQuantCmd.exe /project/proteomics/outputs/MaxQuantRuns/s2885_BPP_014_02/LDB-001_MQv1_INIT/LDB-001_s2885_MQv1.xml '''

Than you for your support

pelipelipeli commented 5 months ago

Check your system's current culture decimal separator. If it is ‘,’ change it to ‘.’ . Running ‘locale -k LC_NUMERIC’ will give you detailed information about numeric formatting, including the decimal_point key, which shows the decimal separator.