Ion Concentration Force Fields

GROMACS version: 2020.2

I am very interested in the effects that salt concentration may have on different biological molecules. This requires an increase in ion concentration. If I were to add Na+ and Cl- ions to achieve a concentration between 1-4M, the sigma and epsilon parameters of these ions must be changed in the force field. In what file do I change these parameters? Or, is there a file available to use in high ion concentration simulations?

Changing σ and ε of the ions directly changes their hydration free energies, coordination geometries, etc. so I don’t recommend that approach. The force field modifications would be imposed via [nonbonded_interactions] (the equivalent of NBFIX in CHARMM, etc.) to alter the combination rule LJ values between the species. I bring up CHARMM because ion parameters have already been developed in this way for up to 5 M NaCl in agreement with osmotic pressure values (

1 Like

Hello and thank you for your reply, I appreciate it. The approach of implementing these parameters in [nonbonded_interactions] makes sense given the developments you have mentioned. However, I do not see supporting information that may contain the necessary parameter files for a high concentration simulation. Would you mind providing some additional resources for the procedure of altering the parameters in this way? I am new to changing the parameters and am still a bit unsure of exactly how to proceed with this information. More specifically, I am looking for the parameter files that can be implemented in a CHARMM27 force field.

The Na:Cl NBFIX is already implemented in CHARMM. If you need to parametrize other ion combinations, use the osmotic pressure approach described in the paper I linked. I have done this before and it is quite time-consuming.

I do not need to parameterize other ion combinations, only Na:Cl. So then I just need to use NBFIX, thank you for clarifying. However, I have checked my charmm27.ff directory and it does not contain nbfix.itp. Does this mean that NBFIX is not implemented in my version of CHARMM? Or is there somewhere else where I can check whether NBFIX is implemented? Also, how exactly do I utilize NBFIX for this particular simulation of Na:Cl? Thank you for your time in advance, all of your advice is of great help.

Use the CHARMM36 port from

The NBFIX is active by default. You don’t need to do anything. Just run the simulation(s).

Okay, thank you this is great to know. Also I wanted to mention that my system will include my protein, TIP3P water, and the ions to reach the desired concentration. There are still no changes? And does the water model play any sort of role?

It will work out of the box. You should use the CHARMM-modified TIP3P water (also default); the water model is not considered a freely choosable option (though pdb2gmx allows it).

Great, thank you. And I have dowloaded charmm36.ff, this can just be copied to my working directory?

Also, would it be possible to use NBFIX in CHARMM22/27? Are there existing updates for that?

Yes, either in the working directory or in $GMXLIB.

You can add the NBFIXes if you like but those force fields are quite outdated and C36 is far superior for proteins.

Yes, I see how charmm36 would be better. I was just wondering if this were a possible option. To implement the use of NBFIX would I just have to include nbfix.itp in my charmm22.ff directory or are these additions more complex? Thank you again for all of your advice, it has been extremely helpful.

It’s more complicated than that. The nbfix.itp file will have atom types that are not in C22 but are in CGenFF and C36, so you’ll get errors. Also, you would have to prove that any NBFIX you’re adding was actually tested against C22 in case of different charges on the relevant atoms. Ion parameters have basically been developed independently in CHARMM and are not strictly assigned to any parameter set (C22, C36, etc). They’ve existed since 1994 and have been carried through force field development. The NBFIX you need for sodium and chloride was developed in 2010, prior to C36 in 2012. You could safely add that NBFIX, but I wouldn’t go too crazy trying to hybridize the force fields.

Okay, I understand. CHARMM36 is then much more feasible. I have moved it to my working directory, but it does not appear as a choice in pdb2gmx or as a selection using -ff charmm36. Is there some other command that is necessary?

Force fields in the working directory are listed first, so if the force field subdirectory is there, it will be choice 1 in the list. If you’re using the latest (July 2020) port, you will need to specify -ff charmm36-jul2020.

It seems that even with specifying -ff charmm36-july2020 the force field is not being recognized. What I have downloaded and moved into the working directory is charmm36-july2020.ff. Have I missed anything that should also be downloaded? The error is: Could not find force field …install tree or GMXLIB path.

It’s jul2020 not july2020. If the force field subdirectory is in the working directory, it will show up in the list for interactive selection. If it doesn’t show up, you have the force field files somewhere else. It should be option 1 in the list, since force fields in the working directory are always listed before those in $GMXLIB.

This works perfectly. To reach my concentration it would also be feasible to use gmx genion along with -conc to replace random water molecules? Thank you for all of your help and time.

You can specify any concentration you like but be aware that if you’re adding a huge number of ions, the resulting void space will cause the system to compress during equilibration and you may have to enlarge the box, add more water, and re-equilibrate to achieve the actual desired concentration. Any time you get above 1 M, this becomes an issue, maybe even at lower concentrations.

1 Like

Okay, thank you for letting me know. Your advice and resources have been a great help. I appreciate it!