Skip to content

Support for Mapping Beads Spanning Adjacent Residues in MARTINI #660

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jwang227 opened this issue Feb 17, 2025 · 1 comment
Open

Support for Mapping Beads Spanning Adjacent Residues in MARTINI #660

jwang227 opened this issue Feb 17, 2025 · 1 comment

Comments

@jwang227
Copy link

We are working on integrating a coarse-grained (CG) force field for peptoid-based polymers into the MARTINI framework. Since the standard BB bead mapping does not fully capture peptoid backbones, we developed a new PA bead that includes atoms from both the current and preceding residue. However, it seems the default mapping format does not support this. Is there a way to allow beads to span adjacent residues in martinize2, or any suggested workaround?

we'd appreciate any guidance!

@pckroon
Copy link
Member

pckroon commented Feb 19, 2025

Yes, this is possible. It is also something that is not actively used at the moment, and therefore poorly tested; you may run into unexpected issues, as well as some strange idiosyncrasies. One of the test cases we use is a partial force field that uses a mapping where the BB bead is mapped to the peptide bond of a protein (i.e. HNCO). You can find those files here, and should serve as a starting point:
https://github.com/marrink-lab/vermouth-martinize/tree/master/vermouth/tests/data/force_fields/pepplane
https://github.com/marrink-lab/vermouth-martinize/tree/master/vermouth/tests/data/mappings/universal-test/pepplane

Let me introduce some jargon we use in martinize2 and explain the mapping workflow before you dive into the files.

  • Molecular fragments are particles (atoms or CG beads) connected by edges (usually bonds).
  • Blocks are molecular fragments including MD parameters such as bonds, angles, and bead types. Usually a Block is a residue.
  • Links are molecular fragments describing MD parameters between Blocks.
  • Mappings describe a correspondence between a molecular fragment in the input force field and a Block in the output force field.

For a Mapping to apply martinize2 finds all induced subgraph isomorphisms between the Mapping's molecular fragment and the peptoid/protein/molecule you're martinizing. This means that all atom properties must match (most notably atom and residue names), and that all edges must be the same (i.e. if the input peptoid has an edge (not bond) between e.g. H and N, then the molecular fragment of the mapping must also have that edge. The inverse is also true: if there's no edge in the input molecule (between H and C), then there must also be no bond between them in the mapping). To see which edges and atomnames the input molecule will end up with you need to look at the charmm force field (https://github.com/marrink-lab/vermouth-martinize/tree/master/vermouth/data/force_fields/charmm) which is the default input force field (-from flag). For the peptoid you'd need to add Blocks to the charmm force field, where each Block corresponds to a residue. Note that the MD parameters don't really matter here. All that's important are the atom names and the edges.
Moving on to the Mappings themselves, it's important to note that a Mapping maps a molecular fragment to a Block, rather than strictly Block->Block. This means that you can map partial residues, and cross-residue fragments to Blocks. In your case, you could make a Block in the Martini force field that describes your peptoid backbone, and map the cross-residue fragment to those (very similar to the example files; since the fragment does not correspond to a charmm Block the Mapping lists all the edges and atoms).
You'd then also need to make martini Blocks for the sidechains. This is maybe a little counterintuitive, but you'd end up with (for example) a Block PHE describing only the sidechain (SC1, SC2, SC3), and MD parameters internal to the sidechain (restraints). You'd then also create a Link to describe the interactions between the sidechain and your peptoid backbone (bonds, angles, dihedrals, ...). Similar for all the other amino acids.
Lastly there's the termini. Martinize2 describes those using Modifications. Have a look at the example files, and feel free to ask for more guidance once you get stuck.

Be sure to ask for more help/guidance when you run into problems!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants