/* hgCert - hgCert parses cerfification data file and generates an html file and a .tab file */ #include "common.h" #include "hCommon.h" void usage() /* Explain usage and exit. */ { errAbort( "hgCert - hgCert parses cerfification data file and generates an html file and a .tab file\n" "usage: hgCert certificate.txt >certificate.html\n"); } char *doLine(char *lineType, char *lineIn) { char *result; char line[1000]; strcpy(line, lineIn); *(line+strlen(line) - 1) = '\0'; result = strstr(line, lineType); if (result == NULL) { return(result); } else { result = result + strlen(lineType); return(result); } } char *doLine2(char *lineIn, char *lineType) { char *result; char *chp; char line[1000]; strcpy(line, lineIn); *(line+strlen(line) - 1) = '\0'; chp = strstr(line, ":"); if (chp == NULL) return(strdup("???")); *chp = '\0'; chp ++; chp ++; chp = strdup(chp); strcpy(lineType, line); if (strcmp(chp, " ") == 0) chp = strdup(" "); return(chp); } int main(int argc, char *argv[]) { char **p; char *arg0, *infileName; FILE *inf, *outf; char line[1000], line2[1000]; char *id; char *chp; char *content; char *contact=""; char *join; char *join1, *join2; char *spanner, *variation, *variationEvidence, *comment, *evaluation, *remark; char lineType[100]; //int i,j; if (argc != 2) { usage(); } else { infileName = argv[1]; fprintf(stdout, "Non-standard Join Certificates\n"); fprintf(stdout, "\n"); fprintf(stdout, "\n"); fprintf(stdout, "\n"); fprintf(stdout, "\n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); fprintf(stdout, " \n"); outf = fopen("cert.tab", "w"); if ((inf = fopen(infileName, "r")) == NULL) { fprintf(stderr, "Can't open file %s.\n", infileName); exit(8); } while (fgets(line, 1000, inf) != NULL) { content = doLine("CONTACT: ", line); if (content != NULL) { contact = strdup(content); fgets(line, 1000, inf); fgets(line, 1000, inf); } join = doLine("JOIN: ", line); if (join != NULL) { join1 = join; join2 = strstr(join, " "); *join2 = '\0'; join2++; join1 = strdup(join1); join2 = strdup(join2); fgets(line, 1000, inf); } else { fprintf(stderr, "No JOIN!\n"); exit(1); } spanner=variation=variationEvidence=comment=evaluation = remark= strdup("  "); again: content = doLine2(line, lineType); if (strcmp(lineType, "VARIATION") == 0) { variation = content; } content = doLine2(line, lineType); if (strcmp(lineType, "SPANNER") == 0) { spanner = content; } content = doLine2(line, lineType); if (strcmp(lineType, "VARIATION EVIDENCE") == 0) { variationEvidence = content; } content = doLine2(line, lineType); if (strcmp(lineType, "REMARK") == 0) { remark = content; } content = doLine2(line, lineType); if (strcmp(lineType, "COMMENT") == 0) { comment = content; } content = doLine2(line, lineType); if (strcmp(lineType, "EVALUATION") == 0) { evaluation = content; } fgets(line, 1000, inf); if (strlen(line) > 3) { goto again; } else { printf(""); printf("", join1); printf("", join2); printf("", spanner); printf("", variation); printf("", variationEvidence); printf("", comment); printf("", evaluation); printf("", remark); printf("", contact, contact); printf("\n"); fprintf(outf, "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", join1, join2, spanner, evaluation, variation, variationEvidence, contact, remark, comment); } } } /*else { fprintf(stderr, "Usage: hgCert certificate.txt >certificate.html\n\n"); return(1); } */ fprintf(stdout, "\n"); fprintf(stdout, "\n"); fclose(outf); return(0); }
Accession 1Accession 2SpannerVariationVariation EvidenceCommentEvaluationRemarkContact
%s%s%s%s%s%s%s%s%s