Dear Modeller users,
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.
I would like to know if there is a way to optimize the structure and keep the terminals uncharged.
Thank you in advance, Abdullah _________________________________________________________________ Hotmail: Trusted email with powerful SPAM protection. https://signup.live.com/signup.aspx?id=60969
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.
Ben Webb, Modeller Caretaker
participants (2)
-
abdullah ahmed
-
Modeller Caretaker