06d7be056190c14b85e71bc12523f18ea6815b5e
markd
  Mon Dec 7 00:50:29 2020 -0800
BLAT mmap index support merge with master

diff --git src/hg/lib/hdb.c src/hg/lib/hdb.c
index 5632fbf..7e119c9 100644
--- src/hg/lib/hdb.c
+++ src/hg/lib/hdb.c
@@ -5830,54 +5830,83 @@
     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 *abbreviateRefSeqSummary(char *summary) 
+/* strip off the uninformative parts from the RefSeq Summary text: the repetitive note
+ * about the publication subset and the Evidence-Data-Notes */
+{
+if (!summary)
+    return summary;
+
+char *pattern =
+"Publication Note:  This RefSeq record includes a subset "
+"of the publications that are available for this gene. "
+"Please see the Gene record to access additional publications.";
+stripString(summary, pattern);
+
+// remove anything after ##Evidence-Data-START##
+char *findStr = "##Evidence-Data-START##";
+char *start = memMatch(findStr, strlen(findStr), summary, strlen(summary));
+if (start)
+    *start = 0;
+
+return summary;
+}
+
+
 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 *checkedDb = NULL;
 static char *knownDb = NULL;
 
+if (trackHubDatabase(db))
+    return db;
+
+if (cfgOptionBooleanDefault("ignoreDefaultKnown", FALSE))
+    return db;
+
 if (sameOk(checkedDb, db))            // if we already know it, return it.
     return knownDb;
 knownDb = NULL;
 
 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)