Issue 871: Clean up the interaction of small molecule transition list imports and Transition Settings that affect precursor isotope ([M+1], [M+2] etc) creation

issues
Status:closed
Assigned To:Guest
Type:Defect
Area:Skyline
Priority:1
Milestone:23.1
Opened:2022-02-15 15:41 by Brian Pratt
Changed:2023-09-12 16:16 by Brian Pratt
Resolved:2023-09-12 16:16 by Brian Pratt
Resolution:Fixed
Closed:2023-09-12 16:16 by Brian Pratt
2022-02-15 15:41 Brian Pratt
Title»Clean up the interaction of small molecule transition list imports and Transition Settings that affect precursor isotope ([M+1], [M+2] etc) creation
Assigned To»Brian Pratt
Type»Defect
Area»Skyline
Priority»1
Milestone»22.1
When we import transition lists with molecular formulas, we have the information needed to create precursor isotopes in the Targets tree, but we initially honor just what's in the transition list. However, if you go and change the Transition Settings, Skyline will add them (or remove them on an later change).

Point is, we create those nodes with AutoManageChildren ON where it should really be OFF.

Ideally if a user DID want us to go in and add all the extra isotope peak precursors, they'd just go to Refine > Advanced and tick the appropriate "Auto-select all..." checkboxes but that currently doesn't work because they're already on, which is a peculiar state since the nodes that really ought to be available in that state, aren't.

So really, the transition list import needs to create nodes with AutoManageChildren OFF.

2023-03-25 06:11 Brendan MacLean
Milestone22.1»23.1
After experiencing this again with an entirely new tutorial based on glycan research where glycans can have fairly complicated isotope distributions with even the monoisotopic peak being different from the base peak, I think we need a slightly different solution than I have proposed in the past.

In the tutorial for this data, the tutorial author had readers import a transition list with only a list of fragment ions, but settings clearly set up with MS1 filtering and ion types including "p". But the result ended up with no precursor transitions in the document. Since the PR for this issue has not yet been merged, I fixed this by removing the "p" ion type and then re-adding it.

However, this made me feel the problem is more prevalent than I had been expecting, and that the solution is too complicated and too hidden for a new user to discover easily.

So, I think what we want here is to show a message to the user that the transition list they have supplied does not match their settings and give them the option to either continue to the previously proposed solution where auto-picking would be turned off, or continue to a set of targets consistent with the settings where auto-picking would not need to be turned off. Note that these are the only two coherent options, and both differ from what we have now, which is non-matching transitions with auto-picking still on so that any unrelated change in Transition Settings may suddenly add transitions to the document.

Given the glycan example, I think this should probably be implemented for both small molecules and peptides, since I could imagine someone doing the same thing for peptides, where they supply the fragment ions they want and expect Skyline to add the relevant precursor transitions based on the settings.

The implementation should be fairly easy, as it would be:
1. Perform the implemented fix where auto-picking is turned off.
2. Perform the auto-pick transitions refinement and check if the transitions change.

Question: Should precursors that match their auto-picking state be left as auto-picking? That is should we only turn off auto-picking when it is necessary to achieve the transition state supplied by the user? I feel like we do this for peptides. So, it is worth researching and coming up with a coherent solution.

2023-09-12 16:16 Brian Pratt
resolve as Fixed
Statusopen»resolved
fixed 4/26/2023 in commit d68c2109b8050e85aa1a12b05997f2985348ecd4

2023-09-12 16:16 Brian Pratt
close
Statusresolved»closed
Assigned ToBrian Pratt»Guest