Closed Ladme closed 6 months ago
Hello hello! Always happy with (detailed) bug reports! It means that 1) people are using martinize2, and 2) actually check their topologies, and 3) care enough about martinize2 to ask for it to be fixed :)
Alright, this is indeed related to #560 (more than #566). However, this issue is the other way around. In #560 the issue was that Links (the sec-struct specific parameters) would override the terminal modifications, while here the issue is that the neutral terminal modification overrides the Link parameters. So I'm going to ask the same question as before: what's the correct behaviour? I have the feeling that the P5 is actually the correct answer, the terminal backbone should be way more polar than internal backbones, no? So, paging @fgrunewald @paulocts
Hello hello! I had some mail contact with Paulo, and the verdict is in: you found a bug in martinize 1! I'll copy-paste part of his mail here:
Unfortunately, the original papers are not very clear. But we still can see the original code (before martinize1). Take a look here if you are brave enough: http://cgmartini.nl/images/tools/seq2itp/seq2itp_martini2.1.pl. I may be wrong, but what is defined in this code as BEAD_BBN_BND is the neutral termini ... and it is P5. But I am not sure. If we think about what would be chemically expected, I also think it should be P5. In addition, I think that the behavior of TM peptides is better described with P5 as termini as it helps stabilize them as TM. So, there is a pragmatic reason to also keep as P5.
Also note that a protein with a helix terminus is not very physically relevant: DSSP tends to assign the termini C, and the ends of helices will partially unfold.
Context This issue is related to issues #560 and #566 (yes, me again). Thanks to your efforts, it seems that Martini 2.2 topologies of peptides with charged termini are now generated correctly. However, alpha-helical peptides with uncharged termini are assigned incorrect bead types for their terminal backbone beads.
Description The current dev version of
vermouth-martinize
(version 0.10.1.dev6) does not assign correct backbone beads to terminal amino acids when these amino acids are designated as being uncharged using the-nt
flag.Using
martinize2 -f l20.pdb -o topol.top -x l20_martini.pdb -ss HHHHHHHHHHHHHHHHHHHH -p backbone -ff martini22 -nt
(wherel20.pdb
is a MODELLER-constructed 20 leucines long alpha-helical peptide), generates the following[ atoms ]
block:Meanwhile, using martinize.py script version 2.6_3 (
python martinize.py -f l20.pdb -o topol.top -x l20_martini.pdb -ss HHHHHHHHHHHHHHHHHHHH -p backbone -nt
) generates this[ atom ]
block:There is a discrepancy between the type of beads number 1 and 39 which should be Nd and Na, respectively, not P5 as in
vermouth-martinize
.