Issue 108: Inserting a medium-large transition list with a background proteome can appear to hang Skyline

issues
Status:open
Assigned To:Brian Pratt
Type:Defect
Area:Skyline
Priority:4
Milestone: 
Opened:2011-11-10 by Brendan MacLean
Changed:2017-06-08 by Brendan MacLean
Resolved:
Resolution:
Closed:
2011-11-10 Brendan MacLean
Title»Inserting a medium-large transition list with a background proteome can appear to hang Skyline
Assigned To»nicksh@u.washington.edu
Type»Defect
Area»Skyline
Priority»2
Milestone»1.2
To reproduce:
Open the Skyline iRT tutorial.
Delete all proteins and peptides.
Edit / Insert / Transition List.
Paste the iRT tutorial transition list.

On my computer, this can take minutes, and the user interface appears hung. I made it through this operation, but using a debugger to check that it was still running, but we should either improve the performance, or fix the code to show a LongWaitDlg to help convince the user that work is being performed.

I have attached a dotTrace snapshot that shows where the time is going.

Ideally, all of protein identification work would happen in memory before the grid is changed, so that it could be wrapped in a LongWaitDlg operation. Right now, most of the work is happening in DataGridViewCell.set_Value.
 
 InsertTransitionListWithBackgroundProteome.dtp
 InsertTransitionListWithBackgroundProteome.dtp.settings

2014-01-08 Brendan MacLean
Milestone1.2»2.6

2014-04-28 Nick Shulman
Assigned ToNick Shulman»bspratt
The DotTrace profile says that 65% of the time is spent in the "GetFastaSequence" call in "gridViewTransitionList_CellValueChanged" (in order to fill in the protein description column).

I am wondering if, now that we have your background processes which go and fetch protein descriptions from the web, we could just remove the code that does this in gridViewTransitionList_CellValueChanged.

2014-04-28 Brian Pratt
That could work, though it would lose some of the nice immediate feedback (well, nice when it's actually immediate). This code can possibly be made more efficient by replacing GetProteinByName with GetProteinMetadataByName since we're really only trying to get at the description, and needn't pull the sequence data.

2014-04-28 Brian Pratt
It appears that these repro instructions are old enough that the transition list in question no longer exists in the context of that tutorial. The Existing-Quant tutorial might be good, though.

2014-08-28 Brendan MacLean
Milestone2.6»3.1

2017-06-08 Brendan MacLean
Priority2»4
Milestone3.1»
Would be nice to verify that this is still an issue and fix if it is or close if it is not.