Re: [AMBER] Specifying size of truncated octahedron box manually

From: Matias Machado <>
Date: Fri, 23 Aug 2019 17:32:20 -0300 (UYT)

Dear Andrew,

That's a tricky question indeed!...

The problem is the box's geometry, if it was cubic then you could use command "setbox"... however, tleap doesn't have a function to set an octahedral box from a PDB which already has one... I think (IMHO) that's a pitfall in the AMBER's pipeline... cause you can generate an octahedral box but can't correctly reload it by the same program which made it...

Using Packmol won't solve the problem because this type of box is not yet supported... still the problem is more complicated than that, cause the orientation of the box may depend on the way it was generated (e.g. by truncating a cube)... just to give you an example, GROMACS and AMBER default octahedral boxes have a different rotation in space which impact not just on the code performance but on the correct setup of PBC conditions, hence you can't pick a box from one MD engine and plug it into another right away... well, at least not an octahedral one...

Anyway, I'll give you some workaround that may work... this is the idea...

0) Let assume you have a PDB of your protein ("protein.pdb")

1) Create a big enough octahedral solvent box with just water ("waterbox.pdb"), save it in PDB format and AMBER old format (you'll see why later).
    In that way you make sure the size and orientation of the box are the right ones. You can use the same box for both folded an unfolded conformations.

  # Example tleap commands
  # Notice: ff14SB is required to load atom type parameters for TIP3P
  # Ideally they should be loaded by leaprc.water.* but they aren't...
    source leaprc.protein.ff14SB
    source leaprc.water.tip3p
    waterbox = createunit waterbox
    solvateoct waterbox TIP3PBOX 40
    savepdb waterbox waterbox.pdb
    saveAmberParm waterbox waterbox.prmtop waterbox.rst7

2) Merge your "protein.pdb" and "waterbox.pdb" files into a unique "protein_wat.pdb", remove overlaping water molecules (e.g. by using VMD)... You may need to work a bit to centre the protein...

3a) Reload the system "protein_wat.pdb" in tleap and use command "setbox" to set the box, yes i will set a cubic box but we'll fix it later...
3b) If you need to add ions then use command "addIonsRand" instead of "addIons" to place them within the actual water box.
3c) Save the ".pmtop" and ".ncrst" files

  # Example tleap commands
  # Notice I'm reloading waterbox.pdb as a prof of concept you should use protein_wat.pdb
    source leaprc.protein.ff14SB
    source leaprc.water.tip3p
    sys = loadpdb waterbox.pdb
    setbox sys centers
    saveAmberParmNetcdf sys protein_wat.prmtop protein_wat.ncrst

3d) You can check the periodic conditions in VMD to see the problem
    vmd protein_wat.prmtop protein_wat.ncrst

4) Fix the box!
    Get the dimensions of your original waterbox.

    tail -n1 waterbox.rst7 ;# there should be a better (fancy) way to do it... my just lazy at this point...

    Then use commands "center" and "box" of cpptraj to change the box paramenters according to your original octahedral waterbox:
    cpptraj -p protein_wat.prmtop -y protein_wat.ncrst
    box x 80.8660254 y 80.8660254 z 80.8660254 truncoct
    trajout protein_wat_OK.ncrst

5) Enjoy!

   You can load the system in VMD and check the periodic conditions:

   vmd protein_wat.prmtop protein_wat_OK.ncrst

Hope this help...



Researcher at Biomolecular Simulations Lab.
Institut Pasteur de Montevideo | Uruguay

----- Mensaje original -----
De: "David Case" <>
Para: "AMBER Mailing List" <>
Enviados: Martes, 20 de Agosto 2019 23:33:01
Asunto: Re: [AMBER] Specifying size of truncated octahedron box manually

On Tue, Aug 06, 2019, Bellesis, Andrew G wrote:
>I am trying to set the dimensions of a truncated octahedron box in tleap
>Here is the context of my problem: I am simulating folding and unfolding
>of proteins. When I start with the folded state, I want to make sure that
>my solvent box is big enough to accomodate the resulting unfolded state +
>12 Angstrom clearance. Therefore, to try and find the right box size to
>start with, I solvated a known unfolded structure to obtain the following
>box information:
>> solvateOct x SPCBOX 12.0
>Scaling up box by a factor of 1.177857 to meet diagonal cut criterion
> Solute vdw bounding box: 79.955 83.697 84.429
> Total bounding box for atom centers: 112.697 112.697 112.697
> (box expansion for 'iso' is 4.8%)
> Solvent unit box: 18.774 18.774 18.774
>The number of boxes: x= 7 y= 7 z= 7
> Volume: 734885.482 A^3 (oct)
>I want to take the box defined here and the use it when I solvate the
>smaller folded protein. How do I do this?

As far as I know, there is no easy way to do this in tleap. Packmol
might be a better choice if you want the same size box for various

[Again, others should pitch in if they know how to solve this problem in


AMBER mailing list

AMBER mailing list
Received on Fri Aug 23 2019 - 14:00:02 PDT
Custom Search