582e9ba06d359ee167ca2a60b495cd6d4fe9d69f angie Wed Feb 12 10:56:52 2014 -0800 In snp125+ track controls, don't show options for class and validationcodes that don't appear in the table. For example, validation codes by-hapmap and by-1000genomes are not applicable for non-human genomes; and only a subset of the class codes are used, sometimes a small subset. refs #12490 diff --git src/hg/hgTracks/variation.c src/hg/hgTracks/variation.c index 1aed8d7..2497fd4 100644 --- src/hg/hgTracks/variation.c +++ src/hg/hgTracks/variation.c @@ -674,31 +674,31 @@ snp125MolTypeFilter = snp125FilterFromCart(cart, track, "molType", &snp125MolTypeFilterOn); snp125ClassFilter = snp125FilterFromCart(cart, track, "class", &snp125ClassFilterOn); snp125ValidFilter = snp125FilterFromCart(cart, track, "valid", &snp125ValidFilterOn); snp125FuncFilter = snp125FilterFromCart(cart, track, "func", &snp125FuncFilterOn); snp125LocTypeFilter = snp125FilterFromCart(cart, track, "locType", &snp125LocTypeFilterOn); snp132ExceptionFilter = snp125FilterFromCart(cart, track, "exceptions", &snp132ExceptionFilterOn); snp132BitfieldFilter = snp125FilterFromCart(cart, track, "bitfields", &snp132BitfieldFilterOn); snp125ColorSource = snp125ColorSourceFromCart(cart, tdb); snp125MolTypeCart = snp125ColorsFromCart(track, "molType", snp125MolTypeOldColorVars, TRUE, snp125MolTypeDefault, snp125MolTypeArraySize); snp125ClassCart = snp125ColorsFromCart(track, "class", snp125ClassOldColorVars, TRUE, snp125ClassDefault, snp125ClassArraySize); snp125ValidCart = snp125ColorsFromCart(track, "valid", snp125ValidOldColorVars, TRUE, - snp125ValidDefault, snp125ValidArraySize); + snp125ValidDefault, snp125ValidArraySizeHuman); snp125LocTypeCart = snp125ColorsFromCart(track, "locType", snp125LocTypeOldColorVars, TRUE, snp125LocTypeDefault, snp125LocTypeArraySize); snp132ExceptionsCart = snp125ColorsFromCart(track, "exception", snp132ExceptionVarName, FALSE, snp132ExceptionDefault, snp132ExceptionArraySize); snp132BitfieldsCart = snp125ColorsFromCart(track, "bitfields", snp132BitfieldVarName, FALSE, snp132BitfieldDefault, snp132BitfieldArraySize); snp125FuncCartColorHash = hashNew(0); snp125FuncCartNameHash = hashNew(0); int i; for (i=0; i < snp125FuncArraySize; i++) { safef(cartVar, sizeof(cartVar), "%s.func%s", track, snp125OldColorVarToNew(snp125FuncOldColorVars[i], "func")); char *cartVal = cartUsualString(cart, cartVar, @@ -775,31 +775,31 @@ switch (snp125ColorSource) { case snp125ColorSourceMolType: valIx = stringArrayIx(snp->molType, snp125MolTypeDataName, snp125MolTypeArraySize); if (valIx < 0) valIx = 0; color = snp125MolTypeCart[valIx]; break; case snp125ColorSourceClass: valIx = stringArrayIx(snp->class, snp125ClassDataName, snp125ClassArraySize); if (valIx < 0) valIx = 0; color = snp125ClassCart[valIx]; break; case snp125ColorSourceValid: - for (i=0; i < snp125ValidArraySize; i++) + for (i=0; i < snp125ValidArraySizeHuman; i++) if (containsStringNoCase(snp->valid, snp125ValidDataName[i])) color = snp125ValidCart[i]; break; case snp125ColorSourceFunc: { safecpy(buf, sizeof(buf), snp->func); wordCount = chopCommas(buf, words); for (i = 0; i < wordCount; i++) { enum snp125Color wordColor = hashIntVal(snp125FuncCartColorHash, words[i]); if (snp125ColorCmpRaw(snp125ColorToMg((enum snpColorEnum)wordColor), "wordColor", snp125ColorToMg((enum snpColorEnum)color), "color") > 0) color = wordColor; } }