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;
+}