This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.
Messages - Jan Stanstrup
This was a Waters Premier QTOF. I think it is about five years old.
I checked the first handful of scans for both functions and I get same scan times between CDF (from databridge) and mzXML (from masswolf) when viewed in mzMine. Which differences do you see?
I have been trying to use your stitch method but I always get an error:
> temp = xcmsSet(file, lockMassFreq=TRUE)
Error in if (length(by) && by == 0 && length(del) && del == 0) return(from) :
missing value where TRUE/FALSE needed
11: seq.default(from = start, to = length(object@scanindex), by = freq)
10: seq(from = start, to = length(object@scanindex), by = freq)
9: makeacqNum(object, freqLock, start)
8: makeacqNum(object, freqLock, start)
5: do.call(type, list(object, lockMass))
4: .local(object, lockMass, ...)
3: stitch(lcraw, AutoLockMass(lcraw))
2: stitch(lcraw, AutoLockMass(lcraw))
1: xcmsSet(file, lockMassFreq = TRUE)
edit: In the paper you write that length of each gap is a parameter and defaults to 2. I cannot see a way to set that parameter. In my case there is only 1 lockmass scan per gap.
I have observed [M-CO2-C3H6] at 86.0368.
If you have exact mass you can use the Rdisop package for R to get an idea of the possibilities (http://www.bioconductor.org/packages/2. ... disop.html).
decomposeMass(43.99, ppm=20, mzabs=0.01)
http://sourceforge.net/mailarchive/foru ... -developer
So the error you see is simply uncalibrated data unfortunately.
edit: I just checked with masswolf and remembered why I don't use that. You get calibrated data all right but the lockmass scans are mixed in with you normal scan. Did you find a way to avoid/fix this?
I have played a bit with Rdisop too with mixed results. It seems to work very well if: 1) the molecule is rather small 2) you can establish the isotopic ratio well i.e. the intensity is suitable. at low intensity you get random noise on [M+1], at high intensities you get saturation of [M] and thus overestimate the ratio.
Also the scoring function seems to punish mass inaccuracy quite harshly. So sometimes it is better to look at the mass deviation and isotope ratio error separately and decide which seem reasonable to you knowing your instrument.
I would be interested to know if my data is particularly bad behaving or if you see similar results. I can send you the code I cooked up if you are interested.
I gave it a go with my current dataset and got quite surprised that the relationship is not that nice... Take a look at some graphs:
In red is pairs where the [M+1] has lower p value. I should mention this is p values calculated with my own statistics script (since the study design is a bit more complicated than what is handle by xcms).
It gets a little better if I only choose the most intense features.
If I plot the ratio of the p values against each other you can see that the ratio tends to be lower with higher intensity of the features.
So the central question remains... if you consider the compounds significant or not.
I suggest you try to do some sort of informative plot to get a feel for how your data looks.
Maybe someone more experiences can jump in with some pointers on this.
It is wholly possible that only isotopes turn up significantly different "by change"; the isotope slightly below the threshold you chose, the [M] slightly above.
Imagine you have mean intensities of [M] 2 and [M+1] 0.2 in group one and intensities of [M] 1 and [M+1] 0.1 in group two. I group two the [M+1] could be below the detection limit; thus set to 0 and thus more significantly different than [M].
So you should have
that belong together; with the [M]- being the "normal" one without extra neutrons. The others then correspond to the same molecular species that contain 1 and 2 13C respectively or possibly other isotopes like 37Cl.
All compounds (organic at least) exist naturally with different isotopes. But the [M] is usually (this depends on the atoms that make up the molecule and the size of the molecule) the one with the highest intensity (=more molecules exist with all atoms in their most "normal" isotope form). So in theory you should see isotopes for all peaks but often they are below the detection limit of your instrument and you just see one peak (of course depends on the concentration of your samples).
The findIsotopes function as far as I know will use two criteria to predict which peaks are isotopes: 1) the mass difference has to account for an integer number of neutrons, 2) the ratio between the intensities need to make some sense (this step uses very liberal criteria since it is impossible to know what the correct ratio is without knowing the molecule).
Isotopes are important for several reasons of which some are:
- You can sometimes use the relative intensities of the isotopic peaks to help the structure elucidation.
- If you don't realise that something is an isotopic peak and you try to figure out what compound it is you will fail
- If you do statistical analysis you need to consider that you have several peaks (=variables) representing the same compounds (this is true of fragments and adducts too)
I hope this helps,