Skip to main content
Topic: about isotopes (Read 11771 times) previous topic - next topic

about isotopes

Hi,
I know someone asked this question before. But I am still confused for understanding isotope information.
i.e. one of my features has a "feature number" 3 and under "isotope"column, it shows me "[317][M+2]-" (negative polarity) for this number 3 feature. So first, when there is something showing up in isotope column, like feature 3 here, it means feature 3 has isotope peak of [M+2] (2 means?) and this "[317]" means that  the feature with a feature number 317 is the isotope peak of feature 3? But it did not make sense, when I checked the feature 317 in the table. so what on earth this 317 means? Will isotopic peaks be listed in the table or not? And what kind of parameters was used to filter isotopes,  don't a lot of compounds having isotopes? why this important?
Can anyone help me answer this question? Thanks!


Rui

Re: about isotopes

Reply #1
The CAMERA function findIsotopes tries to figure out which peaks are in fact the same molecular species but containing different isotopes of the atoms that make up the molecule. The peaks that belong together are then grouped and given an isotope group number; that is your 317.
So you should have
[317][M]-
[317][M+1]-
[317][M+2]-

that belong together; with the [317][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,
Jan.
Blog: stanstrup.github.io

Re: about isotopes

Reply #2
Hi, Jan,
Thanks for your answer! That's really helpful. But I guess I did not describe my questions clearly. in your reply:
>So you should have
>[317][M]-
>[317][M+1]-
>[317][M+2]-
>that belong together...
That is exactly what I was wondering,  how could only [317][M+2]- showed up as a significant peak in the list? where are  [317][M]- and [317][M+1]-  peaks?


Rui

Re: about isotopes

Reply #3
Are you saying they are not in the peaklist at all? Or that they don't turn up significantly different between groups? How do you determine significance? Please describe what you did in more detail.

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].
Blog: stanstrup.github.io

Re: about isotopes

Reply #4
I think I was wrong. They did show up in the whole peak list. But I was looking at the filtered list. So I saw the isotopic peak showing up as significant peak but not the [m] peak. If it is the situation you said, the question become, at the situation of only isotopic peak showing up as a significant feature, the related feature [m] is not considered as significant feature, right?


Rui

Re: about isotopes

Reply #5
I don't think there is any authoritarian answer to that question. You have the same question in regards to fragments and adducts. I think you just have to choose for yourself; as long as you report what you did.
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.
Blog: stanstrup.github.io

Re: about isotopes

Reply #6
Hey,

So I haven't read the full post so forgive me if this is way off, but I understand that an isotope peak is more significant that the actually mono isotopic peak itself. So this could be due to a number of things. First I would blame the instrument. While isotope ratio should be a really good way of identification for your peaks it just doesn't work. For what ever reason the ratio is almost always off, sometime by a lot sometimes only a little, rarely correct. Something to do with ion optics. So following that explanation it could just be that the ratios are different between the two samples/classes. I would however, think that the monoisotopic peak should be somewhat constant. Although I've never tested it rigorously I mainly find my monoisotopic peak being detected as significant not the isotopes.

So the next explanation is that they are two different molecules. How much retention time correction did you use? Finally I would look at the spectra and check that you as a mass spectrometrist that you agree with the software of what is an isotope and mono isotopic in this particular example.

Hope this is helpful.

Paul
~~
H. Paul Benton
Scripps Research Institute
If you have an error with XCMS Online please send me the JOBID and submit an error via the XCMS Online contact page

Re: about isotopes

Reply #7
Hi, Paul,
Thanks for your reply! That was very thoughtful. The retention correction I used was obiwarp with a step size 0.1. Do you think I should try a larger step size? I did see a lot of isotopic peaks show up as significant peak instead of mono. But I really doubt they would be another compound. A mass spectrometrist? a very delicious title. I will try my hardest to be one. Thanks, all follows. Without your help, nothing could be done by me. 


Rui

Re: about isotopes

Reply #8
did I say" I doubt they would be another compound". No, I mean that is very possible and thanks Paul for reminding me this.



Rui

Re: about isotopes

Reply #9
no problem :)

I dont' have much experience with obiwarp, but my understanding of it was that it was used for large retention time deviations. I could be way off as I've never really taken the time to look into the algorithm. Might be worth trying with the original retention time correction method. Also is your data UPLC or HPLC. If it's UPLC data and there aren't many samples (< 200) I would try not doing correction at all and see if the same isotope feature ends up being significant.

If it's something that could be of interest then it might be worth getting MS/MS on the mono isotopic and seeing if the MS/MS is the same. The other thing to do is a quick search in the databases to see how many molecules are within x ppm of it that could also be roughly the same retention time for your gradient. I always suggest looking at Metlin as a good start :p.

Lastly, this doesn't really answer the question but may make it go away. What sort of filtering have you done on the data? I assume that you left minfrac to 0.5 (50%). The other filters are CV filters on QC samples if you have them and filters on npeaks from the diffreport to see if the feature is one compound or if grouping messed up. I've seen this a lot where the grouping has grouped two very closely eluting compounds.

