MD of ionic supramolecular complex

GROMACS version: 2024
GROMACS modification: No

Hello everyone! I am a little bit stuck with a topology generation for my supramolecular complex. What I got is an ion pair where both cation and anion are organic. I have an X-ray structure of it, and I would like to do an MD simulation starting from exactly the same geometry as I have in the X-Ray, in organic solvent (benzene to start with). What I completely failed to do so far is to generate topology file from it, both SWISSParam and CHARMM-GUI failed when I tried to pass an ion pair. I can generate .pdb and .itp files for each ion separately, but how do I place them in exactly the same geometry as they have in the crystal structure?
My idea so far was to use cation as protein in pdb and then try to dock anion as a ligand, but it doesn’t work as both of them are recognised as ligands by Gromacs, probably something to do with LIG in the pdb file, I get this error:
"Program: gmx pdb2gmx, version 2024
Source file: src/gromacs/gmxpreprocess/resall.cpp (line 616)

Fatal error:
Residue ‘LIG’ not found in residue topology database

Are there any suggestions on how to accomplish the MD simulation of my complex (if it’s possible at all)?

There are two broad ways to create functional Gromacs topologies with non-standard residues:

  1. Create .rtp entries for new residues, possibly modifying .hdb and residuetypes.dat, adding the new parameters to ff(non)bonded.itp, and passing the system through gmx pdb2gmx, or
  2. Create the standard parts (if any) in gmx pdb2gmx to obtain a topol.top topology file, and add any other pre-generated .itps through #includeing or manual editing.

(Note that LIG is a generic name given to any new residue, so if you want them to be distinguished in the topology, rename at least one of them.)

To use the crystal geometry, option (1) makes it easy if you have a reasonably big cell (at least 2 \times cut-off)n and you’re missing hydrogens. (2) would require you to perform an alignment with respect to the crystal arrangement, or perhaps simply use translation vectors to build the lattice - sometimes the easiest way is the most robust.

In case you want to use Gromologist for these purposes, here are ways to create .rtp entries, or add molecules/parameters from external parametrizations.