dfermin/lucXor

Multiple mods and competing mods

Opened this issue · 9 comments

Hi, I have two questions: First hypothetically, if I was to run an experiment with multiple modifications, say Acetyl and Phospho, would it be best to run lucXor twice? Or should I run it once with both modifications? I'm not sure how to specify the decoy mass so currently I just run once for each mod if that is necessary.

Second, in the very real situation where I want to get FLR for Acetyl PTMs (on K) but am also using e.g. TMT10 (acetylation blocks TMT on a K). I here give the search engine a negative mod.mass for Acetyl (-187) while keeping the TMT fixed, so that the ions with Acetyl get the correct mass (due to the fixed application of +229 from TMT by the search engine). However, in lucXor I'm not sure what is the way about this. In the TSV input I tried to give the ions the correct mass (+42), and either specify -187 or +42 for target masses in the config file, but I get "0 PSMs read". I'm not sure if I'm doing this wrong.

For the hypothetical situation you want to list both modifications as target modifications. Then you want to run lucXor once. The decoy mass list should include both the phospho and acetyl masses.

Your second situation is a hard one to answer and I don't have any personal experience with TMT + Acetyl .

TMT is a fixed modification and it should be listed as such in the configuration file.
Acetyl should be listed as the target modification in the config file.

In the TSV I think you have to list the "final" PTM mass that the amino acid gets. So that should be +42. However like I said before I've not encountered this particular situation before.

I would suggest you try these settings and run lucXor to see what you get out. You may have to lower the scoring thresholds just to get any kind of output. Also you might want to try running it in debug mode to get out the actual peaks it's matching to see if you agree with them.

Obviously don't run the debug mode on the whole data set but just on a few of the complicated cases you can easily decipher yourself.

Thanks, using mixed modifications indeed works fine in a single run!

I currently use the TPP style output to be sure to know what kind of mod I have on the residues (in case of different possible mods on the same residue). However, I can foresee problems with this, if two mods have near-identical masses, such as e.g. Acetyl (42.010565) and Trimethyl (42.046950), since the reported residue would be K[170] in both cases if I have understood correctly. Is there a possiblity to include more digits for this number, or would that be a bad idea?

Also, if a residue has two PTMs (I don't actually know with which PTMs this can happen), will the output be X[m1][m2] or X[m1+m2]?

I need to fiddle a bit to test the TMT+Acetyl runs then and see what happens :)

If you are using PeptideProphet XML files you don't have to worry about adding more digits. LucXor parses the modification masses from the XML file directly. What you are describing would be an issue in a TSV input file.
The decimals that really matter are in the target modification field of the configuration file.

I've never encountered the two labile modifications on the same residue before.
LucXor can tolerate both a fixed modification and a single labile modification on the same residue.

My guess is that it can not handle the case of two labile modifications on the same residue at the same time. While it make technically work or run; the deltascore may become very small making it difficult to have any confidence in the output results.

Ah, I meant the decimals in the TPP-style output (MOD_PEP_REP=1), not input. (Indeed the input decimals are specified more precise in the config file.) I'm not sure how to know which PTM I'd be looking at if the output says K[170] and I have a Trimethyl and Acetyl specified.

There I can't help you. That's clearly a difficult experimental setup to deal with.
You could artificially add say +10 to Trimethyl mass in the peptideProphet XML file. Then you could distinguish the two.

But before you go down that road: How liable is the trimethyl PTM? Is it often lost in the mass spec? LucXor is meant to help confidently identify PTMs at are difficult to localize because they are often misplaced by search tools due to being easily removed from peptides. If trimethyl doesn't get knocked off then it should just be listed as a variable modification in the configuration file.

Aha, I didnt know about the removal as cause for localization problem, thanks! Thanks for the whole thread here! No further questions :). I may post back if I can figure out how to do TMT+Acetyl.

Hi @dfermin, I had a look, and it seems that Acetyl target modifications on K in a TMT scenario are not parsed when reading the TSV table, because the amino acid is in the globals.fixedModMap, see here: https://github.com/dfermin/lucXor/blob/master/src/lucxor/Peptide.java#L69

I'm not sure what the best way around this is, I guess the code could first do the check against globals.targetModMap but I have little insight in what happens downstream from here.

I'm not sure what you mean here. If TMT is fixed on K then Acetylation of K can still be listed as a targeted modification for K.

Yes, but when the TSV parser encounters the mod, it seems to disregard the PSM since the mod is on a fixed mod amino acid, and I get "0 PSMs read". My java is not great, but I suspect the problem happens in that line where it does continue instead of modPosMap.put(pos, mass).