Skip to content

Isotopic assignment across charges incorrect? #7

@rickhelmus

Description

@rickhelmus

Hello,

I have been experimenting with cliqueMS in order to extend and hopefully improve the current adduct/isotope annotation workflows of patRoon. In some tests I noticed a strange assignment:

cliqueMS::getPeaklistanClique(cliques)[c(65, 667), 1:14]
             mz    mzmin    mzmax     rt    rtmin    rtmax    maxo    into sample cliqueGroup isotope    mass1     an1  score1
CP0065 135.0026 135.0011 135.0028 10.149 5.746998 13.14600  132680 1029481      1          78  M1 [3] 246.0092 [M+Na]+ 29.9298
CP0667 268.9984 268.9973 268.9990 10.149 5.746998 16.14402 2085620 8225859      1          78  M0 [3] 246.0092 [M+Na]+ 29.9298

Checking the isotopes table:

cliques@isotopes[cliques@isotopes$feature %in% c(65, 667), ]
   feature charge grade cluster
3       65      2     1       3
10     667      1     0       3

So feature 65 is assigned a charge of two, 667 a charge of one. The isotope cluster assignment appears to be done in isoTest isIsotope(double mz1, double mz2, int maxCharge, ...). This function only corrects charges (z values) when comparing features with different charge. However, I would expect that multiply charged ions with LC-MS are typically caused by multiple additions of adducts, eg [M+Hn]n+. Hence, for comparing m/z values across charges an additional correction has to be done, depending on the adduct. Since this information is not yet available when assigning isotope clusters, perhaps it would be better to only cluster isotopes with equal charge?

Another issue in this example is the assignment of [M+Na]+ to both the singly and doubly charged features (and again, [M+2Na]2+ would yield a very different ion mass).

Regards,
Rick

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions