6a00cf44e1c0ba0d6901464e4b7fd220ce1f3d41
braney
  Fri Feb 13 13:02:40 2015 -0800
some modifications to support the GENCODE as UCSC genes switch

diff --git src/hg/lib/spDb.c src/hg/lib/spDb.c
index 3a6291c..ff4c37e 100644
--- src/hg/lib/spDb.c
+++ src/hg/lib/spDb.c
@@ -65,46 +65,60 @@
 return sqlQuickString(conn, query);
 }
 
 char *spIdToAcc(struct sqlConnection *conn, char *id)
 /* Convert SwissProt ID (things like HXA1_HUMAN) to
  * accession. Returns NULL if the conversion fails. 
  * (doesn't abort). */
 {
 char query[256];
 sqlSafef(query, sizeof(query), "select acc from displayId where val = '%s'",
 	id);
 return sqlQuickString(conn, query);
 }
 
 
-char *spLookupPrimaryAcc(struct sqlConnection *conn, 
+
+char *spLookupPrimaryAccMaybe(struct sqlConnection *conn, 
 	char *anyAcc) 	/* Primary or secondary accession. */
 /* This will return the primary accession.  It's ok to pass in
  * either a primary or secondary accession. */
 {
 char query[256];
 if (spIsPrimaryAcc(conn, anyAcc))
      return cloneString(anyAcc);
 else
      {
      sqlSafef(query, sizeof(query), 
     	"select acc from otherAcc where val = '%s'", anyAcc);
-     return sqlNeedQuickString(conn, query);
+     return sqlQuickString(conn, query);
      }
 }
 
+char *spLookupPrimaryAcc(struct sqlConnection *conn, 
+	char *anyAcc) 	/* Primary or secondary accession. */
+/* This will return the primary accession.  It's ok to pass in
+ * either a primary or secondary accession. */
+{
+char *acc = spLookupPrimaryAccMaybe(conn, anyAcc);
+
+if (acc == NULL)
+    errAbort("accession not found: %s", anyAcc);
+
+return acc;
+}
+
 char *spDescription(struct sqlConnection *conn, char *acc)
 /* Return protein description.  FreeMem this when done. */
 {
 char query[256];
 sqlSafef(query, sizeof(query), 
 	"select val from description where acc = '%s'", acc);
 return sqlNeedQuickString(conn, query);
 }
 
 
 boolean spIsCurated(struct sqlConnection *conn, char *acc)
 /* Return TRUE if it is a curated entry. */
 {
 char query[256];
 sqlSafef(query, sizeof(query),