Precurser Selection Small Molecules

Precurser Selection Small Molecules matthew.r.russell  2024-06-12 02:01

Dear Skyline

I have been experimenting with small molecule data import into skyline daily from a waters HDMSe experiment. I have m/z, charge state, RT and ion mobility information, but not molecule identifications. I would like to have multiple precursor ions imported. Although I appreciate skyline can't calculate isotope dot product with no formula I thought it would be able to import [M+1], [M+2] etc signals. Tweeking the transition settings for filter and Full-scan back and forward is not triggering these precursor inclusions on the list. Is it possible to set these precursor transitions up at all?

Brian Pratt responded:  2024-06-12 08:18

Hi Matthew,

As you note, Skyline can't generate an isotope distribution without knowing the chemical makeup of the precursor. So there's nothing Skyline can do with those full scan settings absent a formula.

One way to approach this manually is to embed the isotope mass offsets in a series of precursor adduct descriptions in your transition list - this would get you the m/z values of interest though they'd be understood as labels rather than natural isotopes (so, still no idotp, but you would see chromatograms). You can read up on that at ("Charge-Only Examples with Isotope Labels Described Only by Mass").

Importing isotope distribution values if you somehow know them might be something that could be implemented - can you provide a transition list that somehow imparts that information? I wonder, though, how you know the isotope distribution without knowing the chemical formula?

Thanks for using the Skyline support board!

Brian Pratt

matthew.r.russell responded:  2024-06-12 10:18

Hi Brian

Thanks for this. I've managed to manually add precursors to the molecules by pretending they are deuterated: [MD+], [MD+H],[M2D+]. I guess it's bit of a hack but it works.

I have a few thoguhts on your question to me. It's unlikley to be a priority but it's interesting.

I don't think I could ever know the isotope distribution paturn without knowing the chemical formula. I'm using skyline to quantify features identified in the mass spec data that are thought to be descriminatory prior to identifiction, and using skyline to match the features across many files. So for my use case I guess the following features would be helpful.

The simplest would be If I could ask skyline to pick the members of the isotope envelope based on peak separations computed from the charge of the precurser and a reasonable average of the mass of neucleotides in organic molecules, which is very nearly 1/z.

A more sophisticated version of the above might be to let me enter a stociometric statement of the the dominant atoms in the molecule and have skyline calculate the isotope distribution for a molecule with such a composition of nearest mass to each analyte, then shift the isotope distribution to match the first precurser's m/z. That wouldn't make sense in all cases. In mine, I'm looking at fatty acid chains, there will be various adducts, double bonds, and heteroatoms, but an isotope distribution scaled derived from a molecule CnH2n with the closest matching m/z wouldn't be very wrong.

Then I guess for matching features across files, one posibility would be to define one file as the master file, and calculate the dot product for the isotope envelope in subsequent files against that first file. In a similar way to retention time being predicted on the basis of a chosen file.

Brian Pratt responded:  2024-06-12 10:44

Interesting - we're wandering into feature finding territory. We've recently integrated Hardklor, which is a tool for finding peptide-like features - where "peptide-like" is based on an averagine model. We're now thinking about other models suitable for other kinds of molecules, which I think is pretty much what you're describing.

One tweak we made to Hardklor is to have it pass the chemical formula it used in determining the isotope envelope for a feature, which allows Skyline to perform idotp calculations and so forth.

Though it sounds like you already have some kind of feature finding tool - may I ask what you're using? We're also interested in possibly integrating other tools rather than further tweaking Hardklor.

Best regards,


Nick Shulman responded:  2024-06-12 11:24
In Skyline-daily, the chemical formula is allowed to have a mass offset at the end of it.
So "C71H142[+4.888845]" is a molecule whose mass is exactly 1000.

If you needed to do the same thing in Skyline 23.1 you would have to encode the mass offset in the adduct description, so that the chemical formula would be "C71H42" and the precursor adduct would be "M[4.888845+]".

Does this help?
If you gave me a list of masses and charges I could give you Excel spreadsheet formulas to turn that into a Skyline transition list.
-- Nick
matthew.r.russell responded:  2024-06-13 08:32
Hi Nick

That sounds like a really interesting approach. I can probably try that myself.

Brian Pratt responded:  2024-06-13 08:46
That does sound like a bit of Python would get you there pretty quickly, please let us know how that works out.

And also, I'd love to know the answer to this:

>> it sounds like you already have some kind of feature finding tool - may I ask what you're using? We're also interested in possibly integrating other tools rather than further tweaking Hardklor.


matthew.r.russell responded:  2024-06-13 09:16
Dear Brian

So i have used mascot distiller in the past for proteomics and that uses, or used, the averagine approach, which was quite efective. I was using it for 15N metabolic labeling and it was the only tool that worked at all.

I often think with skyline that feature finding could add a lot to DIA data analysis where isotope paturns are present in both MS and MSMS data. So sometimes you get a peptide eluting just pre- or post the one of interest with a shared percurser or poduct mass in the second or third isotope peak. Skyline then incorperates that signal into a distortion on the elution profile. It would be quite cool if skyline could see through that by fitting the isotope envelope.

I also think there is a lot of signal missed in DIA data in the isotope peaks of fragment ions. If feature finding could group those signals and sum them it could improve signal to nooice ratios, and on the margins make lower abundance peaks more detecable and improve elution peak finding. Obviolsy if you were including more peaks you would increase the chance of including peaks from non-target species which might cause problems.

I guess all this would be more computatinally intense when importing data.

matthew.r.russell responded:  2024-06-26 08:15

Dear Nick

So I tried the approach you described. I used R and a package that calculates a molecular formula called mass tools currently available on github.

I've been able to build transition lists with pseudo molecular formula and the mass modification you described. The isotope dot products are around 0.97 which is a fairly good agreement.

I've put the code I used to generate the formula with mass modification below in case it is useful to someone. In practice that piece of code sits in a loop in my R function and sequentially generates a molecular formula with modification for each feature.


### Find Molecular Formula 

# In practice the mz below is set to that of each ion in turn using a loop.
			elements = Rdisop::initializeCHNOPS()[1:4],
			summarize = FALSE,

if(! is.null(formCal)){