be53362ee8a8222e6a5f8c2fdcdde93b08f337d8 braney Mon Apr 19 12:12:47 2021 -0700 remove dependency on global tdb in BigPslAli routines diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index 8ac5344..3c62247 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -7391,42 +7391,44 @@ char *cdsString = sqlQuickString(conn, query); if (isNotEmpty(cdsString)) genbankParseCds(cdsString, retCdsStart, retCdsEnd); } } } void htcBigPslAli(char *acc) /* Show alignment for accession in bigPsl file. */ { struct psl *psl; char *aliTable; int start; unsigned int cdsStart = 0, cdsEnd = 0; struct sqlConnection *conn = NULL; - -if (!trackHubDatabase(database)) - conn = hAllocConnTrack(database, tdb); +struct trackDb *tdb = NULL; aliTable = cartString(cart, "aliTable"); if (isCustomTrack(aliTable)) { struct customTrack *ct = lookupCt(aliTable); tdb = ct->tdb; } else tdb = hashFindVal(trackHash, aliTable); + +if (!trackHubDatabase(database)) + conn = hAllocConnTrack(database, tdb); + char title[1024]; safef(title, sizeof title, "%s vs Genomic [%s]", acc, aliTable); htmlFramesetStart(title); /* Get some environment vars. */ start = cartInt(cart, "l"); int end = cartInt(cart, "r"); char *chrom = cartString(cart, "c"); char *seq, *cdsString = NULL; struct lm *lm = lmInit(0); char *fileName = bbiNameFromSettingOrTable(tdb, conn, tdb->table); struct bbiFile *bbi = bigBedFileOpen(fileName); struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm); char *bedRow[32]; @@ -7457,30 +7459,31 @@ } struct dnaSeq *rnaSeq = newDnaSeq(seq, strlen(seq), acc); enum gfType type = gftRna; if (pslIsProtein(psl)) type = gftProt; showSomeAlignment(psl, rnaSeq, type, 0, rnaSeq->size, NULL, cdsStart, cdsEnd); } void htcBigPslAliInWindow(char *acc) /* Show alignment in window for accession in bigPsl file. */ { struct psl *partPsl, *wholePsl; char *aliTable; int start; unsigned int cdsStart = 0, cdsEnd = 0; +struct trackDb *tdb = NULL; aliTable = cartString(cart, "aliTable"); if (isCustomTrack(aliTable)) { struct customTrack *ct = lookupCt(aliTable); tdb = ct->tdb; } else tdb = hashFindVal(trackHash, aliTable); char title[1024]; safef(title, sizeof title, "%s vs Genomic [%s]", acc, aliTable); htmlFramesetStart(title); /* Get some environment vars. */ start = cartInt(cart, "l"); @@ -18817,31 +18820,31 @@ char query[512]; sqlSafef(query, sizeof(query), "select * from %s where name='%s'", table, name); struct sqlResult *sr = sqlGetResult(conn, query); int snpCount = 0; char **row; while ((row = sqlNextRow(sr)) != NULL) { struct bed *snp = bedLoad3(row + rowOffset); if (snp->chromStart != start || differentString(snp->chrom, seqName)) { printf("<BR>\n"); if (snpCount == 0) printf("<B>This SNP maps to these additional locations:</B><BR><BR>\n"); snpCount++; - bedPrintPos((struct bed *)snp, 3, tdb); + bedPrintPos((struct bed *)snp, 3, NULL); } } sqlFreeResult(&sr); } void doSnpWithVersion(struct trackDb *tdb, char *itemName, int version) /* Process SNP details. */ { char *table = tdb->table; struct snp132Ext *snp; struct snp *snpAlign = NULL; int start = cartInt(cart, "o"); struct sqlConnection *conn = hAllocConn(database); struct sqlResult *sr; char **row;