int main(int argv, char** argc) { File* hw; Marker* markers; Marker* it; const char* markersPath; const char* hwPath; FILE* outFile; if (argv != 3) { printf("Usage: %s markers homeworks\n", argc[0]); printf("markers: Markers file path.\n"); printf("files: HW files path.\n"); exit(EXIT_FAILURE); } markersPath = argc[1]; hwPath = argc[2]; markers = readMarkers(markersPath); srand(time(NULL)); rand(); rand(); hw = makeFileList(hwPath); markers = distribute(hw, markers); markers = sortMarkers(markers, numMarkers(markers)); for (it = markers; it; it = it->next) { it->files = sortFiles(it->files, numFiles(it->files)); } printMarkers(markers); for (it = markers; it; it = it->next) { free((void*)it->name); } freeMarkers(markers); freeFiles(hw); return 0; }
int main(int argc, char *argv[]) { struct lineFile *cgf, *clf, *mkf, *nmf, *acf, *usf; FILE *bacAlias, *bacXRef; int verb = 0; char *dir, errorFile[256], aliasFile[256], xRefFile[256]; verboseSetLevel(0); optionInit(&argc, argv, optionSpecs); if (argc != 8) { fprintf(stdout, "USAGE: formatZfishSts [-verbose=<level>] <contig file> <clone file> <marker file> <list of BACs and chroms> <accessions> <UniSTS IDs file><output directory>\n"); return 1; } verb = optionInt("verbose", 0); verboseSetLevel(verb); fprintf(stdout, "Opening and reading files ...\n"); cgf = lineFileOpen(argv[1], TRUE ); clf = lineFileOpen(argv[2], TRUE); mkf = lineFileOpen(argv[3], TRUE); nmf = lineFileOpen(argv[4], TRUE); acf = lineFileOpen(argv[5], TRUE); usf = lineFileOpen(argv[6], TRUE); dir = cloneString(argv[7]); sprintf(errorFile, "%s/error.log", dir); sprintf(aliasFile, "%s/bacAlias.tab", dir); sprintf(xRefFile, "%s/bacXRef.tab", dir); fprintf(stdout, "files are error: %s, alias: %s and xRef: %s \n", errorFile, aliasFile, xRefFile); stderr = mustOpen(errorFile, "w"); bacAlias = mustOpen(aliasFile, "w"); bacXRef = mustOpen(xRefFile, "w"); /* Read in contigs file with internal name, external name and FPC contig */ verbose(1, "Reading contig names file\n"); readContigs(cgf); /* Read in internal BAC clone names and Sanger sts names */ verbose(1, "Reading BAC clone names and Sanger sts names\n"); readCloneNames(clf); /* Read in BAC clone information: Sanger name, UniSTS ID and aliases */ verbose(1, "Reading markers file\n"); readMarkers(mkf); /* Read in file of BAC clones names and chroms mapped to by blat */ verbose(1, "Reading file of BAC clone external names\n"); readBacNames(nmf); /* Read in internal names and corresponding GenBank accessions */ verbose(1, "Reading accessions file\n"); readAccessions(acf); /*Read file of UniSTS IDs and BAC Clone IDs */ verbose(1, "Reading UniSTS IDs file\n"); readUniStsIds(usf); /* Print out the STS marker information to a file */ verbose(1, "Creating output file\n"); fprintf(stdout, "Printing tab files for bacCloneAlias and bacCloneXRef tables ...\n"); writeAliasTable(bacAlias); writeXRefTable(bacXRef); lineFileClose(&nmf); lineFileClose(&cgf); lineFileClose(&clf); lineFileClose(&mkf); lineFileClose(&acf); lineFileClose(&usf); carefulClose(&bacXRef); carefulClose(&bacAlias); carefulClose(&stderr); freeHashAndVals(&bacHash); freeHashAndVals(&extNameHash); freeHashAndVals(&aliasHash); freeHashAndVals(&sangerByExtNameHash); return(0); }