Correction of isotpe impurities in iTRAQ 8-plex experiments

88 views
Skip to first unread message

David Hollenstein

unread,
Feb 20, 2017, 5:55:17 AM2/20/17
to ProteomicsQA
Dear all,

I'm currently working on a simple module for a python library that allows
isobaric labeling-based quantification.

I have one question regarding the correction of isotope impurities (which is
the contamination of reporter ion channels by adjacent channels) for iTRAQ
8-plex labeled samples.

I found an isotope impurity matrix here:

However, when looking at the reporter ion masses (or mass differences), it
seems to me that the contaminations of the reporters 119 and 121 cannot be
calculated as the others. This is because there is one "empty" channel with a
nominal mass shift of 1 in between. Considering the impurity matrix, I would
assume that 119 does not contaminate 121 at all (because +2 in the table is 0)
and 121 contaminates 119 only with 0.1% (-2 in the table). Do you think this is
correct?

I already had a look at the R packages "Isobar" and "MSnbase". As far as I
can tell they did not define the impurity matrix for iTRAQ8 in the isobar package.
In MSnbase I could only find this matrix here, which does not consider this gap
between the reporter ion channels.

Another small issue I thought about:
Do you think it is even necessary or has any effect to correct for isotope
impurities, when we apply a channel wise normalization to achieve equal
median or summed intensities afterwards?

Thanks for the help!
David Hollenstein

Veit Schwaemmle

unread,
Feb 20, 2017, 7:10:42 AM2/20/17
to David Hollenstein, ProteomicsQA
Hi David,


However, when looking at the reporter ion masses (or mass differences), it
seems to me that the contaminations of the reporters 119 and 121 cannot be
calculated as the others. This is because there is one "empty" channel with a
nominal mass shift of 1 in between. Considering the impurity matrix, I would
assume that 119 does not contaminate 121 at all (because +2 in the table is 0)
and 121 contaminates 119 only with 0.1% (-2 in the table). Do you think this is
correct?
I assume so. Several labels have contamination over +/-2.  Actually, 121 seems to get quite some contamination by 119. See this table (also MSnbase): https://github.com/lgatto/MSnbase/issues/53
If I recall well, every iTRAQ kit comes with their information about the impurities.


I already had a look at the R packages "Isobar" and "MSnbase". As far as I
can tell they did not define the impurity matrix for iTRAQ8 in the isobar package.
In MSnbase I could only find this matrix here, which does not consider this gap
between the reporter ion channels.

Another small issue I thought about:
Do you think it is even necessary or has any effect to correct for isotope
impurities, when we apply a channel wise normalization to achieve equal
median or summed intensities afterwards?
Yes, it is necessary. The impurity correction is based on solving a linear equation system for each spectrum. Therefore, the correction depends the individual intensities.

Best reards
Veit

 

Thanks for the help!
David Hollenstein

--
You received this message because you are subscribed to the Google Groups "ProteomicsQA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to proteomicsqa+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/proteomicsqa/cf97e667-3479-40c6-8c54-f5fb7424a093%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
            \|||/
           (o o)
 ----ooO-(_)-Ooo----

Don't worry about life; you're not going to survive it anyway.

David Hollenstein

unread,
Feb 20, 2017, 7:35:41 AM2/20/17
to ProteomicsQA, hollenst...@gmail.com
Hi, thanks for the quick answer!

Now that you mention it, it is quite obvious why the correction is necessary.

I should maybe clarify my first question a little bit more:

If my assumption is correct, then the isotope impurity correction for iTRAQ 8plex
is not done completely correct in MSnbase. Because the specified values for
contamination (from the vendor) actually don't affect the neighboring channels
that much for 119 and 121, see below:

Isotope intensity distribution from 119 only:
| 117 | 118 | 119 | --- | 121 |
| 0.1%| 2.0%|93.8%| 4.0%| 0.1%|

Isotope intensity distribution from 121 only:
| 119 | --- | 121 | --- | --- |
| 0.1%| 2.0%|94.8%| 3.0%| 0.1%|

Best,
David



To unsubscribe from this group and stop receiving emails from it, send an email to proteomicsqa...@googlegroups.com.

Vladimir Gorshkov

unread,
Feb 20, 2017, 8:23:39 AM2/20/17
to ProteomicsQA, hollenst...@gmail.com
Hi David,

