dc158162a43c9346fea29b22e64df03b2d9b9cc2
braney
  Mon Nov 14 14:43:36 2022 -0800
disable track duplication on custom tracks, isPCR results, and hub
tracks

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index 42fcdbd..00611e5 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -3160,30 +3160,36 @@
     }
 printf("</table>");
 jsEndCollapsibleSection();
 printf("</table>"); // required by jsCollapsible
 printf("<hr>");
 printf("</p>");
 }
 
 boolean tdbIsDupable(struct trackDb *tdb)
 /* Return TRUE if a track is duplicatable */
 {
 /* Can't handle container tracks yet at least */
 if (!tdbIsDataTrack(tdb))
     return FALSE;
 /* A few other special case we can't handle */
+if (startsWith("hub_", tdb->track))
+    return FALSE;
+if (startsWith("ct_", tdb->track))
+    return FALSE;
+if (sameString(tdb->track, "hgPcrResult"))
+    return FALSE;
 if (sameString(tdb->track, "ruler"))
     return FALSE;
 if (sameString(tdb->track, "cutters"))
     return FALSE;
 if (sameString(tdb->track, "oligoMatch"))
     return FALSE;
 return TRUE;
 }
 
 void trackUi(struct trackDb *tdb, struct trackDb *tdbList, struct customTrack *ct, boolean ajax)
 /* Put up track-specific user interface. */
 {
 if (!ajax)
     {
     jsIncludeFile("jquery.js", NULL);