# Using H2O2 as a solvent for MD simulation

**URL:** <https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663>\
**Category:** User discussions\
**Tags:** mdrun, simulation-setup\
**Created:** [September 18, 2025, 11:55am UTC](https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663 "2025-09-18T11:55:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![CuriousSapiense](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@CuriousSapiense](https://gromacs.bioexcel.eu/u/CuriousSapiense)\
**Post date:** [September 18, 2025, 11:55am UTC](https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663/1 "2025-09-18T11:55:26Z")

</div>

GROMACS version: 2025.0  
GROMACS modification: No

Hello!

I’m a doctoral student working on membrane proteins. I’ve been reading literature where H2O2 or Hydrogen Peroxide has been used as a solvent for simulation. For my work, I have simulated the membrane protein in a high ROS environment. So, I’ve been looking for ways to prepare a system where Hydrogen peroxide populates the systems instead of standard TIP3P or SPC6 water molecules.

Now I’ve been making the systems in CHARMM-GUI with a POPC membrane and a water-solvated box with NaCl and KCl. Is there a way to replace some of the water molecules or the solvation and replace them with Hydrogen Peroxide molecules? I’ve got GROMACS compatible parameters for H2O2 in the ATB database (Automated Topology Builder) [https://atb.uq.edu.au/molecule.py?molid=1969](https://atb.uq.edu.au/molecule.py?molid=1969).

I’m looking for any kind of guidance on ways to build the system manually or replace water molecules with H2O2. Also, what kind of changes should I make to the .top or .itp file?

Thanks in Advance!

---

<div class="post-metadata">

**Author:** ![Marius](https://avatars.discourse-cdn.com/v4/letter/m/ed655f/32.png) [@Marius](https://gromacs.bioexcel.eu/u/Marius)\
**Post date:** [September 18, 2025, 12:54pm UTC](https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663/2 "2025-09-18T12:54:53Z")

</div>

Hi,

If you want to replace only some of the water molecules with H2O2 you can use:

```bash
gmx insert-molecules -f membrane_water.gro -ci h2o2_structure.gro

```

In case you want to re-solvate your system try to use:

```bash
gmx solvate -cp only_membrane.gro -cs h2o2_structure.gro

```

Please be aware that the names of the files in my examples are purely fictional and you need to replace them with the true names of your files! I would also recommend to check out the documentation of the respective commands.

For the .top file you need to adjust the number of water molecules and the number of added H2O2 molecules under the **[molecules]** directive.

Best,

Marius

---

<div class="post-metadata">

**Author:** ![CuriousSapiense](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@CuriousSapiense](https://gromacs.bioexcel.eu/u/CuriousSapiense)\
**Post date:** [September 19, 2025, 5:59am UTC](https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663/3 "2025-09-19T05:59:55Z")

</div>

Thank you, Marius, for the reply.  
I’ve tried with the _gmx insert molecule_ for this. But for some reason, it’s not working in my system. Is there a way to first delete some water molecules randomly? And then insert molecules using the same command?

---

<div class="post-metadata">

**Author:** ![Marius](https://avatars.discourse-cdn.com/v4/letter/m/ed655f/32.png) [@Marius](https://gromacs.bioexcel.eu/u/Marius)\
**Post date:** [September 19, 2025, 8:35am UTC](https://gromacs.bioexcel.eu/t/using-h2o2-as-a-solvent-for-md-simulation/12663/4 "2025-09-19T08:35:54Z")

</div>

Why is _gmx insert-molecules_ not working? Do you get a specific error message?

Deleting water molecules randomly is not the problem, you can just delete some of them from your .pdb/.gro file. But the insertion of the molecules is the more complex task, because you need to avoid steric clashes between your molecules and the solvent.
