Amber mapping ignores hydrogen in BB #499
Replies: 6 comments 2 replies
-
No. The "!" means give these 0 weight. There is no such thing as optional in the mappings. And it doesn't have to be, since the graph is always complete. |
Beta Was this translation helpful? Give feedback.
-
I actually moved this to the discussions board, because I'm not 100% if this is a bug or design feature. It seems a bug to me because the side-chain bead positions would be incorrect. @paulocts can you comment, if the hydrogen atoms should be omitted. |
Beta Was this translation helpful? Give feedback.
-
I would be fine with positions slightly different if this feature would be corrected/reduced in the minimization step, which is the case for all bonded terms, with three possible exceptions: elastic networks, go models and side chain corrections. As this choice of including H or not affects the equilibrium values and, in the case of elastic/Go even the presence of the bond/LJ potential, then I would say this is not good. This behaviour would mean that the model would be different because of the differences in the positions of the beads coming from the presence/absence of hydrogens. In this aspect, I guess the safest and easiest options would be two excludent possibilities:
or
The option 1 may help to be sure that the models can always be minimized as the the positions of the beads will reflect more the bond lengths, angles, etc of the model as nowadays the Martini 3 models include the hydrogens to better reproduce SASA and molecules volume. The ption 2 is the one that makes it easier for the users as they would not need to add hydrogens in case the pdb is already good. I think is also more consistent with how the models were generated in the olde martinize for Martini 2. You may need a bit more minimization steps to relax the structure, but I think it works fine. The important thing is to be able to reproduce the models/data which now seems compromised. Essentially, if the users do not informed in their method sections of the paper if they include H or not, other people may not be able to reproduce the model. PS: There is a option 3 which would be to make martinize2 to add H atoms in case they are missing. But this would demand too much extra coding from your side. |
Beta Was this translation helpful? Give feedback.
-
I'm going to veto option 1. It will make M2 too hard to use. I disagree with the statement that it blocks reproducibility. User should always report their initial atomistic input structure anyway, and that won't magically gain or lose hydrogens. (and there's also the I do agree that it's an issue though. I think it would be a good idea (in general) to check whether any NaN positions are used to generate bead positions, and warn if those positions get used to determine equilibrium values. Note that this does not interfere with option 3, since it may also apply to e.g. missing side chains. |
Beta Was this translation helpful? Give feedback.
-
So the choice is unproblematic in relation to unbiased proteins. That's why I moved this to the discussion. However, it becomes a problem if the EN is added, because the mapped EN is not consistent with the equilibrium values of the backbone. That introduces some strain due to competition between EN and BB bonded terms. For larger proteins this becomes noticeable. I bet this leads to some of the instabilities we see. Energy minimisation cannot fix this. In my opinion, for Martini3 the I think option 1 light might be the best way to go. We simply require or give the backbone hydrogens a weight of 1. The only remaining issue is that I've seen people using martinize2 to forward map structures in oder to convert trajectories to Martini resolution. Luis did that in the PTF I think, but also other people are doing this. Of course that will lead to structures which are not equivalent to the actual trajectories of a simulation. I'm not sure how to handle this best though. @pckroon can we raise a warning somewhere IF hydrogens are missing in combination with using Martini3? |
Beta Was this translation helpful? Give feedback.
-
The problem is broader: consider a protein in which backbone atoms are missing, and you need to construct the EN with martini2. I'm not sure what you mean with the trajectory mapping. That's not really a supported use case anyway though. |
Beta Was this translation helpful? Give feedback.
-
The Bug
It seems the amber mapping files do not produce the expected mapped coordinates. The difference is typically very small (i.e. sub Angstrom), which is probably why it wasn't noticed. However, this might cause problems later down the line especially when using the martinized PDB file as reference for the EN other other things.
Files to reproduce the bug
Simple ALA input PDB.
This should map to:
But it actually maps to:
The relevant command is:
Solution
Remove the '!' from the mapping files. However, this seems to be in contradiction to what their actual purpose was (i.e. indicate optional hydrogen atoms to map). As I understand it optional means use them if present. @pckroon did I understand the mapping file syntax incorrectly.
Beta Was this translation helpful? Give feedback.
All reactions