/* min.c Compile with: gcc -g min.c -lm -o min Example run: min hs2_DEVIATION.N.l5 Extracts the "best" a-interval (ie, the one that minimizes the fn+fp count) from a DEVIATION ("run") file. Used with phylogen/infocon, in single-region analyses, eg for hs2. */ #include #include #include #include #include #include #define Usage "%s " void fatal(char *message); void fatalf(char *msg, char *val); FILE *ckopen(char *name, char *mode); int main(int argc, char *argv[]) { char buffer[200], *s; int i, min; FILE *fp; if (argc!=2) fatalf(Usage, argv[0]); fp = ckopen(argv[1],"r"); min = 100000; while (fgets(buffer,200,fp)!=NULL) { s = buffer; while (!isspace(*s)) s++; /* go past filename */ while (isspace(*s)) s++; /* go past blanks */ while (!isspace(*s)) s++; /* go past fp: label */ while (isspace(*s)) s++; /* go past blanks */ while (isdigit(*s)) s++; /* go past fp values */ while (isspace(*s)) s++; /* go past blanks */ while (!isspace(*s)) s++; /* go past fn: label */ while (isspace(*s)) s++; /* go past blanks */ while (isdigit(*s)) s++; /* go past fn values */ while (isspace(*s)) s++; /* go past blanks */ while (!isspace(*s)) s++; /* go past total: label */ sscanf(s, "%d", &i); if (i