9debf7ab57d1bccb620f13fa1ba81a0a9434211c
markd
  Mon Oct 5 17:40:32 2020 -0700
remove -minOverlappingBases rather than map it to the new option, since the behavior is significantly different enough than the intended old behavior that is is better to fail

diff --git src/hg/geneBounds/clusterGenes/clusterGenes.c src/hg/geneBounds/clusterGenes/clusterGenes.c
index e4291ae..2df0e5b 100644
--- src/hg/geneBounds/clusterGenes/clusterGenes.c
+++ src/hg/geneBounds/clusterGenes/clusterGenes.c
@@ -48,50 +48,48 @@
   "   -clusterTxBed=bed - output BED file for each cluster.  If -cds is specified,\n"
   "    this contains bounds based on full transcript range of genes, not just CDS\n"
   "   -flatBed=bed - output BED file that contains the exons of all genes\n"
   "    flattned into a single record. If -cds is specified, this only contains\n"
   "    bounds based on CDS\n"
   "   -joinContained - join genes that are contained within a larger loci\n"
   "    into that loci. Intended as a way to handled fragments and exon-level\n"
   "    predictsions, as genes-in-introns on the same strand are very rare.\n"
   "   -conflicted - detect conflicted loci. Conflicted loci are loci that\n"
   "    contain genes that share no sequence.  This option greatly increases\n"
   "    size of output file.\n"
   "   -ignoreBases=N - ignore this many based to the start and end of each\n"
   "    transcript when determine overlap.  This prevents small amounts of overlap\n"
   "    from merging transcripts.  If -cds is specified, this amount of the CDS.\n"
   "    is ignored. The default is 0.\n"
-  "   -minOverlappingBases=N - mapped to ignoreBases, did not work correctly.\n"
   "\n"
   "The cdsConflicts and exonConflicts columns contains `y' if the cluster has\n"
   "conficts. A conflict is a cluster where all of the genes don't share exons. \n"
   "Conflicts maybe either internal to a table or between tables.\n"
   );
 }
 
 static struct optionSpec options[] = {
    {"chrom", OPTION_STRING|OPTION_MULTI},
    {"cds", OPTION_BOOLEAN},
    {"trackNames", OPTION_BOOLEAN},
    {"clusterBed", OPTION_STRING},
    {"clusterTxBed", OPTION_STRING},
    {"flatBed", OPTION_STRING},
    {"cds", OPTION_BOOLEAN},
    {"joinContained", OPTION_BOOLEAN},
    {"conflicted", OPTION_BOOLEAN},
    {"ignoreStrand", OPTION_BOOLEAN},
-   {"minOverlappingBases", OPTION_INT},  /* deprecated, use ignoreBases */
    {"ignoreBases", OPTION_INT},
    {NULL, 0},
 };
 
 /* from command line  */
 static boolean gUseCds;
 static boolean gTrackNames;
 static boolean gJoinContained = FALSE;
 static boolean gDetectConflicted = FALSE;
 static boolean gIgnoreStrand = FALSE;
 static int gIgnoreBases = 0;
 
 struct track
 /*  Object representing a track. */
 {
@@ -1056,35 +1054,29 @@
 carefulClose(&clBedFh);
 carefulClose(&clTxBedFh);
 carefulClose(&flatBedFh);
 carefulClose(&outFh);
 }
 
 int main(int argc, char *argv[])
 /* Process command line. */
 {
 optionInit(&argc, argv, options);
 gUseCds = optionExists("cds");
 gTrackNames = optionExists("trackNames");
 gJoinContained = optionExists("joinContained");
 gDetectConflicted = optionExists("conflicted");
 gIgnoreStrand = optionExists("ignoreStrand");
-if (optionExists("ignoreBases"))
 gIgnoreBases = optionInt("ignoreBases", gIgnoreBases);
-else if (optionExists("minOverlappingBases"))
-    {
-    fprintf(stderr, "WARNING: -minOverlappingBases is deprecated and may not work as expected\n");
-    gIgnoreBases = optionInt("minOverlappingBases", gIgnoreBases);  /* deprecated */
-    }
 if (!gTrackNames)
     {
     if (argc < 4)
         usage();
     }
 else
     {
     if ((argc < 5) || !(argc & 1))
         usage();
     }
 clusterGenes(argv[1], argv[2], argc-3, argv+3);
 return 0;
 }