again hopefully helpful :)

Paul
~~
H. Paul Benton
Scripps Research Institute
If you have an error with XCMS Online please send me the JOBID and submit an error via the XCMS Online contact page

Re: about isotopes

Reply #10
Hi, Paul,
My data is HPLC. My sample size is quite small (3 replicates for one sample). I guess I could take off the retention time correction for my data and see what gonna happen.
I just realized XCMS on R program uses "rector" as a method for retention time correction. But in XCMS online the default is "orbiwarp". The other two options left are "peakgroup" and "none'. I assume none of these three methods are same with "rector'?  Not until you mention, I collected QC data. But I had no idea how you could use QC samples to do what you said on XCMS online. Where is this CV filter on XCMS online?


Rui

Re: about isotopes

Reply #11
Well now you got me curious. Paul have you ever looked into how well correlated p values are for [M] and [M+1]?

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).

[attachment=2:xjdt8uon]p_against_p.png[/attachment:xjdt8uon]

It gets a little better if I only choose the most intense features.

[attachment=1:xjdt8uon]p_against_p_most_int.png[/attachment:xjdt8uon]



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.
[attachment=0:xjdt8uon]ratio_against_median.png[/attachment:xjdt8uon]


So the central question remains... if you consider the compounds significant or not.

[attachment deleted by admin]
Blog: stanstrup.github.io

Re: about isotopes

Reply #12
Here is a Venn diagram showing that it occurs relatively often with my data.
[attachment=0:11koj384]venn.png[/attachment:11koj384]

[attachment deleted by admin]
Blog: stanstrup.github.io

Re: about isotopes

Reply #13
Wow nicely done Jan! Yep the first one looks pretty random :P Whats that an R2 ~= 0 :) Never really found out exactly why the ratios are off so much. I guess this is why there is IRMS (isotope ratio mass specs). I tried (http://www.google.com/search?client=saf ... 8&oe=UTF-8) without much luck :p except for something on LC-IRMS on honey. What filtering did you do for your venn diagram, if you don't mind me asking and what significance level did you choose? Looking at the 3rd graph I'm assuming some intensity filter? The correlations across files, which CAMERA uses partly as part of it's scoring system, is only linear at higher intensities. This could also be messing up the decisions of what is and isn't an isotope.
Steffen had a great package Rdisop that was based on SIRUS (1). I used this package naively hoping that I could ID all of my compounds.

@ luoluopig : not sure that there is a way do to this in xcmsOnline. I haven't played with it lately. Best bet would be to import into R (or even excel) and find the CV's for your features  from just the QC samples. Also make sure that if you're doing normalization that you do this afterwards. We have had some fun lately with that :-) . Code wise :

Code: [Select]
qc<-groupval(fill, "medret", "into")[,which(xcms:::phenoData(fill) == "QC")] # need the xcmsSet R object called fill otherwise
## ask for only the QC samples. I'm assuming that the QC samples were in a folder called 'QC'

dat<-read.table("MYFILE.tsv", sep="t", header=TRUE)
idx<-c(1,2,3,4,5,6)
## this needs to be the columns that your QC samples are from try looking at
colnames(dat)
## maybe there is something in here that can make it faster such as something like the following:
idx<- grep("QC", colnames(dat))
qc<-dat[,idx]
dim(qc)
## check the size is what you expect it to be!

cv<-apply(qc, 1, sd)/rowMeans(qc)
summary(cv)
## have a quick look at the distribution, tells you where your cut off will be
ix.cv<-which(cv < quantile(cv, na.rm=TRUE)[2]) # or
ix.cv<-which(cv < .20)

vals<-cbind(groups(fill), groupval(fill, "medret", "into"))[ix.cv,]
## then write out vals to a file
write.csv(vals, file="vals.csv")


(1) Sebastian Bo ?cker, Matthias Letzel, Zsuzsanna Lipta ?k, and Anton Pervukhin. SIRIUS: Decomposing isotope patterns for metabolite identification. Bioinformatics, 25(2):218–224, 2009. doi: 10.1093/ bioinformatics/btn603. URL http://bioinformatics.oxfordjournals.or ... l/25/2/218
~~
H. Paul Benton
Scripps Research Institute
If you have an error with XCMS Online please send me the JOBID and submit an error via the XCMS Online contact page

Re: about isotopes

Reply #14
The significance level for the venn diagram was 0.05 for p values corrected with the mt.rawp2adjp function with method BY; I believe you mentioned that one somewhere on this forum. For the other graphs uncorrected p values were used. I didn't do any filtering as such for the venn diagram but of course I could only used feature pairs where [M] and [M+1] were found. So it is based on 1874 features of my total of 6233. For the 3rd graph I cut off some extremely high intensity peaks for clarity (late eluting very broad peaks).

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.
Blog: stanstrup.github.io