I belive there is a bug in parmchck2 code (part of antechamber)
With -s gaff2 and any other parameter, it always parse against
default gaff , not against the required force field ...
The code using the lowerstr buffer, tolower engine produce incorrect
string as the result ...
The incorrect non functional part of the code is:
if (strcmp(argv[i], "-s") == 0) {
for(j=0; j<strlen(argv[i + 1]); j++)
lowerstr[j] = tolower(argv[i + 1][j]);
if (strcmp(lowerstr, "gaff") == 0 || strcmp(argv[i + 1], "1") == 0)
ffset = 1;
if (strcmp(lowerstr, "gaff2") == 0 || strcmp(argv[i + 1], "2") == 0)
ffset = 2;
if (strcmp(lowerstr, "parm99") == 0 || strcmp(argv[i + 1], "3") == 0)
ffset = 3;
if (strcmp(lowerstr, "parm10") == 0 || strcmp(argv[i + 1], "4") == 0)
ffset = 4;
if (strcmp(lowerstr, "lipid14") == 0 || strcmp(argv[i + 1], "5") == 0)
ffset = 5;
}
Corrected functional version:
if (strcmp(argv[i], "-s") == 0) {;
if (strcmp(argv[i + 1], "gaff") == 0 || strcmp(argv[i + 1], "1") == 0)
ffset = 1;
if (strcmp(argv[i + 1], "gaff2") == 0 || strcmp(argv[i + 1], "2") == 0)
ffset = 2;
if (strcmp(argv[i + 1], "parm99") == 0 || strcmp(argv[i + 1], "3") == 0)
ffset = 3;
if (strcmp(argv[i + 1], "parm10") == 0 || strcmp(argv[i + 1], "4") == 0)
ffset = 4;
if (strcmp(argv[i + 1], "lipid14") == 0 || strcmp(argv[i + 1], "5") == 0)
ffset = 5;
}
Michal Husak
UCT Prague ...
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Wed Sep 25 2024 - 07:00:01 PDT