int main(int argc, char *argv[]) { struct lineFile *pf, *ef, *apf; FILE *of, *nf, *enf=NULL; char *efName=NULL, filename[256]; int verb = 0; verboseSetLevel(0); optionInit(&argc, argv, optionSpecs); if (argc < 3) { fprintf(stderr, "USAGE: pslAnal [-epcr=<file> -verbose=<level>] <isPCR psl file> <all.primers> <outfile>\n"); return 1; } verb = optionInt("verbose", 0); verboseSetLevel(verb); efName = optionVal("epcr", NULL); pf = pslFileOpen(argv[1]); apf = lineFileOpen(argv[2], TRUE); of = mustOpen(argv[3], "w"); sprintf(filename, "%s.notfound.primers", argv[3]); nf = mustOpen(filename, "w"); verbose(1, "Reading all.primers file\n"); readPrimerInfo(apf); if (efName) { ef = lineFileOpen(efName, TRUE); verbose(1, "Reading epcr file\n"); readEpcr(ef); } verbose(1, "Reading and processing isPCR file\n"); processPrimers(pf, of); if (efName) { verbose(1, "Writing epcr.not.found file\n"); sprintf(filename, "epcr.not.found"); enf = mustOpen(filename, "w"); writeEpcrNotFound(enf); } verbose(1, "Writing out primers not found\n"); writePrimersNotFound(nf); if (efName) { lineFileClose(&ef); fclose(enf); } lineFileClose(&pf); lineFileClose(&apf); fclose(of); fclose(nf); return(0); }
int main(int argc, char *argv[]) { struct lineFile *pf, *ef, *apf; FILE *of, *nf, *enf=NULL; char *efName=NULL, filename[256], notFound[256]; int verb = 0; verboseSetLevel(0); optionInit(&argc, argv, optionSpecs); if (argc < 3) { verbose(0, "usage: pslFilterPrimers [-epcr=<file> -verbose=<level>] <isPCR psl file> <all.primers> <outfile>\n"); return 1; } verb = optionInt("verbose", 0); verboseSetLevel(verb); efName = optionVal("epcr", NULL); pf = pslFileOpen(argv[1]); apf = lineFileOpen(argv[2], TRUE); of = mustOpen(argv[3], "w"); safef(notFound, sizeof(filename), "%s.notfound.primers", argv[3]); nf = mustOpen(notFound, "w"); verbose(1, "Reading all primers file: '%s'\n", argv[2]); readPrimerInfo(apf); if (efName) { ef = lineFileOpen(efName, TRUE); verbose(1, "Reading epcr file: '%s'\n", efName); readEpcr(ef); } verbose(1, "Reading isPCR file: '%s' processing output to: '%s'\n", argv[1], argv[3]); processPrimers(pf, of); if (efName) { safef(filename, sizeof(filename), "epcr.not.found"); verbose(1, "Writing %s file\n", filename); enf = mustOpen(filename, "w"); writeEpcrNotFound(enf); } verbose(1, "Writing primers not found to file: '%s'\n", notFound); writePrimersNotFound(nf); if (efName) { lineFileClose(&ef); fclose(enf); } lineFileClose(&pf); lineFileClose(&apf); fclose(of); fclose(nf); return(0); }