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),