.. _gmx_add_residue: Adding a Residue to a Force Field --------------------------------- Adding a new residue ^^^^^^^^^^^^^^^^^^^^ If you have the need to introduce a new residue into an existing force field so that you can use :ref:`pdb2gmx `, or modify an existing one, there are several files you will need to modify. You must consult the :doc:`/reference-manual/index/` for description of the required format. Follow these steps: #. Add the residue to the :ref:`rtp` file for your chosen force field. You might be able to copy an existing residue, rename it and modify it suitably, or you may need to use an external topology generation tool and adapt the results to the :ref:`rtp` format. #. If you need hydrogens to be able to be added to your residue, create an entry in the relevant :ref:`hdb` file. #. If you are introducing new atom types, add them to the ``atomtypes.atp`` and ``ffnonbonded.itp`` files. #. If you require any new bonded types, add them to ``ffbonded.itp``. #. Add your residue to ``residuetypes.dat`` with the appropriate specification (Protein, DNA, Ion, etc). #. If the residue involves special connectivity to other residues, update ``specbond.dat``. Note that if all you are doing is simulating some weird ligand in water, or some weird ligand with a normal protein, then the above is more work than generating a standalone :ref:`itp` file containing a ``[moleculetype]`` (for example, by modifying the :ref:`top` produced by some parameterization server), and inserting an ``#include`` of that :ref:`itp` file into a :ref:`top` generated for the system without that weird ligand. Modifying a force field ^^^^^^^^^^^^^^^^^^^^^^^ Modifying a force field is best done by making a full copy of the installed forcefield directory and ``residuetypes.dat`` into your local working directory:: cp -r $GMXLIB/residuetypes.dat $GMXLIB/amber99sb.ff . Then, modify those local copies as above. :ref:`pdb2gmx ` will then find both the original and modified version and you can choose the modified version interactively from the list, or if you use the :ref:`pdb2gmx ` ``-ff`` option the local version will override the system version. .. _gmx-solvate-water: Water solvation --------------- When using :ref:`solvate ` to generate a box of solvent, you need to supply a pre-equilibrated box of a suitable solvent for :ref:`solvate ` to stack around your solute(s), and then to truncate to give the simulation volume you desire. When using any 3-point model (e.g. ``SPC``, ``SPC/E`` or ``TIP3P``) you should specify ``-cs spc216.gro`` which will take this file from ``the gromacs/share/top`` directory. Other water models (e.g. ``TIP4P`` and ``TIP5P``) are available as well. Check the contents of the ``/share/top`` subdirectory of your GROMACS installation. After solvation, you should then be sure to equilibrate for at least 5-10ps at the desired temperature. You will need to select the right water model in your :ref:`top` file, either with the ``-water`` flag to :ref:`pdb2gmx `, or by editing your :ref:`top` file appropriately by hand. For information about how to use solvents other than pure water, please see :ref:`Non-Water Solvation ` or :ref:`Mixed Solvents `. .. _gmx-solvate-other: Non water solvent ----------------- It is possible to use solvents other than water in |Gromacs|. The only requirements are that you have a pre-equilibrated box of whatever solvent you need, and suitable parameters for this species in a simulation. One can then pass the solvent box to the -cs switch of :ref:`solvate ` to accomplish solvation. A series of about 150 different equilibrated liquids validated for use with |Gromacs|, and for the OPLS/AA and GAFF force fields, can be found at `virtualchemistry `_. Making a non-aqueous solvent box ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Choose a box density and box size. The size does not have to be that of your eventual simulation box - a 1nm cube is probably fine. Generate a single molecule of the solvent. Work out how much volume a single molecule would have in the box of your chosen density and size. Use :ref:`editconf ` to place a box of that size around your single molecule. Then use :ref:`editconf ` to move the molecule a little bit off center. Then use :ref:`genconf ` ``-rot`` to replicate that box into a large one of the right size and density. Then equilibrate thoroughly to remove the residual ordering of the molecules, using NVT and periodic boundary conditions. Now you have a box you can pass to :ref:`solvate ` ``-cs``, which will replicate it to fit the size of the actual simulation box. .. _gmx-solvate-mix: Mixed solvent ------------- A common question that new users have is how to create a system with mixed solvent (urea or DMSO at a given concentration in water, for example). The simplest procedure for accomplishing this task is as follows: * Determine the number of co-solvent molecules necessary, given the box dimensions of your system. * Generate a coordinate file of a single molecule of your co-solvent (i.e., ``urea.gro``). * Use the ``-ci -nmol`` options of :ref:`gmx insert-molecules` to add the required number of co-solvent molecules to the box. * Fill the remainder of the box with water (or whatever your other solvent is) using :ref:`gmx solvate` or :ref:`gmx insert-molecules`. * Edit your :ref:`topology ` to ``#include`` the appropriate :ref:`itp` files, as well as make changes to the ``[ molecules ]`` directive to account for all the species in your system. Making Disulfide Bonds ---------------------- The easiest way to do this is by using the mechanism implemented with the ``specbond.dat`` file and :ref:`pdb2gmx `. You may find :ref:`pdb2gmx ` ``-ss yes`` is useful. The sulfur atoms will need to be in the same unit that :ref:`pdb2gmx ` is converting to a ``moleculetype``, so invoking :ref:`pdb2gmx ` ``-chainsep``' correctly may be required. See :ref:`pdb2gmx ` ``-h``. This requires that the two sulfur atoms be within a distance + tolerance (usually 10%) in order to be recognised as a disulfide. If your sulfur atoms are not this close, then either you can * edit the contents of ``specbond.dat`` to allow the bond formation and do energy minimization very carefully to allow the bond to relax to a sensible length, or * run a preliminary EM or MD with a distance restraint (and no disulfide bond) between these sulfur atoms with a large force constant so that they approach within the existing ``specbond.dat`` range to provide a suitable coordinate file for a second invocation of :ref:`pdb2gmx `. Otherwise, editing your :ref:`top` file by hand is the only option.