marrink-lab / vermouth-martinize

Describe and apply transformation on molecular structures and topologies
Apache License 2.0
86 stars 38 forks source link

Problems with -nt -cter and -nter when Martinizing from Charmm36 to M3 #472

Closed MikkelDA closed 1 year ago

MikkelDA commented 1 year ago

These problems were encountered in the latest development version of martinize2/vermouth which was downloaded 18/10-2022.

I should preface by saying that martinize2 successfully martinizes the terminals if no terminal-relating flags are given (though it results in charged terminals).

-nt with a proline C-terminal Martinization causes the following warning: "WARNING - unmapped-atom - These atoms are not covered by a mapping. Either your mappings don't describe all atoms (bad idea), or, there's no mapping available for all residues. ['7285A-PRO500:OXT']"

The AA proline C-terminal is shown below though the error persists event if the last three atoms are removed and "7284 NT" is changed to "7284 O" to reflect the standard proline mapping as described in the "pro.charmm36.map" file for martini3001: ATOM 7271 N PRO A 500 51.433 37.411 30.113 1.00 0.00 N ATOM 7272 CD PRO A 500 50.019 37.684 30.421 1.00 0.00 C ATOM 7273 HD1 PRO A 500 49.948 38.596 31.013 1.00 0.00 H ATOM 7274 HD2 PRO A 500 49.572 36.802 30.881 1.00 0.00 H ATOM 7275 CA PRO A 500 51.751 37.549 28.681 1.00 0.00 C ATOM 7276 HA PRO A 500 52.256 36.651 28.327 1.00 0.00 H ATOM 7277 CB PRO A 500 50.381 37.674 28.003 1.00 0.00 C ATOM 7278 HB1 PRO A 500 50.390 38.528 27.324 1.00 0.00 H ATOM 7279 HB2 PRO A 500 50.141 36.742 27.492 1.00 0.00 H ATOM 7280 CG PRO A 500 49.391 37.913 29.082 1.00 0.00 C ATOM 7281 HG1 PRO A 500 49.029 38.940 29.021 1.00 0.00 H ATOM 7282 HG2 PRO A 500 48.547 37.236 28.956 1.00 0.00 H ATOM 7283 C PRO A 500 52.596 38.773 28.364 1.00 0.00 C ATOM 7284 NT PRO A 500 52.776 38.809 27.381 1.00 0.00 N
ATOM 7285 HT1 PRO A 500 52.409 38.099 26.780 1.00 0.00 H
ATOM 7286 HT2 PRO A 500 53.320 39.556 26.999 1.00 0.00 H
ATOM 7287 O PRO A 500 52.761 39.663 29.201 1.00 0.00 O

-nter It i martinize using "-nter NCAP-ter" then the following NameError is produced: "NameError: NCAP-ter is not known as a modification for force field charmm"

-cter Identical problem and error to the one for -nter just with CCAP-ter instead

Am i doing something wrong with the -nter and -cter, because I do not see how it would be possible to use the CCAP and NCAP terminal as described in the force_fields/martini3001/modifications.ff file as it currently works.

fgrunewald commented 1 year ago

@MikkelDA thanks for reporting this. We're on top of this and that's why the dev branch is not released yet. Terminal cappings currently are not working due to missing data files.

@pckroon not sure what is happening with the Proline; I thought we had fixed that

pckroon commented 1 year ago

For the -nter and -cter flags are intended to describe changes to the atomistic structure you provide, and as such you should use the modification names in https://github.com/marrink-lab/vermouth-martinize/blob/master/vermouth/data/force_fields/charmm/modifications.ff. Concretely: COOH-ter and NH2-ter for protonated/uncharged termini. If you need CH3 capped termini that's currently not quite possible indeed, since the charmm modifications are missing (PR welcome). In addition, you'll need the appropriate mappings (see https://github.com/marrink-lab/vermouth-martinize/blob/master/vermouth/data/mappings/martini3001/modifications.charmm36.mapping for inspiration).

What's the full martinize2 output (with -v) for a C-terminal proline with either -nt or -cter COOH-ter? Does the COOH-ter modification get applied at the atomistic level at least? My guess is that the modification mapping doesn't apply since it also maps the HN atom, which proline doesn't have.

MikkelDA commented 1 year ago

Reply to pckroon

The file "LOG_martinize2_COOHter" contains the martinize2 output with "-cter COOH-ter". Full command shown below (it created the same warning as the other "-cter" and "-nter" flags that i originally posted): martinize2 -f 03_prot_editconf.pdb -x 04_output_martinize.pdb -o topol.top -ff martini3001 -from charmm -dssp /mnt/software/dssp/3.1.2/bin/mkdssp -p backbone -elastic -ef 700 -el 0.5 -eu 0.9 -ea 0 -ep 0 -scfix -cys auto -resid input -mutate HSE:HSD -mutate ASP152:ASPP -cter COOH-ter -v LOG_martinize2_COOHter.log

The file "LOG_martinize2_nt" contains the martinize2 output with "-nt". Full command shown below: martinize2 -f 03_prot_editconf.pdb -x 04_output_martinize.pdb -o topol.top -ff martini3001 -from charmm -dssp /mnt/software/dssp/3.1.2/bin/mkdssp -p backbone -elastic -ef 700 -el 0.5 -eu 0.9 -ea 0 -ep 0 -scfix -cys auto -resid input -mutate HSE:HSD -mutate ASP152:ASPP -v -nt &> LOG_martinize2_nt LOG_martinize2_nt.log

fgrunewald commented 1 year ago

this should have been fixed; I'm closing the issue