marrink-lab / vermouth-martinize

Describe and apply transformation on molecular structures and topologies
Apache License 2.0
100 stars 45 forks source link

Protonation state of histidine and other (de-)protonable AAs #381

Closed s-schaef closed 2 years ago

s-schaef commented 3 years ago

Hello,

I have been trying to use protonated histidine in my simulations and I am missing the "-his" flag as known from martinize1. When using the "-mutate" flag with A-HIS31:HIH (on the tutorial protein) it raises an "NameError: HIH is not known as a mutation for force field universal" error.

I also tried modifying ASP with "-mutate A-ASP10:ASP0" as suggested by the help. This gave a warning that it did not find any mapping and after using "-maxwarn 1" ran, but did not produce any different output. For deprotonated lysine, arginine and protonated glutamate I could not find any residuenames/codes.

Can these modifications be made with the new martinize2 and if so how? Many thanks, Stefan

pckroon commented 3 years ago

Hello! Sorry for the slow reply, it's been busy on this end...

Can these modifications be made with the new martinize2 and if so how?

Yes

Blocks and modifications need to be added in 3 places: the input force field (by default universal), the output force field (e.g. martini3001), and the mapping between those. Also take a look at the docs, those explain this workflow/scheme/idea.

There is, unfortunately, no documentation or tutorial available for the file formats (yet). Modifications for the universal FF should go in vermouth/data/force_fields/universal/, and take a look at modifications.ff to see what they should look like (and which are already available). Ditto for the Martini 3 modifications. Example mappings you can find in vermouth/data/mappings/martini30/modifications.mapping.

We definitely want to provide these modifications with the library, so a PR would be most welcome ;) And be sure to ask again if you get stuck.

jonbind commented 2 years ago

I think the problem is caused by an discrepancy in naming. In the martini3001 aminoacids file the protonated histidine is called HIH whereas the names in the universal ff differ depending on the protonated nitrogen. I changed the name of the martini protonated histidine to HSP and now I get the correct charge on my overall protein.

drawadiagram commented 2 years ago

I have this same issue with Charmm HSP residues turning into Martini HIS rather than HIH. I ended up manually altering my topology to HIS with +1 charge, but a more portable solution would be much better.

@jonbind Can you be a little more specific about where you changed the name of that protonated His? I'll be honest I can't find the mapping/ff files Martinize2 is using, so I'm just not sure what to change.

jonbind commented 2 years ago

Hey @drawadiagram , sorry to get back to you this late, I was on vacation. 1.I opened the file aminoacids.ff under this path : .local/lib/python3.9/site-packages/vermouth/data/force_fields/martini3001/ (using Linux OS).

  1. I copied the entry for [HSP] and changed the names from HSP to HIP
  2. I copied the hsp mapping file und the following path python3.9/site-packages/vermouth/data/mappings/martini30/martini3001/ and renamed the copy to hip.charmm36.map

Depending how your .pdb file is named you can use the -mutate flag on vermouth to change the pdb HSP to HIP . The coarse graining should now work.

I Hope this helps Kind regards

fgrunewald commented 2 years ago

Protonated AAs are available either as Amber or Charmm based resnames.