int main(int argc, char *argv[]) /* Check parameters, set up, loop through each GenBank file. */ { char *gbName; int argi = 1; struct hash *estAuthorHash = NULL; char *pepFa; optionInit(&argc, argv, optionSpecs); if (argc < 4) usage(); gByAccPrefixSize = optionInt("byAccPrefix", 0); gbIdxName = optionVal("gbidx", NULL); pepFa = optionVal("pepFa", NULL); gbType = gbParseType(optionVal("type", "mrna,est")); gbOrg = optionVal("org", NULL); inclXMs = optionExists("inclXMs"); if (gByAccPrefixSize > 4) /* keep small to avoid tons of open files */ errAbort("max value of -byAccPrefix is 4"); gCurAccPrefix[0] = '\0'; faName = argv[argi++]; raName = argv[argi++]; estAuthorHash = newHash(23); kvt = newKvt(5*1024); gbfInit(); if (pepFa != NULL) gPepFa = gbFaOpen(pepFa,"w"); char *blackList = optionVal("blackList", NULL); if (blackList != NULL) blackListRanges = genbankBlackListParse(blackList); while (argi < argc) { gbName = argv[argi++]; printf("Processing %s into %s and %s\n", gbName, faName, raName); procOneGbFile(gbName, estAuthorHash); } gbFaClose(&faFile); gbFaClose(&gPepFa); carefulClose(&raFile); carefulClose(&gbIdxFile); return 0; }
int main(int argc, char *argv[]) /* Process command line. */ { optionInit(&argc, argv, optionSpecs); if (optionExists("algoHelp")) prAlgo(); if (argc != 3) usage("wrong # of args"); gLocalNearBest = optionFrac("localNearBest", gLocalNearBest); gGlobalNearBest = optionFrac("globalNearBest", gGlobalNearBest); if ((gLocalNearBest >= 0.0) && (gGlobalNearBest >= 0.0)) errAbort("can only specify one of -localNearBest and -globalNearBest"); if (optionExists("usePolyTHead")) gCDnaOpts |= cDnaUsePolyTHead; if (optionExists("ignoreNs")) gCDnaOpts |= cDnaIgnoreNs; if (optionExists("ignoreIntrons")) gCDnaOpts |= cDnaIgnoreIntrons; if (optionExists("repsAsMatch")) gCDnaOpts |= cDnaRepsAsMatch; gMinId = optionFrac("minId", gMinId); gMinCover = optionFrac("minCover", gMinCover); gMinSpan = optionFrac("minSpan", gMinSpan); gMinQSize = optionInt("minQSize", gMinQSize); gMaxAligns = optionInt("maxAligns", gMaxAligns); gMaxAlignsDrop = optionInt("maxAlignsDrop", gMaxAlignsDrop); if ((gMaxAligns >= 0) && (gMaxAlignsDrop >= 0)) errAbort("cannot specify both -maxAligns and -maxAlignsDrop"); gMinAlnSize = optionInt("minAlnSize", gMinAlnSize); gMinNonRepSize = optionInt("minNonRepSize", gMinNonRepSize); gMaxRepMatch = optionFrac("maxRepMatch", gMaxRepMatch); gPolyASizes = optionVal("polyASizes", NULL); if (optionExists("usePolyTHead") && (gPolyASizes == NULL)) errAbort("must specify -polyASizes with -usePolyTHead"); gHapRegions = optionVal("hapRegions", NULL); gBestOverlap = optionExists("bestOverlap"); gDropped = optionVal("dropped", NULL); gWeirdOverlappped = optionVal("weirdOverlapped", NULL); gFilterWeirdOverlapped = optionExists("filterWeirdOverlapped"); gHapRefMapped = optionVal("hapRefMapped", NULL); gHapRefCDnaAlns = optionVal("hapRefCDnaAlns", NULL); gHapLociAlns = optionVal("hapLociAlns", NULL); if (optionExists("noValidate")) gValidate = FALSE; cDnaAlignsAlnIdQNameMode = optionExists("alnIdQNameMode"); if (optionExists("ignoreNs")) gCDnaOpts |= cDnaIgnoreNs; gUniqueMapped = optionExists("uniqueMapped"); gDecayMinCover = optionExists("decayMinCover"); char *blackList = optionVal("blackList", NULL); if (blackList != NULL) gBlackListRanges = genbankBlackListParse(blackList); if ( gDecayMinCover && (gMinCover > 0.0)) errAbort("can only specify one of -minCoverage and -decayMinCoverage"); pslCDnaFilter(argv[1], argv[2]); return 0; }