aba8125cb532df17beb7c7c9bc8467a43d09e3d6
braney
  Wed Feb 10 13:39:27 2016 -0800
changes to allow for GenBank metadata to be held in a common table.  #16809

diff --git src/hg/hgc/retroClick.c src/hg/hgc/retroClick.c
index 2f83a78..1b94ffa 100644
--- src/hg/hgc/retroClick.c
+++ src/hg/hgc/retroClick.c
@@ -85,47 +85,45 @@
     *dot = '\0';
 safef(mi->seqId, sizeof(mi->seqId), "%s", id);
 
 /* now pull out genbank accession for obtaining description */
 id = (colon != NULL) ? colon+1 : id;
 if (dot != NULL)
     *dot = '\0';
 
 safef(mi->gbAcc, sizeof(mi->gbAcc), "%s", id);
 if (under != NULL)
     *under = '\0';
 //mi->gbVer = sqlSigned(dot+1);
 }
 
 static void getGenbankInfo(struct sqlConnection *conn, struct mappingInfo *mi)
-/* get source gene info and version from gbCdnaInfo and save in mi */
+/* get source gene info and version from gbCdnaInfoTable and save in mi */
 {
 char query[512], **row;
 struct sqlResult *sr;
-char *defDb = database; 
 
 /* if id has been modified for multi-level ancestor mappings:
  *    NM_012345.1-1.1 -> db:NM_012345a.1.1
  * then hack it back to the original accession.  However, don't get version,
  * since the sequence is different.
  */
 
 sqlSafef(query, sizeof(query),
-      "select gbCdnaInfo.version, geneName.name, description.name "
-      "from %s.gbCdnaInfo, %s.geneName, %s.description "
-      "where gbCdnaInfo.acc=\"%s\" and gbCdnaInfo.geneName=geneName.id and gbCdnaInfo.description = description.id",
-      defDb, defDb, defDb, mi->gbAcc);
+      "select g.version, gene.name, d.name "
+      "from %s g, %s gene, %s d "
+      "where g.acc=\"%s\" and g.geneName=gene.id and g.description = d.id", gbCdnaInfoTable, geneNameTable, descriptionTable,  mi->gbAcc);
 sr = sqlGetResult(conn, query);
 row = sqlNextRow(sr);
 if (row != NULL)
     {
     mi->gbCurVer = sqlSigned(row[0]);
     mi->sym = cloneString(row[1]);
     mi->desc = cloneString(row[2]);
     }
 sqlFreeResult(&sr);
 }
 
 static struct mappingInfo *mappingInfoNew(struct sqlConnection *conn,
                                           char *tbl, char *mappedId)
 /* load mapping info for a mapped gene */
 {
@@ -741,34 +739,34 @@
 geneCheckFree(&gc);
 #endif
 mappingInfoFree(&mi);
 hFreeConn(&conn);
 }
 
 static struct genbankCds getCds(struct sqlConnection *conn, struct mappingInfo *mi)
 /* Get CDS, return empty genebankCds if not found or can't parse  */
 {
 char query[256];
 struct sqlResult *sr;
 struct genbankCds cds;
 char **row;
 
 sqlSafef(query, sizeof(query),
-      "select cds.name "
-      "from %s.gbCdnaInfo, %s.cds "
-      "where gbCdnaInfo.acc=\"%s\" and gbCdnaInfo.cds=cds.id",
-      database, database, mi->gbAcc);
+      "select c.name "
+      "from %s g, %s c "
+      "where g.acc=\"%s\" and g.cds=c.id",
+      gbCdnaInfoTable, cdsTable, mi->gbAcc);
 
 sr = sqlMustGetResult(conn, query);
 row = sqlNextRow(sr);
 if ((row == NULL) || !genbankCdsParse(row[0], &cds))
     ZeroVar(&cds);  /* can't get or parse cds */
 sqlFreeResult(&sr);
 return cds;
 }
 
 static struct psl *loadAlign(struct sqlConnection *conn, struct mappingInfo *mi, int start)
 /* load a psl that must exist */
 {
 char rootTable[256], table[256], query[256];
 boolean hasBin;
 struct sqlResult *sr;