Greetings,
We are looking into using Skyline for some of our small molecule processing, and I ran into a rough edge I thought could be improved around managing transition lists. If I graphically build a small molecule transition list in Skyline and export it, Skyline fails to import the list into a new document.
If you follow the below, I was able to manipulate the exported document into a format that Skyline would import, but the workflow is cumbersome for something that feels like it should be natively handled by the GUI.
If you do intend to investigate the issue, I should be clear that my actual interest is in automating the creation of Skyline documents + transition lists through the Skyline Commandline runner. This work through the GUI was just to establish POC.
Skyline Daily 20.1.9.234
To reproduce:
- Start Skyline
- Select Small Molecule workflow
- Edit->Insert-Transition List
- Molecule List Name: aspirin
- Precursor Name: aspirin
- Precursor Formula: C9H8O4
- Precursor Adduct: [M+H]
- Precursor m/z: 181.0495348
- Precursor Charge: 1
- Insert molecule
- File->Export->Transition List
- File->New
- File->Import->Transition List
Results in following error message:
System.IO.InvalidDataException: Failed to find peptide column., line 1. ---> System.IO.InvalidDataException: Failed to find peptide column., line 1. ---> pwiz.Skyline.Model.LineColNumberedIoException: Failed to find peptide column., line 1.
at pwiz.Skyline.Model.MassListImporter.Import(IProgressMonitor progressMonitor, String sourceFile, ColumnIndices indices, IDictionary`2 dictNameSeq, List`1& irtPeptides, List`1& librarySpectra, List`1& errorList) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Model\Import.cs:line 485
at pwiz.Skyline.Model.MassListImporter.Import(IProgressMonitor progressMonitor, String sourceFile, List`1& irtPeptides, List`1& librarySpectra, List`1& errorList) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Model\Import.cs:line 423
--- End of inner exception stack trace ---
at pwiz.Skyline.Model.MassListImporter.Import(IProgressMonitor progressMonitor, String sourceFile, List`1& irtPeptides, List`1& librarySpectra, List`1& errorList) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Model\Import.cs:line 427
at pwiz.Skyline.Model.SrmDocument.ImportMassList(MassListInputs inputs, IProgressMonitor progressMonitor, IdentityPath to, IdentityPath& firstAdded, List`1& irtPeptides, List`1& librarySpectra, List`1& errorList, List`1& peptideGroups) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Model\SrmDocument.cs:line 1454
at pwiz.Skyline.SkylineWindow.<>c__DisplayClass1079_0.<ImportMassList>b__2(IProgressMonitor longWaitBroker) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\SkylineFiles.cs:line 1925
at pwiz.Skyline.Controls.LongWaitDlg.RunWork(Action`1 performWork) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 254
--- End of inner exception stack trace ---
at pwiz.Skyline.Util.Helpers.WrapAndThrowException(Exception x) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Util\Util.cs:line 1940
at pwiz.Skyline.Controls.LongWaitDlg.PerformWork(Control parent, Int32 delayMillis, Action`1 performWork) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 202
at pwiz.Skyline.Controls.LongWaitDlg.PerformWork(Control parent, Int32 delayMillis, Action`1 performWork) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\Controls\LongWaitDlg.cs:line 140
at pwiz.Skyline.SkylineWindow.ImportMassList(MassListInputs inputs, String description, Boolean assayLibrary) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\SkylineFiles.cs:line 1923
at pwiz.Skyline.SkylineWindow.ImportMassList(String fileName) in C:\proj\skyline_20_2_x64\pwiz_tools\Skyline\SkylineFiles.cs:line 1902
Consulting the Help on the "Transition List" window, I attempted to hand-edit the exported CSV to include the columns (MoleculeGroup, PrecursorName, ProductName, PrecursorFormula, ProductFormula, PrecursorMz, ProductMz, PrecursorCharge, ProductCharge, PrecursorAdduct, ProductAdduct, PrecursorRT, PrecursorRTWindow, PrecursorCE, PrecursorDT, HighEnergyDTOffset, PrecursorIM, HighEnergyIMOffset, IMUnits, PrecursorCCS, SLens, ConeVoltage, CompensationVoltage, DeclusteringPotential, Note, LabelType, InChiKey, CAS, HMDB, InChi, SMILES, KEGG, ProductNeutralLoss), added the required data, but this too failed to import. Lastly, I added the suggested columns, filled in the extra data, and deleted the originally exported columns - this worked.
Attached:
- small_molecule_ts_export.csv - failed to import - Skyline small molecule built and exported transition list
- small_molecule_ts_export_extracolumns.csv - failed to import - Skyline small molecule export + manually added suggested columns
- small_molecule_ts_export_extracolumns_only.csv - successful import - Skyline small molecule export + manually added suggested columns only
Thanks for your attention. Happy to give any more details that you require.