/* * ovfix.c * * fix auto-overlap-split histories */ #include #include #include main() { struct chromosome *ol[300], *obj, *pobj, *readobj(); int i,nummax; for (i=0; i<300; i++) ol[i] = NULL; nummax = 0; while ((obj=readobj(stdin))!=NULL) { ol[obj->plist->number] = obj; if (obj->plist->number > nummax) nummax = obj->plist->number; } for (i=1; i<=nummax; i++) { obj = ol[i]; if (obj != NULL && obj->plist->pnumber != 0 && obj->plist->history[0] == 8) { pobj = ol[obj->plist->pnumber]; if (pobj != NULL && pobj->plist->Cotype == OVERLAP) { fprintf(stderr,"ov-auto fixed\n"); obj->plist->history[0] = 16; pobj->plist->history[1] = 16; } } else if (obj != NULL && obj->plist->pnumber != 0 && obj->plist->history[0] == 2) fprintf(stderr,"ov-man\n"); } for (i=1; i<=nummax; i++) if (ol[i] != NULL) writeobj(stdout,ol[i]); }