marrink-lab / vermouth-martinize

Describe and apply transformation on molecular structures and topologies
Apache License 2.0
84 stars 37 forks source link

Corse graining lipids molecules and ions #594

Open Senweiuoa opened 2 months ago

Senweiuoa commented 2 months ago

Hi,

I am trying to build a coarse-grain system that has a lipid, sodium, and protein, but it seems martinize doesn't recognize lipid molecules (POPC/POPE) and sodium ions.

The command I used: martinize2 -f xxx.pdb -o system.top -x cg_xxx.pdb -dssp -p backbone -go contact_map.out -ff martini3001 -go-moltype xxx

I got warnings like these: WARNING - unknown-residue - Can't add bonds based on atom names for residue -POPC702 because 'Residue POPC is not known to force field charmm'. Falling back to distance criteria. WARNING - unknown-residue - Can't add bonds based on atom names for residue -POPE703 because 'Residue POPE is not known to force field charmm'. Falling back to distance criteria. WARNING - unknown-residue - Can't add bonds based on atom names for residue -NA801 because 'Residue NA is not known to force field charmm'. Falling back to distance criteria. WARNING - unknown-residue - Can't add bonds based on atom names for residue -NA802 because 'Residue NA is not known to force field charmm'. Falling back to distance criteria. WARNING - unknown-residue - Can't add bonds based on atom names for residue -NA803 because 'Residue NA is not known to force field charmm'. Falling back to distance criteria.

How could I add those basic lipids and ions into CG models? I am new to CG simulations; I would appreciate any suggestions!

csbrasnett commented 2 months ago

Hi, one issue here is that martinize2 can't (yet) coarse grain your solvent (including ions), or lipids. Theoretically if you wanted to add your lipid residues, this would be possible by 1) adding the mapping files, 2) adding the force field files, and 3) making the residues identifiable.

However, I would suggest the easiest thing to do is to use martinize2 to generate the topology and coordinates of your protein first, and then follow the Membrane protein tutorial for Martini proteins. Good luck!

Senweiuoa commented 2 months ago

Hi, Thanks for your help! I have read through this tutorial. However, In my case, the structural ions and lipids are quite important. I need to figure out a way to keep them in the simulation...instead of getting rid of them. I have just found there are actually some mapping files for lipids on the Martini website, but it seems like they are for Martini2. I am wondering if I could use them to build a martini3+Go model ? For ions, it's just one atom; I assume it should be easy to make mapping files... ?

csbrasnett commented 2 months ago

The structural ions issue has been mentioned before in #534, but I don't think anyone's had time to pick it up and implement unfortunately. If you want to open a PR with a solution please do so!

You're correct, those lipid mappings are for Martini 2 lipids, they shouldn't be used for Martini 3 systems. It's probably still better to prepare a system with other available tools. If you have protein lipidations in your system then that's a different matter. The only work I'm aware of in that area for Martini 3 is this, so you could use their approach if that's what you have.