Masses should always be copied from termini databases,
where they are mandatory since they are specified before
the charge, rather than picking them from atomtypes.atp.
This patch also adjusts a few of the default CHARMM27
charges in atomtypes.atp that deviated in the 3rd decimal.
Fixes #1207.
Change-Id: I6f0c87989ae285ff435cd56c64432988c6634824
CA CA CT2 12.011 0.13
[ Add ]
3 4 H N CA C
CA CA CT2 12.011 0.13
[ Add ]
3 4 H N CA C
CA CA CT1 12.011 0.21
HA HA HB 1.008 0.10
[ Add ]
CA CA CT1 12.011 0.21
HA HA HB 1.008 0.10
[ Add ]
CA CA CP1 12.011 0.16
CD CD CP3 12.011 0.16
[ add ]
CA CA CP1 12.011 0.16
CD CD CP3 12.011 0.16
[ add ]
CA CT1 12.011 0.19
HA HB 1.008 0.09
[ add ]
CA CT1 12.011 0.19
HA HB 1.008 0.09
[ add ]
;
[ GLY-NH2 ]
[ replace ]
;
[ GLY-NH2 ]
[ replace ]
CA CT2 12.011 0.10
[ add ]
2 4 HT N CA C
CA CT2 12.011 0.10
[ add ]
2 4 HT N CA C
CA CP1 12.011 -0.08
CD CP3 12.011 -0.10
[ add ]
CA CP1 12.011 -0.08
CD CP3 12.011 -0.10
[ add ]
-static int name2type(t_atoms *at, int **cgnr, gpp_atomtype_t atype,
+static int name2type(t_atoms *at, int **cgnr,
t_restp restp[], gmx_residuetype_t rt)
{
int i, j, prevresind, resind, i0, prevcg, cg, curcg;
t_restp restp[], gmx_residuetype_t rt)
{
int i, j, prevresind, resind, i0, prevcg, cg, curcg;
j = search_jtype(&restp[resind], name, bNterm);
at->atom[i].type = restp[resind].atom[j].type;
at->atom[i].q = restp[resind].atom[j].q;
j = search_jtype(&restp[resind], name, bNterm);
at->atom[i].type = restp[resind].atom[j].type;
at->atom[i].q = restp[resind].atom[j].q;
- at->atom[i].m = get_atomtype_massA(restp[resind].atom[j].type,
- atype);
- cg = restp[resind].cgnr[j];
+ at->atom[i].m = restp[resind].atom[j].m;
+ cg = restp[resind].cgnr[j];
/* A charge group number -1 signals a separate charge group
* for this atom.
*/
/* A charge group number -1 signals a separate charge group
* for this atom.
*/
atoms, nssbonds, ssbonds,
bAllowMissing);
atoms, nssbonds, ssbonds,
bAllowMissing);
- nmissat = name2type(atoms, &cgnr, atype, restp, rt);
+ nmissat = name2type(atoms, &cgnr, restp, rt);
if (nmissat)
{
if (bAllowMissing)
if (nmissat)
{
if (bAllowMissing)