256b87a01941403ecb6d5b6ce2ed34aa0fd77514 markd Fri Dec 19 21:50:42 2014 -0800 added support for transmap V3 which includes source databases in mapped alignment idenitifier diff --git src/hg/lib/transMapStuff.c src/hg/lib/transMapStuff.c index 4bc9d45..4df43df 100644 --- src/hg/lib/transMapStuff.c +++ src/hg/lib/transMapStuff.c @@ -1,21 +1,42 @@ /* transMapStuff - common definitions and functions for supporting transMap * tracks in the browser CGIs */ /* Copyright (C) 2014 The Regents of the University of California * See README in this or parent directory for licensing information. */ #include "common.h" #include "transMapStuff.h" #include "trackDb.h" #include "hdb.h" -char *transMapIdToAcc(char *id) +char* transMapSkipGenomeDbPrefix(char *id) +/* Skip the source genome db prefix (e.g. hg19:) in a TransMap identifier. + * Return the full id if no db prefix is found for compatibility with older + * version of transmap. */ +{ +char *simpleId = strchr(id, ':'); +if (simpleId == NULL) + return id; +else + return simpleId+1; +} + +char *transMapIdToSeqId(char *id) /* remove all unique suffixes (starting with last `-') from any TransMap - * id. WARNING: static return */ + * id, leaving the database prefix in place. WARNING: static return */ { static char acc[128]; safecpy(acc, sizeof(acc), id); char *dash = strrchr(acc, '-'); if (dash != NULL) *dash = '\0'; return acc; } + +char *transMapIdToAcc(char *id) +/* remove database prefix and all unique suffixes (starting with last `-') + * from any TransMap id. WARNING: static return */ +{ +static char acc[128]; +safecpy(acc, sizeof(acc), transMapSkipGenomeDbPrefix(transMapIdToSeqId(id))); +return acc; +}