Re: [AMBER] compiler-dependent error: "Invalid atom or grouping specified in restraint."

From: Jason Swails <>
Date: Sun, 11 Mar 2012 17:42:36 -0400

On Sun, Mar 11, 2012 at 1:54 PM, David A. Case <>wrote:

> On Fri, Mar 09, 2012, Jan-Philip Gehrcke wrote:
> > I've set up a virtual machine running Fedora 16, which natively comes
> > with GCC 4.6.2. There, I've build Amber 11 + AmberTools 1.5 with all
> > bugfixes to date and was *not* able to reproduce the problem.
> >
> > I would think that the GCC 4.6.2 built via GCC 4.1.2 is just "as good"
> > as the native GCC 4.6.2 of Fedora (whatever they build it with). So..
> > the problem does not seem to be directly related to GCC 4.6.2.
> >
> > The occurrence of the problem also does not depend on spaces or brackets
> > or these kinds of things: I've tried defining the torsional restraint in
> > the natural language with different bracket types, with and without
> > spaces/commas and with atom numbers instead of ambmasks. On the
> > 'invalid' system, the error "Invalid atom or grouping specified in
> > restraint." appeared in all of these cases.
> >
> > Hm.. is this still worth to further investigate? I am running out of
> ideas.
> > >>> Result on Amber 11 compiled with GCC 4.6.2 on CentOS 5.7
> > >>>> Error: Invalid atom or grouping specified in restraint.
> > >>>> restraint = "torsion [:70.C1, :70.O5, :70.C5, :70.C4]"
> Thanks for the information. As I understand it, this seems(!) to be
> related
> to CentOS 5.7, or possibly to something peculiar to your particular
> installation. I'm personally tied up with other commitments right now, but
> someone may be able to reproduce the problem, then try to debug it. It
> sounds
> like you may have a workaround for now (i.e. run on the Fedora machine, not
> the CentOS one.)

This sounds similar to another experience that I've had recently, although
for me it's a bit hearsay. I was working with Dan Roe on something that
involved some relatively complex namelist input -- specifically a 1000x1000
2-D array. The syntax I used was something like:

array(1,:) = 1,2,3,4,5,
array(2,:) = 11,12,13,14,15,
... etc.

So that it could be decomposed into an array of arrays. This type of input
worked exactly as expected on all of my systems (Ubuntu and Mac) with
MacPorts compilers and the built-in Intel and GNU compilers on the Linux
box (nothing I ever actually built myself). (And MacPorts built the GNU
compiler using the Xcode gcc version 4.2.1). For Dan, however, I recall
that his version failed to read that notation, and he had to be explicit
about it, i.e.

array(1,1) = 1, array(1,2) = 2, ... etc.

I think I tried the same compiler version he had, too, with the only
difference being how we obtained our respective compilers, so my experience
suggests that the same compiler can read namelists differently depending on
how those compilers were built.

Hopefully this was somewhat helpful,

All the best,

Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
AMBER mailing list
Received on Sun Mar 11 2012 - 15:00:02 PDT
Custom Search