11a82397d8d5c6d013cc62cdc99b84bc5506747e braney Fri Jul 17 12:55:23 2020 -0700 ongoing work on the GENCODE merge diff --git src/hg/lib/hdb.c src/hg/lib/hdb.c index 51d950f..7eaf6ab 100644 --- src/hg/lib/hdb.c +++ src/hg/lib/hdb.c @@ -5791,15 +5791,57 @@ struct sqlConnection *conn = hAllocConn(db); accHash = sqlQuickHash(conn, NOSQLINJ "select chrom, alias from chromAlias where source = 'refseq'"); if (hashNumEntries(accHash) == 0) // No RefSeq accessions -- make accHash NULL hashFree(&accHash); hFreeConn(&conn); checkExistence = FALSE; } if (accHash) seqAcc = cloneString(hashFindVal(accHash, chrom)); if (seqAcc == NULL) seqAcc = cloneString(chrom); return seqAcc; } + +char *hdbGetMasterGeneTrack(char *knownDb) +/* Get the native gene track for a knownGene database. */ +{ +static char *masterGeneTrack = NULL; + +if (masterGeneTrack) // if we already know it, return it. + return masterGeneTrack; + +struct sqlConnection *conn = hAllocConn(knownDb); + +char query[4096]; +sqlSafef(query, ArraySize(query), "select name from masterGeneTrack"); +masterGeneTrack = sqlQuickString(conn, query); +hFreeConn(&conn); + +return masterGeneTrack; +} + +char *hdbDefaultKnownDb(char *db) +/* Get the default knownGene database from the defaultKnown table. */ +{ +static char *knownDb = NULL; + +if (knownDb) // if we already know it, return it. + return knownDb; + +struct sqlConnection *conn = hAllocConn(db); + +if (sqlTableExists(conn, "defaultKnown")) + { + char query[4096]; + sqlSafef(query, ArraySize(query), "select name from defaultKnown"); + knownDb = sqlQuickString(conn, query); + } +hFreeConn(&conn); + +if (knownDb == NULL) + knownDb = db; + +return knownDb; +}