********> bugfix.84 Author: Bill Ross Date: 2/6/97 Programs: Carnal Severity: Moderate Problem: TORSION BACKBONE - problems with 'parsing' systems with multiple molecules having backbones. Fix: Make the following change to pointax.c: ------------------------------------------------------------------------------ *** OLD pointax.c --- NEW pointax.c *************** *** 466,489 **** smallmol++; iarr = iarr_first; iarr_last = iarr; - continue; - } - addrarray[iarr] = NULL; - if (IsBonded(atomarray[iarr_last], - atomarray[iarr_first], prm)) { - printf("cycle, atoms %d->%d\n", - atomarray[iarr_last], - atomarray[iarr_first]); - atomarray[iarr] = -2; - resarray[iarr] = iarr_first; - ndih += consecatom; } else { ! atomarray[iarr] = -1; ! resarray[iarr] = 0; ! ndih += consecatom - 3; } - iarr++; - iarr_first = iarr; consecatom = 0; } } --- 466,489 ---- smallmol++; iarr = iarr_first; iarr_last = iarr; } else { ! addrarray[iarr] = NULL; ! if (IsBonded(atomarray[iarr_last], ! atomarray[iarr_first], prm)) { ! printf("cycle, atoms %d->%d\n", ! atomarray[iarr_last], ! atomarray[iarr_first]); ! atomarray[iarr] = -2; ! resarray[iarr] = iarr_first; ! ndih += consecatom; ! } else { ! atomarray[iarr] = -1; ! resarray[iarr] = 0; ! ndih += consecatom - 3; ! } ! iarr++; ! iarr_first = iarr; } consecatom = 0; } } ------------------------------------------------------------------------------ Fix: Make the following change to doit.c: ------------------------------------------------------------------------------ *** OLD doit.c --- NEW doit.c *************** *** 292,297 printCstat(stat++, 0.0); } else if (atomarray[i] == -1) { /* residue not bonded to next nor is there a cycle */ printf("***\n"); } else if (atomarray[i] == -2) { /* residue not bonded to next and there is a cycle */ --- 292,298 ----- printCstat(stat++, 0.0); } else if (atomarray[i] == -1) { /* residue not bonded to next nor is there a cycle */ + consecatom = 0; printf("***\n"); } else if (atomarray[i] == -2) { /* residue not bonded to next and there is a cycle */ ------------------------------------------------------------------------------ Temporary workarounds: None. --