Waters Synapt G2-Si - multiple issues to access CCS values

Waters Synapt G2-Si - multiple issues to access CCS values nicolas macorps  2022-08-31 02:42
Dear Skyline support,

I have been trying to use Skyline to analyse data obtained with a Water Synapt G2-Si with ion mobility (IM) experiments. Experiments are performed with the HDMS mode (ion mobility, elution time and full scan MS only). The ion mobility technique is TWIMS that use a calibration curve (mob_cal.csv file in the sample root) that the proprietary software uses to correlate measured drift times to CCS values.
I want to use Skyline.ms to have a solid workflow with this software to quantify PFAS (small targeted molecules) in various samples. To confirm that I am indeed looking at a PFAS, I need to access CCS values (which include the need to create an IM library) so I can then have it when exporting a "report'.

I encountered some issues when using Skyline features which is why I am opening this support feed. You can find uploaded in the "File Sharing Folder for Skyline Support" my folder under the name "Synapt_CCS_PFAS_SkylineSupport.zip". This file contains *.raw data from the Water Synapt, *.sky file (with the trageted list molecules in a *.csv in case it is needed) and snapshots of some error message I got along my tests.

1) Skyline crashing when importing *.raw files :
When trying to import Synapt *.raw files (220621008.raw and 220621009.raw in the *.zip folder), skyline crashes at the importation step (software closes without error message). This issue was encountered and reported in another support feed. The proposed solution in this feed was to convert *.raw into *.mzML files, but it seems that this approach doesn't allow for CCS values when creating IM library.

I went looking into the *.raw folders and found that when changing _FUNC002.DAT into _FUNC002.temp (in other words I "remove" this function from the *.raw file) I was now able to import without crashing the *.raw file and was able to obtain chromatograms with full scan spectrum and drift time (ms) distribution.
I initially thought that this "Function 2" contained "lockmass" data which can cause some issues when converting into *.mzML so I thought that removing this function could fix the problem. However I cannot be sure that this function is indeed the "lockmass" when looking in the "_extern.inf" file nor in the "_HEADER.TXT". The only information I have on these files are for the function 1 : "MOBILITY MS FUNCTION". So function 2 may also contain IM data from the HDMS experiments but I cannot be sure.

In any case, I kept going with modified *.raw files with the change of _FUNC002.temp (220621008_modify.raw and 220621009_modify.raw) to try to obtain CCS values

2) Negatives CCS values when creating IM library with "use results"

Now having something to work with, I tried creating the IM library for my molecules. I was happy to see that I could obtain some CCS values by doing so. Unfortunatly they are all with a negative sign and as such completely incorrect. I had two thought on that :
- Conversion of drift time into CCS values using the mob_cal.csv file (as done by the proprietary software) is not performed in Skyline in this manner or Skyline needs another type of file to do so.
- We need the function 2 to be active to have CCS values

For the latter, I tried to reactivate the function 2 in the *.raw file and reimport them. Doing so led to no crash so I followed with the creation of an IM library. I ended up with an error message "Failed using results to populate ion mobility library: [SpectrumList_Waters:spectrum()] Bad index: 18446744073709551615" (you can find the snapshot in the *.zip file and the extended error message in a *.TXT file in the *.zip).
Further trying with reimportation led to a crash of the software as mentionned in my first point.

I hope you have enough elements with this description to help me ?
- Do you know why Waters HDMS experiment *.raw files would make the software crash ?
- Do you know why I have negative CCS values when creating the IM library with the "use results" feature?

Let me know if you need anything else from me.

Best regards,
Brian Pratt responded:  2022-09-06 11:28
Hi Nicolas,

I suspect that the .raw is damaged - I tried running it through MSConvert as an independent test and it throws an error. Do you have any means to verify that the data is OK? That would involve opening it in another tool such as provided by Waters, and making sure that every scan is visited.

Thanks for using the Skyline support board,

Brian Pratt
nicolas macorps responded:  2022-09-12 05:18
Hi Brian,

Thank you for looking into it.

I was able to open both *.raw (not the "_modified.raw" ones) with Masslynx. TIC, ms spectra and EIC are usable. I then tried on "Driftscope" from the same software that allow to inspect ion mobility results and I was also able to open it and find my molecules and their CCS values.

I also tried MSConvert with these files. I didn't have error messages but the file is indeed stuck on "writing spectra: 1/4904". When using the file "_modify.raw", MSConvert works fine. The difference between the two *.raw is the "_FUNC002" file. Not sure if that really means that the *.raw is damaged or if it means that the lockspray function (which is supposed to be in the _FUNC002 file) is messing with everything. Or maybe it is because these are Waters files?

In the next couple of weeks I will certainly acquire new *.raw data. I can try again what I tested already and send you some new files but I am not confident that it will have any impact on resolving the issues..

Let me know if you need anything else from me.

Brian Pratt responded:  2022-09-12 17:16
One frustrating thing about the Waters data format is that it's really hard to know the purpose of each function. We're forced to guess at what each function does, I think in this case function 2 probably is indeed lockmass data but we're likely treating it as though its the high energy function to go with the low energy function 1 (a common operating mode, "MSe").

I'll see about being a bit more clever with this - but there's always the risk of breaking something else, of course. We could probably reasonably say, though, that if lockmass correction is requested and there are only two functions, then function 2 must be lockmass data.
Brian Pratt responded:  2022-09-14 14:39
Hi Nicolas,

Thanks for providing an interesting data set. I think I have the problem solved, may we incorporate your data in an automated test? Note that this would make the data (rather obscurely) public.

Best regards,

Brian Pratt
nicolas macorps responded:  2022-09-14 23:52
Hi Brian,

This is great ! You can of course use the data for the test.

Thank you.

Best regards,

nicolas macorps responded:  2022-11-24 05:45
Hi Brian,

I am reopening this support feed to give some updates regarding the obtention of CCS values from Waters data.

Since the last update, importing raw data is not an issue anymore. Files don't need to be converted into .*mzML.

I recently acquired some files with the Waters Synapt G2-Si with ion mobility.

I tried to create a CCS calibration with the "use results" option, but Skyline gave me an error "Invalid CCS calibration". I was able to find the CCS for my molecules using Waters software (Driftscope) and they seems to correspond to previous work. But I would very much like to get them using Skyline. Do you have any clue of why I am getting this error message ? Am I missing a step in creating my CCS library ?

I added in the "File sharing" section my Skyline document and the* .raw data under the name "Waters Synapt G2-SI CCS values issue.sky.zip" in case you would need it.

Thank you for your time and for your help.

Best regards,

Brian Pratt responded:  2022-11-28 12:36
Hi Nicolas,

That error is coming from the Waters DLL, so it's hard to say what's going on exactly - but I do notice that the mob_cal.csv file has rather a different format than any others we've seen, including the one from you dated 9/6/2022. Different header, and many fewer lines in the most recent one. Perhaps you can investigate the reasons for that and we can go from there?

Best regards,

nicolas macorps responded:  2022-12-05 04:47
Hello Brian,

It was indeed the format of the content of the mob_cal.csv that was an issue. I was comparing two types of CCS calibration on the water instrument, and the output mob_cal.csv are different when using a different CCS calibration method (using Intellistart vs Driftscope).

I managed to get some mobility data but when creating the mobility library, Skyline still gives me negative CCS values. The mobility filtering works fine on the MS spectra after the mobility library creation but still does not give me a CCS value. When I try to edit the library, Skyline ask me to give CCS value above 0. So it manage to create a library with negative values but does not want to be edited unless we correct the negative values.

Any idea why I still have negative CCS values with my data ?

I attached my skyline file to this response.

Let me know if you need anything else.

Best regards,

Brian Pratt responded:  2022-12-05 09:40
Hi Nicolas,

The conversion from ion mobility to CCS is handled inside the DLL provided by Waters, which is a completely black box to us. So while I can't say anything for sure about why it's returning negative CCS values, my guess is that it has something to do with that mob_cal file that we already know has been manipulated. But again, that level of granularity is beyond what we deal with - we just point the Waters DLL at the .raw directory, we have no knowledge of any details below that. So I guess that a good start would be comparing that mob_cal to several others in .raw folders that haven't been messed with, but ultimately you may need to take this up with Waters since only they know exactly how the DLL answers the question "what's the calculated CCS of an ion of this m/z, charge, and drift time?".

I suppose another possibility is that the calibration file is correct but the DLL-provided CCS calculation does not know what to do with a negative charge value. But it seems like we'd have encountered that question by now.

If you really wanted to just force those CCS values to be positive, the easiest thing is to copy everything in that grid to Excel, negate the values, and copy it all back to the ion mobility library window. But I'd worry that the values aren't correct.

Best regards,

Brian Pratt