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/hgTracks/retroGene.c src/hg/hgTracks/retroGene.c index 92bb334..65b29b3 100644 --- src/hg/hgTracks/retroGene.c +++ src/hg/hgTracks/retroGene.c @@ -1,21 +1,20 @@ /* Copyright (C) 2013 The Regents of the University of California * See README in this or parent directory for licensing information. */ #include "retroGene.h" -#include "transMapStuff.h" /* bit set of labels to use */ enum {useOrgCommon = 0x01, useOrgAbbrv = 0x02, useOrgDb = 0x04, useGene = 0x08, useAcc = 0x10}; struct linkedFeatures *lfFromRetroGene(struct ucscRetroInfo *pg) /* Return a linked feature from a retroGene. */ { struct linkedFeatures *lf; struct simpleFeature *sf, *sfList = NULL; int grayIx = grayInRange(pg->score, 0, 1000); int *starts = pg->chromStarts, start; @@ -126,31 +125,31 @@ { if (endsWith(label->name, ".orgCommon") && differentString(label->val, "0")) labelSet |= useOrgCommon; else if (endsWith(label->name, ".orgAbbrv") && differentString(label->val, "0")) labelSet |= useOrgAbbrv; else if (endsWith(label->name, ".db") && differentString(label->val, "0")) labelSet |= useOrgDb; else if (endsWith(label->name, ".gene") && differentString(label->val, "0")) labelSet |= useGene; else if (endsWith(label->name, ".acc") && differentString(label->val, "0")) labelSet |= useAcc; } return labelSet; } static void getItemLabel(struct sqlConnection *conn, - char *retroInfoTbl , //char *transMapGeneTbl, + char *retroInfoTbl, unsigned labelSet, struct linkedFeatures *lf) /* get label for a retro item */ { struct ucscRetroInfo *info = NULL; info = ucscRetroInfoQuery(conn, retroInfoTbl, lf->name); char *geneSymbol = getRetroParentSymbol(info, lf->name); //lf->extra = geneSymbol; struct dyString *label = dyStringNew(64); dyStringAppend(label, "retro-"); if ((labelSet & useGene) && (retroInfoTbl != NULL)) { if ((geneSymbol != NULL) && (strlen(geneSymbol) > 0)) dyStringAppend(label, geneSymbol); else @@ -184,51 +183,51 @@ getItemLabel(conn, retroInfoTbl, labelSet, lf); hFreeConn(&conn); } static void loadRetroAli(struct track *tg) /* Load up retro alignments. */ { loadXenoPsl(tg); enum trackVisibility vis = limitVisibility(tg); if (!((vis == tvDense) || (vis == tvSquish))) lookupRetroAliLabels(tg); if (vis != tvDense) slSort(&tg->items, linkedFeaturesCmpStart); } -char *transMapIdToAcc(char *id) -/* remove all unique suffixes (starting with last `-') from any TransMap +char *retroGeneIdToAcc(char *id) +/* remove all unique suffixes (starting with last `-') from any retrogene * id. WARNING: static return */ { static char acc[128]; safecpy(acc, sizeof(acc), id); char *dash = strrchr(acc, '-'); if (dash != NULL) *dash = '\0'; return acc; } -static char *transMapGetItemDataName(struct track *tg, char *itemName) +static char *retroGeneGetItemDataName(struct track *tg, char *itemName) /* translate itemName to data name (source accession). * WARNING: static return */ { -return transMapIdToAcc(itemName); +return retroGeneIdToAcc(itemName); } static void retroAliMethods(struct track *tg) /* Make track for retroGene psl alignments. */ { tg->loadItems = loadRetroAli; tg->itemName = refGeneName; tg->mapItemName = linkedFeaturesName; -tg->itemDataName = transMapGetItemDataName; +tg->itemDataName = retroGeneGetItemDataName; } void retroRegisterTrackHandlers() { registerTrackHandler("ucscRetroAli1", retroAliMethods); registerTrackHandler("ucscRetroAli2", retroAliMethods); registerTrackHandler("ucscRetroAli3", retroAliMethods); registerTrackHandler("ucscRetroAli4", retroAliMethods); registerTrackHandler("ucscRetroAli5", retroAliMethods); }