Skip to content

ArgumentOutOfRangeException in MSDecHandler.getRefinedModelChromatograms during GC-MS quantitative data processing (v5.5.260323) #740

Description

@Catosine

Bug Description

An unhandled System.ArgumentOutOfRangeException is raised during the quantitative analysis workflow of GC-MS data in MS-DIAL v5.5.260323. The exception originates from the MSDecHandler.getRefinedModelChromatograms method, suggesting an index access violation on the modelChromatograms collection during the deconvolution step.

Environment

  • Software: MS-DIAL v5.5.260323
  • Analysis Type: GC-MS quantitative analysis
  • Data Type: ABF data converted from Agilent dotD files
  • Operating System: Windows

Steps to Reproduce

  1. Launch MS-DIAL v5.5.260323.
  2. Load a very large GC-MS dataset (18,000+ samples) for quantitative analysis.
  3. Run peak detection and alignment for peak matrix.
  4. The application crashes with an unhandled exception dialog.

Note: I am happy to provide the specific project file, parameter set that trigger this crash if required for reproduction.
Note: I am sorry for unable to provide examples of raw data, since they are related to ongoing research projects and I believe there is nothing related to specific files but a very large amount of dataset.

Expected Behavior

The deconvolution and chromatogram refinement pipeline should complete without unhandled exceptions, or gracefully handle edge cases where the model chromatogram collection is empty or misaligned.

Actual Behavior

The application terminates with the following exception:

Unhandled exception in MSDIAL v5.5.260323

索引超出范围。必须为非负值并小于集合大小。
参数名: index

Stack trace:
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at CompMs.MsdialCore.MSDec.MSDecHandler.getRefinedModelChromatograms(List`1 modelChromatograms)
   at CompMs.MsdialCore.MSDec.MSDecHandler.GetMSDecResults(IReadOnlyList`1 spectrumList, List`1 chromPeakFeatures, ParameterBase param, ReportProgress reporter)
   at CompMs.MsdialGcMsApi.Process.FileProcess.<DetectScans>d__17.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CompMs.MsdialGcMsApi.Process.FileProcess.<RunAsync>d__15.MoveNext()
   at CompMs.MsdialCore.Algorithm.ProcessRunner.Consumer.<ConsumeAsync>d__5.MoveNext()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at CompMs.App.Msdial.View.Core.MainWindow.<<ShowMultiProgressBarWindow>b__0>d.MoveNext()
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Additional Context

The crash appears to occur specifically within the GC-MS API processing pipeline (CompMs.MsdialGcMsApi.Process.FileProcess) during the scan detection phase, when the MSDec handler attempts to retrieve refined model chromatograms. This may indicate that a chromatographic peak feature is being associated with an invalid index in the model chromatogram list, possibly due to an empty or unexpectedly filtered feature set prior to deconvolution.

Please let me know if further diagnostic information would be helpful.

Thank you for all you have done!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions