dccdf29485000ddce07f65a431d52a51ffd158cf braney Wed Nov 16 18:41:22 2016 -0800 add support for protein psls in bigPsl diff --git src/hg/hgTracks/cds.c src/hg/hgTracks/cds.c index 7cab435..dd47d20 100644 --- src/hg/hgTracks/cds.c +++ src/hg/hgTracks/cds.c @@ -704,31 +704,34 @@ drawOpt == baseColorDrawDiffBases) { int grayIx = pslGrayIx(psl, isXeno, maxShade); sfList = sfFromPslX(psl, grayIx, sizeMul); } else { /* Previous code didn't use exon frames for baseColorDrawGenomicCodons. * This meant simply counting off aligned bases to define frames. It * didn't work very well for TransMap alignments and not clear that its * the right thing to do for any alignment. By using exonFrames for * genomic codons, this is letting the query sequence define the frame. */ struct genbankCds cds; if (startsWith("bigPsl", tg->tdb->type)) + { + if (lf->cds) genbankCdsParse(lf->cds, &cds); + } else getPslCds(psl, tg, &cds); int insertMergeSize = -1; unsigned opts = genePredCdsStatFld|genePredExonFramesFld; struct genePred *gp = genePredFromPsl2(psl, opts, &cds, insertMergeSize); lf->start = gp->txStart; lf->end = gp->txEnd; lf->tallStart = gp->cdsStart; lf->tallEnd = gp->cdsEnd; sfList = baseColorCodonsFromGenePred(lf, gp, colorStopStart, FALSE); genePredFree(&gp); } return(sfList); }