5b83a4f3758e71c48c76f3235f7a1924c21b4ae2 angie Tue Jan 15 13:21:18 2019 -0800 Implement liftOver -multiple -genePred; update gtexGeneModel with all the alts/patches. refs #18855 diff --git src/hg/liftOver/liftOver.c src/hg/liftOver/liftOver.c index 46f4b0c..6f2a3a5 100644 --- src/hg/liftOver/liftOver.c +++ src/hg/liftOver/liftOver.c @@ -109,51 +109,57 @@ struct hash *chainHash = newHash(0); /* Old chromosome name keyed, chromMap valued. */ FILE *mapped = mustOpen(newFile, "w"); FILE *unmapped = mustOpen(unmappedFile, "w"); int errCt; if (!fileExists(oldFile)) errAbort("Can't find file: %s\n", oldFile); verbose(1, "Reading liftover chains\n"); readLiftOverMap(mapFile, chainHash); verbose(1, "Mapping coordinates\n"); if (optionExists("gff")) { fprintf(stderr, "WARNING: -gff is not recommended.\nUse 'ldHgGene -out=<file.gp>' and then 'liftOver -genePred <file.gp>'\n"); if (multiple) errAbort("ERROR: -multiple is not supported for -gff."); + if (chainTable) + errAbort("ERROR: -chainTable is not supported for -gff."); liftOverGff(oldFile, chainHash, minMatch, minBlocks, mapped, unmapped); } else if (optionExists("genePred")) { - if (multiple) - errAbort("ERROR: -multiple is not supported for -genePred."); + if (chainTable) + errAbort("ERROR: -chainTable is not supported for -genePred."); liftOverGenePred(oldFile, chainHash, minMatch, minBlocks, fudgeThick, - mapped, unmapped); + mapped, unmapped, multiple); } else if (optionExists("sample")) { if (multiple) errAbort("ERROR: -multiple is not supported for -sample."); + if (chainTable) + errAbort("ERROR: -chainTable is not supported for -sample."); liftOverSample(oldFile, chainHash, minMatch, minBlocks, fudgeThick, mapped, unmapped); } else if (optionExists("pslT")) { verbose(1, "Consider using pslMap instead of liftOver for PSL.\n"); if (multiple) errAbort("ERROR: -multiple is not supported for -pslT."); + if (chainTable) + errAbort("ERROR: -chainTable is not supported for -pslT."); liftOverPsl(oldFile, chainHash, minMatch, minBlocks, fudgeThick, mapped, unmapped); } else if (optionExists("ends")) liftOverBedPlusEnds(oldFile, chainHash, minMatch, minBlocks, minSizeT, minSizeQ, minChainT, minChainQ, fudgeThick, mapped, unmapped, multiple, noSerial, chainTable, bedPlus, hasBin, tabSep, ends, &errCt); else if (optionExists("bedPlus")) liftOverBedPlus(oldFile, chainHash, minMatch, minBlocks, minSizeT, minSizeQ, minChainT, minChainQ, fudgeThick, mapped, unmapped, multiple, noSerial, chainTable, bedPlus, hasBin, tabSep, &errCt); else if (optionExists("positions")) liftOverPositions(oldFile, chainHash, minMatch, minBlocks, minSizeT, minSizeQ,