Re: [modeller_usage] Terminal Oxygens and Nitrogens
To: abdullah ahmed <>
Subject: Re: [modeller_usage] Terminal Oxygens and Nitrogens
From: Modeller Caretaker <>
Date: Thu, 08 Apr 2010 11:14:15 -0700
Cc: modeller mailing list <>
On 4/7/10 10:36 AM, abdullah ahmed wrote:
I am using a modification of the optimize.py script to optimize a
molecule. The original molecule does not have charged Nitrogens and
oxygens at the terminals. The optimization procedure, however, seems to
add charges to them.
When you create a structure in Modeller, it will by default apply the
CHARMM CTER and NTER patches to the termini to maintain correct valency.
Without seeing your script I can't tell you exactly what to change, but
if you don't want the termini patched at all you can specify
patch_default=False when you call complete_pdb().
I would like to know if there is a way to optimize the structure and
keep the terminals uncharged.
The charges on each atom are defined in the CHARMM topology file,
modlib/top_heav.lib. You can change them there (which will change the
charges for all runs, of course) or you can modify the charge of a given
atom directly in your script by assigning to Atom.charge. For example,
if your model is stored in the Python object 'mdl' you can set the
charge on the OXT atom in the last residue to zero with
mdl.residues[-1].atoms['OXT'].charge = 0.
Note, however, that you may need to change the charges on other atoms to
ensure that your residues end up with a net zero or integer charge.