> Also, the ordering is done at the time that LEaP writes the prmtop (or maybe when it's assigning the parameters, but I actually think that's done at prmtop writing time as well, I can't recall),
It's done at prmtop writing time.
Bill
On 3/25/16 5:47 AM, Jason Swails wrote:
> On Thu, Mar 24, 2016 at 10:47 AM, David Cerutti <dscerutti.gmail.com> wrote:
>
>> It seems that Dave Case's insight is important:
>>
>> "The only invariant thing you can do with a torsion (proper or improper) is
>> to reverse it: ABCD == DCBA. All other permutations are different."
>>
>> This jibes with the way the rest of Amber lines up impropers so that they
>> can be treated just like any other torsion. However, it seems I now have a
>> slightly different problem. In the topology that the student created,
>> which I have attached, it appears that there are BOTH proper and improper
>> torsions with atoms c3 na ca ca. I am reading the topology verbatim, and I
>> find the following dihedrals (without hydrogens):
>>
>> 23 24 25 26 c3 c3 n4 c3
>> 23 24 25 27 c3 c3 n4 c3
>> 23 24 25 28 c3 c3 n4 c3
>> ...
>> 22 1 4 8 c3 na ca ca
>> ...
>> 22 1 2 5 c3 na ca ca
>> ...
>> 22 1 -4 -2 c3 na ca ca
>>
>> In the (abridged) list of dihedrals above, I have taken care to divide each
>> array index by three, add 1 if was positive, and subtract 1 if it was
>> negative. In this manner I am giving the atom numbers (first atom starting
>> at 1) of the atoms involved in various dihedrals, and making those indexes
>> negative if the topology is trying to tell me that the dihedral is an
>> improper. I then give the type of those same atoms, in the same order.
>> Note the final three dihedrals: these are the infamous "c3 na ca ca"
>> beasts. This exposes one vulnerability in mdgx parameter fitting, that
>> when it is confronted with a parm.dat file containing proper and improper
>> dihedrals with the same atom type sequence one will overwrite the other.
>>
> Why do you store impropers and propers in the same list? Don't do that!
> tleap doesn't. The parameter files don't (i.e., the parm.dat and frcmod
> files). That the prmtop does is an implementation detail of the force
> field tied to how it's implemented in the MD engines. If you want to
> emulate tleap behavior, impropers and propers should be in separate lists
> or hash tables. They are assigned differently and are unrelated (except
> that they share the same functional form... but in some sense so do angles
> and bonds).
>
> Also, the ordering is done at the time that LEaP writes the prmtop (or
> maybe when it's assigning the parameters, but I actually think that's done
> at prmtop writing time as well, I can't recall), not in the actual
> assigning. The types don't have to be alphabetized when written to a
> parm.dat or frcmod file. tleap will check the permutations as needed, I
> believe.
>
> All the best,
> Jason
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Mar 25 2016 - 12:30:03 PDT