metwork-project / metwork-backend

Backend part of the MetWork web platform.
GNU General Public License v3.0
5 stars 2 forks source link

Not all annotation are uploaded #55

Closed oolonek closed 3 years ago

oolonek commented 3 years ago

@YannBeauxis @GGentajouve

Recently I tried to upload the annotation linked to a spectral file in Metwork. I only have a portion of the annotation which are loaded (55 out of 135 If I remember). I couldn't understand the reason why all annotation aren't taken by Metworks and wanted to have some details from your part.

I tried to mess around with a small example and from what I understand only the SMILES is needed and there as to be somehow a calculation of the exactmass based on the SMILES inpit and a filter based on the pepmass in the associated mgf file ? Is that correct ? Or is there another reason why all annotation wouldn't be taken by Metwork ? Is there a way to bypass this behaviour ?

Thanks both

PM

YannBeauxis commented 3 years ago

Hi @oolonek ,

Indeed, annotation that are not uploaded are often due to a adduct/mass issue. For each annotation, MetWork looks for an adduct that fit : smiles mass + adduct mass ~= ion pepmass, with a mass Tolerance of 0.01. Here's the available adducts and their masses (depends if it's positive or negative ionization) :

    ADDUCTS_VALUES = {
        "positive": [
            ("M+", 0.0, ""),
            ("M+H", 1.0078250322, "H+"),
            ("M+NH4", 18.033825553, "NH4+"),
            ("M+Na", 22.98922070, "Na+"),
            ("M+K", 38.96315791, "K+"),
        ],
        "negative": [
            ("M-", 0.0, ""),
            ("M-H", -1.0078250322, ""),
            ("M+Cl", 34.9694013, "Cl-"),
            ("M+HCOO", 44.998202852, "[O-]C=O"),
            ("M+CH3COO", 59.013852917, "CC([O-])=O"),
        ],
    }

In your small example, is there an adduct that fits with this mass requirement ? Best regards, Yann

oolonek commented 3 years ago

Salut Yann,

Thanks for the quick feedback. This is what I suspected. I guess it would be cool to detail this behaviour in the documentation and even better (if possible) to allow the user to adjust for the MS tolerance when adding annotation (plus adducts selection in option).

For now the workaround I see is to round the pepmass value in the mgf (which is clearly not very convenient).

YannBeauxis commented 3 years ago

Thanks for those suggestions. I've updated the documentation consequently. Improve annotation upload is in the development roadmap, I note your proposals in that way :) Round the pepmass in the mgf is not very convenient but should work as a workaround indeed.

YannBeauxis commented 3 years ago

All MetWork code has moved to Gitlab : https://gitlab.com/metwork.

I've transfered this issue there : https://gitlab.com/metwork/support/-/issues/6.