Mass 120 is not used in iTRAQ, since it is overlapping with the immonium ion of phenylalanine. That is the reason, why you see empty space in the table. In that manner channels 119 and 121 are special, since they are adjacent to the unused one. However, the solution with linear equation system should work just fine.
It is, probably, a good idea to add possible contamination of 121 from immonium ion in 120. The ion is not always present, but when it is present, C13 isotope of it will/might overlap with the reporter ion in 121.

Best regards,
Vladimir

David Hollenstein

unread,
Feb 21, 2017, 3:31:54 AM2/21/17
to ProteomicsQA, hollenst...@gmail.com
Hi Vladimir,

thanks for the explanation why the reporter ion with a nominal mass of 120 was
not used for iTRAQ. It is an interesting idea to include the immonium ion of
phenylalanine for correcting isotopic contamination.

However, this is probably only relevant for low resolution MS2 spectra. The
exact mass of the +1 immonium ion should be ~120.08077 m/z, the expected mass
of a reporter ion with a nominal mass of 120 is ~120.11865 m/z, which results
in a relative deviation of ~315ppm.

The solution with linear equation will definitely still work, however, my
question is, if two of the values (119 +1 and 121 -1) should be removed
from the table.

In the case were we extract the following ions:
[113.10787, 114.11123, 115.10826, 116.11162,
 117.11497, 118.11201, 119.11530, 121.12200]

Given this impurity matrix:
[0.00, 0.00, 92.87, 6.89, 0.24]
[0.00, 0.94, 93.00, 5.90, 0.16]
[0.00, 1.88, 93.12, 4.90, 0.10]
[0.00, 2.82, 93.21, 3.90, 0.07]
[0.06, 3.77, 93.29, 2.88, 0.00]
[0.09, 4.71, 93.29, 1.91, 0.00]
[0.14, 5.66, 93.33, 0.87, 0.00]
[0.27, 7.44, 92.11, 0.18, 0.00]

After transforming the impurity matrix to allow using a least square solver,
it looks like this:
[92.87, 06.89, 00.24, 00.00, 00.00, 00.00, 00.00, 00.00]
[00.94, 93.00, 05.90, 00.16, 00.00, 00.00, 00.00, 00.00]
[00.00, 01.88, 93.12, 04.90, 00.10, 00.00, 00.00, 00.00]
[00.00, 00.00, 02.82, 93.21, 03.90, 00.07, 00.00, 00.00]
[00.00, 00.00, 00.06, 03.77, 93.29, 02.88, 00.00, 00.00]
[00.00, 00.00, 00.00, 00.09, 04.71, 93.29, 01.91, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.14, 05.66, 93.33, 00.87]
[00.00, 00.00, 00.00, 00.00, 00.00, 00.27, 07.44, 92.11]

However, to consider that the channel with a nominal mass of 120 is not used.
I think that the 07.44% of the intensity from 121 shift into a channel with a
nominal mass of 120, that is not present in the list of extracted ions, therefore
it should not be considered when solving the equations.

My question is, if the matrix should be changed to look like this.
[92.87, 06.89, 00.24, 00.00, 00.00, 00.00, 00.00, 00.00]
[00.94, 93.00, 05.90, 00.16, 00.00, 00.00, 00.00, 00.00]
[00.00, 01.88, 93.12, 04.90, 00.10, 00.00, 00.00, 00.00]
[00.00, 00.00, 02.82, 93.21, 03.90, 00.07, 00.00, 00.00]
[00.00, 00.00, 00.06, 03.77, 93.29, 02.88, 00.00, 00.00]
[00.00, 00.00, 00.00, 00.09, 04.71, 93.29, 01.91, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.14, 05.66, 93.33, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.00, 00.00, 00.27, 92.11]

If you think that the second transformed matrix is not correct, please
explain why you think this is the case.

Greets and thanks,
David

Marc Vaudel

unread,
Feb 21, 2017, 4:28:56 AM2/21/17
to ProteomicsQA, hollenst...@gmail.com
Hi David,

"this is probably only relevant for low resolution MS2 spectra." If you look at the masses of iTRAQ reagents you will see that they are not fully isobaric either, due to unequal distributions of C and N isotopes, so you will have the same problem with the reagent peaks. So you want to consider high resolution and low resolution separately anyways, and make different matrices depending on which ions can interfere with each others'. 

In any case, you make one reporter ion per +13 gap. For low resolution (ie all channels together), my recommendation would be to introduce a line corresponding to 120 in your impurity matrix:

[0.00, 0.00, 92.87, 6.89, 0.24]
[0.00, 0.94, 93.00, 5.90, 0.16]
[0.00, 1.88, 93.12, 4.90, 0.10]
[0.00, 2.82, 93.21, 3.90, 0.07]
[0.06, 3.77, 93.29, 2.88, 0.00]
[0.09, 4.71, 93.29, 1.91, 0.00]
[0.14, 5.66, 93.33, 0.87, 0.00]
[0     ,        , 100   , 0,    , 0     ]

[0.27, 7.44, 92.11, 0.18, 0.00]

As Vladimir mentioned, you might want to include the +C13 contribution of phenylalanine in the 120 line. Then you work with all values and don't have to worry too much about how to transform your matrix.

That said, among other things, the problem that iTRAQ is not really isobaric and therefore not suited for high resolution makes it less and less used in proteomics. The new TMT kits were corrected for this and are now much more encountered as far as I could see. So would not spend too much time with iTRAQ isotope correction fine tuning :)

Hope this helps,

Marc

Vladimir Gorshkov

unread,
Feb 21, 2017, 12:21:50 PM2/21/17
to ProteomicsQA, hollenst...@gmail.com
Hi, David,

the last matrix, i.e.


[92.87, 06.89, 00.24, 00.00, 00.00, 00.00, 00.00, 00.00]
[00.94, 93.00, 05.90, 00.16, 00.00, 00.00, 00.00, 00.00]
[00.00, 01.88, 93.12, 04.90, 00.10, 00.00, 00.00, 00.00]
[00.00, 00.00, 02.82, 93.21, 03.90, 00.07, 00.00, 00.00]
[00.00, 00.00, 00.06, 03.77, 93.29, 02.88, 00.00, 00.00]
[00.00, 00.00, 00.00, 00.09, 04.71, 93.29, 01.91, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.14, 05.66, 93.33, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.00, 00.00, 00.27, 92.11]

looks correct to me, if reporters ions abundances extracted with sufficient resolution.

If the resolution is not sufficent to distinguish immonium ion from reporters my suggestion was to use the following matrix.
 
[92.87, 06.89, 00.24, 00.00, 00.00, 00.00, 00.00, 00.00, 00.00]
[00.94, 93.00, 05.90, 00.16, 00.00, 00.00, 00.00, 00.00, 00.00]
[00.00, 01.88, 93.12, 04.90, 00.10, 00.00, 00.00, 00.00, 00.00]
[00.00, 00.00, 02.82, 93.21, 03.90, 00.07, 00.00, 00.00, 00.00]
[00.00, 00.00, 00.06, 03.77, 93.29, 02.88, 00.00, 00.00, 00.00]
[00.00, 00.00, 00.00, 00.09, 04.71, 93.29, 01.91, 00.00, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.14, 05.66, 93.33, 00.87, 00.00]
[00.00, 00.00, 00.00, 00.00, 00.00, 00.00, 00.00, 91.86, 08.14]
[00.00, 00.00, 00.00, 00.00, 00.00, 00.00, 00.27, 07.44, 92.11]

Note the additional row and column used from the abundance at 120.

I hope that clarified my previous comment.

Best regards,
Vladimir


On Tuesday, February 21, 2017 at 9:31:54 AM UTC+1, David Hollenstein wrote:

David Hollenstein

unread,
Feb 22, 2017, 2:24:48 AM2/22/17
to ProteomicsQA, hollenst...@gmail.com
Wow, thanks for all the detailed answers and background information.

I was not aware that iTRAQ had this problem. I'm only including a predefined
class for low resolution iTRAQ analysis now, containing an additional channel
for the Phe immonium ion.

If you're interested in the implementation you can find the python code at
https://github.com/hollenstein/maspy/blob/master/maspy/isobar.py
It is still in development, but the module should be properly tested and
provide all basic functions needed for extraction and correction of reporter
ions.

Best regards,
David
Reply all
Reply to author
Forward
0 new messages