Issue 287: ArgumentOutOfRangeException in ChromDataSet.SetBestPeak

issues
Status:closed
Assigned To:Guest
Type:Defect
Area:Skyline
Priority:2
Milestone:2.5
Opened:2014-01-15 by Nick Shulman
Changed:2014-01-20 by Nick Shulman
Resolved:2014-01-17 by Brendan MacLean
Resolution:Fixed
Closed:2014-01-20 by Nick Shulman
2014-01-15 Nick Shulman
Title»ArgumentOutOfRangeException in ChromDataSet.SetBestPeak
Assigned To»Brendan MacLean
Type»Defect
Area»Skyline
Priority»2
Milestone»2.5
1. Download files from /net/maccoss/vol6/home/nicksh/bugs/jadowell
2. Open Kim_d0_d5_with_Heavy_Isotope.sky
3. If prompted about a missing library, just click "Open"
4. Skyline will try to import "Kim100813_01.raw" and will hit that exception at the end.

Result:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at pwiz.Skyline.Model.Results.ChromDataSet.SetBestPeak(ChromDataPeakList peakSet, PeptideChromDataPeak bestPeptidePeak, Int32 indexSet) in C:\Users\nicksh\svn\sky_bugfix\pwiz_tools\Skyline\Model\Results\ChromDataSet.cs:line 998
   at pwiz.Skyline.Model.Results.PeptideChromDataPeak.SetBestPeak(PeptideChromDataPeak peakBest, Int32 indexSet) in C:\Users\nicksh\svn\sky_bugfix\pwiz_tools\Skyline\Model\Results\PeptideChromData.cs:line 717
   at pwiz.Skyline.Model.Results.PeptideChromDataSets.PickPeptidePeaks(ICollection`1 dataSets) in C:\Users\nicksh\svn\sky_bugfix\pwiz_tools\Skyline\Model\Results\PeptideChromData.cs:line 472
   at pwiz.Skyline.Model.Results.PeptideChromDataSets.PickChromatogramPeaks() in C:\Users\nicksh\svn\sky_bugfix\pwiz_tools\Skyline\Model\Results\PeptideChromData.cs:line 131
   at pwiz.Skyline.Model.Results.ChromCacheBuilder.WriteLoop(Int32 currentFileIndex, Boolean primeThread) in C:\Users\nicksh\svn\sky_bugfix\pwiz_tools\Skyline\Model\Results\ChromCacheBuilder.cs:line 922

In PeptideChromDataSets.PickPeptidePeaks, this line:
peak.SetBestPeak(peakBest, i);
does not look right, because "i" is the index into the local variable "listPeakSets" list, which potentially has different elements in it than peak.Data._listPeakSets.

2014-01-17 Brendan MacLean
resolve as Fixed
Statusopen»resolved
Assigned ToBrendan MacLean»Nick Shulman
Fixed with r5565

2014-01-20 Nick Shulman
close
Statusresolved»closed
Assigned ToNick Shulman»Guest
Verified