0a33a218681208ca6365a73f7424758340225aea angie Sun Sep 28 23:20:55 2014 -0700 Make sure to call hReplaceGbdb on the path given to annoAssemblyNew.refs #11957 diff --git src/hg/hgVai/libifyMe.c src/hg/hgVai/libifyMe.c index 7f5b3b1..8baf084 100644 --- src/hg/hgVai/libifyMe.c +++ src/hg/hgVai/libifyMe.c @@ -264,36 +264,43 @@ fullTrackList = getFullTrackList(cart, hubList, &hubGrpList); char *db= cartString(cart, "db"); fullGroupList = makeGroupList(db, fullTrackList, &hubGrpList, FALSE); inited = TRUE; } if (retFullTrackList != NULL) *retFullTrackList = fullTrackList; if (retFullGroupList != NULL) *retFullGroupList = fullGroupList; } //#*** duplicated in hgVarAnnoGrator and annoGratorTester struct annoAssembly *getAnnoAssembly(char *db) /* Make annoAssembly for db. */ { +static struct annoAssembly *aa = NULL; +if (aa == NULL) + { char *nibOrTwoBitDir = hDbDbNibPath(db); if (nibOrTwoBitDir == NULL) errAbort("Can't find .2bit for db '%s'", db); char twoBitPath[HDB_MAX_PATH_STRING]; safef(twoBitPath, sizeof(twoBitPath), "%s/%s.2bit", nibOrTwoBitDir, db); -return annoAssemblyNew(db, twoBitPath); + char *path = hReplaceGbdb(twoBitPath); + aa = annoAssemblyNew(db, path); + freeMem(path); + } +return aa; } static boolean columnsMatch(struct asObject *asObj, struct sqlFieldInfo *fieldList) /* Return TRUE if asObj's column names match the given SQL fields. */ { if (asObj == NULL) return FALSE; struct sqlFieldInfo *firstRealField = fieldList; if (sameString("bin", fieldList->field) && differentString("bin", asObj->columnList->name)) firstRealField = fieldList->next; boolean columnsMatch = TRUE; struct sqlFieldInfo *field = firstRealField; struct asColumn *asCol = asObj->columnList; for (; field != NULL && asCol != NULL; field = field->next, asCol = asCol->next) {