Re: [AMBER] Group defining heavy atoms

From: Jason Swails <>
Date: Thu, 22 Jan 2015 07:09:00 -0500

> On Jan 22, 2015, at 3:47 AM, Thomas Exner <> wrote:
> Dear David:
> Also many thanks to you for your help. Unfortunately, this also does not
> work for me. Perhaps, I should explain my problem in a little bit more
> detail. I am trying to use AMBER to optimize a number of side chains
> while keeping the rest of the molecule as close to the original
> structure as possible. The goal is to use these setup in drug design to
> have reasonable input structures for MD simulations, which we can also
> use for docking. One the one hand, I need for the MD simulations
> reasonable atomic positions for all atoms including the ones, which a
> not observable in the X-ray structures. On the other hand, I would like
> to have structures for comparison, which show all the specific
> interactions with ligands as seen in the experiment. Therefore, I use
> the restraintmask for constraining all heavy atoms of the residues fully
> available from the X-ray structure and constraints on the backbone or
> non at all for the residues only partially available. This works very
> nice for small to medium sized protein. However, for some proteins these
> mask become very large as you see in the following example:
> restraintmask=':3,5-38,40-45,47-57,59-61,63-79,81-91,93-105,108,110-116,118-134,136-178,180-181,183,185-194,196-201,203-224,226-237,239-241,243-259,261-273,275-277,279-298,300-310,313-314,316-348,350-369,371-386,388-393,395-399,401-436,438-462,465-492,494-502,504-515,518,520-521,523-535,537-538,540-542,544-554,556-557,559-561,563-567,569-570,572-581&!.H=,OXT|:1-2,4,39,46,58,62,80,92,106-107,109,117,135,179,182,184,195,202,225,238,242,260,274,278,299,311-312,315,349,370,387,394,400,437,463-464,493,503,516-517,519,522,536,539,543,555,558,562,568,571&.C,CA,N,O',
> I do not see any chance to get that down to 256 characters and, thus, I
> thought to us the groups specification. Another advantage would be to be
> able to give different weights to more and less well defined parts of
> the structure. However, I have no clue how to do that in a reasonable
> way. In worst case I have to recompile the code.

I have another idea. It’s a bit of a kludge, but it should let you do what you want to do. As Alessandro pointed out, the FIND ... SEARCH cards can be remarkably succinct if there is an underlying pattern to the atoms you are trying to choose. For instance, if all of the atoms you wanted to select had a specific atom property (like a common ‘TREE_CHAIN_CLASSIFICATION’ value or ‘ATOM_NAME’ or ‘ATOM_TYPE’), and no atoms you *didn’t* want selected had that same name, you could select each group of atoms easily with something like:

   ... options
All heavily-restrained atoms
XYZ * * *
All lightly-restrained atoms
ZYX * * *

This will find all atoms with the name “XYZ” and restrain them with a 10 kcal/mol/A^2 force constant. The next card will find all “ZYX”-named atoms and restrain them with a 1 kcal/mol/A^2 force constant. (You can also select by atom *type* (second column), tree chain classification (third column) or residue name (fourth column); and put a * in any column you don’t want to filter your results by). Note you can do all of this logic just as simply with restraintmask, but you can’t assign multiple force constants.

So now the kludge. While sander and pmemd have a character limit on the length of the mask, ParmEd does not. You can use ParmEd to change the atom names or atom types of a particular atom mask to whatever (4-letter-or-fewer) value you want to. So you can start up (or if you want a GUI interface), and use the “change” command to change the atom name of a very long mask to some token you can easily grep for -- like XYZ or ZYX. Then use that prmtop with sander and format your input like I showed above to succinctly select all atoms you want in each group you want.


Jason M. Swails
Rutgers University
Postdoctoral Researcher
AMBER mailing list
Received on Thu Jan 22 2015 - 04:30:03 PST
Custom Search