Conflict with transition precursor++ in ion for peak area calculation

support
Conflict with transition precursor++ in ion for peak area calculation lparsons  2017-09-28 07:22
 
I do not understand how to address this error. I have loaded a list of transitions into a new skyline document and am attempting to load some Thermo MS1-only spectra into the document. These transitions were loaded with assigned charges (assigned by DeconTools) leading to skyline reporting 3,068 precursors / transitions. When I then try to import 4 raw files (File -> Import -> Results) I see errors such as this. I eventually want to import 30 files but am stuck trying to troubleshoot this error.
The 4 files that I am trying to load are related in file name such that they end as "A01, A02, A03, B01" (later files pick up at B02 and go on through J03). If I load only A01, A02, A03 I generally do not get this error though any file I load after does give the error.
Here is the detailed error:

System.IO.InvalidDataException: Conflict with transition precursor+++ in Ion [1147.581097/1147.581097] for peak area calculation. Did you mean to use a different precursor charge state or label? ---> System.IO.InvalidDataException: Conflict with transition precursor+++ in Ion [1147.581097/1147.581097] for peak area calculation. Did you mean to use a different precursor charge state or label? ---> System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at pwiz.Skyline.Model.PeptideDocNode.PeptideChromInfoCalculator.AddChromInfo(TransitionGroupDocNode nodeGroup, TransitionDocNode nodeTran, TransitionChromInfo info) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 1578
   --- End of inner exception stack trace ---
   at pwiz.Skyline.Model.PeptideDocNode.PeptideChromInfoCalculator.AddChromInfo(TransitionGroupDocNode nodeGroup, TransitionDocNode nodeTran, TransitionChromInfo info) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 1588
   at pwiz.Skyline.Model.PeptideDocNode.PeptideChromInfoListCalculator.AddChromInfoList(TransitionGroupDocNode nodeGroup, TransitionDocNode nodeTran) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 1333
   at pwiz.Skyline.Model.PeptideDocNode.PeptideResultsCalculator.AddGroupChromInfo(TransitionGroupDocNode nodeGroup) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 1139
   at pwiz.Skyline.Model.PeptideDocNode.UpdateResults(SrmSettings settingsNew) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 1051
   at pwiz.Skyline.Model.PeptideDocNode.ChangeSettings(SrmSettings settingsNew, SrmSettingsDiff diff, Boolean recurse) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\PeptideDocNode.cs:line 864
   at pwiz.Skyline.Model.SrmDocument.<>c__DisplayClass4a.<ChangeSettingsInternal>b__39(Int32 i) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\SrmDocument.cs:line 938
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object )
   --- End of inner exception stack trace ---
   at pwiz.Skyline.Util.Helpers.WrapAndThrowException(Exception x) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Util\Util.cs:line 1936
   at pwiz.Skyline.Util.ParallelEx.LoopWithExceptionHandling(Action loop, Action`1 catchClause) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Util\Util.cs:line 2129
   at pwiz.Skyline.Model.SrmDocument.ChangeSettingsInternal(SrmSettings settingsNew, SrmSettingsChangeMonitor progressMonitor) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\SrmDocument.cs:line 926
   at pwiz.Skyline.Model.Results.ChromatogramManager.Loader.FinishLoad(String documentPath, MeasuredResults resultsLoad, MeasuredResults resultsPrevious) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\Results\Chromatogram.cs:line 281
   at pwiz.Skyline.Model.Results.ChromCacheWriter.Complete(Exception x) in c:\proj\skyline_3_7_x64\pwiz_tools\Skyline\Model\Results\ChromCacheWriter.cs:line 171

I have previously been able to load all 30 these files into skyline at once with a different transition list without seeing this error at all. Any suggestions on how to address this error would be helpful. Also, the identity (mass) of the ion is not the same for all 4 of these files.
 
 
Brian Pratt responded:  2017-09-28 09:28
It sounds like you have multiple precursors of identical m/z, or nearly so. The document grid is an excellent tool for investigating this. Does Skyline find any chromatograms for this precursor in the replicates that load without complaint?

Thanks for using the Skyline support board!

Brian Pratt
 
lparsons responded:  2017-09-28 09:36
Brian

Thank you for the quick reply. The answer to your question is the part that really baffles me. For the four files that I started with - we can call them A01, A02, A03, and B01 - I only get this error if I try to load all four of them. I can load A01, A02, and A03 without complaint. If I load A01, A02, and A03 and then try to load B01 after the first three, I get this error again. When I load all four, all four fail with some variant of this error (differing in which ion they are complaining about).

I can't make sense of why some ions then are problematic for some files but not others.

I definitely agree that the problem seems to be in the list of precursor ions, but I can't seem to find a good way to figure out which one(s) the problem comes from. When I imported the transition list I used the "check for errors" button and no errors were reported.

thank you
Lee
 
Brian Pratt responded:  2017-09-28 11:02
Hi Lee,

The quickest way to figure this out is to look at your data - if you can share that with us, please use the File | Share menu item in Skyline to bundle up the Skyline document and supporting files. Please upload the resulting .sky.zip and your A01, A02, A03, and B01 files to https://skyline.ms/filecontent/home/support/file%20sharing/begin.view? and we'll have a look.

Thanks,

Brian
 
lparsons responded:  2017-09-28 12:39
Brian

It appears that the error loading the raw files is preventing the Share option in the File menu from working. When I try to use that, a window pops up that tells me "The document must be fully loaded before it can be shared".

However I was able to attach the transition list itself to this message, so I have done so. If there is something obviously problematic with it that would be great to know. I have tried inserting it both through File -> Import -> Transition List as well as through Edit -> Insert -> Transition List. For the former I can put the file right in, for the latter I have to open it first in a spreadsheet, then copy and paste. The result is the same once I try to insert more than the A01, A02, A03 raw files.
 
Brian Pratt responded:  2017-09-28 13:03
Let's try this:

Open a new Skyline document, adjust any settings as needed, then import that transition list and use the File | Share menu item before any Import Results action, and send us that. Then verify that the problem can be provoked, and supply the raw files needed to provoke it, and send us those too.

Thanks,

Brian
 
lparsons responded:  2017-09-28 14:18
I uploaded the skyline file and then spent more time going through the list of ions that cause trouble. I noticed that if I look at the ones that throw errors (even though different ones throw different errors for different raw files) one thing that is in common is they are all +3 charge and when I look at the ions in skyline associated with them there are always ions that are within .06 m/z of each other.

In other words one that it produced an error about had a mass near 1150. When I expanded the molecules list in Skyline I see that there are three ions for this including two with +3 charges, which have m/z of 383.5000 and 383.5600.

However if I go back to the transition list I imported into skyline, I see
383.50,3
383.51,3
383.54,3
383.56,3
It looks to me that skyline combined 383.54 and 383.56 into one, and also combined 383.50 and 383.51 into one (or it dropped one of each pair). However it still throws an error for 383.50 vs 383.56. Is there something I can do to instruct skyline to combine these two as well? When I tried removing ions from the molecules list in skyline and then importing the raw data again, it kept giving me ones that behave like this - specifically they would come up with ions that were separated by exactly .06 - once I removed a previously offending one.
 
Brian Pratt responded:  2017-09-28 15:29
I think you probably just need to reduce your match tolerance, which is currently set to 0.055 and makes the choice of transitions ambiguous.

If that's the case, I should look at making that error message a bit more helpful. Please let me know how this works for you.
 
lparsons responded:  2017-10-02 07:49
Brian

This seems to be the setting I was looking for. When I looked in transition settings in Skyline I found both "method match tolerance" under the instrument tab as well as "ion match tolerance" under the library tab. Where can I find information on the meanings of these two settings? Should they have a particular numeric relationship?

As for the error message, I will say that it didn't really direct me to look for these settings. One thing that would probably be really helpful (albeit most likely quite a bit more work than changing the text of the error message) would be if there was a tool that would check the transition list for this type of conflict (based on the transition settings) before raw data is imported.

thank you
Lee
 
Brendan MacLean responded:  2017-10-05 09:57
These fields have tips. If you hover the mouse cursor over them, you will see an attempt to explain them. Allow me to try again here:
  • Method match tolerance - used to match Q1 and Q3 values in mass spec raw data (which are provided through human entry into a mass spec method with varying precision) to the expected m/z values in Skyline targets
  • Ion match tolerance - used to match peaks in raw MS/MS spectra with expected fragment m/z values in targets and for MS/MS spectrum annotation (values come from mass spec measurements with varying precision depending on the mass accuracy of the instrument - default is 0.5 for low res spectra, but 0.05 is much better for high res MS)
Hope this helps to clarify. Thanks for posting the question to the Skyline support board.

--Brendan

 
lparsons responded:  2017-10-06 14:31
Thank you Brendan, I hadn't tried hovering over for tips before - not sure why it hadn't occurred to me previously. In my case I'm currently working with a set of data that is MS1-only, it seems that the Ion match tolerance works the same way in this case to what you just described for ms/ms.

thank you Lee

 
Brendan MacLean responded:  2017-10-06 14:47
"it seems that the Ion match tolerance works the same way"

In what sense do you mean by this? I can't really think of a way that the "Ion match tolerance" in the Transition Settings - Library tab would apply to MS1 transitions. I am probably just missing something but would like to understand your point.

Thanks for your feedback.

--Brendan