Open bpolacco opened 4 years ago
Thanks @bpolacco, indeed this is a pretty important issue. Let me get back to this very soon.
I tested and your code works well. Thank you very much. But I still cannot understand this bizarre change in MaxQuant. I am afraid this is a bug: just a wrong mapping. I bet they will correct it.
Hi @bpolacco i would like to confirm that this pre-conversion also takes into consideration that it seems as though the new [Phospho (STY)] format recognises the phosphorylated amino acid is on the right side of the label [Phospho (STY)]? I had not used the previous MaxQuant ph iteration which i understand recognised phosphorylation on the left hand side amino acid?
I have not seen the case where the modified STY is to the right of the (Phospho (STY)). I may have confused with my example above K(Phospho (STY))
using K instead of S, T or Y as the modified amino acid (edit: just now edited to avoid further confusion). That was a mistake on my part -- I was working with ubiquitination as well as phosphorylation when I wrote that and confused them. As written, S(Phospho (STY))
will be translated to S(ph). See the PH modifications in example evidence file I shared with my comment. If you are seeing examples where [Phospho (STY)]S
should translate to S(ph)
instead that is something new, and you should share here (along with MaxQuant version info that produced that file if you have it). Thanks!
I've been seeing new format for modifications from recent versions of MaxQuant that cause a failure of
artmsProtein2SiteConversion
. Instead of the shortK(ph)
, MaxQuant is now usingS(Phospho (STY))
. I've been pre-converting these MaxQuant files using the function below. Note that this started as a converter for Spectronaut output which uses the similarS[Phospho (STY)]
format--that's the reason for the[[(]
character classes in the regular expression and the variable namespecFormats
andspecModSequence
.I'm happy to put something like this in artMS as a pull request, but inserting this into artMS code will require a bit more restructuring of your code than I am comfortable doing without discussion on how you like to structure things. I'm thinking something like a checkpoint in artmsProtein2SiteConversion, and an attempt to convert on failure, followed by another checkpoint... evidence_1000lines.txt