This library contains C# support scripts used to enable MSn-tree searching in LipiDex.
The original release of LipiDex has no way to filter its spectral libraries by polarity, collision type, collision energy, or MSn order, and it places the impetus on the user to generate extremely curated spectral libraries specific to their exact acquisition technique. This led to scenarios where library entries would be incorrectly compared to experimental data, causing impossible spectral matches were being made.1
While these matches usually didn't persist though LipiDex's data filtering steps, these obviously incorrect spectral matches were worrisome and were a constant source of confusion. Further, LipiDex has no method for integrating the additional structural information provided by additional MSn acquired on the same lipid feature. We needed a solution to both the above problems.
Integrating spectral library filtering was not possible short of a full rebuild of LipiDex. As such, our solution was more along the lines of a side-hack and is unfortunately limited to only Thermo .RAW files (sorry).
To briefly summarize our strategy, instead of using a spectral conversion program like MSConvert to generate a set of text-based spectral files containing all of the tandem mass spectra from an experiment, we instead convert and group the tandem MS by activation type and MSn level.2 Next, we search these spectral groups using only libraries curated to each activation type and MSn level using Spectrum Searcher in LipiDex. Finally, the spectral matches from each of these groups are manipulated to ensure precursor information is properly tracked and are stiched back together into a single final spectral match file which can be piped into Peak Finder.
- Coon Lab MSn Spectrum Combiner - Splits single raw file into HCD MS2s, CID MS2s, and CID MS3s
- LipiDex Peak Finder - Search each group of MGFs seperately using curated libraries.3
- Concatenate Spectral Matches - Takes the spectral matches originally belonging to each experiment and reassembles them into one file.
- Isomer Purity Correction - If your library contains lipids with positional isomers (e.g. PC 18:0/16:1 and PC 16:1/18:0), corrects purity calculation.
- Correct Lipid Precursor Info - Changes MS3+ precursor m/z values to the original intact precursor.4
- LipiDex Peak Finder - Continue data processing as normal.
Each folder contains a separate C# project that should be run from source (*.sln) in Visual Studio. The Coon Lab MSn Spectrum Combiner has a GUI, the other programs need to be run from command line. To use the Coon Lab MSn Spectrum Combiner, you'll need to install MSFileReader 3.0 and make sure that XRawFile2.dll is registered in both 32- and 64-bit forms.
Footnotes
-
e.g. [M-H+acetate]- spectral matches in positive mode. ↩
-
Currently this is hardcoded to HCD MS2s, CID MS2s, and CID MS3s to support our work on Real-Time Library Searching. ↩
-
Ideally only the last MSn of each fragmentation tree should be marked as optimal polarity. This prevents weird behavior with how LipiDex treats serially collected MSn scans. LipiDex assumes serially collected MSn are "co-isolated" species and collapses these identifications to sum composition (which defeats the purpose of serially collected MSn). ↩
-
LipiDex matches liquid chromatography peaks via intact precursor m/z in Peak Finder. If this step is skipped, any spectral matches using the MS3+ isolation m/z will likely not make it through Peak Finder correctly. If they do match, they still will be filtered out as in-source fragments. ↩